1.了解微信支付逻辑
说白了就是我们去调用微信官方提供的接口,但是这些接口有很多繁琐的参数,还需要计算签名等等一系列恶心的步骤,详情可以看微信官网,我们可以用微信官方提供的sdk,也可以用github上的三方sdk,本文以GitHub上大佬binaryWang的微信支付sdk演示微信支付的实现
前言
首先我们作为后端,需要像前端提供一个接口,前端通过调用这个接口唤起下单,在这个接口中,后端回去调用微信下单接口,这时候微信会给我们返一个预支付id,我们通过这个预支付的id,
这个预支付id是唤起下单的一个必填参数,咱们只需要计算出唤起支付所需要的参数,然后传给前端,前端就可以调用这个唤起支付接口,这样,输入密码的数字轮盘就出来了
注意事项:
sdk的版本可能会影响sign的计算,导致输入支付密码后,微信提示sign鉴权失败,这里的sdk大佬们都在维护的,只需要更新到最新版本即可
2.微信支付需要的参数
mchKey:新版本更新后叫做v2密钥,作用是处理签名信息解密,在微信支付商户平台申请,为32为密钥,自行设定,需要绑定商户的手机号进行短信验证和操作码验证
keyPath: classpath:wxcert/apiclient_cert.p12
#apiclient_key.pem证书文件的绝对路径或者以classpath:开头的类路径.
privateKeyPath: classpath:wxcert/apiclient_key.pem
#apiclient_cert.pem证书文件的绝对路径或者以classpath:开头的类路径.
privateCertPath: classpath:wxcert/apiclient_cert.pem
需要在api管理这里设置证书,在指引处可以下载证书
注:密钥,是开发者自己生成,生成后配置到商户平台即可
下载证书工具;下载后,双击“WXCertUtil.exe”文件,选择安装路径后,点击申请证书
也可通过以下链接下载证书工具:
windows版本 :