mirror of
https://github.com/dromara/payment-spring-boot.git
synced 2026-03-14 13:53:42 +08:00
fix: 批量转账到零钱查询BUG
Closes #I5E2X7
This commit is contained in:
@@ -171,7 +171,7 @@ public class SignatureProvider {
|
|||||||
public String doRequestSign(PrivateKey privateKey, String... orderedComponents) {
|
public String doRequestSign(PrivateKey privateKey, String... orderedComponents) {
|
||||||
Signature signer = Signature.getInstance("SHA256withRSA", BC_PROVIDER);
|
Signature signer = Signature.getInstance("SHA256withRSA", BC_PROVIDER);
|
||||||
signer.initSign(privateKey);
|
signer.initSign(privateKey);
|
||||||
final String signatureStr = createSign(true, orderedComponents);
|
final String signatureStr = createSign(orderedComponents);
|
||||||
signer.update(signatureStr.getBytes(StandardCharsets.UTF_8));
|
signer.update(signatureStr.getBytes(StandardCharsets.UTF_8));
|
||||||
return Base64Utils.encodeToString(signer.sign());
|
return Base64Utils.encodeToString(signer.sign());
|
||||||
}
|
}
|
||||||
@@ -191,7 +191,7 @@ public class SignatureProvider {
|
|||||||
}
|
}
|
||||||
Certificate certificate = CERTIFICATE_MAP.get(wechatpaySerial).getX509Certificate();
|
Certificate certificate = CERTIFICATE_MAP.get(wechatpaySerial).getX509Certificate();
|
||||||
|
|
||||||
final String signatureStr = createSign(true, params.getWechatpayTimestamp(), params.getWechatpayNonce(), params.getBody());
|
final String signatureStr = createSign(params.getWechatpayTimestamp(), params.getWechatpayNonce(), params.getBody());
|
||||||
Signature signer = Signature.getInstance("SHA256withRSA", BC_PROVIDER);
|
Signature signer = Signature.getInstance("SHA256withRSA", BC_PROVIDER);
|
||||||
signer.initVerify(certificate);
|
signer.initVerify(certificate);
|
||||||
signer.update(signatureStr.getBytes(StandardCharsets.UTF_8));
|
signer.update(signatureStr.getBytes(StandardCharsets.UTF_8));
|
||||||
@@ -397,11 +397,9 @@ public class SignatureProvider {
|
|||||||
* @param components the components
|
* @param components the components
|
||||||
* @return string string
|
* @return string string
|
||||||
*/
|
*/
|
||||||
private static String createSign(boolean newLine, String... components) {
|
private static String createSign(String... components) {
|
||||||
|
|
||||||
String suffix = newLine ? "\n" : "";
|
|
||||||
return Arrays.stream(components)
|
return Arrays.stream(components)
|
||||||
.collect(Collectors.joining("\n", "", suffix));
|
.collect(Collectors.joining("\n", "", "\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -196,8 +196,8 @@ public class WechatBatchTransferApi extends AbstractApi {
|
|||||||
this.client().withType(WechatPayV3Type.BATCH_TRANSFER_DETAIL_MCH, queryBatchTransferDetailParams)
|
this.client().withType(WechatPayV3Type.BATCH_TRANSFER_DETAIL_MCH, queryBatchTransferDetailParams)
|
||||||
.function((type, params) -> {
|
.function((type, params) -> {
|
||||||
Map<String, String> pathParams = new HashMap<>(2);
|
Map<String, String> pathParams = new HashMap<>(2);
|
||||||
pathParams.put("batch_id", params.getBatchIdOrOutBatchNo());
|
pathParams.put("out_batch_no", params.getBatchIdOrOutBatchNo());
|
||||||
pathParams.put("detail_id", params.getDetailIdOrOutDetailNo());
|
pathParams.put("out_detail_no", params.getDetailIdOrOutDetailNo());
|
||||||
|
|
||||||
URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA))
|
URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA))
|
||||||
.build()
|
.build()
|
||||||
|
|||||||
Reference in New Issue
Block a user