微信官方文档地址
- 从网站 https://pay.weixin.qq.com/wiki/doc/api/index.html 选择对应接入的支付产品
- 跳转到开发文档页面,在左侧菜单中选择:"最佳实践"->"支付验收指引" 跳转到沙箱文档界面(注:我从APP接入文档中选择"支付验收指引",会跳转到JSAPI接入文档,应该是两个支付产品公用同一套沙箱接入方式所以使用同一个文档页面)
接入步骤
- 获取沙箱环境的支付秘钥(验签秘钥)。微信官方文档中有具体获取步骤。
- 将正式API的调用url增加一层sandboxnew路径。如统一下单接口 https://api.mch.weixin.qq.com/pay/unifiedorder 换成 https://api.mch.weixin.qq.com/sandboxnew/pay/unifiedorder 。这里建议做全局配置,根据是否使用沙箱环境的配置来切换不同的url,方便日后测试。
- 更换支付秘钥。把生成签名使用的支付秘钥更换成第一步中得到的沙箱环境支付秘钥。这里同样建议根据全局配置来切换秘钥。
- 微信中搜索公众号 WXPayAssist 并关注。点击菜单栏->验收case->**支付 获取对应支付产品的可用验收用例。这里要注意的是,不同产品的不同用例订单金额是不同的,同时金额也是固定的,如我需要测试APP支付的支付成功用例,在调用统一下单接口时金额必须根据文档中的金额填2.01元(201分)。
- 以APP支付成功用例作为例子。以上步骤完成后,开始调用统一下单接口,过几秒之后微信会向支付回调接口发送支付成功的回调通知(此过程中不需要开发人员通过APP对订单进行支付)。
这里特别说一下几个要注意的地方:
- 不同支付产品的不同用例是使用订单金额去区分的。
- 我使用了几个测试用例都是不需要真实支付的,所以应该不需要担心测试接口还需要花钱的问题。
接入过程中遇到的问题
请求沙箱环境统一下单接口返回错误:沙箱支付金额(*)无效,请检查需要验收的case
请查看上面的接入步骤第4步。主要原因是:订单金额必须是微信官方提供的几个金额。
调用部分沙箱环境接口时请求超时
这个问题没有找到具体原因,查到别人说可以将dns换成腾讯的(119.29.29.29),成功率会提升。
支付回调验签失败
检查支付回调验签时是否使用沙箱环境的支付秘钥(接入步骤第一步中获得的支付秘钥)
网友评论