鸿运当头
鸿运当头
  • 发布:2015-07-14 11:03
  • 更新:2019-08-15 09:09
  • 阅读:17086

调用void plus.payment.request进行微信支付出错,返回-1:General errors

分类:HTML5+

参照H5plus的支付示例,我调试微信支付接口,当我的业务服务器返回200后,进行如下操作:

                plus.payment.request(pays['wxpay'], obj.data, function(result){  
                    console.log("----- 支付成功 -----");  
                    console.log("result:" +result);  

                },function(e){  
                    console.log("----- 支付失败 -----");  
                    console.log("["+e.code+"]:"+e.message);  
                    console.error(JSON.stringify(e));  
                });

结果支付失败,控制台输出如下信息:

----- 支付失败 ----- at app/order/charge.js:165
[-1]:General errors at app/order/charge.js:166
{"code":-1,"message":"General errors"} at app/order/charge.js:167

其中,传给request的第二个参数值是(个别第三数字使用x代替):
{"retcode":0,"retmsg":"ok","appid":"wx62ebxxxx5axx84xx","noncestr":"fkojwhfug0r2llll5bougv5myjnobh96","package":"Sign=WXPay","partnerid":"124xxx0201","prepayid":"wx201507141041559e26c899f80931358612","timestamp":1436841715,"sign":"8F30EF47464C8707D3AA8C2BF140CB74"}

H5plus的支付示例中微信支付传给request的第二个参数值是:
{"retcode":0,"retmsg":"ok","appid":"wx0411fa6a39d61297","noncestr":"f35eefbd4a3f82c5ea36ace4b7699cc6","package":"Sign=WXPay","partnerid":"1230636401","prepayid":"12010000001507147692a48beaeff417", "timestamp":1436840151,"sign":"7fcde50611b1815322dfb9afcd7768680b9244fb"}

两者相比,只有sign和prepayid的长度不同,不知道会不会跟这个有关?

plus.payment.request的参数具体是什么要求?

谁解决过类似的问题,请求提供思路和帮助,谢谢!

2015-07-14 11:03 负责人:无 分享
已邀请:
鸿运当头

鸿运当头 (作者)

请问调用plus.payment.request进行支付时,App是否需要使用特定的包名和经过签名?

  • mackes

    有签名的

    2015-12-30 19:06

鸿运当头

鸿运当头 (作者)

支付成功了!
需要将包名设置为微信开放平台中指定的包名,并且必须用当时申请的keystore签名。

  • 明哥

    怎么我的还不行啊,,包名也和微信开放平台中指定的一样,keystore签名也一样

    2015-09-12 15:18

  • 鸿运当头 (作者)

    我是参考DEMO的,基本完全一样,就是使用了自己的包名和签名。如果手机端你认为没有问题,请核查服务器端,坑主要在服务器端。

    2015-09-13 13:07

  • winicafe

    回复 鸿运当头:也遇到一样的问题 折腾好久了 到底那边问题。。。。。完全没头绪啊

    2015-09-14 12:38

  • 鸿运当头 (作者)

    prepayid是正常的吗?

    2015-09-15 16:03

  • dcfans

    请问鸿运当头,哪里有demo?来参考一下,搞了一天也没搞成功!

    2015-09-16 21:17

  • 鸿运当头 (作者)

    Hbuilder创建新的“移动App”,选择“Hello H5+”示例,这个就是H5+的Demo。

    2015-09-17 16:26

  • 草梵

    @36548 可以在真机上调试微信支付接口吗?

    2016-02-02 17:26

  • 鸿运当头 (作者)

    都可以的。

    2016-02-15 15:02

  • 迷途小压压

    为什么我请求后台然后返回的数据是{"appid":"null","noncestr":"null","package":"Sign=WXPay","partnerid":"null","prepayid":"null", "timestamp":1436840151,"sign":"7fcde50611b1815322dfb9afcd7768680b9244fb"},

    后台的代码参照这里的:

    .....................

    $subject = 'DCloud项目捐赠';

    // 订单号,示例代码使用时间值作为唯一的订单ID号

    $out_trade_no = date('YmdHis', time());

    $unifiedOrder = new WxPayUnifiedOrder();

    $unifiedOrder->SetBody($subject);//商品或支付单简要描述

    $unifiedOrder->SetOut_trade_no($out_trade_no);

    $unifiedOrder->SetTotal_fee($total);

    $unifiedOrder->SetTrade_type("APP");

    $result = WxPayApi::unifiedOrder($unifiedOrder);

    if (is_array($result)) {

    echo json_encode($result);

    }

    2016-05-13 18:08

  • Winson1138

    那大家是如何解决到的我也是遇到这个问题?

    2017-02-19 23:23

  • f***@126.com

    我也遇到了,ios应用,没发现任何问题,就是返回-1

    2018-09-11 17:07

臭皮匠娃娃

臭皮匠娃娃

你好,我现在也在做这个支付,他们就给我这个格式{"retcode":0,"retmsg":"ok","appid":"wx0411fa6a39d61297","noncestr":"f35eefbd4a3f82c5ea36ace4b7699cc6","package":"Sign=WXPay","partnerid":"1230636401","prepayid":"12010000001507147692a48beaeff417", "timestamp":1436840151,"sign":"7fcde50611b1815322dfb9afcd7768680b9244fb"}
要调java后台,我该怎么做

鸿运当头

鸿运当头 (作者)

看H5的Demo

l***@qq.com

l***@qq.com

我现在微信支付可以唤醒一次,以后就不行了。除非清空微信的数据。这种情况怎么判断是服务端的问题,还是客户端的问题呢?

  • 李玖军

    我也出现同样的问题,请问你解决了嘛?

    2017-01-20 05:03

  • l***@qq.com

    @lijiuzun01358@126.com:解决了 是安卓的应用签名设置错误

    2017-01-20 15:23

上官萧晨

上官萧晨

我用android stuido离线打包的时候,能取到后台给我发会的数据,但是掉不到微信支付 可是云打包的时候正常 包名跟微信开放平台上写的包名一样 哪位大侠知道这是什么情况影响的吗

灿少

灿少

我给您发了一条私信,请教一下你关于这条问题的解决方案,恳请回复!

龙衣

龙衣 - 80后IT男

解决了吗?最后怎么解决的?我后台服务微信签名啥的都是对的,最后就是报code:-100,谁能帮我下

鸿运当头

鸿运当头 (作者)

好久没有搞这个了,基本上想不起来了,凭当初记忆(可能不准),请检查:
1你写的app的包名要与徽信平台创建的App使用相同的包名;
2你写的app必须与徽信平台创建的App时上传的密钥进行签名;
3传递给plus.payment.request的参数顺序请保持与demo致;

5***@qq.com

5***@qq.com

我这都是一致的,还是一直报code:-100

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