公司接了一个项目要求接入微信支付,但是微信公众平台上有一套appid和AppSecret,微信开放平台上又有另一套appid和AppSecret,由于刚做android开发不久,现在有一些问题需要大神们解决一下:
1.我该用哪一套appid和AppSecret,或者都是错的?
2.主要是获取prepayid的时候卡住了,调试提示“签名错误”;
3.我用“微信公众平台支付接口调试工具”调试prepayid所有参数校验都显示通过并且检查问题之后提示“ok”,但是在程序中就会“签名错误”;
弄了两天了真心希望各位大神给我帮助。。。
这是个三月份时候的问题,现在回答应该是太晚了,但可能别人也有同样的问题。我是最近在做这个,一个人做,就只能到处找答案,花了我一个多星期,刚才终于有了进展了。
首先你是用Android来做微信支付的,因此你必然要去做微信支付申请,申请成功后它会通过邮件发送给你商户号啊,登录密码这些,然后你还会发现它里面还有一个应用APPID(我目前知道的是你有了这些账号密码后,最首要的应该就是去设置密钥,因为你需要做MD5签名(在做MD5签名的时候需要在最后面的地方加上这个密钥),这个你是可以在开发文档里看到的。
那么现在应该就不难理解了,你的密钥,你收到的邮件里显示的APPID,商户号,这些都是服务于你的这个Android APP的。
(1)所以我觉得第一个问题是你说的那两套应该都是错的,你要用的是自己Android申请支付功能的那一套。
调试的时候说的是“签名错误”,那就要看清楚签名的构成,微信文档里签名的内容最主要注意的就是appid和api密钥(之前说了,api密钥是用于构建签名的时候后面加上去的)
(2)所以这个时候就要先确定,appid就是自己这个Android APP的appid,api密钥就是自己在商户平台里自己设置的密钥,注意这个密钥是32位的,然后需要混入数字,大写字母和小写字母。
(3)至于第三个问题我没做过,不过我的猜想是你测试的时候填入的参数校验上是成功了,但会不会没有用到跟你APP有关的参数,我的意思是你测试的那些东西其实只是在测试开放平台啊,公众平台上的,所以它提示的是OK。