Skip to content

Commit 717f36e

Browse files
TheNorthMemoryxy-peng
authored andcommitted
优化README,增加平台公钥及平台公钥ID的初始化适配说明
1 parent 9c36487 commit 717f36e

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

README.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ composer require wechatpay/wechatpay
6464
6565
+ **证书序列号**。每个证书都有一个由 CA 颁发的唯一编号,即证书序列号。
6666

67+
+ **微信支付平台公钥**,是微信支付平台的公钥,用于应答及回调通知的数据签名,可在 [微信支付商户平台](https://pay.weixin.qq.com) -> 账户中心 -> API安全 直接下载。
68+
69+
+ **微信支付平台公钥ID**,是微信支付平台公钥的唯一标识,可在 [微信支付商户平台](https://pay.weixin.qq.com) -> 账户中心 -> API安全 直接查看。
70+
6771
### 示例程序:微信支付平台证书下载
6872

6973
```php
@@ -73,7 +77,6 @@ require_once('vendor/autoload.php');
7377

7478
use WeChatPay\Builder;
7579
use WeChatPay\Crypto\Rsa;
76-
use WeChatPay\Util\PemUtil;
7780

7881
// 设置参数
7982

@@ -87,20 +90,21 @@ $merchantPrivateKeyInstance = Rsa::from($merchantPrivateKeyFilePath, Rsa::KEY_TY
8790
// 「商户API证书」的「证书序列号」
8891
$merchantCertificateSerial = '3775B6A45ACD588826D15E583A95F5DD********';
8992

90-
// 从本地文件中加载「微信支付平台证书」,用来验证微信支付应答的签名
91-
$platformCertificateFilePath = 'file:///path/to/wechatpay/cert.pem';
92-
$platformPublicKeyInstance = Rsa::from($platformCertificateFilePath, Rsa::KEY_TYPE_PUBLIC);
93+
// 从本地文件中加载「微信支付平台证书」或者「微信支付平台公钥」,用来验证微信支付应答的签名
94+
$platformCertificateOrPublicKeyFilePath = 'file:///path/to/wechatpay/certificate_or_publickey.pem';
95+
$platformPublicKeyInstance = Rsa::from($platformCertificateOrPublicKeyFilePath, Rsa::KEY_TYPE_PUBLIC);
9396

94-
// 从「微信支付平台证书」中获取「证书序列号」
95-
$platformCertificateSerial = PemUtil::parseCertificateSerialNo($platformCertificateFilePath);
97+
// 「微信支付平台证书」的「证书序列号」或者是「微信支付平台公钥ID」
98+
// 「平台证书序列号」及/或「平台公钥ID」可以从 商户平台 -> 账户中心 -> API安全 直接查询到
99+
$platformCertificateSerialOrPublicKeyId = '7132D72A03E93CDDF8C03BBD1F37EEDF********';
96100

97101
// 构造一个 APIv3 客户端实例
98102
$instance = Builder::factory([
99103
'mchid' => $merchantId,
100104
'serial' => $merchantCertificateSerial,
101105
'privateKey' => $merchantPrivateKeyInstance,
102106
'certs' => [
103-
$platformCertificateSerial => $platformPublicKeyInstance,
107+
$platformCertificateSerialOrPublicKeyId => $platformPublicKeyInstance,
104108
],
105109
]);
106110

@@ -322,8 +326,8 @@ $resp = $instance
322326
//...
323327
],
324328
'headers' => [
325-
// $platformCertificateSerial 见初始化章节
326-
'Wechatpay-Serial' => $platformCertificateSerial,
329+
// $platformCertificateSerialOrPublicKeyId 见初始化章节
330+
'Wechatpay-Serial' => $platformCertificateSerialOrPublicKeyId,
327331
],
328332
]);
329333
```

0 commit comments

Comments
 (0)