支付宝API:return_url 和 notify_url 的区别及其操作以及常见错误提示(转)

return_url和notify_url的区别及其操作.

买家付款成功后,如果接口中指定有return_url,买家付完款后会跳到return_url所在的页面,这个页面可以展示给客户看,这个页面只有付款成功才会跳转.

notify_url:服务器后台通知,这个页面是程序后台运行的(买家和卖家都看不到),买家付完款后,支付宝会调用notify_url这个页面所在的页面并把相应的参数传递到这个页面,这个页面根据支付宝传递过来的参数修改网站订单的状态,更新完订单后需要在页面上打印出一个success给支付宝,如果反馈给支付宝的不是success,支付宝会继续调用这个页面.

流程:买家付完款(trade_status=TRADE_FINISHED)--->支付宝通知notify_url--->如果反馈给支付宝的是success(表示成功,这个状态下不再反馈,如果不是继续通知,一般第一次发送和第二次发送的时间间隔是3分钟)

剩下的过程,卖家发货,买家确认收货,交易成功都是这个流程

排除常见错误的方法:

1:错误信息提示为:ILLEGAL_SIGN,属于签名验证出错

CreatUrl的方式参数不一致,编码问题都可以引起这个错误

2:错误信息提示为:ILLEGAL_ARGUMENT,属于参数格式有问题

查看接口发送页的参数是不是符合要求

3:错误信息提示为:ILLEGAL_SERVICE,属于无效接口名称

查看service参数

4:错误信息提示为ILLEGAL_PARTNER,属于无效合作伙伴ID

查看partner参数

5:错误信息提示为ILLEGAL_SIGN_TYPE,属于无效签名方式

sign_type是加密类型,一般为md5

6:错误信息提示为DIRECT_PAY_AMOUNT_OUT_OF_RANGE,属于快速付款交易总金额超出最大值限制

快速付款余额支付最大限制为:2000,用卡没限制

7:错误信息提示为HASH_NO_PRIVILEGE,属于没有权限访问该服务

查看service参数和卖家支付宝帐号所拥有的权限是不是一致

8:错误信息提示为DONATE_GREATER_THAN_MAX,属于小额捐赠总金额超出最大值限制

小额捐赠一般现在为100

9:错误信息提示为OUT_TRADE_NO_EXIST,属于外部交易号已经存在

外部交易号重复

10:错误信息提示为TRADE_NOT_EXIST,属于交易不存在

11:错误信息提示为ILLEGAL_PAYMENT_TYPE,属于无效支付类型

查看有没有PAYMENT_TYPE参数,是不是对的

12:错误信息提示为BUYER_NOT_EXIST,属于买家不存在

查看buyer_email的帐号是不是支付宝帐号

13:错误信息提示为SELLER_NOT_EXIST,属于卖家不存在

seller_email的帐号是不是支付宝帐号

14:错误信息提示为BUYER_SELLER_EQUAL,属于买家、卖家是同一帐户

同一个支付宝帐号不能同为买家和卖家

15:错误信息提示为ILLEGAL_LOGISTICS_FORMAT,属于无效物流格式

只有三种物流类型:EMS,POST,EXPRESS,即为EMS,平邮,其他快递

16:错误信息提示为TOTAL_FEE_LESSEQUAL_ZERO,属于交易总金额小于等于0

price或者total_fee不能小于等于0

17:错误信息提示为TOTAL_FEE_OUT_OF_RANGE,属于交易总金额超出范围

18:错误信息提示为ILLEGAL_FEE_PARAM,属于非法交易金额格式

price或者total_fee的值是否规范

相关推荐