fix(payverse-wehook): 한국 원화일 때와 USD일 때 mid 값이 달라야 하는데 성공 여부 비교시 원화 mid로 고정하여 비교하던 로직 수정

This commit is contained in:
2025-10-03 01:29:59 +09:00
parent 42eaf1d5e3
commit cb2e3ea581

View File

@@ -102,6 +102,11 @@ class ChargeService(
return when (charge.payment?.status) {
PaymentStatus.REQUEST -> {
// 성공 조건 검증
val mid = if (request.requestCurrency == "KRW") {
payverseMid
} else {
payverseUsdMid
}
val expectedSign = DigestUtils.sha512Hex(
String.format(
"||%s||%s||%s||%s||%s||",
@@ -110,11 +115,7 @@ class ChargeService(
} else {
payverseUsdSecretKey
},
if (request.requestCurrency == "KRW") {
payverseMid
} else {
payverseUsdMid
},
mid,
request.orderId,
request.requestAmount,
request.approvalDay
@@ -126,7 +127,7 @@ class ChargeService(
) == 0
val isSuccess = request.resultStatus == "SUCCESS" &&
request.mid == payverseMid &&
request.mid == mid &&
charge.title == request.productName &&
isAmountMatch &&
request.sign == expectedSign