react-native-wechat
react-native-wechat copied to clipboard
微信支付,点击支付,屏幕闪一下后,没有任何反应。catch也不走,
try {
let payResult = WeChat.pay(
{
partnerId: result.resObj.partnerId.toString(), // 商家向财付通申请的商家id
prepayId: result.resObj.prepayId.toString(), // 预支付订单
nonceStr: result.resObj.nonceStr.toString(), // 随机串,防重发
timeStamp: ""+result.resObj.timeStamp+"", //这个确定是字符串
package: result.resObj.package.toString(), // “我这里是写死的Sign=WXPay”
sign: result.resObj.sign.toString(), // 商家根据微信开放平台文档对数据做的签名
}
);
} catch (error) {
alert(error);
}``
这个是配置问题,请按照官网再仔细检查下,还有可能是签名问题。
感谢您的回复,另外我想问一下 我支付的信息(比如价钱和body),是在哪个字段sign还是package,
这些信息都是通过服务端的支持接口生成sign回传到客户端来做的~
请问一下这个问题解决了吗,我也遇到这个问题了
@wangliguang 请问你解决了吗?我也是同样的问题,而且我确定过很多次签名没有问题,用的是打包出来的正式版,参数也全都是字符串了.但是还是这样的问题....求教
我遇到了这个问题,android 下没任何反应,ios 版本才提示 传入的 appid 不对,修改了后台支付的 appid 后问题解决。
可以先调一下微信分享,没问题的话就说明签名配置的没问题,然后这时候就要考虑后台传过来的这些参数是不是有问题了
我也遇到同样问题。appid没问题。😂 但是能看到一个日志打印了 WechatError: -1
@ttylikl 先试一下分享能不能调用成功,如果分享可以正常调用,说明app端配置没问题,剩下的,再有问题就后台接口的问题了~比如一个支付数据不能多次调用等~
@ttylikl 先试一下分享能不能调用成功,如果分享可以正常调用,说明app端配置没问题,剩下的,再有问题就后台接口的问题了~比如一个支付数据不能多次调用等~
谢谢,最后发现是服务端做签名的时候用的参数不对。大家也可以参考:
名称 | 描述 | 解决方案 |
---|---|---|
0 | 成功 | 展示成功页面 |
-1 | 错误 | 可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。 |
-2 | 用户取消 | 无需处理。发生场景:用户不支付了,点击取消,返回APP。 |
返回-1,就是这些原因了