laravel+php+微信扫码支付

第一个博客写这个的原因是因为以前配置过很多环境,过一段就会忘掉,当需要在用的时候就要重新花费好久来搞。这词做这个关于微信支付的项目,在如何使用php的laravel框架加入微信扫码支付的功能上花了太久的时间,不希望自己以后再踩同样的坑,也希望可以帮到别人。第一次写博客,可能写不清楚,请大家见谅。说明:本文说的是微信支付的第二种模式准备工作:在微信支付官网的SDK下载中下载对应的php代码配置好
摘要由CSDN通过智能技术生成

第一个博客

写这个的原因是因为以前配置过很多环境,过一段就会忘掉,当需要在用的时候就要重新花费好久来搞。这词做这个关于微信支付的项目,在如何使用php的laravel框架加入微信扫码支付的功能上花了太久的时间,不希望自己以后再踩同样的坑,也希望可以帮到别人。第一次写博客,可能写不清楚,请大家见谅。
说明:本文说的是微信支付的第二种模式

准备工作:

  • 在微信支付官网的SDK下载中下载对应的php代码
  • 配置好laravel需要的基本环境
  • 获得支付所需的配置信息:appid、cmhid、key,获取方式在sdk中有说明
/**
     * TODO: 修改这里配置为您自己申请的商户信息
     * 微信公众号信息配置
     * 
     * APPID:绑定支付的APPID(必须配置,开户邮件中可查看)
     * 
     * MCHID:商户号(必须配置,开户邮件中可查看)
     * 
     * KEY:商户支付密钥,参考开户邮件设置(必须配置,登录商户平台自行设置)
     * 设置地址:https://pay.weixin.qq.com/index.php/account/api_cert
     * 
     * APPSECRET:公众帐号secert(仅JSAPI支付的时候需要配置, 登录公众平台,进入开发者中心可设置),
     * 获取地址:https://mp.weixin.qq.com/advanced/advanced?action=dev&t=advanced/dev&token=2005451881&lang=zh_CN
     * @var string
     */
    const APPID = 'wx8dce35348ad73e3';
    const MCHID = '131547990';
    const KEY = '5f980c0c9548833f3260e82dc2ce33';
    const APPSECRET = '01c6d59a3f9024db6336662ac95c8e74';

配置当然就是写在sdk的这个配置文件中:WxPay.config.php,就是上面贴的那段代码。

重要的坑

sdk中的所有文件引用都是 相对路径,但是laravel的所有相对路径都是以单入口文件public/index.php为当前文件的,所以 要把sdk中所有的require_once 以及log的目录地址,都换成以public/index.php为当前目录的相对路径。比如:我把整个sdk放在了项目路径app/Http/下面,和controller并立(不要吐槽我),那么我的sdk中的相对路径就是 require_once "../app/Http/WxPaySDK/lib/WxPay.Exception.php";这样的。其中lib是对应sdk中的lib,当然也有是example的,根据需要换掉就行。换掉所有的相对路径后,就可以开始做支付功能了。

顺便吐槽,本来想用namespace 和 use 来处理的 可是微信的sdk中一个文件里好几个类,还有log这样的很容易冲突的类名,最后懒得处理,就还用require引用了。

生成二维码连接

在sdk中,负责生成二维码的是native.php这个文件,其中的有用代码是:

//模式一
/**
 * 流程:
 * 1、组装包含支付信息的url,生成二维码
 * 2、用户扫描二维码,进行支付
 * 3、确定支付之后,微信服务器会回调预先配置的回调地址,在【微信开放平台-微信支付-支付配置】中进行配置
 * 4、在接到回调通知之后,用户进行统一下单支付,并返回支付信息以完成支付(见:native_notify.php)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值