Laravel5.7实现微信支付 -- Native支付方式

1.环境需求

2.框架和需要的第三方工具

  • Laravel5.7
  • composer
  • 第三方插件EasyWeChat

3.开发步骤简要说明

  1. 使用composer下载安装EasyWeChat扩展。
  2. 配置相关的微信信息。
  3. 根据EasyWeChat文档开发(简要说明,详细说明在下方)。

4.详细开发步骤

这里提供EasyWeChat的文档地址(https://www.easywechat.com/docs/master/installation

1.第一步,通过composer安装EasyWeChat,命令为:

composer require overtrue/wechat:~4.0 -vvv

然后安装二维码生成工具,地址为(https://github.com/endroid/qr-code

命令:

composer require endroid/qr-code

 

由于框架是Laravel,所以

Laravel5.7实现微信支付 -- Native支付方式

进入后,此页面会有一部分使用安装教程。

Laravel5.7实现微信支付 -- Native支付方式

当执行publish后,基本就安装成功了。

2.配置相关信息。

执行publish后,在config目录下会生成一个wechat.php文件,这里就是微信的配置文件

我们开发微信支付,所以,你需要打开

Laravel5.7实现微信支付 -- Native支付方式

上方红圈圈里面的为必填项,分别解释下:

app_id:微信支付分配的公众号账号ID

mch_id:这个是微信商家的ID

key:此账号下的API**

notify_url:异步接收微信支付结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。

3.写代码,完成Native方式的支付

首先创建一个控制器,写一个方法pay,pay是生成订单,将返回商品信息和二维码。这里需要注意的是第三个红框框中的code_url,在Native支付方式下中,$result才有这个字段。

Laravel5.7实现微信支付 -- Native支付方式

这里我们需要$result中的code_url。该$result返回的样式。

Laravel5.7实现微信支付 -- Native支付方式

 

在view中pay.blade.php中。

Laravel5.7实现微信支付 -- Native支付方式

这里路由对应的就是生成二维码的方式:

Laravel5.7实现微信支付 -- Native支付方式

 最后生成的二维码样式

Laravel5.7实现微信支付 -- Native支付方式

 4.最后一步,不管支付成功还是失败,都需要给用户支付通知。所以当初配置的notify_url就是在这里用的

Laravel5.7实现微信支付 -- Native支付方式

 $order需要你根据$message['out_tarde_no']去数据库查询相关订单信息。

到这里基本就差不多了。

如果没做过,可能看起来很难受,做过一次就了解。基本步骤都是配置信息。然后调用文档中的接口,或者copy文档中的固定代码格式。熟悉就好了。