fix(payverse-wehook): 한국 원화일 때와 USD일 때 mid 값이 달라야 하는데 성공 여부 비교시 원화 mid로 고정하여 비교하던 로직 수정
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user