美文网首页
Android App支付场景下的微信支付开发

Android App支付场景下的微信支付开发

作者: b_walking | 来源:发表于2023-06-02 17:33 被阅读0次

集成支付宝支付用了两天,集成微信支付却用了一周。
看了大量的帖子学习,没有一个说微信文档写的好的,甚至很多建议向支付宝学习。
微信支付文档给我的感觉是东一块西一块,不连贯,而且在部分细节上甚至互相矛盾。
现在趁着头脑清醒,记录一下:
1.先从这个商户平台的开发指引开始看
https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_5_2.shtml#part-6
2.再看这个API列表
https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_5_3.shtml
我的程序用到了三个API:APP下单、APP调起支付、支付结果通知

Content-Type: application/json
Accept: application/json

只加入这两项还是不行,因为文档后面又说了,还需要设置User-Agent
设置了User-Agent还是不行,因为在接口规则-开发指南-签名生成文档里说了:微信支付API v3 要求商户对请求进行签名,并通过HTTP Authorization头来传递签名。
https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay4_0.shtml
所以请求头中一共含有四项信息。
我的服务器是Node,至于如何在node.js中生成签名以及解密参数,下面这个帖子给了我很大的帮助
https://blog.csdn.net/qq_39653624/article/details/125755335

  • 对于调起支付API来说,要注意的是在开发指引文档中有提到:

调用API前,需要先向微信注册您的APPID

再就是要对调起支付的几个参数进行签名,签名方法同下单API中的签名方法是一样的。还有一点就是,APP的签名需与在微信开放平台创建APP时所填写的签名是一致的,不然调起不了支付,也收不到相关提示,我之前没有注意到这个问题,从坑里爬了很久才出来。

  • 对于支付结果通知API来说,文档中说接收通知的uri必须是https开头才行,但经咨询微信支付客服,其称http开头的url也可以。这里我遇到了另外一个坑,我的http及https服务是通过express框架来提供的,但是支付成功后,接收到的结果通知消息完全看不懂是什么,咨询了微信支付客服,告诉我已经向我的接收地址正常发送了消息,网上几乎搜不到同类情况,我意识到可能是我自己的问题。经过尝试,最后通过创建最普通的httpsServer正常收到了消息,但express框架为什么不行,我还不知道原因。
var https = require('https')

收到的结果通知消息是需要解密的,解密的方式见上面csdn那个帖子就可以了。
收到结果通知后,要向微信服务器返回确认消息,支付宝支付只是返回success就可以了,但是微信支付却需要返回消息头才行。

res.writeHead(200)
res.end()

以上就是APP支付场景下的微信支付流程,几乎每天都会掉到一个坑里,但幸运的是第二天又能奇迹般的爬出来,真是太不容易了。

相关文章

  • Android支付封装(微信+支付宝)

    支付宝支付:Android支付宝支付详解微信支付参考:android微信支付详解与坑官方文档:App支付Andro...

  • 微信支付sdk调用记录

    微信sdk提供了五种支付场景(公众号支付、app支付、扫码支付、刷卡支付、微信买单)。作为后台开发实际工作中主要接...

  • Android支付宝支付详解

    微信支付参考:android微信支付详解与坑官方文档:App支付Android集成流程 好久之前写过支付一直没做个...

  • 微信支付 - 「App集成」

    微信支付分为两个场景:公众帐号内支付、App移动客户端集成微信支付。本文描述的是App移动客户端集成,记录一下文档...

  • android 微信 支付 接入流程总结

    [TOC] 客户端微信支付 android 接入微信指南android 资源下载页微信支付 开发文档 登录微信官方...

  • 收录 : iOS支付开发

    iOS 银联支付开发流程iOS 微信支付开发流程iOS 支付宝支付开发流程iOS Apple Pay开发流程App...

  • 微信App支付接入&支付流程

    微信App支付接入&支付流程 最近对微信App支付(App端集成微信支付SDK)申请步骤,以及终端在进行微信支付时...

  • iOS集成微信支付

    使用场景:商户APP调用微信提供的SDK调用微信支付模块,商户APP会跳转到微信中完成支付,支付完后跳回到商户AP...

  • Android App接入支付功能——支付宝篇

    微信支付,请参考我另一篇:Android App接入支付功能——微信篇 因为项目中用到支付功能,而且支付宝文档和微...

  • iOS --app微信支付

    微信支付分为好几种,这里记录的是app微信支付流程。 适用场景 用户使用xxAPP时,需要通过微信支付完成某项报名...

网友评论

      本文标题:Android App支付场景下的微信支付开发

      本文链接:https://www.haomeiwen.com/subject/bcqmedtx.html