IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> php 简单的微信支付 -> 正文阅读

[PHP知识库]php 简单的微信支付

php微信支付实现

1.下载微信官方支付包
在这里插入图片描述
在这里插入图片描述
放到public下

然后
config 下 建一个 pay.php

<?php
return  [
  'wechatPay' => [
      // 必要配置
      'app_id'             => 'appid',
      'mch_id'             => '*********',
      'key'                =>   '*********',   // API 密钥
      // 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
      'cert_path'          => public_path().'/WeChat/cert/apiclient_cert.pem', // 绝对路径
      'key_path'           => public_path().'/WeChat/cert/apiclient_key.pem',      //绝对路径
      'notify_url'         => '**********异步回调',     // 你也可以在下单时单独设置来想覆盖它
  ]
];

随后
封装一下
Bases 创建一下一会有用

<?php
namespace App\Api\Bases;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as SonBaseController;
class CommonController extends SonBaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    protected $pay;

    public function __construct()
    {
        $this->pay = config('pay');
    }
}

随后


    /**
     * 微信支付
     * @return \EasyWeChat\Payment\Application
     */
    public function wxPay($order_number,$total_fee=1)
    {
//        查询该订单能否支付(库存)
        include 'phpqrcode.php';
        $config = $this->pay['wechatPay'];
        $app = Factory::payment($config);
        $result = $app->order->unify([
            'body' => '社区团购',
            'out_trade_no' =>time(),//,
            'total_fee' =>$total_fee,
            'notify_url' => '**************', // 支付结果通知网址,如果不设置则会使用配置里的默认地址
            'trade_type' => 'NATIVE', // 请对应换成你的支付方式对应的值类型
        ]);
        $value =$result['code_url']; //二维码内容
        $errorCorrectionLevel = 'L';//容错级别
        $matrixPointSize = 6;//生成图片大小
        //生成二维码图片
        $naem = rand(1111,9999).".jpg";
        \QRcode::png($value, $naem, $errorCorrectionLevel, $matrixPointSize, 2);
        $naem = '/'.$naem;
        echo "<img src=$naem alt=''>";
    }

顺带生成二维码
下载第三方类库
gitee下载
放到框架的vender目录中,注意名字为phpqrcode
在这里插入图片描述
在这里插入图片描述
生成普通二维码
样式
在这里插入图片描述
代码

public function view()
{
    include 'phpqrcode.php';
    $value = 'http://www.baoyuan.site'; //二维码内容
    $errorCorrectionLevel = 'L';//容错级别
    $matrixPointSize = 6;//生成图片大小
    //生成二维码图片
    $naem = rand(1111,9999).".jpg";
    \QRcode::png($value, $naem, $errorCorrectionLevel, $matrixPointSize, 2);
    $naem = "/".$naem;
    echo "<img src=$naem alt=''>";
}

生成Logo二维码 样式

在这里插入图片描述
在这里插入图片描述

public function view()
{
    include 'phpqrcode.php';
    $value = 'http://www.baoyuan.site'; //二维码内容
    $errorCorrectionLevel = 'L';//容错级别
    $matrixPointSize = 6;//生成图片大小
    //生成二维码图片
    $name = rand(11111,99999).".png";
    \QRcode::png($value, $name, $errorCorrectionLevel, $matrixPointSize, 2);
    $logo = '1.jpg';//准备好的logo图片
    $QR = $name;//已经生成的原始二维码图
    if ($logo !== FALSE) {
        $QR = imagecreatefromstring(file_get_contents($QR));
        $logo = imagecreatefromstring(file_get_contents($logo));
        $QR_width = imagesx($QR);//二维码图片宽度
        $QR_height = imagesy($QR);//二维码图片高度
        $logo_width = imagesx($logo);//logo图片宽度
        $logo_height = imagesy($logo);//logo图片高度
        $logo_qr_width = $QR_width / 5;
        $scale = $logo_width / $logo_qr_width;
        $logo_qr_height = $logo_height / $scale;
        $from_width = ($QR_width - $logo_qr_width) / 2;
        //重新组合图片并调整大小
        imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,
            $logo_qr_height, $logo_width, $logo_height);
    }
    //输出图片
    $resimg = rand(11111,99999).".png";
    imagepng($QR, $resimg);
    $resimg = "/".$resimg;
    echo "<img src=$resimg alt=''>";
    // $name = rand(111,444).".png";
    //\QRcode::png($value,$name,$errorCorrectionLevel, $matrixPointSize, 2);
    // $name = "/".$name;
    //echo "<img src='/helloweba.png' alt=''>";
}

此代码图片会出现在public根目录下需要改改路径哦

转载:
https://xb00uop636.feishu.cn/docs/doccnTceVRmMKFkGVYL6RlUnnSf#

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:29:01  更:2021-07-23 10:29:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 -2025/2/27 1:52:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码