App移动客户端如何集成微信支付

发布时间:2021-12-22 14:11:32 作者:小新
来源:亿速云 阅读:181

小编给大家分享一下App移动客户端如何集成微信支付,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

申请微信支付:

首先,你得去微信开放平台申请微信支付。经过比较漫长的申请过程,审核通过之后,可以去这里下载文档和demo。

开发

使用方式描述: 当使用App点击微信支付,会直接跳转到微信进行支付。

开发步骤:

上面的所有步骤,你可以在iOS或者Andriod端完成,但是,为了安全最好在服务端完成前两步。

而我就是在服务端完成了前两步,使用Ruby。

支付逻辑


下面是值的注意的地方:

获取access token

 
POST url = https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential# post paramsappid=APPIDsecret=APPSECRET

微信支付的文档里写的是用GET,我就不吐槽腾讯的文档了,你用GET能取到的只有错误码。所以这个地方是用POST,才能取到access token。
当然这里你用到的APPID和APPSECRET是你申请成功微信支付后才会有的。

获取prepayid

第一眼看微信支付的文档,感觉是和支付宝快捷支付一样,但是看到这一步的时候,感觉微信支付做的更安全。生成预支付订单完全可以在服务端完成。

 
POST  https://api.weixin.qq.com/pay/genprepay?access_token=ACCESS_TOKEN

很多人会碰到一个错误:{"errcode":40001,"errmsg":"invalid credential"}
这个时候需要仔细检查你的access token是不是给对了。

然后就是POST Data,一定要是json对象, 要仔细看文档,写对参数名,否则会碰到{"errcode":49004,"errmsg":"not match signature"}的错误。

生成package
这个地方文档描述的不是很正确,不知道是不是写文档的人语文没学好,我来把文档重新纠正一下。

字典序,在Ruby里,用sort方法就可以了。
文档里的D)写的是把sign=signValue拼接到string1后面,应该是拼到string2后面,也就是经过url encode的字串。

我被坑到的地方就是,POST Data转成json对象的时候,使用了to_json方法, 把package参数里的&符号转成了\u0026。
应该使用JSON.generate(data)来转换。

把上面所说的搞对,基本就很顺了。

生成app_signature

这里需要注意的是,appkey就是paySignKey, 128位长的字符串, 请不要和app secret、appid搞混。

以上是“App移动客户端如何集成微信支付”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. app微信支付类封装如何理解
  2. 支付宝,微信支付集成

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

app

上一篇:怎么使用PCA去除数据集中的多重共线性

下一篇:mysql中出现1053错误怎么办

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》