From aa19a2874d3b16cd011ea41d537520e5d04b4a88 Mon Sep 17 00:00:00 2001 From: Sun Chen <32948195+sunchenweb@users.noreply.github.com> Date: Sat, 24 Sep 2022 00:24:04 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E5=A2=9E=E5=8A=A0=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E7=9A=84=E8=87=AA=E5=AE=9A=E4=B9=89=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E7=BB=84=E4=BB=B6=E4=BB=98=E6=AC=BE=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E7=B1=BB=E5=9E=8BOPEN=5FPRODUCT=5FORDER=5FPA?= =?UTF-8?q?Y?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chanjar/weixin/common/api/WxConsts.java | 4 ++ .../wx/miniapp/bean/WxMaMessageTest.java | 37 +++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java index e88aa1957..9f9724c00 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java @@ -413,6 +413,10 @@ public class WxConsts { */ public static final String WEAPP_AUDIT_FAIL = "weapp_audit_fail"; + /** + * 小程序自定义交易组件支付通知 + */ + public static final String OPEN_PRODUCT_ORDER_PAY = "open_product_order_pay"; /** * 点击菜单跳转小程序的事件推送 */ diff --git a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaMessageTest.java b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaMessageTest.java index 098da74e5..bfdb912f6 100644 --- a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaMessageTest.java +++ b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaMessageTest.java @@ -6,6 +6,7 @@ import org.testng.annotations.Test; import java.util.List; import java.util.Map; +import static org.assertj.core.api.Assertions.as; import static org.assertj.core.api.Assertions.assertThat; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; @@ -291,4 +292,40 @@ public class WxMaMessageTest { .containsEntry("Lat", "0") .containsEntry("Lng", "0"); } + + /** + * 自定义交易组件付款通知事件测试用例 + * msgType等于event且event等于WxConsts.EventType.OPEN_PRODUCT_ORDER_PAY + */ + @Test + public void testFromXmlForOpenProductOrderPayEvent(){ + String xml = " \n" + + " gh_abcdefg \n" + + " oABCD \n" + + " 1642658087 \n" + + " event \n" + + " open_product_order_pay\n" + + " \n" + + " 123456\n" + + " 1234567\n" + + " 42000000123123\n" + + " 2021-12-30 22:31:00\n" + + " 10\n" + + " oNMZ-5C0SPGHUiKsTwnOXpSHzFvw\n" + + " \n" + + ""; + WxMaMessage wxMessage = WxMaMessage.fromXml(xml); + assertThat(wxMessage.getMsgType()).isEqualTo("event"); + assertThat(wxMessage.getEvent()).isEqualTo(WxConsts.EventType.OPEN_PRODUCT_ORDER_PAY); + Map allFieldsMap = wxMessage.getAllFieldsMap(); + Map orderInfo = (Map) allFieldsMap.get("order_info"); + assertThat(orderInfo).isNotEmpty(); + assertThat(orderInfo) + .containsEntry("out_order_id","123456") + .containsEntry("order_id","1234567") + .containsEntry("transaction_id","42000000123123") + .containsEntry("pay_time","2021-12-30 22:31:00") + .containsEntry("amount","10") + .containsEntry("sp_openid","oNMZ-5C0SPGHUiKsTwnOXpSHzFvw"); + } }