|
|
@@ -34,7 +34,7 @@ class OmgPaymentFormFactoryTest {
|
|
|
assertEquals(OmgPaymentFormFactory.STAGE_GATEWAY_URL, form.gatewayUrl());
|
|
|
assertEquals(Set.of("MerchantID", "MerchantTradeNo", "MerchantTradeDate", "PaymentType",
|
|
|
"TotalAmount", "TradeDesc", "ItemName", "ReturnURL", "ChoosePayment", "EncryptType",
|
|
|
- "InvoiceMark", "NeedExtraPaidInfo", "UnionPay", "OrderResultURL", "ClientBackURL",
|
|
|
+ "InvoiceMark", "NeedExtraPaidInfo", "UnionPay", "OrderResultURL",
|
|
|
"CheckMacValue"), form.fields().keySet());
|
|
|
assertEquals("2026/08/13 15:30:23", form.fields().get("MerchantTradeDate"));
|
|
|
assertEquals("Credit", form.fields().get("ChoosePayment"));
|
|
|
@@ -42,8 +42,7 @@ class OmgPaymentFormFactoryTest {
|
|
|
assertEquals("Y", form.fields().get("NeedExtraPaidInfo"));
|
|
|
assertEquals("https://foodieapi.waimai-paotui.com/pay/omg/result",
|
|
|
form.fields().get("OrderResultURL"));
|
|
|
- assertEquals("https://foodieapi.waimai-paotui.com/pay/omg/back?merchantTradeNo=OMG12345678901234567",
|
|
|
- form.fields().get("ClientBackURL"));
|
|
|
+ assertFalse(form.fields().containsKey("ClientBackURL"));
|
|
|
assertFalse(form.fields().containsKey("ClientRedirectURL"));
|
|
|
assertFalse(form.fields().containsKey("ExpireDate"));
|
|
|
assertFalse(form.fields().containsKey("StoreExpireDate"));
|
|
|
@@ -51,7 +50,7 @@ class OmgPaymentFormFactoryTest {
|
|
|
assertEquals("Foodie order DDscript", form.fields().get("TradeDesc"));
|
|
|
assertFalse(form.fields().get("ItemName").contains("|"));
|
|
|
assertTrue(form.fields().get("ItemName").length() <= 120);
|
|
|
- verify(signer).sign(org.mockito.ArgumentMatchers.argThat(fields -> fields.size() == 15
|
|
|
+ verify(signer).sign(org.mockito.ArgumentMatchers.argThat(fields -> fields.size() == 14
|
|
|
&& "Credit".equals(fields.get("ChoosePayment"))
|
|
|
&& "2".equals(fields.get("UnionPay"))
|
|
|
&& !fields.containsKey("CheckMacValue")), eq("KEY"), eq("IV"));
|
|
|
@@ -69,12 +68,12 @@ class OmgPaymentFormFactoryTest {
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- void rejectsUnsafeClientAndAppReturnUrls() {
|
|
|
+ void rejectsUnsafeResultAndAppReturnUrls() {
|
|
|
OmgPaymentProperties properties = properties();
|
|
|
properties.setOrderResultUrl("https://example.com/wrong");
|
|
|
assertThrows(IllegalArgumentException.class, properties::requireSafeOrderResultUrl);
|
|
|
properties.setOrderResultUrl("https://foodieapi.waimai-paotui.com/pay/omg/result");
|
|
|
- properties.setAppReturnUrl("javascript:alert(1)");
|
|
|
+ properties.setAppReturnUrl("com.twanmsdyh.app://pages/Other/page");
|
|
|
assertThrows(IllegalArgumentException.class, properties::safeAppReturnUrlOrNull);
|
|
|
}
|
|
|
|
|
|
@@ -82,8 +81,7 @@ class OmgPaymentFormFactoryTest {
|
|
|
OmgPaymentProperties properties = new OmgPaymentProperties();
|
|
|
properties.setReturnUrl("https://foodieapi.waimai-paotui.com/pay/omg/notify");
|
|
|
properties.setOrderResultUrl("https://foodieapi.waimai-paotui.com/pay/omg/result");
|
|
|
- properties.setClientBackUrl("https://foodieapi.waimai-paotui.com/pay/omg/back");
|
|
|
- properties.setAppReturnUrl("https://link.waimai-paotui.com/payment/omg");
|
|
|
+ properties.setAppReturnUrl("com.twanmsdyh.app://pages/OrderList/paySuccess/paySuccess");
|
|
|
return properties;
|
|
|
}
|
|
|
}
|