由于项目需求需要接入微信支付
根据微信的业务流程 预支付跟签名都在服务端完成;拿到数据后再前端发起支付
在这过程中遇到两个很纠结的问题:
1、服务器端生成的timeStamp 是int类型,生成的签名也出问题了,前端发起支付的时候,一闪而过。生成签名的时候是所有的参数都必须是字符串类型的
2、根据微信业务流程给的步骤三里面的参数去生成签名,问题依然是这样;所有的东西都跟微信文档一致,还是有问题。。怎么办??纠结了好久,微信客服只留下个邮箱 沟通很不方便。。
当想暂时放弃支付的时候,想到demo里面生成签名的参数是小写的,而PHP端是安装流程里面说的参数去生成的[参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay],
我们抱着尝试的态度去修改测试下,没想到真的成功了~~
我们服务器端的签名参数appid,partnerid,prepayid,noncestr,timestamp,package。用这些参数生成的签名可以支付成功。
最终微信那边的参数是怎样的,不清楚~但起码我能支付了。。暂时先不管了~浪费了好多时间在这了~~
希望对遇到同样问题的朋友,有帮助~~~