diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/result/WxPayUnifiedOrderV3Result.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/result/WxPayUnifiedOrderV3Result.java index 00b72864c..e832f4c02 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/result/WxPayUnifiedOrderV3Result.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/result/WxPayUnifiedOrderV3Result.java @@ -110,7 +110,9 @@ public class WxPayUnifiedOrderV3Result implements Serializable { private static final long serialVersionUID = 5465773025172875110L; private String appid; + @SerializedName("partnerid") private String partnerId; + @SerializedName("prepayid") private String prepayId; /** * 由于package为java保留关键字,因此改为packageValue,序列化时会自动转换为package字段名 diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/result/WxPayUnifiedOrderV3ResultTest.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/result/WxPayUnifiedOrderV3ResultTest.java index c3e2a62ca..15775ed70 100644 --- a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/result/WxPayUnifiedOrderV3ResultTest.java +++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/result/WxPayUnifiedOrderV3ResultTest.java @@ -248,6 +248,13 @@ public class WxPayUnifiedOrderV3ResultTest { Assert.assertTrue(jsonObject.has("package"), "JSON中应该包含package字段"); Assert.assertFalse(jsonObject.has("packageValue"), "JSON中不应该包含packageValue字段"); Assert.assertEquals(jsonObject.get("package").getAsString(), "Sign=WXPay"); + // 验证JSON序列化后partnerid和prepayid字段名为全小写(微信官方要求) + Assert.assertTrue(jsonObject.has("partnerid"), "JSON中应该包含partnerid字段"); + Assert.assertFalse(jsonObject.has("partnerId"), "JSON中不应该包含驼峰的partnerId字段"); + Assert.assertEquals(jsonObject.get("partnerid").getAsString(), testMchId); + Assert.assertTrue(jsonObject.has("prepayid"), "JSON中应该包含prepayid字段"); + Assert.assertFalse(jsonObject.has("prepayId"), "JSON中不应该包含驼峰的prepayId字段"); + Assert.assertEquals(jsonObject.get("prepayid").getAsString(), testPrepayId); } @Test(expectedExceptions = IllegalArgumentException.class,