微信公众号支付JSAPI申请配置流程
由于微信各个账户申请流程较长,请在开发前做好准备
本文主要是补充说明了微信开发文档中不明确的地方,业务流程请查看官方文档
一、申请微信服务号
二、申请微信支付商户号
请确保服务号的经营主体与商户号的主体一致,否则可能会审核不通过;
可以通过微信服务号中直接申请(推荐)
也可以从微信支付平台申请
绑定之前的服务号的APPID(产品中心->APPID授权管理),默认情况下,从服务号申请的商户号已经绑定了;
如果还未绑定,需要提交绑定申请,并到服务号进行确认(如果服务号和商户号的经营主体不一致,则需要经过审核)
三、开通JSAPI并授权APPID
如果是从服务号申请的商户号,默认就开通了JSAPI支付,否则需要从产品中心->JSAPI提交申请
四、设置API密钥
设置API密钥需要安装操作证书,如果前面操作中已经安装过,则可以无需再安装
API密钥需要手动设置32位的密钥
五、配置支付授权目录
公众号支付跟其他支付方式有点不一样,这里的授权目录需要填前端的地址,因为公众号支付的预下单是由前端发起的
六、设置网页授权回调
回到服务号,开发JSAPI支付时,在统一下单接口中要求必传用户openid,而获取openid则需要您在公众平台设置获取openid的域名,只有被设置过的域名才是一个有效的获取openid的域名,否则将获取失败
但是在设置网页授权回调前,需要确保设置的域名能访问到MP_verify_.txt 文件,例如http://www.abc.com/MP_verify_wleifiw23438.txt能够使用浏览器访问,请把MP_verify_.txt 文件访问域名根目录下
七、项目中的配置
下面是application.xml中的配置示例
wx:
# 公众平台商户 用于公众号内支付
mp:
app-id: 对应微信服务号的APPID
mch-id: 商户号
mch-key: 商户密钥
key-path: 支付退款的key文件
八、其他
公众号支付是从前端发起预下单,后端只是把必要的参数传给前端,但是支付的回调结果也是通过后端接收的