最近因为一些原因 另一个项目中不允许继续使用现在的支付账户 无奈只能重新申请一个微信支付账户, 申请下来后配置参数那里却懵逼了不知道去哪里找来对应的参数值 接口调用各种不通 乱七八糟的 现在整理下准备工作以及配置防止以后手忙脚乱
微信APP支付准备工作
注册开放平台
首先如果你需要申请 微信APP支付
需要登录 微信开放平台 链接地址:https://open.weixin.qq.com 没有账户的需要先注册
创建移动应用
在 管理中心
下 选择 创建移动应用
然后就是一套填写资料等审核通过
如果应用审核通过了 在应用详情中会有如下接口内容
其中 微信支付 一栏应该是没有开通的 后面会有点击开通 点击进去后就到了 微信支付的官网那边填资料啥的 然后等待审核通过
审核通过后 会受到一封邮件
改绑定的就绑定 然后记录下 应用APPID
和 商户号
这个其实和你在 微信开放平台里
申请的移动应用的 APPID
是一致
操作证书配置
在 微信支付官网 链接:https://pay.weixin.qq.com 需要设置相关 支付 API参数
但是设置这些参数需要先安装 操作证书
第一步
第二步
到这里就完成了 操作证书 的安装
设置API密钥
要发起支付的话 还需要 设置密钥
下载API安全证书
讲下这个 API安全证书
做什么用的 在 微信支付接口中,涉及资金回滚的接口会使用到API证书,包括 退款、撤销 接口 都会需要用到这个证书
在下面这个位置 使用管理员账户下载下来 里面包含4个文件 apiclient_cert.p12
,apiclient_cert.pem
,apiclient_key.pem
和 一个说明文件
这里我们主要用到了 2个 pem
文件
至此 微信APP支付 相关配置已经搞定
微信H5支付
以前申请微信的H5支付审核比较严格 现在已经全面开放了 只需要申请开通即可 因为 微信H5支付 是在微信外的普通手机浏览器中调起微信然后发起支付 底层用的参数和 微信APP支付 是一样的配置所以不需要设置什么了 唯一需要设置一个调用的域名地址即可
在 微信支付官网 控制台里的 产品中心->APPID授权管理
中 如下
在其中 H5支付
一项中添加你要发起支付的域名即可
H5支付常见错误说明
关于 微信H5支付 的一些常见错误提示 在官网已经列出来了 链接:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4 我在写下自己经常遇见的一些问题吧
1.网络环境未能通过安全验证,请稍后再试 遇到这个错误其实是在发起支付的时候传递的 IP 地址错误问题 需要获取 发起支付端 的 公网IP地址 特别是在PHP里注意下获取到的IP地址是本地的还是公网的
2.商家参数格式有误,请联系商家解决 关于这个错误提示 其实是 Referer 丢失问题 就是你在请求最终的 H5支付 链接的时候没有传递 Referer 头信息导致 具体 Referer 丢失原因可以看我另一篇博客 地址: 这里 或者自行 Google
3.商家存在未配置的参数,请联系商家解决 关于这个错误 其实就是上一步中设置的域名地址 设置好就不会出现这个问题了
微信JS支付
顺便讲下 微信JS支付 的申请吧
首先公众号的官网 链接:https://mp.weixin.qq.com/ 注册登录老套路
然后需要建立 微信商户平台 和 公众号 的绑定关系 链接地址见: https://pay.weixin.qq.com/static/pay_setting/appid_protocol.shtml
最后在 公众号平台->微信支付->商户号管理
中可以看到绑定关系 至此绑定完成
支付参数说明
上面的配置都是些准备工作 下面讲下在调用支付接口中的参数配置
最关键的4个参数
参数名 | 参数说明 | 长度 | 示例值 |
---|---|---|---|
mchid | 商户号 | 10 【不保证以后不会变】 | 1000000000 |
appid | 应用APPID - APP支付和H5支付会用到 | 18 | wxeef97e0000000000 |
mp_appid | 公众号的appid | 18 | wxeef97e0000000000 |
pay_key | 支付的API密钥-在微信商户平台设置的 | 32 | x…x |
奇葩问题
如果你不幸遇到了 mchid商户号与appid不匹配
这种报错
而且满足下面条件
1.想要发起微信APP支付 并配置正确
2.没有绑定公众号JS支付 也没有想过配置
如果是这种情况下 请直接把 mp_appid
的值设置成 appid
的值 他不会格外校验值是否正确 只要长度够就行了 我也不知道为什么