php thinkphp6 微信支付v3

本文详细介绍了如何在ThinkPHP6框架中配置并使用微信V3支付,包括必要的配置信息如appId、merchantId、商户证书等,以及证书的生成和API调用过程。同时提到了支付请求和回调的实现,对于遇到类似问题的开发者具有参考价值。
摘要由CSDN通过智能技术生成

关于thinkphp 微信v3 支付
最近做到了支付,忽然发现微信更新到了v3版本,然后看了一下文档,懂之前云里雾里,懂之后,原来是这样~
首先准备的工作是各种配置信息, 我做的是h5支付,所以只会介绍我用到的东西
1 $appId 微信的 appId
2 $merchantId 支付所需的商户号 merchantId
3 $merchantSerialNumber 商户证书序列号 merchantSerialNumber (设置API证书)
4 $apiV3 商户api密钥 apiV3 (账号中心->API安全->APIv3密钥中设置)
5 $merchantPrivateKey 商户私钥 merchantPrivateKey (也就是apiclient_key.pem文件)
6 $wechatpayCertificate 支付平台证书 wechatpayCertificate (额外生成,以下会说明)
关于wechatpayCertificate 也就是证书需要额外生成 如果电脑有java环境的可以直接下载 java包
下载后运行

java -jar CertificateDownloader-1.1.jar -f 商户私钥文件路径 -k 商户api密钥 -m 商户号 -o 证书保存路径  -s 商户证书序列号

如果没有的话也可以用php 的。我试了好多次没成功,就不去管了 官方链接

这里需要注意一下不要:-c 参数 非必需参数
运行后会得到一个文件
文件名大概是 wechatpay_250393205B4A9CC12900B44B65E04B9751CE95.pem 之类的 对应上面的 配置信息 6 支付平台证书

到此配置信息就准备完成了,截下来是配置环境,我用的是thinkphp6 php是7.2
首先是安装官方composer 官方git链接指引
也可以直接运行 composer require wechatpay/wechatpay-guzzle-middleware

/**
     * 获取平台证书  官方文档说明,会不定期更换证书,所以有个接口去自己请求,刚刚java生成的是也可以用,不过建议之后换成接口请求
     *
     * @return void
     */
    public static function getCertificates()
    {
   
    	$url = 'https://api.mch.weixin.qq.com/v3/certificates'
        $url_parts = parse_url($url);
        $http_method = 'GET';
        $nonce = '随机字符串';
        $timestamp = time();
        $serial_no = $merchantSerialNumber ;
        $body = '';
        $canonical_url = ($url_parts['path'] . (!empty($url_parts['query']) ? "?${url_parts['query']}" : ""));
        $message = $http_method . "\n" .
            $canonical_url . "\n" .
            $timestamp . "\n" .
            $nonce . "\n" .
            $body . "\n";
        openssl_sign($message
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值