소스 검색

fix: isolate OMG signer field snapshot

qmj 2 주 전
부모
커밋
debde380c8
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      ruoyi-admin/src/main/java/com/ruoyi/app/omgpay/OmgPaymentFormFactory.java

+ 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);
     }