在支付宝工作人员提供的demo中会存在两个返回处理文件(不同的语言叫的名称会不一样【详见附录1】),同样对应支付宝API接口参数:同步返回(return_url)和异步返回(notify_url),那么他们的的区别有是在哪呢?同步返回处理(return_url):是一种可视化的返回,ie页面跳转通知,只要支付成功,支付宝通过get方式跳转到这个地址,并且带有参数给这个页面。您的网站获取信息受到买家操作的影响。如果买家支付完成后您的服务器响应比较慢,买家在显示支付宝提示的“即时到账支付成功“(如果是实物双接口--担保交易显示的会不一样,具体可以操作试试)时关闭页面,那么您的网站是获取不到信息,可以称为”掉单“。而且这个返回处理是一次性调取,即支付成功后才调取同步返回处理。异步返回处理(notify_url):它的数据交互是通过服务器间进行数据交互,服务器post消息到异步返回处理页面(这个您可以做到servlet中),需要您的技术在异步返回处理页面处理相关的数据处理,然后每一步操作(例如:支付宝担保交易,有很多状态,在每一个状态中更新完您的网站的订单都要即时的返回给支付宝信息)都要返回给支付宝success(不能包含其他的HTML脚本语言,不可以做页面跳转。),这个返回处理如果集成OK,那么基本不会出现掉单,因为支付宝会在24小时之内分6~10次将订单信息返回个给您的网站,直到支付宝捕获success。所以如果第一次没有获取,没有关系,后期有返回。作了以上处理有时候还会出现不寻常的调单,这个有可能是网络传输导致的问题。如果调单非常频繁,您就需要检查您的异步操作是否真正的没有问题!您可以在支付宝的一部返回处理页面或者返回处理程序中做一个写日志的动作,并记录下sign、mysign、resposenTXT、订单信息等,看看sign、mysign是否相等、resposenTXT手否等于true,如果有一个不成立说明本地的服务器或者本机有问题【详见附录2】。一般支付宝的同步返回处理如果调取就会处理成功(程序也是没有问题的前提下)。
return_url和notify_url
最新推荐文章于 2021-08-27 14:26:51 发布