项目开发过程中,我们会使用到微信支付,需要登录到商户平台进行相关配置,运营主要配置两个模块即可,平台证书和API秘钥。API秘钥分为两个版本,V2和V3,这里我们以V3为例。

1、申请平台证书给到开发人员,开发人员在接统一下单和回调通知时会用到证书,生成签名。

2、生成一个32为的随机秘钥,去申请APIV3秘钥,此秘钥开发人员在回调通知时会用来解密。

3、证书保存到项目中的某个文件,保证可以读取到即可。

由于我的项目需要实现多个商户主体配置,所以可以在数据库做个支付配置,填写对应的商户id和秘钥。

代码中需要改动两处地方,一是回调地址的配置,二是证书路径的区分。这里我以商户id来拼接以实现自定义配置。

 

public function __construct($appid, $secret, $mch_id)
    {
        self::$appid  = $appid;
        self::$secret = $secret;
        self::$mch_id = $mch_id;
       
        
        $host                = 'https://' . config('server_host');
     
        self::$notify_v3_url = $host . '/notify_wx';
        //证书以商户id命名
        self::$pem_key       = 'apiclient_key_' . $mch_id . '.pem';
        //回调地址以商户id命名
        self::$notify_v3_url .= $mch_id;
        
    }

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐