Skip to content

Commit 60185c1

Browse files
authored
🎨 #3955 【小程序】添加序虚拟支付错误码(268490001-268490024)的枚举
1 parent f3b8cf6 commit 60185c1

File tree

2 files changed

+90
-0
lines changed

2 files changed

+90
-0
lines changed

weixin-java-common/src/main/java/me/chanjar/weixin/common/error/WxMaErrorMsgEnum.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -838,6 +838,34 @@ public enum WxMaErrorMsgEnum {
838838
*/
839839
CODE_89424(89424, "授权次数到达上限"),
840840

841+
/**
842+
* 微信小程序虚拟支付错误码
843+
*
844+
* @see <a href="https://developers.weixin.qq.com/miniprogram/dev/server/API/VirtualPayment/api_query_order.html">虚拟支付 API 文档</a>
845+
*/
846+
CODE_268490001(268490001, "openid错误"),
847+
CODE_268490002(268490002, "请求参数字段错误,具体看errmsg"),
848+
CODE_268490003(268490003, "签名错误"),
849+
CODE_268490004(268490004, "重复操作(赠送和代币支付和充值广告金相关接口会返回,表示之前的操作已经成功)"),
850+
CODE_268490005(268490005, "订单已经通过cancel_currency_pay接口退款,不支持再退款"),
851+
CODE_268490006(268490006, "代币的退款/支付操作金额不足"),
852+
CODE_268490007(268490007, "图片或文字存在敏感内容,禁止使用"),
853+
CODE_268490008(268490008, "代币未发布,不允许进行代币操作"),
854+
CODE_268490009(268490009, "用户session_key不存在或已过期,请重新登录"),
855+
CODE_268490011(268490011, "数据生成中,请稍后调用本接口获取"),
856+
CODE_268490012(268490012, "批量任务运行中,请等待完成后才能再次运行"),
857+
CODE_268490013(268490013, "禁止对核销状态的单进行退款"),
858+
CODE_268490014(268490014, "退款操作进行中,稍后可以使用相同参数重试"),
859+
CODE_268490015(268490015, "频率限制"),
860+
CODE_268490016(268490016, "退款的left_fee字段与实际不符,请通过query_order接口查询确认"),
861+
CODE_268490018(268490018, "广告金充值账户行业id不匹配"),
862+
CODE_268490019(268490019, "广告金充值账户id已绑定其他appid"),
863+
CODE_268490020(268490020, "广告金充值账户主体名称错误"),
864+
CODE_268490021(268490021, "账户未完成进件"),
865+
CODE_268490022(268490022, "广告金充值账户无效"),
866+
CODE_268490023(268490023, "广告金余额不足"),
867+
CODE_268490024(268490024, "广告金充值金额必须大于0"),
868+
841869
;
842870

843871
private final int code;
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package me.chanjar.weixin.common.error;
2+
3+
import org.testng.annotations.Test;
4+
5+
import static org.testng.Assert.assertEquals;
6+
import static org.testng.Assert.assertNotNull;
7+
import static org.testng.Assert.assertNull;
8+
9+
/**
10+
* 微信小程序错误码枚举测试
11+
*
12+
* @author GitHub Copilot
13+
*/
14+
@Test
15+
public class WxMaErrorMsgEnumTest {
16+
17+
public void testFindMsgByCodeForExistingCode() {
18+
String msg = WxMaErrorMsgEnum.findMsgByCode(40001);
19+
assertNotNull(msg);
20+
}
21+
22+
public void testFindMsgByCodeForNonExistingCode() {
23+
String msg = WxMaErrorMsgEnum.findMsgByCode(999999);
24+
assertNull(msg);
25+
}
26+
27+
/**
28+
* 验证微信小程序虚拟支付错误码
29+
*/
30+
public void testVirtualPaymentErrorCodes() {
31+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490001), "openid错误");
32+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490002), "请求参数字段错误,具体看errmsg");
33+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490003), "签名错误");
34+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490004), "重复操作(赠送和代币支付和充值广告金相关接口会返回,表示之前的操作已经成功)");
35+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490005), "订单已经通过cancel_currency_pay接口退款,不支持再退款");
36+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490006), "代币的退款/支付操作金额不足");
37+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490007), "图片或文字存在敏感内容,禁止使用");
38+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490008), "代币未发布,不允许进行代币操作");
39+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490009), "用户session_key不存在或已过期,请重新登录");
40+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490011), "数据生成中,请稍后调用本接口获取");
41+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490012), "批量任务运行中,请等待完成后才能再次运行");
42+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490013), "禁止对核销状态的单进行退款");
43+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490014), "退款操作进行中,稍后可以使用相同参数重试");
44+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490015), "频率限制");
45+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490016), "退款的left_fee字段与实际不符,请通过query_order接口查询确认");
46+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490018), "广告金充值账户行业id不匹配");
47+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490019), "广告金充值账户id已绑定其他appid");
48+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490020), "广告金充值账户主体名称错误");
49+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490021), "账户未完成进件");
50+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490022), "广告金充值账户无效");
51+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490023), "广告金余额不足");
52+
assertEquals(WxMaErrorMsgEnum.findMsgByCode(268490024), "广告金充值金额必须大于0");
53+
}
54+
55+
/**
56+
* 验证虚拟支付错误码中不存在的编号(如268490010、268490017)返回null
57+
*/
58+
public void testVirtualPaymentMissingCodes() {
59+
assertNull(WxMaErrorMsgEnum.findMsgByCode(268490010));
60+
assertNull(WxMaErrorMsgEnum.findMsgByCode(268490017));
61+
}
62+
}

0 commit comments

Comments
 (0)