支付宝返回参数说明

支付宝接口的返回处理往往是很多人不理解和不易调试通的,现,介绍一下支付宝的返回处理机制:

1、支付宝的返回有两种:return 的客户端返回,notify的服务器通知返回。

支付完成后立刻返回到外部网站的客户端上,是可见的,返回机制:GET的方式返回

返回信息包括提交给支付宝的订单信息,可根据这个返回信息做相应的操作显示给客户看。

notify_url:服务器的返回

服务器的通知返回是由支付宝的服务器发起,以POST的方式返回到合作伙伴的网站上。返回信息包括提交给支付宝的订单信息,在返回的文件中,需要输出success做为支付宝通知返回信息成功,若没有这个success的输出,那么支付宝的服务器会24小时内返回同样的返回消息,返回的时间频率会逐渐减弱,(1分钟、3分钟、5分钟、10分钟、15。。。。。。。。。。)

notify_url 页面中只能做对数据库的业务操作

建议:return_url和notify_url 可以都设置,前者做数据显示,后者做更新数据库

2、 注意的地方,每种返回都是有一个sign和mysign的验证,作用,验证参数是否有效和是否是支付宝发出的消息。还有一个交易状态的判断:trade_status 是判断交易状态是否成功,例如:

返回状态:

trade_status = "WAIT_BUYER_PAY"      等待买家付款

trade_status = "WAIT_SELLER_SEND_GOODS"       买家付款,等待买家发货

trade_status = "WAIT_BUYER_CONFIRM_GOODS"     卖家付款,等待买家确认

rade_status = "TRADE_FINISHED" 交易完成

基本上会有以上几种重要的交易状体需要判断,还有一些详细:请以支付宝接口文档为主,当然不是每种接口都有这些交易状态,虚拟的即时到帐接口是不存在买卖双方确认的环节的。

service      =   "create_direct_pay_by_user" 即时到帐接口的服务名称

service      =   "trade_create_by_buyer"  标准实务双接口服务名称

HAS_NO_PRIVILEGE 出现这个样的错误,请注意您说开通的接口权限是否是以上两种,或者在您集成的接口中是否有用您与支付宝签约后的ID和key

以上只是个人总结,如果有不对的地方以支付宝官方信息为主,谢谢!

原文地址:https://www.cnblogs.com/cxd4321/p/1501250.html