记录:微信支付之-Navite扫码支付

手机APP/开发
412
0
0
2022-09-22

第一次 做支付所以,代码还不够优化,如有好的优化方式,欢迎指出

1.文章默认已经做了开发前准备,也就是有了商户私钥、商户证书、平台证书、appid、apiv3Key

2.下载安装Navite支付SDK,wechatpay-php,根据文档需要先下载Guzzle 环境要求如下:

Guzzle 7.0,PHP >= 7.2.5

Guzzle 6.5,PHP >= 7.1.2

记录:微信支付之-Navite扫码支付

2.1 在项目根目录下安装Guzzle composer命令:composer require guzzlehttp/guzzle

2.2 在项目根目录下安装wechatpay composer命令:composer require wechatpay/wechatpay,安装完成如下图:

记录:微信支付之-Navite扫码支付

3.当上述两个扩展安装完成后,就可以敲代码了。

4.大致流程,输入充值金额,提交,生成二维码,扫码支付,回调地址回调

5.根据官网Demo

记录:微信支付之-Navite扫码支付

5.1 复制官网Demo,修改如下,如果修改了一些配置的信息,如商户证书地址,执行后报错的话,可以去查看Navite下单中的错误提示信息

记录:微信支付之-Navite扫码支付

5.2 发起同步请求,执行Navite下单,获取地址。请求参数见Navite下单

记录:微信支付之-Navite扫码支付

5.3 如果返回信息是正常的话,会得到一个地址,然后将地址装换成二维码图片,保存起来。地址转二维码

记录:微信支付之-Navite扫码支付

5.4 地址转二维码后,有了二维码的图片,在本地目录中了,我只需要去展示出来就行了。如图:

记录:微信支付之-Navite扫码支付

时间倒计时,用js实现的,每隔几秒去查询一下,5.3步骤中存入数据库的数据的是否支付字段为已支付。

6.在用户支付成功之后,去修改5.3步骤中存入数据库的数据的是否支付字段为已支付。这里要用到5.2步骤中发起请求的携带参数notify_url通知地址,也就是用户支付成功后回调通知地址里的方法。

6.1 回调方法的示例,如图:

记录:微信支付之-Navite扫码支付

6.2 把Demo拿过来,修改一下平台证书序列号地址啥的。

6.3 我项目就只更改了如下信息:

记录:微信支付之-Navite扫码支付

7.到这里支付成功这条路线就已经走通了,只是在5.2图片中的异常处理,还没修改,还要查看异常处理信息,所以暂时留在哪里。

8.这是第一次做微信支付,成长的进步空间还特别特别特别大,所以,继续努力吧。。