帖子
帖子
用户
博客
课程
显示全部楼层
7
帖子
0
勋章
98
Y币

[插件使用] 微信支付

[复制链接]
发表于 2015-12-4 16:28:34
您已完成交易接口升级,老接口交易权限已关闭 QQ截图20151204162401.png


5
帖子
0
勋章
1万+
Y币
IOS还是安卓
7
帖子
0
勋章
98
Y币
  1. function getOrderInfo(noncestr,timestamp,packageInfo) {
  2.         var traceid = "crestxu";//用户唯一biaosh
  3.         
  4.         var signatureInfo = "appid=xxxx";
  5.         signatureInfo += "&appkey=xxxxxx";
  6.         signatureInfo += "&noncestr=" + noncestr;
  7.         signatureInfo += "&package=" + packageInfo;
  8.         signatureInfo += "&timestamp=" + timestamp;
  9.         signatureInfo += "&traceid=" + traceid;
  10.         var signatureInfoSign = $.sha1(signatureInfo);
  11.         
  12.         var orderInfo = {
  13.             appid : "xxxxx",
  14.             traceid : traceid,
  15.             noncestr : noncestr,
  16.             package : packageInfo,
  17.             timestamp : timestamp+"",
  18.             app_signature : signatureInfoSign,
  19.             sign_method : "sha1"
  20.         };
  21.         
  22.         //                        alert("orderInfo-->"+$api.jsonToStr(orderInfo));
  23.         return orderInfo;
  24.     };
复制代码

  1. function getPackage(orderId,amount, subject, body) {
  2.         var packageInfo = "bank_type=WX";
  3.         packageInfo += "&body="+body;
  4.         packageInfo += "&fee_type=1";
  5.         packageInfo += "&input_charset=UTF-8";
  6.         packageInfo += "&notify_url=http://www**.**";
  7.         packageInfo += "&out_trade_no="+orderId;
  8.         packageInfo += "&partner=1111";
  9.         packageInfo += "&spbill_create_ip=127.0.0.0";
  10.         packageInfo += "&total_fee=2";
  11.         var packageInfoSign= packageInfo + "&key=xxxx";
  12.         packageInfoSign = $.md5(packageInfoSign).toUpperCase();
  13.         
  14.         //因为生成sign(即packageInfoSign)之前packageInfo必须是原文,
  15.         //函数返回值:packageInfo+sign,其中package必须是进行URL编码的,所以又重新拼接了packageInfo
  16.         packageInfo = "bank_type=WX";
  17.         packageInfo += "&body="+encodeURIComponent(body);
  18.         packageInfo += "&fee_type=1";
  19.         packageInfo += "&input_charset=UTF-8";
  20.         packageInfo += "&notify_url="+encodeURIComponent("http://www**.**");
  21.         packageInfo += "&out_trade_no="+orderId;
  22.         packageInfo += "&partner=1111";
  23.         packageInfo += "&spbill_create_ip=127.0.0.0";
  24.         packageInfo += "&total_fee=2";
  25.         
  26.         return packageInfo + "&sign=" + packageInfoSign;
  27.     }
复制代码

调用这两个方法出现的错误
5
帖子
0
勋章
1万+
Y币
这是原生开发吗,跟模块没关系?如果原生的,只能自己调下
7
帖子
0
勋章
98
Y币
技术支持-M 发表于 2015-12-4 17:44
这是原生开发吗,跟模块没关系?如果原生的,只能自己调下

weixin 模块 -->getOrder-->orderInfo参数-->package参数
调用模块也需要自己拼装下 orderInfo吧.

我的是执行到weiXin.getOrder时返回flase
提示老接口已关闭,请使用新接口


是不是和微信的V2 V3版有关,我的是V3

  1. var packageInfo = getPackage(orderId,amount, subject, body);
  2. var info = getOrderInfo(noncestr,timestamp,packageInfo)
  3. var weiXin = api.require('weiXin');
  4. weiXin.getOrder({
  5.                 token: document.getElementById("paytokenis").value,
  6.                 orderInfo:info
  7.             },function(ret,err){
  8. //false
  9. })
复制代码
5
帖子
0
勋章
1万+
Y币
能说下是IOS还安卓吗
7
帖子
0
勋章
98
Y币
技术支持-M 发表于 2015-12-7 14:10
能说下是IOS还安卓吗

安卓,目前是在海马上运行的,
有没有可能是微信帐号的问题,申请的接口有问题
5
帖子
0
勋章
1万+
Y币
v3版支付账号请按照微信官方文档说明的签名方式把getToken和getOrderId放在服务器端执行

getOrder也要他们自己服务器去获取  不要用咱们的
7
帖子
0
勋章
98
Y币
技术支持-M 发表于 2015-12-7 14:40
v3版支付账号请按照微信官方文档说明的签名方式把getToken和getOrderId放在服务器端执行

getOrder也要他们 ...

好的,我试试
您需要登录后才可以回帖 登录

本版积分规则