您的位置:首页 > 其它

支付宝中的return_url和notify_url

2015-08-20 10:04 204 查看
return_url:

1、同步返回接口,作为参数传递给支付宝

2、用户付款成功后,从支付宝跳转到这个页面

3、在这个页面中加入相关业务处理,比如更新记录,标记付款成功信息。

4、需要对支付宝传递过来的签名进行认证。

5、用来展现成功付款信息给前台付款用户。

6、支付宝那边只返回一次。

notify_url:

1、异步通知接口,作为参数传递给支付宝。

2、如果不传递,则不通知。

3、相关业务逻辑应该和return_url中相同。

4、返回字符串"success"或者"fail",不能带有任何HTML信息。

5、付款成功后就通知一次,如果不成功,1分钟、3分钟、10分钟、半个小时。。。后再通知,直到返回success。

6、过期时间是48小时,如果48小时内都通知不成功,那么就不再通知。

掉单:支付宝付款成功,但是没有收到成功的返回信息。

如果不传递notify_url,掉单率在20-30%,准备和alipay对账吧。

notify_url可以保证99.99%的通知成功率。

1.支付宝接口中需要修改参数的文件有 Default.aspx 文件;买家付款成功后反馈的页面时 return_url(页面跳转),notify_url(后台通知);AliPay.cs 不用修改. Default.aspx 文件中 seller_email,key,partner 对应的分别是支付宝帐号,安全校验码和合作id

(注:如何获取安全校验码和合作ID

1.访问 www.alipay.com,然后登陆您的帐户.

2.点击右上角的“商家工具”.

3.在网站集成目录下,选择适合您的交易方式,然后点击点此申请.

4.填写好申请表格,点击下一步,您可以看到一段32位的字符串—就是安全校验.

5.合作ID在安全校验码下方.)

Default.aspx 页面,需要传递参数到这个页面,需要传递的参数是 subject(商品名称),body(商品说明),total_fee,out_trade_no(外部商家订单号.为了方便测试,在 index.asp这个页面采用的是以日期的形式的数字字符串,这个订单号必须保证提交给支付宝的时候是唯一的,否则支付不了

2.

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的值是否规范
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: