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);
        
    }
    
相关推荐
alexhilton16 小时前
面向开发者的系统设计:像建筑师一样思考
android·kotlin·android jetpack
RestCloud21 小时前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud21 小时前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
CYRUS_STUDIO1 天前
用 Frida 控制 Android 线程:kill 命令、挂起与恢复全解析
android·linux·逆向
CYRUS_STUDIO1 天前
Frida 实战:Android JNI 数组 (jobjectArray) 操作全流程解析
android·逆向
用户091 天前
Gradle Cache Entries 深度探索
android·java·kotlin
循环不息优化不止1 天前
安卓 View 绘制机制深度解析
android
叽哥1 天前
Kotlin学习第 9 课:Kotlin 实战应用:从案例到项目
android·java·kotlin
DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化