开发者社区> 扬朋> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

同步返回通知与异步通知区别解析

简介: 一,什么是同步通知   同步通知是指在请求参数中传入return_url参数,支付成功后跳转到return_url地址后携带的返回参数,如下可以在同步跳转的地址栏看到同步返通知: return_url参数 后面?拼接的就是同步返回参数。
+关注继续查看

一,什么是同步通知


  同步通知是指在请求参数中传入return_url参数,支付成功后跳转到return_url地址后携带的返回参数,如下可以在同步跳转的地址栏看到同步返通知:

return_url参数 后面?拼接的就是同步返回参数。


注:目前在支付接口中只有手机网站支付的接口和电脑网站支付的接口可以传入return_url参数 来接收到同步通知 其他的支付接口 如APP支付和当面付的接口都是不支持的。


二、什么是异步返通知

  异步通知是指在请求参数中传入notify_url参数,在用户支付成功后,支付宝服务器会按照这个异步地址使用post方式给notify_url来发送交易信息,如下:

gmt_create=2018-06-19[/url] 10:45:21&charset=UTF-8&seller_email=$$$&subject=使用充值:0.01元&sign=$$$&body=欢迎使用&buyer_id=2088902846029999&invoice_amount=0.01&notify_id=fa5f28482957168bb30be6230000bb7m3l&fund_bill_list=[{"amount":"0.01","fundChannel":"ALIPAYACCOUNT"}]&notify_type=trade_status_sync&trade_status=TRADE_SUCCESS&receipt_amount=0.01&app_id=2018061260369999&buyer_pay_amount=0.01&sign_type=RSA2&seller_id=2088131465899999&gmt_payment=2018-06-19 10:45:22&notify_time=2018-06-19 10:59:12&passback_params=1007511859282415616&version=1.0&out_trade_no=20180619109999&total_amount=0.01&trade_no=2018061921001004790596169999&auth_app_id=2018061260369999&buyer_logon_id=124***@qq.com&point_amount=0.00


notify_url地址由商户自己定义保证可以正常使用外网post方式访问,否则是无法正常接收到异步通知的。

三、同步通知和异步通知的区别

  1、接收方法不同

     同步通知是在同步返回的页面使用get方式来获取的 异步通知是使用post方式发送到异步地址上的,只能使用post方式来接收。


  2、返回的参数不同

   同步通知返回的参数比异步通知返回的参数是要少一些的,最明显的就是异步返回参数会返回trade_status(交易状态)参数 但是同步返回的参数是没有的,所以建议使用异步返回的参数来确认交易是否成功 如果trade_status=TRADE_SUCCESS 表示就是交易成功了


  3、发送的时间不同

     一般情况下,异步通知比同步通知稍慢(几乎无感知)。同步和异步通知的发送和网络环境、服务器处理速度等因素关系较大,具体是先接收到同步通知还是异步通知,建议以实际接收到的为准。


  4、参数返回的逻辑不一样

   (1.)同步通知是在支付成功后的页面跳转,一般是用于展示给用户的,以手机网站支付为例:

   付款成功会跳转到商户请求参数中传入的return_url地址页面:

(2.)异步通知参数是直接由支付宝服务器发送到商户的异步地址上的 不存在页面跳转是直接的服务器交互。


四、关于验签

  同步通知和异步通知都是使用相同的验签方法验签的,如果是调用的SDK那就是都是使用的rsaCheckV1方法。


  详细的验签建议参考:

  关于支付宝异步通知的那些事:[url]https://openclub.alipay.com/read.php?tid=1314&fid=69&ant_source=zsearch[/url]

  验签失败自查方案:[url]https://openclub.alipay.com/read.php?tid=1598&fid=69[/url]


注:同步通知参数和同步响应参数是不一样的,同步通知返回是return_url参数返回的信息,同步响应则是请求成功接口返回的信息

      详细的建议参考:[url]https://openclub.alipay.com/read.php?tid=7328&fid=69[/url]



如有其它疑问欢迎大家可以在本帖后发帖追问

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何删除GitHub或者GitLab 上的文件夹
如何删除GitHub或者GitLab 上的文件夹
19 0
函数栈帧的创建与销毁-(基于C语言的VS2019研究)
这里对于寄存器不进行深入探究,只需知道寄存器分为以下8种。
46 0
返回指针值的函数(1)
返回指针值的函数(1)
33 0
利用 GitHub 统计分析编程语言发展趋势
利用 GitHub 统计分析编程语言发展趋势
212 0
互斥同步-锁
synchronized原理。 对象头与Monitor结构。 锁优化技术:锁粗化、锁消除、自旋与适应性自旋、偏向锁、轻量级锁
1371 0
同步与异步、阻塞与非阻塞
这是两对概念,用在不同的语境会有一些不同的含义,不能一概而论。 整体来说,同步就是两种东西通过一种机制实现步调一致,异步是两种东西不必步调一致。   一、同步调用与异步调用: 在用在调用场景中,无非是对调用结果的不同处理。 我理解同步调用就是调用一但返回,就能知道结果,而异步是返回时不一定知道结果,还得通过其他机制来获知结果,如: a.   状态b.   通知c.   回调函数 这里的同步调用
1412 0
同步与异步&阻塞与非阻塞
摘要 一直为同步异步,阻塞非阻塞概念所困扰,特定总结了下,原来是这么个意思 一直为同步异步,阻塞非阻塞概念所困扰,特定总结了下 一、同步与异步的区别 1、概念介绍 同步:所谓同步是一个服务的完成需要依赖其他服务时,只有等待被依赖的服务完成后,依赖的服务才能算完成,这是一种可靠的服务序列。
1034 0
怎样理解阻塞非阻塞与同步异步的区别?
著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:卢毅 链接:http://www.zhihu.com/question/19732473/answer/20851256 来源:知乎“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步 同步和异步关注的是消息通信机制 (synchronous co
1935 0
返回指针值的函数(1)
/**有a个学生,每个学生有b门课程的成绩。要求在用户输入学生序号以后, **/ #include #include int main() { float *aa(int (*p)[4],int n); float a[3][4]={{50,99,80,50...
718 0
+关注
扬朋
支付宝小程序开发者运营专家
文章
问答
来源圈子
更多
文章排行榜
最热
最新
相关电子书
更多
面向失败设计
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载