当前位置:首页IT教程thinkphp6中使用微信支付v3版本
教程

微信扫描二维码或搜索【码农课堂】小程序,查看是否有【免费下载】途径!

thinkphp6中使用微信支付v3版本

最近在开发一套系统,很久没更新了,这里记录一下开发中遇到的问题和解决方法吧

这里记录一下微信支付V3版本开发的过程

我这里写了一个类,直接放到thinkphp的根目录的extend目录即可,注意命名空间

你也可以放到别的地方,别忘记更改namespace mnpay\Wxpay;

使用方法:

在文件中调用,首先要引入这个文件

use mnpay\wxpay\Wxpay;

我这里定义了一个__construct方法,这个可以根据自己的喜好更改

<?php
namespace app\pay\controller;
use mnpay\wxpay\Wxpay;
class Index
{
    public function __construct()
    {
$this->config = [
'mchid' => '商户号',
'appid'=> '服务号appid',
'apiKey'=> 'appkeyv3秘钥',
'privateKeyPath'=>我这里传的是证书的内容,文件我没试,
'serialNumber' => '证书序列号',

];     
    }
    public function pay()
    {
        $parameter = array(
            'description'=>'测试商品',
            'out_trade_no' => date('YmdHis') . mt_rand(1000, 9999),
            'notify_url'=>request()->domain().'/pay/index/notify',
            'totalFee'=>'0.01',

        );
        $wxpay = new WxPay($this->config);
        $html_text = $wxpay->doPay($parameter);
        return view('',['url'=>$html_text]);
    }
    public function notify()
      {
        //接收返回数据
        $wechatRes = file_get_contents('php://input', 'r');
        $res = json_decode($wechatRes, true);
        
        $text =base64_decode($res['resource']['ciphertext']);
        
        //env("KEY")  -> 获取的是v3设置的密钥
        $new = sodium_crypto_aead_aes256gcm_decrypt($text,$res['resource']['associated_data'],$res['resource']['nonce'],env("KEY"));
        $new = json_decode($new, true);  
        
        if ($new['trade_state'] == 'SUCCESS') {
            //成功后操作流程写这里。。。
            echo '执行成功';
            $str=['code'=>'SUCCESS','msg'=>'成功'];
        }else{  
            $str=['code'=>'FAIL','msg'=>'失败'];;  
        }
        return $str;
      }
   
}

$html_text是微信支付的链接,可以直接在微信打开或者转换成二维码都可以,直接扫码测试就行了
本期教程就到这里,有不懂的可以来问我;

温馨提示:

文章标题:thinkphp6中使用微信支付v3版本

文章链接:https://blog.mn0.cn/349.html

更新时间:2023年10月20日

本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:mobais@qq.com我们将第一时间处理!

资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。

所有资源仅限于参考和学习,版权归原作者所有。

给TA打赏
共{{data.count}}人
人已打赏
IT教程

记录宝塔mysql5.x升级mysql8.x数据库启动不了解决方法

2023-7-27 4:44:59

IT教程

服务商助手使用教程

2023-6-7 11:21:49

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索