微信支付服务器繁忙,微信支付踩坑记录

本文记录了在接入微信支付过程中遇到的挑战,包括获取沙箱密钥、处理沙箱环境中的302错误、统一下单接口的注意事项以及支付回调的签名验证与业务处理。在沙箱环境中,需特别关注支付金额设置,避免出现'沙箱被扫支付金额无效'的错误。此外,回调处理中要确保正确响应微信,防止频繁通知。
摘要由CSDN通过智能技术生成

微信的支付文档写的是真的反人类,关键点都不带提的,强迫别人跟着前人一个坑接着一个坑踩;微信接口请求及返回的数据格式都是xml形式;

大体流程

服务器请求https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey,获取沙箱密钥,作为沙箱环境下的商户支付密钥(KEY),这步操作只在沙箱环境测试时才有

服务器请求https://api.mch.weixin.qq.com/pay/unifiedorder,统一下单,微信支付服务后台生成预支付交易单,根据返回的参数重新计算签名

app根据上一步的参数,进行支付操作(这部分参考官方给的sdk跟demo)

app支付成功后,微信会根据第二步中设置的回调地址进行回调,需要在回调中做响应的数据校验及业务处理

上面提到APP支付模式统一下单时,服务器会根据微信返回的预支付交易单重新计算签名并发送给客户端APP,但是使用NATIVE下模式一统一下单时,如果重新计算签名并处理成xml返回给微信,微信会报系统繁忙的错误提醒

1.step1沙箱环境

如果是正式支付环境,只需要用将商户支付密钥(KEY)设置为商户平台上(账户中心→API安全→设置密钥)上的API密钥即可;如果是使用沙箱环境进行测试,根据官方文档-最佳实践-支付验收指引:你需要请求微信借口 https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey 获取沙箱密钥并替换商户支付密钥;

如果使用微信sdk的话,这里还需要注意的是,每次计算签名时,使用的KEY要用沙箱密钥

2.30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值