From 0f968d5e9f11303f34a20d8c54ea0ac1f81cb638 Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Mon, 9 Mar 2026 07:43:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=EF=BC=8C=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- intc-admin/src/main/resources/application-dev.yml | 2 ++ .../com/intc/weixin/config/WxPayConfiguration.java | 9 +++++++++ .../java/com/intc/weixin/config/WxPayProperties.java | 10 ++++++++++ 3 files changed, 21 insertions(+) diff --git a/intc-admin/src/main/resources/application-dev.yml b/intc-admin/src/main/resources/application-dev.yml index d5add72..efdccf3 100644 --- a/intc-admin/src/main/resources/application-dev.yml +++ b/intc-admin/src/main/resources/application-dev.yml @@ -389,6 +389,8 @@ wx: # private-key-path: classpath:cert/apiclient_key.pem # 私钥内容(V3版本选填,与private-key-path二选一,推荐使用此方式) private-content: "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDLEVxkdX6NJtDo\nzXOzkxn7kqR3MMc05/duLON4yjmLhTPQD8iiDoCOEuZEy8dLloi1OlXO3zu/F5jd\n9ynk8x++Px5A8gBQ16GZAMH18BQDzcFzy0EPe9ckiN3IXO8GT8Ht9oP430ugxF6t\nGM7Ixh93v48n7tUOZTISX5TzZCbXOiITH40b++/LB2LaMo9xAC4dEQs+2S4x5gO9\nPAh637ZAtVlbYxmJMYxzUM09KyXAoDlmO6YlO25EBkei7ZbyQob698s35+rSeq93\noFfUiegEL35SWeuuwp8ZFFvq24EUW7/n4U50/rS5hIFerEfcrFj2yPhP3sQtd4I+\nFjaEKzQLAgMBAAECggEBALxeUV9a4labUCT0GETWyr5j7C4oUFHSb+KCv0uYA0NZ\n/5McYRd67mNcQsBEa43BiPTbtSdeSnTbtdEI6pLXuHVo5W6HTiWvsNZWLpYt6tMQ\ndUgtnh932D2qvFiVZKBtMc7E4uzkbaonHk/heEgkCKKzTl9Tm81rr8P9aBVSrPjt\n6Xs7lORsD9bCoweYwfcrHELb+sLek/dOd9eCyabq7r5FV4EqOwJhw8btD7xgjw+o\nuVF3kWyhLSEwjpN/oo4w5r4yVPlMnSTn7MtTRFyJcU/w5YBk8MedGSTKRIvzPv4s\nRWU3ChTP5evGAh/FnpP6JGEhyvYGW0DqmuJUXK1n0fECgYEA/sSCT6Z+HSlwu/ui\nOSlDDFKZ/ci7vJcuksgf5Tw5Kj0fBVhgImO8hTS9nqCQx73JJTsUpTzyYOVxUd9b\nAqp42dgVbDYTmkfBi0xAZpnQD4Z4LUj6OkS2k3+2CPNN+jQpibGjGy11NDV/U8EQ\nP/9ioz+PoqwENG6wsaCT9LOC2DkCgYEAzAzUXJdH5T2LpSeO8e2NHtW6flemsJJ0\n+m0O03OWxQr6KNjFpNkTFoK6A2NYOiyqMZcQb+viHGFTFpFHkozo3QPaXpZsz3BC\ny9nQzqDbP3/MtfksE/MXOOw0qtdqT3csIxiXZqIjGYqAU08xcKyItZJGnIh/aKYn\nyobDnKkCRmMCgYB9mvbAPE6bJA4/r/03/17eGW9wjuH4RfUhSudmxn1MlNvRb9Pd\nwJx2dB00sucOg0RDRdCU8upw2U44Vk1xkAiLJpzRQAwEGXKTseFidFz++oYPlZZA\n2hXFvMZLvWDphYQhLeJDiPLq7aE78siHNOs1nyW6xuI/037r5EZt838ECQKBgQDC\n3+XY3+ob92Fsw5DzYIoMTtajXxalP9pUaN9l9tihKtCrPgvUWjSupP79yV0zggCx\nB7L9EOyLai+uN+WBAu5KVimxeDxHCNHiWg3fqSR7SpS5nlUIYHtnM79BAiZX6lrO\n0eeWb3bSJ8JSzilLkJunvSGO0ZXM3hLWi0o6TfcMPQKBgQDlmSC6/Ja4M+lGZEMx\nraCryScSi1kj3KkZFcGQEEejltpet2u06af/qA+tmMW7uxjLj5R80yqsYmUqS6Md\npHc1U7XsqU2MinqVJz47H8WZwYMDDLjNOI2f4coqbtBBOA6GKt+gYYqYxkpvVanT\noShAmWqOcPsioBVCFRVGvMlcNA==\n-----END PRIVATE KEY-----\n" + # 商户证书内容(V3版本必填,apiclient_cert.pem的内容) + private-cert-content: "请将apiclient_cert.pem文件内容粘贴到此处" # 支付选项列表配置 pay-item: diff --git a/intc-modules/intc-weixin/src/main/java/com/intc/weixin/config/WxPayConfiguration.java b/intc-modules/intc-weixin/src/main/java/com/intc/weixin/config/WxPayConfiguration.java index 4d9161c..499b21b 100644 --- a/intc-modules/intc-weixin/src/main/java/com/intc/weixin/config/WxPayConfiguration.java +++ b/intc-modules/intc-weixin/src/main/java/com/intc/weixin/config/WxPayConfiguration.java @@ -59,6 +59,15 @@ public class WxPayConfiguration { log.info("使用私钥路径配置: {}", wxPayProperties.getPrivateKeyPath()); } + // 商户证书配置(V3 API必须,apiclient_cert.pem) + if (wxPayProperties.getPrivateCertContent() != null && !wxPayProperties.getPrivateCertContent().isEmpty()) { + payConfig.setPrivateCertContent(wxPayProperties.getPrivateCertContent().getBytes(java.nio.charset.StandardCharsets.UTF_8)); + log.info("使用商户证书内容配置"); + } else if (wxPayProperties.getPrivateCertPath() != null) { + payConfig.setPrivateCertPath(wxPayProperties.getPrivateCertPath()); + log.info("使用商户证书路径配置: {}", wxPayProperties.getPrivateCertPath()); + } + WxPayService wxPayService = new WxPayServiceImpl(); wxPayService.setConfig(payConfig); diff --git a/intc-modules/intc-weixin/src/main/java/com/intc/weixin/config/WxPayProperties.java b/intc-modules/intc-weixin/src/main/java/com/intc/weixin/config/WxPayProperties.java index 0f1343f..7f234f3 100644 --- a/intc-modules/intc-weixin/src/main/java/com/intc/weixin/config/WxPayProperties.java +++ b/intc-modules/intc-weixin/src/main/java/com/intc/weixin/config/WxPayProperties.java @@ -48,4 +48,14 @@ public class WxPayProperties { * 私钥内容 */ private String privateContent; + + /** + * 商户证书路径(apiclient_cert.pem) + */ + private String privateCertPath; + + /** + * 商户证书内容(与privateCertPath二选一) + */ + private String privateCertContent; }