微信小程序沙箱环境支付错误

当前在做项目重构,自己之前没做过支付方面的业务。

最近在做微信支付相关的工作,之前是有上线版本的,但是没有支付的沙箱环境,所以我现在在做微信支付的沙箱环境。

业务场景是这样的:
调用沙箱支付接口,从服务端获取到预支付数据,然后通过小程序扫码,检测支付是否成功.

正常情况走线上支付,没有问题。但是切换到沙箱环境就出现了问题

报错是:

{errMsg:"requestPayment:fail",err_code:2,err_desc:"调用支付JSAPI缺少参数: total_fee"}

沙箱环境我检测了几个我觉得会有问题的地方:

1.沙箱密钥

根据文档支付验收,签名算法,我获取到了沙箱密钥,然后替换线上业务使用的密钥,并将所有支付接口全部替换为沙箱接口

2.测试用例金额

刚开始是怀疑金额设置不正确(我试了金额为1.01元可以生成预支付返回),之后我去官网查看了他们要求的测试用例,之后按照测试用例的第一个用例,替换为3.01,发现还是报了相同的错误

3.prepay_id

这个值我检查了一遍,发现它的长度和实际支付的不一致,并且看了下,感觉好像没做加密工作wx201805171028,这明显就是我当前的时间

到这一步之后我不知道怎么办,求各位做过微信沙箱的大佬的帮忙解决一下问题
顺便黑一下微信: 你们的文档真的太挫了!

阅读 8.3k
4 个回答

沙箱里好像只能交易1.00、1.01的金额

新手上路,请多包涵

请问解决了吗

新手上路,请多包涵

额,好像我也发现了,换成正式,没点事,切成沙箱就不行。

新手上路,请多包涵

沙箱用的不是自己设置的API KEY来签名等,而是要单独请求微信的测试API KEY

https://pay.weixin.qq.com/wik...

一定要注意这一点。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进