沙箱验证签名失败,请确认沙箱签名key是否正确(通过getsignkey调用生成)
微信支付调试步骤
- 获取沙箱的sandbox_signkey,地址是https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey
- 将对应的url改成带有sandboxnew的url
- 其他操作类似
获取sandbox_signkey的注意事项
- 还是按照key1=value1&key2=value2…的方式拼接字符串
- 拼上key
- key需要是商户的真实key
- 如果使用了<![CDATA[。。。]>,需要将CDATA也包括在内
- 而在真实的环境中,拼接字符串是不能将CDATA也包括在内,否则会返回签名不正确(这一点确实坑)
获取沙箱密钥参数
- 只需要mch_id和nonce_str就行了
测试用例
测试时不能随意指定金额,只能使用指定的金额
正常用例:
- 订单金额0.01元
- 订单金额0.02元,含0.01元代金券
- 订单金额0.03元,含0.01元代金券和0.02元免充值现金券
异常用例:
- 订单金额0.3元,返回USERPAYING
- 订单金额0.31元,用户支付成功,微信返回超时
- 订单金额0.32元,用户支付失败,微信返回超时
- 订单金额0.33元,微信支付超时,且查单失败
- 订单金额0.34元,含0.01元代金券,微信支付返回超时
订单查询的坑:
- return_code:通信标识
- result_code:业务结果
这两个都返回SUCCESS,订单也不一定成功,在查询接口中还有一个trade_state字段,表示真正的结果