本地服务端测试是可以拉起微信支付的,但是项目移到服务器上就不行呢?开放平台的app签名已经改了发布版的(签名是通过微信官方给的Gen_Signature_Android.apk获取的),appid没换、APP_SECRET 也没换、商户密钥key也没换,证书更没换哈,后来我切换到本地测试 可以支付哈,真是日了狗邪门了,网上一大推讲sign签名问题,我瞅了一天了。。。找不出来问题
总结下:
1.基础配置: 证明签名,appid,mch_id, key参数配置是正常的,根本没动,本地测试也正常,说明不是这里的问题
2.app签名:都是通过微信官方给的Gen_Signature_Android.apk获取的,也没毛病哈
4.:统一下单接口正常下单,两次sign
签名:appid、attac、body=、mch_id、nonce_str、notify_url、out_trade_no、spbill_create_ip、total_fee=1&trade_type=APP&
签名加key后:appid、attac、body=、mch_id、nonce_str、notify_url、out_trade_no、spbill_create_ip、total_fee=1&trade_type=APP&key=***
最后生成Sign:1E093926EA0202C855ED598689C76431
签名:appid、noncestr=oqV8fcDIMgRMuB9K&package=Sign=WXPay&partnerid、prepayid=wx08103747913176043a9b57221f33010000×tamp=1604803067&
签名加key后:appid、noncestr=oqV8fcDIMgRMuB9K&package=Sign=WXPay&partnerid、prepayid=wx08103747913176043a9b57221f33010000×tamp=1604803067&key=30c39aa331a66044c4735a3d40201749
最后生成Sign:7A3767500852C91ED161FFA5A783B4B9
-------接下来是返回客户端的--------
预付订单wxPay:{package=Sign=WXPay, appid=wxed23498377bd08b2, extdata=135****7582, sign=7A3767500852C91ED161FFA5A783B4B9, partnerid=1601634436, prepayid=wx08103747913176043a9b57221f33010000, noncestr=oqV8fcDIMgRMuB9K, timestamp=1604803067}
客户端调起支付:
PayReq req = new PayReq();
req.appId = map.get("appid");
req.partnerId = map.get("partnerid");
req.prepayId = map.get("prepayid");
req.packageValue = map.get("package");
req.nonceStr = map.get("noncestr");
req.timeStamp = map.get("timestamp");
req.extData = map.get("extdata");
req.sign = map.get("sign");
//发送请求或发送响应到微信终端
WechatResult = wxapi.sendReq(req);
最最关键的是:我本地是可以调起支付的,放在服务器上不行呢?(前提已经在开放平台上改了发布版的app签名)
你好,这边建议您添加一下wepayTS8(备注:微信社区XXX问题)。提供一下以下信息。
-请求的具体API接口(提供文档地址和请求的URL):
- 问题发生时间【必填】:
- 商户号【 必填】:
- 商户订单号【 必填】:
- 相关报错信息文案【 必填】:
- 问题截图或视频【 必填】:
-完整的请求和返回参数以及单号【 必填】:
刚才调用分享图片,报了“签名不对,请检查签名是否与开放平台上填写的一致”,
手机截图上是我发布版的sign,看到这个,我还能说啥,