fix(payverse-wehook): 한국 원화일 때와 USD일 때 mid 값이 달라야 하는데 성공 여부 비교시 원화 mid로 고정하여 비교하던 로직 수정
This commit is contained in:
@@ -102,6 +102,11 @@ class ChargeService(
|
|||||||
return when (charge.payment?.status) {
|
return when (charge.payment?.status) {
|
||||||
PaymentStatus.REQUEST -> {
|
PaymentStatus.REQUEST -> {
|
||||||
// 성공 조건 검증
|
// 성공 조건 검증
|
||||||
|
val mid = if (request.requestCurrency == "KRW") {
|
||||||
|
payverseMid
|
||||||
|
} else {
|
||||||
|
payverseUsdMid
|
||||||
|
}
|
||||||
val expectedSign = DigestUtils.sha512Hex(
|
val expectedSign = DigestUtils.sha512Hex(
|
||||||
String.format(
|
String.format(
|
||||||
"||%s||%s||%s||%s||%s||",
|
"||%s||%s||%s||%s||%s||",
|
||||||
@@ -110,11 +115,7 @@ class ChargeService(
|
|||||||
} else {
|
} else {
|
||||||
payverseUsdSecretKey
|
payverseUsdSecretKey
|
||||||
},
|
},
|
||||||
if (request.requestCurrency == "KRW") {
|
mid,
|
||||||
payverseMid
|
|
||||||
} else {
|
|
||||||
payverseUsdMid
|
|
||||||
},
|
|
||||||
request.orderId,
|
request.orderId,
|
||||||
request.requestAmount,
|
request.requestAmount,
|
||||||
request.approvalDay
|
request.approvalDay
|
||||||
@@ -126,7 +127,7 @@ class ChargeService(
|
|||||||
) == 0
|
) == 0
|
||||||
|
|
||||||
val isSuccess = request.resultStatus == "SUCCESS" &&
|
val isSuccess = request.resultStatus == "SUCCESS" &&
|
||||||
request.mid == payverseMid &&
|
request.mid == mid &&
|
||||||
charge.title == request.productName &&
|
charge.title == request.productName &&
|
||||||
isAmountMatch &&
|
isAmountMatch &&
|
||||||
request.sign == expectedSign
|
request.sign == expectedSign
|
||||||
|
Reference in New Issue
Block a user