결제 예약 관련 API

결제 예약과 관련된 API 기능을 제공합니다.

주어진 아이디에 대응되는 결제 예약 건을 조회합니다.

주어진 조건에 맞는 결제 예약 건들을 조회합니다. filter.from, filter.until 파라미터의 기본값이 결제 시점 기준 지난 90일에 속하는 건을 조회하도록 되어 있으니, 미래 예약 상태의 건을 조회하기 위해서는 해당 파라미터를 직접 설정해 주셔야 합니다.

결제 예약 건을 취소합니다. billingKey, scheduleIds 중 하나 이상은 필수로 입력합니다. billingKey 만 입력된 경우 -> 해당 빌링키로 예약된 모든 결제 예약 건들이 취소됩니다. scheduleIds 만 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다. billingKey, scheduleIds 모두 입력된 경우 -> 입력된 결제 예약 건 아이디에 해당하는 예약 건들이 취소됩니다. 단, 예약한 빌링키가 입력된 빌링키와 일치하지 않으면 실패합니다. 위 정책에 따라 선택된 결제 예약 건들 중 하나라도 취소에 실패할 경우, 모든 취소 요청이 실패합니다.

타입 정의

API 요청/응답의 각 필드에서 사용되는 타입 정의들을 확인할 수 있습니다
Address: OneLineAddress | SeparatedAddress
분리 형식 주소

oneLine(한 줄 형식 주소) 필드는 항상 존재합니다.

AlreadyPaidOrWaitingError: { type, message }
결제가 이미 완료되었거나 대기중인 경우
BillingKeyAlreadyDeletedError: { type, message }
빌링키가 이미 삭제된 경우
BillingKeyNotFoundError: { type, message }
빌링키가 존재하지 않는 경우
BillingKeyPaymentScheduleInput: { storeId, billingKey, channelKey, ... }
빌링키 결제 예약 요청 입력 정보
CashReceiptInput: { type, customerIdentityNumber }
현금영수증 입력 정보
CashReceiptInputType: "PERSONAL" | "CORPORATE" | "NO_RECEIPT"
입력 시 발급 유형
Country: "AD" | "AE" | "AF" | ...
국가
CreatePaymentScheduleBody: { payment, timeToPay }
결제 예약 요청 입력 정보
CreatePaymentScheduleResponse: { schedule }
결제 예약 성공 응답
Currency: "KRW" | "USD" | "JPY" | ...
통화
Customer: { id, name, birthYear, ... }
고객 정보
CustomerInput: { id, name, birthYear, ... }
고객 정보 입력 정보
CustomerNameInput: { full, separated }
고객 이름 입력 정보

두 개의 이름 형식 중 한 가지만 선택하여 입력해주세요.

CustomerSeparatedName: { first, last }
고객 분리형 이름
FailedPaymentSchedule: { status, id, merchantId, ... }
결제 실패 상태
ForbiddenError: { type, message }
요청이 거절된 경우
Gender: "MALE" | "FEMALE" | "OTHER"
성별
GetPaymentSchedulesBody: { page, sort, filter }
결제 예약 다건 조회를 위한 입력 정보

조회 결과는 결제 예정 시점(timeToPay) 기준 최신 순으로 정렬됩니다.

GetPaymentSchedulesResponse: { items, page }
결제 예약 다건 조회 성공 응답 정보
InvalidRequestError: { type, message }
요청된 입력 정보가 유효하지 않은 경우

허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.

Locale: "KO_KR" | "EN_US" | "ZH_CN" | ...
결제 언어
OneLineAddress: { type, oneLine }
한 줄 형식 주소

한 줄 형식 주소만 존재합니다.

PageInfo: { number, size, totalCount }
반환된 페이지 결과 정보
PageInput: { number, size }
다건 조회 API 에 사용되는 페이지 입력 정보
PaymentAmountInput: { total, taxFree, vat }
금액 세부 입력 정보
PaymentProduct: { id, name, tag, ... }
상품 정보
PaymentProductType: "PHYSICAL" | "DIGITAL"
상품 유형
PaymentSchedule: FailedPaymentSchedule | PendingPaymentSchedule | RevokedPaymentSchedule | ...
결제 예약 건
PaymentScheduleAlreadyExistsError: { type, message }
결제 예약건이 이미 존재하는 경우
PaymentScheduleAlreadyProcessedError: { type, message }
결제 예약건이 이미 처리된 경우
PaymentScheduleAlreadyRevokedError: { type, message }
결제 예약건이 이미 취소된 경우
PaymentScheduleFilterInput: { storeId, billingKey, from, ... }
결제 예약 건 다건 조회를 위한 입력 정보
PaymentScheduleNotFoundError: { type, message }
결제 예약건이 존재하지 않는 경우
PaymentScheduleSortBy: "CREATED_AT" | "TIME_TO_PAY" | "COMPLETED_AT" | ...
결제 예약 건 정렬 기준
PaymentScheduleSortInput: { by, order }
결제 예약 건 다건 조회 시 정렬 조건
PaymentScheduleStatus: "SCHEDULED" | "STARTED" | "SUCCEEDED" | ...
결제 예약 건 상태
PaymentScheduleSummary: { id }
결제 예약 건
PendingPaymentSchedule: { status, id, merchantId, ... }
결제 완료 대기 상태
RevokePaymentSchedulesBody: { storeId, billingKey, scheduleIds }
결제 예약 건 취소 요청 입력 정보
RevokePaymentSchedulesResponse: { revokedScheduleIds, revokedAt }
결제 예약 건 취소 성공 응답
RevokedPaymentSchedule: { status, id, merchantId, ... }
결제 예약 취소 상태
ScheduledPaymentSchedule: { status, id, merchantId, ... }
결제 예약 완료 상태
SeparatedAddress: { type, oneLine, addressLine1, ... }
분리 형식 주소

한 줄 형식 주소와 분리 형식 주소 모두 존재합니다. 한 줄 형식 주소는 분리 형식 주소를 이어 붙인 형태로 생성됩니다.

SeparatedAddressInput: { addressLine1, addressLine2, city, ... }
분리 형식 주소 입력 정보
SortOrder: "DESC" | "ASC"
정렬 방식
StartedPaymentSchedule: { status, id, merchantId, ... }
결제 시작 상태
SucceededPaymentSchedule: { status, id, merchantId, ... }
결제 성공 상태
SumOfPartsExceedsTotalAmountError: { type, message }
면세 금액 등 하위 항목들의 합이 전체 결제 금액을 초과한 경우
UnauthorizedError: { type, message }
인증 정보가 올바르지 않은 경우