Преглед изворни кода

✨ feat(payment): 为微信支付回调添加多租户支持

- 在回调请求头中新增 `X-Tenant-Id` 字段,用于支持多租户环境
- 将支付服务中的 SDK 初始化逻辑改为使用请求头中传递的租户 ID,替代硬编码的默认值
yourname пре 2 недеља
родитељ
комит
c7474c34b8

+ 2 - 0
packages/mini-payment-mt/src/routes/payment/callback.mt.ts

@@ -43,6 +43,8 @@ const app = new OpenAPIHono()
 
       // 获取微信支付回调头信息
       const headers = {
+        // 开发环境配置成 租户2 'X-Tenant-Id': '2'
+        'X-Tenant-Id': c.req.header('X-Tenant-Id') || '2',
         'wechatpay-timestamp': c.req.header('wechatpay-timestamp') || '',
         'wechatpay-nonce': c.req.header('wechatpay-nonce') || '',
         'wechatpay-signature': c.req.header('wechatpay-signature') || '',

+ 1 - 1
packages/mini-payment-mt/src/services/payment.mt.service.ts

@@ -376,7 +376,7 @@ export class PaymentMtService extends GenericCrudService<PaymentMtEntity> {
 
     // 重新初始化微信支付SDK(先初始化以进行签名验证和解密)
     console.debug(`开始初始化微信支付SDK`);
-    await this.initializeWxPay(1); // 先使用默认租户ID进行初始化
+    await this.initializeWxPay(headers['X-Tenant-Id']); // 使用从域名代理中配置的header中的租户id
     console.debug(`微信支付SDK初始化完成`);
 
     // 验证回调签名