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);
        
    }
    
相关推荐
Android打工仔4 小时前
Kotlin 协程源码解析(七)`delay()` 到底是如何在 `Dispatchers.Main` 上恢复的?
android·kotlin
大牧师4 小时前
MySQL 学习教程
数据库·sql·mysql·docker·node·全栈·后端数据
Elastic 中国社区官方博客4 小时前
如何通过一条 ES|QL 查询为 Elasticsearch 中的每个指标构建指标图表
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·kibana
律宏阔4 小时前
Android 红外功能实现与红外协议开发笔记:ConsumerIrManager、NEC、PWM、曼彻斯特编码
android
数据库小学妹4 小时前
MySQL redo刷盘实测:innodb_flush_log_at_trx_commit与故障矩阵
运维·数据库·mysql
ByteRock4 小时前
ClickHouse 表的生老“并”死:表实例、表元数据与并发 DDL
数据库
哈__4 小时前
破除数据库排障碎片化:一体化全链路故障根因诊断实践
数据库
mmsx4 小时前
MapLibre 统一图层模型:sealed class + 声明式图层 + XML 持久化
android·源码·地图·maplibre
编码者卢布4 小时前
【Azure Function】NodeJS Function大批量写入到Redis遇见丢失数据情况的分析
redis·microsoft·azure
严同学正在努力5 小时前
SQL Server 15.0.2000.5(2019 CU5)性能分析基线构建实战教程
数据库·ai·oracle·dba