연동하기
취소·삭제
승인된 결제의 환불(전액)과 미결제 청구서 삭제. 부분 취소는 지원하지 않습니다.
두 가지 요청 유형
REQUEST_TYPE | 대상 | 결과 상태 | 자금 이동 |
|---|---|---|---|
CANCEL | 승인 완료(APPROVE_COMPLETE) 건 | CANCEL_COMPLETE | 카드사 승인취소(환불) |
DELETE | 결제 전(STORE_REQUEST) 청구 | STORE_DELETE | 없음. 링크로 결제 불가 |
결제 취소(환불)
const r = await pay.cancelPayment({ transSeqno }); // amount 생략 → 승인금액 전액
console.log(r.canceledAmount);APPROVAL_AMOUNT는 원거래 승인금액과 정확히 같아야 합니다. 다르면 오류로 거절됩니다. 부분 취소는 지원하지 않습니다. 일부 환불이 필요하면 전액 취소 후 새 결제를 만드세요.- 이미 취소된 거래에 다시 요청하면
RESULT_CODE: "0000"으로 성공 응답합니다(멱등). - 카드 단말·키오스크에서 승인된 건(
PAY_PATH가KIOSK·VAN·CARD)은 API로 취소할 수 없습니다(4008). 승인한 단말에서 취소합니다. - 취소가 카드사에서 거절되면
RESULT_CODE: "4004"와 함께 상태가CANCEL_FAIL이 됩니다. 조회 후 카리페이에 문의하세요. - 취소 요청은 같은 거래에 대해 직렬화됩니다. 동시에 두 번 보내도 한 번만 처리됩니다.
미결제 청구서 삭제
JavaScript
await pay.deleteBill({ transSeqno, amount: 128000, mobileNo: "01012345678" });- 고객이 아직 결제하지 않은 링크를 닫습니다. 잘못 보낸 청구, 기한이 지난 청구에 씁니다.
- 결제가 이미 승인된 건은 삭제할 수 없습니다. 취소를 쓰세요.
취소 후 주문 상태
취소 결과도 searchPayment로 확인해 주문을 CANCELED로 반영하고, 취소 시각(APPROVAL_CANCEL_DATETIME)과 취소금액(CANCEL_AMOUNT)을 기록하세요. 관리자 콘솔에서 취소된 경우에는 CONFIRM_URL로 취소 알림이 올 수 있으니 콜백 핸들러가 취소 상태도 처리하도록 합니다.
청구서 API를 쓰는 경우
청구 서버가 만든 청구서는 게이트웨이 취소 API를 직접 부르지 말고 청구서 취소·삭제 API 또는 콘솔을 쓰세요. 청구서 상태와 매출 집계가 함께 갱신됩니다.
문서에 없는 내용이나 오류는 bellight@goatheaven.com 또는 지원 문의로 알려주세요.