mirror of
				https://github.com/YunaiV/ruoyi-vue-pro.git
				synced 2025-10-31 10:37:41 +08:00 
			
		
		
		
	fix:【pay 支付】兼容微信支付 V3 可能 header 大小写多情况
This commit is contained in:
		| @ -541,14 +541,23 @@ public abstract class AbstractWxPayClient extends AbstractPayClient<WxPayClientC | |||||||
|      * @see <a href="https://github.com/binarywang/weixin-java-pay-demo/blob/master/src/main/java/com/github/binarywang/demo/wx/pay/controller/WxPayV3Controller.java#L202-L221">官方示例</a> |      * @see <a href="https://github.com/binarywang/weixin-java-pay-demo/blob/master/src/main/java/com/github/binarywang/demo/wx/pay/controller/WxPayV3Controller.java#L202-L221">官方示例</a> | ||||||
|      */ |      */ | ||||||
|     private SignatureHeader getRequestHeader(Map<String, String> headers) { |     private SignatureHeader getRequestHeader(Map<String, String> headers) { | ||||||
|  |         // 参见 https://gitee.com/zhijiantianya/yudao-cloud/issues/ICSFL6 | ||||||
|         return SignatureHeader.builder() |         return SignatureHeader.builder() | ||||||
|                 .signature(headers.get("wechatpay-signature")) |                 .signature(getHeaderValue(headers, "Wechatpay-Signature", "wechatpay-signature")) | ||||||
|                 .nonce(headers.get("wechatpay-nonce")) |                 .nonce(getHeaderValue(headers, "Wechatpay-Nonce", "wechatpay-nonce")) | ||||||
|                 .serial(headers.get("wechatpay-serial")) |                 .serial(getHeaderValue(headers, "Wechatpay-Serial", "wechatpay-serial")) | ||||||
|                 .timeStamp(headers.get("wechatpay-timestamp")) |                 .timeStamp(getHeaderValue(headers, "Wechatpay-Timestamp", "wechatpay-timestamp")) | ||||||
|                 .build(); |                 .build(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     private String getHeaderValue(Map<String, String> headers, String capitalizedKey, String lowercaseKey) { | ||||||
|  |         String value = headers.get(capitalizedKey); | ||||||
|  |         if (value != null) { | ||||||
|  |             return value; | ||||||
|  |         } | ||||||
|  |         return headers.get(lowercaseKey); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     // TODO @芋艿:可能是 wxjava 的 bug:https://github.com/binarywang/WxJava/issues/1557 |     // TODO @芋艿:可能是 wxjava 的 bug:https://github.com/binarywang/WxJava/issues/1557 | ||||||
|     private void fixV3HttpClientConnectionPoolShutDown() { |     private void fixV3HttpClientConnectionPoolShutDown() { | ||||||
|         client.getConfig().setApiV3HttpClient(null); |         client.getConfig().setApiV3HttpClient(null); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV