1
0
mirror of synced 2026-10-18 13:26:12 +08:00

🐛 #4114【微信支付】修复电商旧接口closePartnerTransactions丢失outTradeNo

This commit is contained in:
LJY
2026-08-25 15:58:31 +08:00
committed by GitHub
parent 25423da463
commit ce51e0331b
2 changed files with 33 additions and 1 deletions

View File

@@ -1,7 +1,9 @@
package com.github.binarywang.wxpay.service;
import com.github.binarywang.wxpay.bean.ecommerce.PartnerTransactionsCloseRequest;
import com.github.binarywang.wxpay.bean.ecommerce.TransactionsResult;
import com.github.binarywang.wxpay.bean.ecommerce.enums.TradeTypeEnum;
import com.github.binarywang.wxpay.bean.request.WxPayPartnerOrderCloseV3Request;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -68,6 +70,21 @@ public class LegacyEcommerceApiCompatibilityTest {
Assert.assertNotEquals(first, second);
}
@Test
public void shouldPreserveOutTradeNoWhenMappingLegacyCloseRequest() {
PartnerTransactionsCloseRequest legacyRequest = new PartnerTransactionsCloseRequest();
legacyRequest.setSpMchid("1230000109");
legacyRequest.setSubMchid("1900000109");
legacyRequest.setOutTradeNo("1217752501201407033233368018");
WxPayPartnerOrderCloseV3Request unifiedRequest =
EcommerceService.toUnifiedPartnerOrderCloseRequest(legacyRequest);
Assert.assertEquals(unifiedRequest.getSpMchId(), "1230000109");
Assert.assertEquals(unifiedRequest.getSubMchId(), "1900000109");
Assert.assertEquals(unifiedRequest.getOutTradeNo(), "1217752501201407033233368018");
}
@Test
public void shouldReadLegacySerializedHeaderFields() throws Exception {
String legacySerializedHeader = "rO0ABXNyADpjb20uZ2l0aHViLmJpbmFyeXdhbmcud3hwYXkuYmVhbi5lY29tbWVyY2UuU2lnbmF0dXJlSGVhZGVyn3ApxLekv9MCAARMAAVub25jZXQAEkxqYXZhL2xhbmcvU3RyaW5nO0wACHNlcmlhbE5vcQB+AAFMAAZzaWduZWRxAH4AAUwACXRpbWVTdGFtcHEAfgABeHB0AAVub25jZXQACXNlcmlhbC1ub3QABnNpZ25lZHQACXRpbWVzdGFtcA==";