支付宝的同步和异步的区别

摘要:
同步通知:用于用户在支付宝页面付款完毕后自动跳转;异步通知:其实是处理业务逻辑,比如说修改客户的支付状态;同步得到通知后跳转到自己的网址,然后根据参数告诉客户支付结果,然后在更新状态。

第一种理解

同步是给客户看的,异步是服务器处理请求。

同步是客户充值或者支付成功了,给客户一个提示,告诉客户这个操作的结果是成功还是失败。起到的作用就是提示客户这个操作的结果是成功还是失败。

异步是服务器在后端处理支付成功或失败时的业务逻辑。同步通知:用于用户在支付宝页面付款完毕后自动跳转;

异步通知:其实是处理业务逻辑,比如说修改客户的支付状态;

同步得到通知后跳转到自己的网址,然后根据参数告诉客户支付结果,然后在更新状态。

异步其实就是一个双保险,如果同步没有跳转你的网址,可能是关机了,或者网速慢,无法完成数据更新的状态,这时候异步就发挥作用了,先判断是否支付,支付了就不必更新了,只返回支付宝 success就行了,不然会一直异步通知

第二种理解

当一个支付请求被发送到支付渠道方,支付渠道会很快返回一个结果。但是这个结果,只是告诉你调用成功了,不是扣款成功,这叫同步调用。
很多新手会拿这个结果 当作支付成功了,那就会被坑死,结果就是支付成功率特别高,伴随着一堆无法解释的坏账率,测试人员尤其要注意测试数据的篡改:金额,同步返回结果,订单号等。

同步请求参数里面会有一个回调地址,这个地址是支付渠道在扣款成功后调用的,这叫异步调用。
一般同步接口仅检查参数是否正确,签名是否无误等。异步接口才告诉你扣款结果。
一般异步接口有5秒以内的延迟。调用不成功会重试。有时候是这边成功了,但支付渠道侧没收到返回,于是会继续调。
当天的支付到第二天还在 被异步调用也都是正常的。这也是开发人员需要特别注意的地方,不要当做重复支付。
测试人员也要对重复回调进行测试,应只有一次有效。这还不是最坑的,一般 支付渠道侧,只有支付成功了才通知你。
要是支付失败了,压根儿都不告诉你。
另一方面,如何老收不到异步结果呢?那就得查查了。同步结果不可靠,异步调用不可靠,那怎么确定支付结果?最终的杀招就是查单了,
反查,一般支付渠道侧都 会提供反查接口,定时获取DB中待支付的订单调用支付渠道侧的反查接口,最终把支付渠道侧扣款成功的订单完成掉。

免责声明:文章转载自《支付宝的同步和异步的区别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ResouceUtils.getFile()取不到Jar中资源文件源码Qt开源作品30-农历控件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

django实现支付宝支付

目录 django支付宝支付 新建支付宝应用 创建应用(使用沙箱环境测试) 按照官方要求生成私钥(可以上支付宝开发平台下载支付宝开发助手) 把生成的app公钥粘贴到沙箱的app中 查看沙箱账号和密码 支付宝开发地址 说明 在utils中封装请求支付宝扫码地址url的函数和生成订单id的函数 在model.py中定义表 在views.py中...

Openstack_通用技术_RPC 远程异步调用

目录 目录 RPC 一个通过 HTTP Request 调用操作函数的 RPC 实现样例 环境 接收 HTTP Request RPC 调用具体的操作函数 测试 RPC RPC: 同一个项目内的不同服务进程之间的交互方式。为不同的进程服务提供了 call()(同步) 和 cast()(异步) 两种调用方式。 问题 1: 在一个 Opensta...

RPC服务和HTTP服务对比

很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单地介绍一下两种形式的C/S架构,先说一下他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道H...

教你七招提高.NET网站性能

一、减少往返行程(Reduce Round Trips) 使用下面的方法可以减少Web服务器和Browser之间的往返行程: 1、为Browser启用缓存 如果呈现的内容是静态的或变化周期较长,应启用Browser缓存,避免发出冗余的http请求。 2、缓冲页面输出 如果可能,则尽量缓冲页面输出,处理结束后再一次传送到客户端,这可以避免频繁传递小块...

支付宝支付api

支付宝api: 下载alipay支付接口demo: AlipayDemo 使用支付宝支付需要有个商户号,这个商户号必须是企业申请,并且需要企业的营业执照:申请完了会给你个商户号 (一串数字)   沙箱环境(沙箱环境) https://openhome.alipay.com/platform/appDaily.htm?tab=info 点击支付后会向支付宝...

H5微信支付流程

1,.在微信支付平台配置域名为支付页面的目录 比如支付页面 a.aaa.com/pay/pay.com 设置域名 a.aaa.com/pay/ 2.点击下单时候请求后台服务器,后台会去请求微信预支付订单,返回预支付订单信息res 包含appId、timeStamp、nonceStr、signType、paySign信息 3.请求微信支付 <scrip...