微信企业付款 CA证书出错,请登录微信支付商户平台下载证书

用的easywechat

clipboard.png

代码:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use EasyWeChat\Factory;
use DB;

class WechatController extends Controller
{
    private $app;

    public function __construct()
    {
        $config = [
            // 必要配置
            'app_id' => 'xxxxxxxxx',
            'mch_id' => 'xxxxxxx',
            'key' => 'xxxxxxxxxxx',   // API 密钥

            // 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
            'cert_path' => public_path('/cert/apiclient_cert.pem'), // XXX: 绝对路径!!!!
            'key_path' => public_path('/cert/apiclient_key.pem'),      // XXX: 绝对路径!!!!

            'notify_url' => 'https://xx.xx/以在下单时单独设置来想覆盖它
        ];

        $this->app = Factory::payment($config);
    }


    public function money()
    {
        $time =time();
        $withdraw = DB::table('withdraw')->insertGetId([
            'user_id' => 1,
            'num' => 1,
            'created_at' => $time,
            'order_code' => $time,
        ]);
        if (!$withdraw) {
            dd('shibai');
        }
        $this->app->transfer->toBalance([
            'partner_trade_no' => $time, // 商户订单号,需保持唯一性(只能是字母或者数字,不能包含有符号)
            'openid' => 'olQ2H02-a6pMF7yh0raqt7RMVAyo',
            'check_name' => 'NO_CHECK', // NO_CHECK:不校验真实姓名, FORCE_CHECK:强校验真实姓名
            're_user_name' => '王小帅', // 如果 check_name 设置为FORCE_CHECK,则必填用户真实姓名
            'amount' => 1, // 企业付款金额,单位为分
            'desc' => 'ceshi', // 企业付款操作说明信息。必填
        ]);
        dd($withdraw);
    }

    public function result()
    {
        $partnerTradeNo = DB::table('withdraw')->orderByDesc('id')->value('order_code');
        $return = $this->app->transfer->queryBalanceOrder($partnerTradeNo);
        dd($return);
    }
}
阅读 7.5k
1 个回答

即然提示证书出错,那就重新下载一份证书替换了再试
然后确认一下路径是否正确.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题