Skip to content

Commit 5aa16cf

Browse files
Copilotbinarywang
andcommitted
fix: 根据 PR Review 意见完善服务商退款字段补齐逻辑
Co-authored-by: binarywang <1343140+binarywang@users.noreply.github.com>
1 parent 913b5c0 commit 5aa16cf

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayPartnerRefundV3Request.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
* 微信支付服务商退款请求
1212
* 文档见:https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter4_1_9.shtml
1313
*
14-
* @author GitHub Copilot
1514
*/
1615
@Data
1716
@NoArgsConstructor

weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/BaseWxPayServiceImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,12 @@ public WxPayRefundV3Result refundV3(WxPayRefundV3Request request) throws WxPayEx
404404

405405
@Override
406406
public WxPayRefundV3Result partnerRefundV3(WxPayPartnerRefundV3Request request) throws WxPayException {
407+
if (StringUtils.isBlank(request.getSpAppid())) {
408+
request.setSpAppid(this.getConfig().getAppId());
409+
}
410+
if (StringUtils.isBlank(request.getSubAppid()) && StringUtils.isNotBlank(this.getConfig().getSubAppId())) {
411+
request.setSubAppid(this.getConfig().getSubAppId());
412+
}
407413
if (StringUtils.isBlank(request.getNotifyUrl())) {
408414
request.setNotifyUrl(this.getConfig().getRefundNotifyUrl());
409415
}

weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/request/WxPayPartnerRefundV3RequestTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
/**
1010
* {@link WxPayPartnerRefundV3Request} 单元测试
1111
*
12-
* @author GitHub Copilot
1312
*/
1413
public class WxPayPartnerRefundV3RequestTest {
1514

@@ -26,10 +25,15 @@ public void testSpAppidAndSubAppidSerialization() {
2625
String json = gson.toJson(request);
2726
JsonObject jsonObject = gson.fromJson(json, JsonObject.class);
2827

28+
assertThat(jsonObject.has("sp_appid")).isTrue();
2929
assertThat(jsonObject.get("sp_appid").getAsString()).isEqualTo("wx8888888888888888");
30+
assertThat(jsonObject.has("sub_appid")).isTrue();
3031
assertThat(jsonObject.get("sub_appid").getAsString()).isEqualTo("wxd678efh567hg6999");
32+
assertThat(jsonObject.has("sub_mchid")).isTrue();
3133
assertThat(jsonObject.get("sub_mchid").getAsString()).isEqualTo("1230000109");
34+
assertThat(jsonObject.has("out_refund_no")).isTrue();
3235
assertThat(jsonObject.get("out_refund_no").getAsString()).isEqualTo("1217752501201407033233368018");
36+
assertThat(jsonObject.has("funds_account")).isTrue();
3337
assertThat(jsonObject.get("funds_account").getAsString()).isEqualTo("AVAILABLE");
3438
}
3539

@@ -44,6 +48,7 @@ public void testSubAppidIsOptional() {
4448
String json = gson.toJson(request);
4549
JsonObject jsonObject = gson.fromJson(json, JsonObject.class);
4650

51+
assertThat(jsonObject.has("sp_appid")).isTrue();
4752
assertThat(jsonObject.get("sp_appid").getAsString()).isEqualTo("wx8888888888888888");
4853
assertThat(jsonObject.has("sub_appid")).isFalse();
4954
}

0 commit comments

Comments
 (0)