public void ValidateCheckMacValue_InputDictionary_ReturnSameMacValue() { // Arrange var result = new PaymentResult() { MerchantID = "2000132", MerchantTradeNo = "11106240000033084023", StoreID = null, RtnCode = 1, RtnMsg = "交易成功", TradeNo = "2006291634327513", TradeAmt = 3000, PaymentDate = "2020/06/29 16:35:49", PaymentType = "Credit_CreditCard", PaymentTypeChargeFee = 60, TradeDate = "2020/06/29 16:34:32", SimulatePaid = 0, CustomField1 = null, CustomField2 = null, CustomField3 = null, CustomField4 = null, CheckMacValue = "45FA5D47A8379FF149159A014C6445F886CC9656CF85D5B2F736577894A745F8" }; var hashKey = "5294y06JbISpM5x9"; var hashIV = "v77hoKGq4kWxNNIS"; // Act bool isValid = CheckMac.PaymentResultIsValid(result, hashKey, hashIV); // Assert isValid.Should().Be(true); }
public IActionResult Callback(PaymentResult result) { var hashKey = "5294y06JbISpM5x9"; var hashIV = "v77hoKGq4kWxNNIS"; // 務必判斷檢查碼是否正確。 if (!CheckMac.PaymentResultIsValid(result, hashKey, hashIV)) { return(BadRequest()); } // 處理後續訂單狀態的更動等等...。 return(Ok("1|OK")); }