Closed nbwsc closed 8 years ago
签名是要按js的params里的这些字段签还是按照微信sdk里的那些字段签?
统一下单的签名我已经完成了,就是在app拉起微信支付时候那个签名,是要对
req.appId = getAppId();
req.partnerId = params.getString("mch_id");
req.prepayId = params.getString("prepay_id");
req.nonceStr = params.getString("nonce");
req.timeStamp = params.getString("timestamp");
req.sign = params.getString("sign");
req.packageValue = "Sign=WXPay";
这个req签名还是js里调你的插件时候传的object签名?应该是对传给sdk的req签名吧?
var params = {
mch_id: '1280971401', // merchant id
prepay_id: 'wx20151106110724aa7a36a51c0292643654', // prepay id
nonce: 'nLYur40d6aQZaRIy', // nonce
timestamp: "1446778330", // timestamp
sign: '2508E9C7977473C45807DCF688E407A2', // signed string
};
一共2次签名,一次是统一下单的签名,一次是对整个返回值的签名。你看一下我的那个demo。
JS调用插件传的对object的签名就是传给微信SDK的签名,没有区别。
我是想问 这个sign 是
uppercase(md5sum( "mch_id=1280971401&prepay_id=wx20151106110724aa7a36a51c0292643654&nonce=nLYur40d6aQZaRIy&...&key=xxxxxx))
还是
uppercase(md5sum( "appId=xxxx&partnerId=wx20151106110724aa7a36a51c0292643654&partnerId=1280971401&nonceStr=nLYur40d6aQZaRIy&...&key=xxxxxx))
恩恩,我临时拷贝的,我再仔细检查一下,应该还是签名或者参数的问题。多谢大神的耐心解答。
第二次sign是对appid partnerId prepayId package nonceStr timeStamp这几个字段签名对吗
上周终于把微信支付弄好了,谢谢大神的耐心讲解。
xu-li, 你好:
我想请问一下运行"Send payment request"是不是一定需要那个php demo的支持? 我如果不想用php, 直接在app里实现, 应该怎么做呢? 谢谢!
@xu-li 官方的文档是提供原生开发的例子吧, 我的app是基于ionic开发的, 我还不知道应该如何集成呢... 是不是把你的payment_demo.php部署起来, 参数都产生对了, 就能调起微信支付, 效果就和 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1# 的一样了? ~
是的。
2016-04-01 11:01 GMT+08:00 litingjun2015 notifications@github.com:
@xu-li https://github.com/xu-li 官方的文档是提供原生开发的例子吧, 我的app是基于ionic开发的, 我还不知道应该如何集成呢... 是不是把你的payment_demo.php部署起来, 参数都产生对了, 就能调起微信支付, 效果就和 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1# 的一样了? ~
— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/xu-li/cordova-plugin-wechat-example/issues/14#issuecomment-204223656
Xu Li, Shanghai, China
@xu-li 我试过在ionic里调后台php的restful web service, 请问一下你这个demo是直接可以调用的吗? 还是要再封装成 restful web service? (我php不是很熟)
不用封装就可以用。
注意: 我的那个DEMO里面的开始几个参数你要改。
On Fri, Apr 1, 2016 at 11:10 AM, litingjun2015 notifications@github.com wrote:
@xu-li https://github.com/xu-li 我试过在ionic里调后台php的restful web service, 请问一下你这个demo是直接可以调用的吗? 还是要再封装成 restful web service? (我php不是很熟)
— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/xu-li/cordova-plugin-wechat-example/issues/14#issuecomment-204226501
Xu Li, Shanghai, China
@xu-li ,
$.get("/payment_demo.php", function (response) {
Wechat.sendPaymentRequest(response, function () {
alert("Success");
}, function (reason) {
alert("Failed: " + reason);
});
});
多谢~ 等我微信支付审批下来试试!
@nbwsc 你好 1.我想请问你最后二次签名时appId等字段是大写还是小写啊?我大小写都试过了,还是报普通错误。 2.我所有的数据都是通过ajax请求后台得到的,那后台返回的json数据的格式有什么要求吗? 谢谢!
找到一个场景 会重现这个错误, 且没有任何代码的问题
1 一台手机(设为A)登录微信, 然后强退(也有可能长时间没有激活, 被交换出内存了) 2 另一台手机(设为B)登录同一个微信, 因为手机A的微信进程没有运行, 所以此时仍在登录状态 3 在手机A上支付, 就出现'普通错误了'
我也出现了普通错误,第一次支付的时候是可以的,第二次再支付就出现“普通错误”
。支付的时候弹窗:unable to pay with another account 后面是我的wxappid,有谁碰到过吗?
@nbwsc 老铁 我遇到和你相同的问题了 按照你们推荐的使用方法 我都一一试了 结果还是提示普通错误 希望能得到你的帮助
@wangchao1002 老铁,微信支付需要验证APP的ID,是你的APP的,可以用微信官方的工具获得你的APPID,测试包和正式包的包名是不一样的。我就是这样解决的,你可以试试。
@visoon0012 老铁 APP的ID(是不是微信移动APP申请的那个appid)? 如果是这个的话 那我就写正确了 我微信登录,分享,这些都莫得问题 ,就一直卡在微信支付这个地方 ,希望能得到你的帮助
我看例子中是传这几个字段,签名是重新对这些值签名对吧?时间戳有什么要求吗,为什么一直返回failed:普通错误类型。。求大神帮帮忙