微信支付-网站应用集成支付
前言
项目中要添加微信支付功能,项目是网站类型的,支付效果如下:
实现
我们的场景适合使用 扫码支付 , 也就是 Native 支付 模式。
在项目中集成可以参考 http://blog.sqber.com/articles/the-pay-wx.html
这里主要说一下这几个参数如何查看
pay:
weixin:
appId: 应用编号
appSecret: appSecret 是 appId 对应的接口密码,微信公众号授权获取用户 openId 时使用
mchId: 微信支付商户号
partnerKey: API 密钥
certPath: apiclient_cert.p1 证书路径,在微信商户后台下载
domain: 外网访问项目的域名,支付通知中会使用
1、我们需要注册 微信公众号(服务号) , 微信商户平台 。
微信公众号 :https://mp.weixin.qq.com/
商户平台: https://pay.weixin.qq.com/index.php/core/home/login
2、 微信公众号(服务号) , 微信商户平台 需要已经认证通过。
3、在 微信公众号(服务号) 查看 appId 和 appSecret
在 【开发】- 【基本配置】 中查看,如下图
4、在 IP 白名单中(位置如上图)添加上服务器的 IP 地址
5、在 微信商户平台 绑定刚刚查看微信公众号的 appId
在【产品中心】 - 【AppID账号管理】中授权绑定的 AppID 填写上微信公众号的 appID
绑定之后,需要在 微信公众平台 再次确认。
确认之后,在 微信公众平台 的支付页面,可以看到绑定的商户号。
6、在 微信商户平台 查看商户号、API 密钥 和 证书
商户号到处都能看到,API 密钥 和 证书在 【账户设置】 - 【API安全】页面查看
证书是一个压缩包,有文件 apiclient_cert.p12 、apiclient_cert.pem 和 apiclient_key.pem。在 Liunx 服务器下,我们使用 apiclient_cert.pem 即可。
7、在 微信商户平台 的 【产品中心】- 【我的产品】 中开通 【Native 支付】
8、参数列表中最后一个是域名,即我们自己项目的域名
配置样例
pay:
weixin:
appId: XXXX8e880659d4fXXX
appSecret: XXXX5b29bce6de70bbbbdced16c3XXXX
mchId: 160109XXXX
partnerKey: XXXX6g8kl189hksmo1xxs2021033XXXX
certPath: /home/bdms/cer/apiclient_cert.pem
domain: http://xgwjcnki.cintcm.ac.cn:8161/personMgr
Demo
此项目中集成了微信支付https://github.com/shenqiangbin/personMgr
修改此项目中的各配置参数,部署之后,可以通过 /payTest 页面来测试各参数是否正确。
涉及到的主要提交:
https://github.com/shenqiangbin/personMgr/commit/88ccba051f19751a94d01375a276f917f3284dac
*昵称:
*邮箱:
个人站点:
*想说的话: