Skip to content

Commit 4cc024e

Browse files
committed
修复平台公钥ID处理的bug
1 parent 56d2c49 commit 4cc024e

File tree

5 files changed

+14
-5
lines changed

5 files changed

+14
-5
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ pip install wechatpayv3
4848
- **商户 API 证书序列号:CERT_SERIAL_NO**。每个证书都有一个由 CA 颁发的唯一编号,即证书序列号。扩展阅读 [如何查看证书序列号](https://wechatpay-api.gitbook.io/wechatpay-api-v3/chang-jian-wen-ti/zheng-shu-xiang-guan#ru-he-cha-kan-zheng-shu-xu-lie-hao)
4949
- **微信支付 APIv3 密钥:APIV3_KEY**,是在回调通知和微信支付平台证书下载接口中,为加强数据安全,对关键信息 `AES-256-GCM` 加密时使用的对称加密密钥。
5050

51-
在2024年09月后申请开通的微信支付不再使用接口下载平台证书,用户需要从微信支付后台的“API安全”菜单中下载/复制以下两项,使用公钥模式初始化WechatPay。
51+
在2024年09月后申请开通的微信支付可能[无法使用接口下载平台证书](docs/Q&A.md#下载平台证书时解析失败),这种情况下,需要从微信支付后台的“API安全”菜单中下载/复制以下两项,使用公钥模式初始化WechatPay。
5252

5353
- **微信支付公钥:PUBLIC_KEY**,微信支付平台“API安全”菜单中下载的微信支付公钥。
5454
- **微信支付公钥ID:PUBLIC_KEY_ID**,微信支付平台“API安全”菜单中复制的微信支付公钥ID。
@@ -122,7 +122,7 @@ wxpay = WeChatPay(
122122
proxy=PROXY,
123123
timeout=TIMEOUT)
124124

125-
# 微信支付平台公钥模式初始化,2024年09月之后申请的账号使用此模式
125+
# 微信支付平台公钥模式初始化,2024年09月之后申请的账号参考使用此模式
126126
wxpay = WeChatPay(
127127
wechatpay_type=WeChatPayType.NATIVE,
128128
mchid=MCHID,

docs/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## [1.3.2] - 2024-10-23
4+
5+
### 修复平台公钥ID处理的bug
6+
37
## [1.3.1] - 2024-10-22
48

59
### Fixed

docs/Q&A.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,9 @@ SDK 内部已经实现了自动下载和加载平台证书,无需预先下载
118118

119119
## 下载平台证书时解析失败
120120

121-
检查 APIV3_KEY 是否和微信支付后台设置的一致,如无法确认,建议重置后再试。
121+
自2024年9月起新申请的微信支付商户调用平台证书下载接口(/v3/certificates)时,可能会返回 http code 500,收到的信息如:
122+
```
123+
{"code":"SYSTEM_ERROR","message":"系统繁忙,请稍后重试"}。
124+
```
125+
这种情况请登录微信支付管理后台,下载/复制微信支付公钥和ID,使用README中的“平台公钥模式”初始化。
126+
其他情况下,请检查 APIV3_KEY 是否和微信支付后台设置的一致,如无法确认,建议重置后再试。

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
setup(
88
name="wechatpayv3",
9-
version="1.3.1",
9+
version="1.3.2",
1010
author="minibear",
1111
description="微信支付 API v3 Python SDK(python sdk for wechatpay v3)",
1212
long_description=long_description,

wechatpayv3/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def __init__(self, mchid, cert_serial_no, private_key, apiv3_key, cert_dir=None,
2929
self._public_key = load_public_key(public_key)
3030
if not public_key_id:
3131
raise Exception('public_key_serial_no is not assigned.')
32-
self._public_key_id = public_key_id.replace('PUB_KEY_ID_', '')
32+
self._public_key_id = public_key_id
3333
else:
3434
self._pubkey_mode = False
3535
self._init_certificates()

0 commit comments

Comments
 (0)