hogan
hogan
  • 发布:2015-05-21 14:55
  • 更新:2016-04-23 14:47
  • 阅读:3570

求助:微信支付服务端返回的json字符串执行后提示code=-1,请问有可能是什么原因呢?

分类:HTML5+

与http://demo.dcloud.net.cn/helloh5/payment/wxpay.php?total=1”生成的参数对比如下:

dcould返回的sign:b5dacdca02a942762d36a5979a32f11db6bdc73a
按微信规范生成的sign:18885F52CFE3ACD7E7145F04C3203BDC

dcould返回的prepayid:120100000015052194a7fa60d75c2048
按微信规范生成的prepayid:wx2015052122122439601297ff0820158914

想咨询下,为什么dcould的sign的会长很多,同时prepayid按规范生成的比dcould多4个长度?

statement为按照微信规范生成的返回的json字符串
plus.payment.request(channel, statement, function(result) {
//
}, function(e) {
//提示:e.code=-1
});

2015-05-21 14:55 负责人:无 分享
已邀请:
好烟

好烟

这个不是固定的,只要你能成功拿到prepayid,就说明你的加密方法没问题!报-1问题有这几个原因:
1,你的微信支付无法用真机调试的,必须云打包之后才能进行测试,因为你微信开放平台的包名和签名要一致,不然是会一直报-1错误的。
2,你知悉比对下5+示例app返回的那个调起支付的字符串,跟你的有什么不一样,确保跟示例app的返回字符串一模一样!
3,注意你的app配置文件里面微信支付的appid一定要正确!

  • topSWdept

    我已经顺利的拿到了prepayid,,已经云打包了,应用签名是使用微信提供的签名生成工具生成的,返回的字符串格式都是一样的,appid也没有问题,可为什么还是-1错误呢?

    2015-09-09 10:57

  • 好烟

    使用的打包证书是什么,你自己的么,还是直接用的dcloud的共有证书??签名发来看下

    2015-09-09 12:26

winicafe

winicafe

一模一样的问题 请问楼主解决了么 微信太坑的说。。。。。。

好烟

好烟

上面我已经说了,报-1错误说明你已经成功获取到了微信支付字符串,并且已被用于吊起微信app,但是校验出错了,错误原因有以下:
1,app包名和你在微信开放平台配置的包名不一致。
2,在dcloud的配置文件中填写正确的appid错误。
3,包名和appid配置正确,但是dcloud没有用离线打包或者云打包的方式生成apk。
4,有可能你采用了公众平台微信支付,dcloud用的是开放平台支付方式(第三方app调用微信支付)
如果是这个错误,上面三点可以忽略

y***@foxmail.com

y***@foxmail.com - kindhyh

---支付失败-----
【-100】:【payment微信:-2】请参考URL地址:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5

y***@foxmail.com

y***@foxmail.com - kindhyh

我最后搞定了,是加密的时候,多了引号引起的。加密的时候,字符串不能带引号。

该问题目前已经被锁定, 无法添加新回复