cancelPayment

@JvmName(name = "cancelPaymentSuspend")
suspend fun cancelPayment(paymentId: String, amount: Long? = null, taxFreeAmount: Long? = null, vatAmount: Long? = null, reason: String, requester: CancelRequester? = null, currentCancellableAmount: Long? = null, refundAccount: CancelPaymentBodyRefundAccount? = null): CancelPaymentResponse

결제 취소

결제 취소를 요청합니다.

Parameters

paymentId

결제 건 아이디

amount

취소 총 금액

값을 입력하지 않으면 전액 취소됩니다.

taxFreeAmount

취소 금액 중 면세 금액

값을 입력하지 않으면 전액 과세 취소됩니다.

vatAmount

취소 금액 중 부가세액

값을 입력하지 않으면 자동 계산됩니다.

reason

취소 사유

requester

취소 요청자

고객에 의한 취소일 경우 Customer, 관리자에 의한 취소일 경우 Admin으로 입력합니다.

currentCancellableAmount

결제 건의 취소 가능 잔액

본 취소 요청 이전의 취소 가능 잔액으로써, 값을 입력하면 잔액이 일치하는 경우에만 취소가 진행됩니다. 값을 입력하지 않으면 별도의 검증 처리를 수행하지 않습니다.

refundAccount

환불 계좌

계좌 환불일 경우 입력합니다. 계좌 환불이 필요한 경우는 가상계좌 환불, 휴대폰 익월 환불 등이 있습니다.

Throws

취소 가능 잔액 검증에 실패한 경우

결제 취소 금액이 취소 가능 금액을 초과한 경우

취소 과세 금액이 취소 가능한 과세 금액을 초과한 경우

취소 면세 금액이 취소 가능한 면세 금액을 초과한 경우

요청이 거절된 경우

요청된 입력 정보가 유효하지 않은 경우

결제가 이미 취소된 경우

결제 건이 존재하지 않는 경우

결제가 완료되지 않은 경우

PG사에서 오류를 전달한 경우

부분 취소 시, 취소하게 될 경우 남은 금액이 프로모션의 최소 결제 금액보다 작아지는 경우

면세 금액 등 하위 항목들의 합이 전체 취소 금액을 초과한 경우

인증 정보가 올바르지 않은 경우

API 응답이 알 수 없는 형식인 경우