토스페이 연동가이드
API 레퍼런스자동 결제 API

자동결제(bill) 승인 요청

빌링키 생성결과 callback에서 전달받은 빌링키로 가맹점은 승인 요청을 할 수 있습니다. 유효시간이나 최대 횟수를 제한하지 않으니 승인요청 API를 활용해서 결제를 진행할 수 있습니다.

각 API 응답 필드와 에러코드는 사전 공지 없이 추가되거나 변경될 수도 있으니, 추가된 항목으로 인해 오류가 발생하지 않도록 처리에 유의해 주시기 바랍니다.

POSThttps://pay.toss.im/api/v1/billing-key/bill

요청 파라미터

apiKeystring필수

결제 가맹점의 API Key. 빌링키 생성요청 시 사용된 API Key와 동일해야 합니다. 결제 보안상 유의가 필요하며 웹 브라우저에 노출되지 않도록 가맹점의 관리가 필요합니다.

최대 30자
billingKeystring필수

빌링키. 빌링키 생성 콜백으로 전달받은 빌링키 값으로, 해당 사용자의 결제수단 식별 용도로 사용됩니다.

최대 50자
orderNostring필수

가맹점의 상품 주문번호. 최대 50자로 지정하며 숫자, 영문자도 가능하되 특수문자는 _ - : . ^ @ = 만 허용합니다. 주문번호는 가맹점에서 관리하는 유니크한 값이어야 합니다.

최소 0자최대 50자패턴: ^[\w-:.^@]+$
productDescstring필수

상품 설명

최소 0자최대 255자
spreadOutinteger (int32)필수

할부 개월 수. 카드 결제 시 0~12까지 지정 가능하며, 0은 일시불입니다. 5만원 미만 결제 건은 일시불만 가능합니다.

최대 2자
amountinteger (int64)필수

결제 요청 금액. 카드 가맹점은 최대 10억원, 그 외 가맹점은 최대 200만원까지 가능합니다.

최대 10자
amountTaxFreeinteger (int64)필수

결제 요청 금액 중 비과세 금액

최대 10자
amountTaxableinteger (int64)

결제 요청 금액 중 과세 금액

최대 10자
amountVatinteger (int64)

결제 요청 금액 중 부가세

최대 10자
amountServiceFeeinteger (int64)

결제 요청 금액 중 봉사료

최대 10자
cashReceiptboolean필수

토스 현금영수증 자동발행 기능을 사용한다면 매회 결제 시 true 값을, 미 사용하는 경우 false 값을 전달합니다. 기본값은 true입니다.

sendFailPushboolean필수

빌링키 결제가 실패할 경우, 사용자에게 결제 실패 알람을 발송합니다. 기본값 true

cashReceiptTradeOptionstring필수

현금영수증 발행 유형. CULTURE: 문화비, GENERAL: 일반(기본값), PUBLIC_TP: 대중교통

가능한 값:
GENERALCULTUREPUBLIC_TP
isPreApproveboolean

선승인 여부. true: 선승인 (포인트 사용 X), false 또는 null: 선승인 아님

metadatastring

메타데이터. 가맹점에서 관리하는 추가 정보

최대 1024자

응답 파라미터

codeinteger (int32)

응답코드. 0: 성공, -1: 실패 (실패 사유는 msg와 errorCode로 제공)

errorCodestring

에러 코드

msgstring

응답이 성공이 아닌 경우 설명 메시지

modestring

결제환경. LIVE: 실거래용, TEST: 테스트용

가능한 값:
TESTLIVE
payTokenstring

결제 토큰

최대 30자
orderNostring

주문번호

최대 50자
payMethodstring

결제수단. TOSS_MONEY: 토스머니, CARD: 카드

가능한 값:
TOSS_MONEYTOSSPAY_MONEYCARDACCOUNTRESELLER_CARDBNPL
amountinteger (int64)

결제 금액

transactionIdstring

거래 트랜잭션 아이디

최대 36자
approvalTimestring

승인 처리 시간 (yyyy-MM-dd HH:mm:ss)

최대 20자
discountedAmountinteger (int64)

할인된 금액. 할인 적용이 없으면 0

paidAmountinteger (int64)

지불수단 승인금액. 총 금액 중 할인된 금액을 제외한 순수 지불수단 승인금액

cardCompanyNamestring

카드사명

cardCompanyCodeinteger (int32)

카드사 코드

cardAuthorizationNostring

카드사 승인번호

최대 8자
salesCheckLinkUrlstring

신용카드 매출전표 호출 URL

최대 255자
spreadOutinteger (int32)

카드 할부개월. 5만원 미만 금액 및 일시불 결제의 경우 0

noInterestboolean

카드 무이자 적용 여부. true: 무이자, false: 일반

cardMethodTypestring

카드 타입. CREDIT: 신용카드, CHECK: 체크카드, PREPAYMENT: 선불카드

가능한 값:
CREDITCHECKPREPAYMENTNONE
accountBankNamestring

은행명

accountBankCodestring

은행코드

accountNumberstring

마스킹된 계좌번호

cashReceiptMgtKeystring

현금영수증 관리번호 식별값

최대 36자
cardNumberstring

마스킹된 카드번호

최대 20자
cardUserTypestring

카드 사용자 구분. PERSONAL: 본인 카드, PERSONAL_FAMILY: 가족 카드, CORP_PERSONAL: 법인지정 결제계좌 임직원, CORP_PRIVATE: 법인 공용

가능한 값:
NONEPERSONALPERSONAL_FAMILYCORP_PERSONALCORP_PRIVATECORP_COMPANYGIFT
cardBinNumberstring

카드 BIN 번호

최대 8자
cardNum4Printstring

카드번호 끝 4자리

최대 4자

요청 예제

응답 예제