微信sdk底层代码逻辑分析

1.主扫

调用https://api.mch.weixin.qq.com/pay/micropay

得到的返回码中关注return_code,trade_state,err_state,当:

return_code=FAIL,支付失败退出;

return_code=SUCCESS,trade_state=SUCCESS,直接成功支付退出;

return_code=SUCCESS,trade_state=USERPAYING,会最多轮询三次调用查询接口,返回trade_state=SUCCESS才返回成功,三次都没有出现trade_state=SUCCESS,支付失败退出;

若非上面情况,当err_state=AUTHCODEEXPIRE/NOTENOUGH,会调用取消交易的接口,当err_state=AUTH_CODE_INVALID,支付失败退出;

若非上面所有场景,则最多轮询三次调用查询接口,返回trade_state=SUCCESS才返回成功,否则调用取消交易接口并支付失败退出;

 

2.被扫

场景一:发送调用NATIVE支付,生成预付订单,当用户扫码支付成功后会有回调请求到我们后台,我们后台再更新单据状态。

场景二:用户扫商户固定码牌进入我们的支付h5页面,输入金额确认后调用我们后台,我们后台调用JSAPI支付,等待回调请求再更新单据支付状态;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值