微信支付对接笔记

2022-11-29  本文已影响0人  海阳之新

前言

本文以在微信小程序中对接支付为例,并使用官方提供的APIv3版的Go SDK完成商户后端对接。

开发文档

https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay-1.shtml
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1
https://pay.weixin.qq.com/wiki/doc/api/index.html

官方提供了Java、PHP、Go语言的SDK供开发者对接,这点非常友好。
Go SDK仓库:https://github.com/wechatpay-apiv3/wechatpay-go
更多SDK参考:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay6_0.shtml

对接流程

1、开通小程序开发者账号;
2、申请微信支付商户账号,需要准备的资料有:营业执照、银行对公账号、打款验证,等待人工审核通过;
3、登录微信支付后台,在横向导航栏中找到【产品中心】,将小程序与微信支付账号进行绑定
4、开通支付产品,需要准备的资料有:域名备案号、授权书。如果是以前端对接支付为主,需要申请开通JSAPI支付,如果是APP开发,需要申请开通APP支付,如果是H5开发,需要申请开通H5支付;
5、建议将开发者加入管理人员名单中,在【账户中心】> 【员工管理】中添加;
6、在导航栏中找到【账户中心】>【API安全】,申请API证书、设置APIv3密钥(还有本地私钥),需要管理员权限操作;
7、下载SDK,开始集成,建议从下载证书的API开始测试,以证明签名没有问题。

支付流程

简单地来说,分这么6步:
1、前端向后端发起支付请求;
2、后端创建商户订单;
3、对商户订单、商品名称、价格等参数进行签名,向微信服务端创建订单,返回支付链接;
4、前端拿到这个支付链接,进行跳转并支付;
5、支付成功后,微信会将支付结果每隔15秒通知一次后端(POST请求),直到后端返回http状态码200,如果后端返回40X或50X错误,微信在24小时内都会继续保持通知;
6、解密(对称)微信通知正文内容,更新后端的订单状态,处理其他业务逻辑。
更多参考官方文档:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_4&index=3

遇到的坑

1、上线后发现H5支付未开通



解决办法:


上一篇 下一篇

猜你喜欢

热点阅读