微信支付-网站应用集成支付

时间 2021/4/7 15:17:37 加载中...

前言

项目中要添加微信支付功能,项目是网站类型的,支付效果如下:

实现

我们的场景适合使用 扫码支付 , 也就是 Native 支付 模式。
在项目中集成可以参考 http://blog.sqber.com/articles/the-pay-wx.html

这里主要说一下这几个参数如何查看

  1. pay:
  2. weixin:
  3. appId: 应用编号
  4. appSecret: appSecret appId 对应的接口密码,微信公众号授权获取用户 openId 时使用
  5. mchId: 微信支付商户号
  6. partnerKey: API 密钥
  7. certPath: apiclient_cert.p1 证书路径,在微信商户后台下载
  8. 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、参数列表中最后一个是域名,即我们自己项目的域名

配置样例

  1. pay:
  2. weixin:
  3. appId: XXXX8e880659d4fXXX
  4. appSecret: XXXX5b29bce6de70bbbbdced16c3XXXX
  5. mchId: 160109XXXX
  6. partnerKey: XXXX6g8kl189hksmo1xxs2021033XXXX
  7. certPath: /home/bdms/cer/apiclient_cert.pem
  8. domain: http://xgwjcnki.cintcm.ac.cn:8161/personMgr

Demo

此项目中集成了微信支付https://github.com/shenqiangbin/personMgr

修改此项目中的各配置参数,部署之后,可以通过 /payTest 页面来测试各参数是否正确。

涉及到的主要提交:
https://github.com/shenqiangbin/personMgr/commit/88ccba051f19751a94d01375a276f917f3284dac

扫码分享
版权说明
作者:SQBER
文章来源:http://blog.sqber.com/articles/weixin-pay-website-pay.html
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。