generated from pricelees/issue-pr-template
[#50] Tosspay API Mocking 서버 구현 #51
@ -0,0 +1,41 @@
|
|||||||
|
package com.sangdol.tosspaymock.parser.origin
|
||||||
|
|
||||||
|
import com.sangdol.common.types.web.HttpStatus
|
||||||
|
import io.kotest.core.spec.style.StringSpec
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
|
class TosspayErrorCodeParser: StringSpec() {
|
||||||
|
init {
|
||||||
|
"Tosspay API 문서에 있는 결제 승인 에러 코드 항목을 enum의 형태로 변환한다." {
|
||||||
|
val basePath = "${File("").absolutePath}/src/test/resources"
|
||||||
|
|
||||||
|
listOf("confirm", "cancel").forEach {
|
||||||
|
val result = StringBuilder()
|
||||||
|
|
||||||
|
val lines = File("${basePath}/tosspay_${it}_errorcode.txt")
|
||||||
|
.readLines()
|
||||||
|
|
||||||
|
lines.forEachIndexed { idx, line ->
|
||||||
|
val suffix = if (idx < (lines.size - 1)) ",\n" else ";"
|
||||||
|
|
||||||
|
result.append(parseLine(idx + 1, line)).append(suffix)
|
||||||
|
}
|
||||||
|
|
||||||
|
File("${basePath}/tosspay_${it}_errorcode_parsed.txt").writeText(result.toString())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun parseLine(idx: Int, text: String): String {
|
||||||
|
val regex = Regex("^(\\d+)\\t([A-Z_]+)\\t(.+[).])\\t([`A-Za-z].*)")
|
||||||
|
|
||||||
|
return regex.replace(text) { matchResult ->
|
||||||
|
val name = matchResult.groupValues[2]
|
||||||
|
val httpStatus = "HttpStatus.${HttpStatus.entries.first {it.code == matchResult.groupValues[1].trim().toInt()}.name}"
|
||||||
|
val errorCode = "CO${(idx).toString().padStart(3, '0')}"
|
||||||
|
val koreanMessage = matchResult.groupValues[3].split("\t")[0]
|
||||||
|
|
||||||
|
"$name($httpStatus, \"$errorCode\", \"$koreanMessage\")"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
29
tosspay-mock/src/test/resources/tosspay_cancel_errorcode.txt
Normal file
29
tosspay-mock/src/test/resources/tosspay_cancel_errorcode.txt
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
400 ALREADY_CANCELED_PAYMENT 이미 취소된 결제 입니다. The payment has already been canceled.
|
||||||
|
400 INVALID_REFUND_ACCOUNT_INFO 환불 계좌번호와 예금주명이 일치하지 않습니다. `accountNumber` and holderName is not matched.
|
||||||
|
400 EXCEED_CANCEL_AMOUNT_DISCOUNT_AMOUNT 즉시할인금액보다 적은 금액은 부분취소가 불가능합니다. The cancel amount cannot exceed discount amount
|
||||||
|
400 INVALID_REQUEST 잘못된 요청입니다. The bad request.
|
||||||
|
400 INVALID_REFUND_ACCOUNT_NUMBER 잘못된 환불 계좌번호입니다. Incorrect `accountNumber`
|
||||||
|
400 INVALID_BANK 유효하지 않은 은행입니다. It is an Invalid bank.
|
||||||
|
400 NOT_MATCHES_REFUNDABLE_AMOUNT 잔액 결과가 일치하지 않습니다. Balance results do not match.
|
||||||
|
400 PROVIDER_ERROR 일시적인 오류가 발생했습니다. 잠시 후 다시 시도해주세요. This is temporary error. Please try again in a few minutes.
|
||||||
|
400 REFUND_REJECTED 환불이 거절됐습니다. 결제사에 문의 부탁드립니다. The refund has been rejected. Please contact the respective payment provider.
|
||||||
|
400 ALREADY_REFUND_PAYMENT 이미 환불된 결제입니다. The payment has been refunded.
|
||||||
|
400 FORBIDDEN_BANK_REFUND_REQUEST 고객 계좌가 입금이 되지 않는 상태입니다. The given bank account does not allow deposits.
|
||||||
|
401 UNAUTHORIZED_KEY 인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다. Unauthorized secretKey or clientKey.
|
||||||
|
403 NOT_CANCELABLE_AMOUNT 취소 할 수 없는 금액 입니다. This is a non-cancelable amount.
|
||||||
|
403 FORBIDDEN_CONSECUTIVE_REQUEST 반복적인 요청은 허용되지 않습니다. 잠시 후 다시 시도해주세요. Repetitive requests are not allowed. Please try again in a few minutes.
|
||||||
|
403 FORBIDDEN_REQUEST 허용되지 않은 요청입니다. Not allowed request
|
||||||
|
403 NOT_CANCELABLE_PAYMENT 취소 할 수 없는 결제 입니다. This is a non-cancelable payment.
|
||||||
|
403 EXCEED_MAX_REFUND_DUE 환불 가능한 기간이 지났습니다. Refundable date has passed.
|
||||||
|
403 NOT_ALLOWED_PARTIAL_REFUND_WAITING_DEPOSIT 입금 대기중인 결제는 부분 환불이 불가합니다. Partial refund is not available while pending deposit.
|
||||||
|
403 NOT_ALLOWED_PARTIAL_REFUND 에스크로 주문, 현금 카드 결제일 때는 부분 환불이 불가합니다. 이외 다른 결제 수단에서 부분 취소가 되지 않을 때는 토스페이먼츠에 문의해 주세요. Escrow orders or debit card payments cannot be partially canceled. If you are unable to partially cancel your order with any other payment method, please contact Tosspayments.
|
||||||
|
403 NOT_AVAILABLE_BANK 은행 서비스 시간이 아닙니다. It's not banking hour.
|
||||||
|
403 INCORRECT_BASIC_AUTH_FORMAT 잘못된 요청입니다. ':' 를 포함해 인코딩해주세요. Invalid request. Please encode including the ':' character.
|
||||||
|
403 NOT_CANCELABLE_PAYMENT_FOR_DORMANT_USER 휴면 처리된 회원의 결제는 취소할 수 없습니다. This is a non-cancelable payment. It is a dormant user account.
|
||||||
|
404 NOT_FOUND_PAYMENT 존재하지 않는 결제 정보 입니다. Not found payment
|
||||||
|
500 FAILED_INTERNAL_SYSTEM_PROCESSING 내부 시스템 처리 작업이 실패했습니다. 잠시 후 다시 시도해주세요. Internal system processing operation has failed. Please try again in a few minutes.
|
||||||
|
500 FAILED_REFUND_PROCESS 은행 응답시간 지연이나 일시적인 오류로 환불요청에 실패했습니다. The refund request failed due to a delay in the bank response time or a temporary error.
|
||||||
|
500 FAILED_METHOD_HANDLING_CANCEL 취소 중 결제 시 사용한 결제 수단 처리과정에서 일시적인 오류가 발생했습니다. A temporary error occurred while processing cancellation.
|
||||||
|
500 FAILED_PARTIAL_REFUND 은행 점검, 해약 계좌 등의 사유로 부분 환불이 실패했습니다. Partial refund failed due to bank check, account canceled, etc.
|
||||||
|
500 COMMON_ERROR 일시적인 오류가 발생했습니다. 잠시 후 다시 시도해주세요. This is temporary error. Please try again in a few minutes.
|
||||||
|
500 FAILED_PAYMENT_INTERNAL_SYSTEM_PROCESSING 결제가 완료되지 않았어요. 다시 시도해주세요. Payment has not been completed. please try again.
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
400 ALREADY_PROCESSED_PAYMENT 이미 처리된 결제 입니다. This is a payment that has already been processed.
|
||||||
|
400 PROVIDER_ERROR 일시적인 오류가 발생했습니다. 잠시 후 다시 시도해주세요. This is temporary error. Please try again in a few minutes.
|
||||||
|
400 EXCEED_MAX_CARD_INSTALLMENT_PLAN 설정 가능한 최대 할부 개월 수를 초과했습니다. Maximum number of installment months exceeded. (`installmentPlanMonths`)
|
||||||
|
400 INVALID_REQUEST 잘못된 요청입니다. The bad request.
|
||||||
|
400 NOT_ALLOWED_POINT_USE 포인트 사용이 불가한 카드로 카드 포인트 결제에 실패했습니다. Card point payment failed because the card cannot be used points.
|
||||||
|
400 INVALID_API_KEY 잘못된 시크릿키 연동 정보 입니다. Incorrect secret key.
|
||||||
|
400 INVALID_REJECT_CARD 카드 사용이 거절되었습니다. 카드사 문의가 필요합니다. Refer to card issuer/decline.
|
||||||
|
400 BELOW_MINIMUM_AMOUNT 신용카드는 결제금액이 100원 이상, 계좌는 200원이상부터 결제가 가능합니다. Payment can be made from 100 won or more by credit card, and 200 won or more for account.
|
||||||
|
400 INVALID_CARD_EXPIRATION 카드 정보를 다시 확인해주세요. (유효기간) Please check the card expiration date information again.
|
||||||
|
400 INVALID_STOPPED_CARD 정지된 카드 입니다. This is a suspended card.
|
||||||
|
400 EXCEED_MAX_DAILY_PAYMENT_COUNT 하루 결제 가능 횟수를 초과했습니다. You have exceeded the number of daily payments.
|
||||||
|
400 NOT_SUPPORTED_INSTALLMENT_PLAN_CARD_OR_MERCHANT 할부가 지원되지 않는 카드 또는 가맹점 입니다. This card or merchant does not support installment.
|
||||||
|
400 INVALID_CARD_INSTALLMENT_PLAN 할부 개월 정보가 잘못되었습니다. The installment month information is incorrect.
|
||||||
|
400 NOT_SUPPORTED_MONTHLY_INSTALLMENT_PLAN 할부가 지원되지 않는 카드입니다. This card does not support installment.
|
||||||
|
400 EXCEED_MAX_PAYMENT_AMOUNT 하루 결제 가능 금액을 초과했습니다. You have exceeded the amount you can pay per day.
|
||||||
|
400 NOT_FOUND_TERMINAL_ID 단말기번호(Terminal Id)가 없습니다. 토스페이먼츠로 문의 바랍니다. There is no Terminal Id. Please contact Toss Payments.
|
||||||
|
400 INVALID_AUTHORIZE_AUTH 유효하지 않은 인증 방식입니다. Invalid authentication
|
||||||
|
400 INVALID_CARD_LOST_OR_STOLEN 분실 혹은 도난 카드입니다. This is a lost or stolen card
|
||||||
|
400 RESTRICTED_TRANSFER_ACCOUNT 계좌는 등록 후 12시간 뒤부터 결제할 수 있습니다. 관련 정책은 해당 은행으로 문의해주세요. You can withdraw from this bank account after 12 hours from initial register. For related policies, please contact your bank.
|
||||||
|
400 INVALID_CARD_NUMBER 카드번호를 다시 확인해주세요. Please check your card number again.
|
||||||
|
400 INVALID_UNREGISTERED_SUBMALL 등록되지 않은 서브몰입니다. 서브몰이 없는 가맹점이라면 안심클릭이나 ISP 결제가 필요합니다. Not registered PG sub-mall business number.
|
||||||
|
400 NOT_REGISTERED_BUSINESS 등록되지 않은 사업자 번호입니다. Unregistered business registration number
|
||||||
|
400 EXCEED_MAX_ONE_DAY_WITHDRAW_AMOUNT 1일 출금 한도를 초과했습니다. You have exceeded the one-day withdrawal limit.
|
||||||
|
400 EXCEED_MAX_ONE_TIME_WITHDRAW_AMOUNT 1회 출금 한도를 초과했습니다. You have exceeded the one-time withdrawal limit.
|
||||||
|
400 CARD_PROCESSING_ERROR 카드사에서 오류가 발생했습니다. The card company was not able to process the request.
|
||||||
|
400 EXCEED_MAX_AMOUNT 거래금액 한도를 초과했습니다. The transaction amount limit has been exceeded.
|
||||||
|
400 INVALID_ACCOUNT_INFO_RE_REGISTER 유효하지 않은 계좌입니다. 계좌 재등록 후 시도해주세요. Invalid account. Please re-register the account and try again.
|
||||||
|
400 NOT_AVAILABLE_PAYMENT 결제가 불가능한 시간대입니다. Payment is unavailable at this time.
|
||||||
|
400 UNAPPROVED_ORDER_ID 아직 승인되지 않은 주문번호입니다. This order id has not been approved for payment.
|
||||||
|
400 EXCEED_MAX_MONTHLY_PAYMENT_AMOUNT 당월 결제 가능금액인 1,000,000원을 초과 하셨습니다. You have exceeded the allowed monthly payment amount of 1,000,000 KRW.
|
||||||
|
401 UNAUTHORIZED_KEY 인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다. Unauthorized secretKey or clientKey.
|
||||||
|
403 REJECT_ACCOUNT_PAYMENT 잔액부족으로 결제에 실패했습니다. Payment declined due to insufficient balance.
|
||||||
|
403 REJECT_CARD_PAYMENT 한도초과 혹은 잔액부족으로 결제에 실패했습니다. Payment failed due to limit exceeded or insufficient balance.
|
||||||
|
403 REJECT_CARD_COMPANY 결제 승인이 거절되었습니다. Payment confirm is rejected
|
||||||
|
403 FORBIDDEN_REQUEST 허용되지 않은 요청입니다. Not allowed request
|
||||||
|
403 REJECT_TOSSPAY_INVALID_ACCOUNT 선택하신 출금 계좌가 출금이체 등록이 되어 있지 않아요. 계좌를 다시 등록해 주세요. Your account invalidated. Please register another account.
|
||||||
|
403 EXCEED_MAX_AUTH_COUNT 최대 인증 횟수를 초과했습니다. 카드사로 문의해주세요. Maximum authentication attempts exceeded.
|
||||||
|
403 EXCEED_MAX_ONE_DAY_AMOUNT 일일 한도를 초과했습니다. You have exceeded your daily limit.
|
||||||
|
403 NOT_AVAILABLE_BANK 은행 서비스 시간이 아닙니다. It's not banking hour.
|
||||||
|
403 INVALID_PASSWORD 결제 비밀번호가 일치하지 않습니다. Incorrect password
|
||||||
|
403 INCORRECT_BASIC_AUTH_FORMAT 잘못된 요청입니다. ':' 를 포함해 인코딩해주세요. Invalid request. Please encode including the ':' character.
|
||||||
|
403 FDS_ERROR [토스페이먼츠] 위험거래가 감지되어 결제가 제한됩니다. 발송된 문자에 포함된 링크를 통해 본인인증 후 결제가 가능합니다. (고객센터: 1644-8051) A fraudulent transaction has been detected. To complete the payment, complete the authentication process through the link included in the text message. (Customer Service: 1644-8051)
|
||||||
|
404 NOT_FOUND_PAYMENT 존재하지 않는 결제 정보 입니다. Not found payment
|
||||||
|
404 NOT_FOUND_PAYMENT_SESSION 결제 시간이 만료되어 결제 진행 데이터가 존재하지 않습니다. Payment session does not exist because the session time has expired.
|
||||||
|
500 FAILED_PAYMENT_INTERNAL_SYSTEM_PROCESSING 결제가 완료되지 않았어요. 다시 시도해주세요. Payment has not been completed. please try again.
|
||||||
|
500 FAILED_INTERNAL_SYSTEM_PROCESSING 내부 시스템 처리 작업이 실패했습니다. 잠시 후 다시 시도해주세요. Internal system processing operation has failed. Please try again in a few minutes.
|
||||||
|
500 UNKNOWN_PAYMENT_ERROR 결제에 실패했어요. 같은 문제가 반복된다면 은행이나 카드사로 문의해주세요. Payment failed. If the same problem occurs, please contact your bank or credit card company.
|
||||||
Loading…
x
Reference in New Issue
Block a user