ecshop购买商品,成功支付后跳转到一个错误提示的页面:
地址栏返回的代码为:“http://abc.com/respond.php?code=alipay&buyer_email=xxx2008%40126.com&buyer_id=2088302295952289&exterface=create_direct_pay_by_user&is_success=T¬ify_id=RqPnCoPT3K9%252Fvwbh3I7z31fy5VZ2nTUUsZUcr%252FxCgjYYbvl4p6p6QU8wwplNFGvP0ETC¬ify_time=2012-02-02+10%3A59%3A45¬ify_type=trade_status_sync&out_trade_no=20120202469454904&payment_type=1&seller_email=15510719013&seller_id=2088302019601851&subject=2012020246945&total_fee=1.50&trade_no=2012020242158728&trade_status=TRADE_SUCCESS&sign=f09711546fea83d1b6d3f844119d32d6&sign_type=MD5”,都是成功信息,支付宝后台查看,这笔款已经收到,但是浏览器却显示“支付操作失败,请返回重试”。
检查支付宝接口文件,查到如下代码:
if ($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS')
{
/* 改变订单状态 */
order_paid($order_sn, 2);
return true;
}
elseif ($_GET['trade_status'] == 'TRADE_FINISHED')
{
/* 改变订单状态 */
order_paid($order_sn);
return true;
}
else
{
return false;
}
...
比对成功代码的返回值,发现和地址栏返回的不一致,应该为:TRADE_SUCCESS;
TRADE_FINISHED修改为TRADE_SUCCESS修改之后,就可以返回成功信息了;
最后编辑:2015-06-24作者:Tony
这个人很懒什么也没留!~