thinkphp 使用 easypay 和 easywechat

easypay 是3.x

easywechat 是6.x

引入:

php 复制代码
use Yansongda\Pay\Pay;//easypay

use EasyWeChat\MiniApp\Application as MiniApp;//easywechat
use EasyWeChat\Pay\Application as Payapp;//easywechat
php 复制代码
    
    public function suborder()
    {
        $order = [
            'out_trade_no' => time().mt_rand(10000,99999),
            'description' => '商品购买',
            'amount' => [
                'total' => 1,
                'currency' => 'CNY',
            ],
            'payer' => [
                'openid' => input('openid'),
            ]
        ];
        $result = Pay::wechat(PayLib::getConfig())->mini($order);
        $this->success('',$result);
        var_dump($result);die;
        $result = Pay::wechat()->mini($order);
    }
    
    
public function suborder_easywechat()
    {
          $config = [
    'app_id' => 'wx6ce683f16052b51b',
    'secret' => 'b5d5bcb937101b7d36a99425ebd044fb',
      'mch_id' => 1631350029,

    // 商户证书
    'private_key' =>  '/www/wwwroot/h5dev.qfhl.com/cert/apiclient_key.pem',
    'certificate' =>   '/www/wwwroot/h5dev.qfhl.com/cert/apiclient_cert.pem',

     // v3 API 秘钥
    'secret_key' => '876FA8733AF9E2E6FE2015C0113B7322',
    ];
    $app = new Payapp($config);

        
     $response = $app->getClient()->postJson("v3/pay/transactions/jsapi", [
      "mchid" => "1631350029", // <---- 请修改为您的商户号
      "out_trade_no" => time().mt_rand(10000,99999),
      "appid" => "wx6ce683f16052b51b", // <---- 请修改为服务号的 appid
      "description" => "商品购买",
      "notify_url" => "https://crm.xiniuai.com/index.php/api/PayNotify/easy_wechat",
      "amount" => [
            "total" => 1,
            "currency" => "CNY"
        ],
        "payer" => [
            "openid" => input('openid') // <---- 请修改为服务号下单用户的 openid
        ]
    ]);
        // var_dump($response->getContent());die;
        $prepay=$response->toArray();
            $appId = 'wx6ce683f16052b51b';
        $signType = 'RSA'; // 默认RSA,v2要传MD5
        $config = $app->getUtils()->buildSdkConfig($prepay['prepay_id'], $appId, $signType); 
        // var_dump($config);die;
        //$config的timestamp小写了!!!!!
        $this->success('',$config);
        
    }
    
相关推荐
神秘敲码人4 分钟前
Django基础(二)Django 项目基础操作
数据库·笔记·django
程序员Bears6 分钟前
电商后台管理系统:Django Admin深度定制实战指南
数据库·django·sqlite
TDengine (老段)20 分钟前
TDengine 2025年产品路线图
大数据·数据库·动态规划·时序数据库·tdengine·涛思数据
Aurora_NeAr42 分钟前
Redis设计与实现——分布式Redis
数据库·redis·分布式
bst@微胖子44 分钟前
DeepSeek提示工程Prompt Engineering
java·数据库·prompt
xuyin12042 小时前
SQLite基础及优化
数据库·sqlite
androidwork2 小时前
Kotlin与机器学习实战:Android端集成TensorFlow Lite全指南
android·机器学习·kotlin·tensorflow
Faith_xzc3 小时前
MySQL 迁移至 Doris 最佳实践方案
数据库·mysql·adb
ikun·3 小时前
MySQL高可用
数据库·mysql
Bug退退退1233 小时前
分析 redis 的 exists 命令有一个参数和多个参数的区别
数据库·redis·缓存