Laravel使用EasyWechat微信支付 超级简单

本文介绍了如何在Laravel项目中使用EasyWechat进行微信支付的步骤,包括下载微信SDK,集成EasyWechat的laravel版本,创建控制器处理支付请求,以及订单支付流程,回调函数处理支付成功后的操作。
摘要由CSDN通过智能技术生成

一.准备工作

1.下载微信官方PHP的SDK,里面有个rootca.pem要用到,在php.ini里配置curl.cainfo=你存放rootca.pem的绝对路径,重启PHP

2.composer集成easywechat的laravel版本,具体怎么使用点这里

[plain]  view plain  copy
  1. composer require "overtrue/laravel-wechat:~3.0"  


二.创建控制器WechatController.php

或许有些人看到这里有一些懵,讲一下流程:

1.自己创建一个订单(就是数据库里新建一个订单记录,相信谁都会吧。。),这个订单里有金额,购买人的user_id,支付状态status等信息


2.创建好订单后,这时我们就要去微信端申请支付了,目的是申请微信的预支付ID,有了预支付ID才能付款。拿订单id是为了拿到里面的金额money信息,而且还要给这个订单添加一个out_trade_no的字段信息,这个out_trade_no的信息,就是将来微信回调的时候来找你这个订单的。


3.支付完成后,微信会一直POST你的回调地址(注意是post,所以要去中间件里,关掉这个回调地址的csrf验证),这个回调方法就是通过out_trade_no找到这个订单,然后更改订单状态的。


PS:我这里给出的都是function方法,具体路由还是去routes.php需要自己建哦。


[php]  view plain  copy
  1. <?php  
  2.   
  3. namespace App\Http\Controllers;  
  4.   
  5. use Illuminate\Http\Request;  
  6.   
  7. use App\Http\Requests;  
  8. use App\Http\Controllers\Controller;  
  9. use Illuminate\Support\Facades\Input;  
  10. use Auth,Redirect;  
  11. use Validator;  
  12.   
  13. use App\Models\ExampleOrder; //这是我的模型  
  14.   
  15. use EasyWeChat\Foundation\Application;  
  16. use EasyWeChat\Payment\Order;  
  17.   
  18. class WechatController extends Controller  
  19. {  
  20.     protected function options(){ //选项设置  
  21.         return [  
  22.             // 前面的appid什么的也得保留哦  
  23.             'app_id' => 'xxxxxxxxx'//你的APPID  
  24.             'secret'  => 'xxxxxxxxx',     // AppSecret  
  25.             // 'token'   => 'your-token',          // Token  
  26.             // 'aes_key' => '',                    // EncodingAESKey,安全模式下请一定要填写!!!  
  27.             // ...  
  28.             // payment  
  29.             'payment' => [  
  30.                 'merchant_id'        => '你的商户ID,MCH_ID',  
  31.                 'key'                => '你的KEY',  
  32.                 // 'cert_path'          => 'path/to/your/cert.pem', // XXX: 绝对路径!!!!  
  33.                 // 'key_path'           => 'path/to/your/key',      // XXX: 绝对路径!!!!  
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
easywechat 是一个基于 PHP 的开源微信 SDK,可以方便地实现微信支付、退款等功能。要使用 easywechat 实现微信退款,需要以下步骤: 1. 首先,安装 easywechat 库并引入相关的命名空间和类,例如: ```php use EasyWeChat\Factory; use EasyWeChat\Kernel\Support\Arr; ``` 2. 创建一个 easywechat 的工厂实例,用于配置微信支付的参数: ```php $config = [ 'app_id' => 'your-app-id', 'mch_id' => 'your-mch-id', 'key' => 'your-api-key', 'cert_path' => 'path-to-your-cert-file', 'key_path' => 'path-to-your-key-file', ]; $app = Factory::payment($config); ``` 3. 通过 `$app->refund` 方法发起退款请求,传入相关参数: ```php $result = $app->refund->byOutTradeNumber('your-out-trade-number', 'your-refund-out-trade-number', 'refund-total-fee', 'total-fee'); ``` 其中,`byOutTradeNumber` 方法根据商户订单号进行退款。`your-out-trade-number` 是商户订单号,`your-refund-out-trade-number` 是商户退款单号,`refund-total-fee` 是退款金额,`total-fee` 是订单总金额。 4. 可以通过 `$result` 获取退款结果信息,例如: ```php if ($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS') { // 退款成功 } else { // 退款失败 } ``` 退款结果会存储在 `$result` 中,可以根据 `return_code` 和 `result_code` 判断退款是否成功。 以上就是使用 easywechat 实现微信退款的基本流程。通过 easywechat,我们可以方便地与微信支付进行交互,实现退款等功能。如果想了解更多 easywechat 的用法,可以查阅官方文档或参考相关的示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值