Ver código fonte

fix: isolate OMG signer field snapshot

qmj 2 semanas atrás
pai
commit
debde380c8

+ 2 - 1
ruoyi-admin/src/main/java/com/ruoyi/app/omgpay/OmgPaymentFormFactory.java

@@ -50,7 +50,8 @@ public class OmgPaymentFormFactory {
         fields.put("ExpireDate", "1");
         fields.put("StoreExpireDate", "30");
         fields.put("BarcodeATMExpireDate", "1");
-        fields.put("CheckMacValue", signer.sign(fields, hashKey, hashIv));
+        Map<String, String> signedFields = Collections.unmodifiableMap(new LinkedHashMap<>(fields));
+        fields.put("CheckMacValue", signer.sign(signedFields, hashKey, hashIv));
         Map<String, String> responseFields = Collections.unmodifiableMap(new LinkedHashMap<>(fields));
         return new OmgPaymentForm(STAGE_GATEWAY_URL, responseFields);
     }