Skip to content

Payment API

매장의 결제 정보를 관리하는 API예요. 결제 내역과 결제 수단별 세부 정보를 확인할 수 있어요. 새로운 결제 내역이 승인되거나 취소된 경우 웹훅을 통해 이벤트를 수신할 수 있어요.

Types

결제 (Payment)

결제 금액과 내역, 결제 수단별 세부 데이터를 포함하는 개념이에요.

NameTypeRequiredDescriptionExample
idString결제 ID"640000000000000000"
merchantIdLong매장 ID42
orderIdString주문 ID"620000000000000000"
statePaymentState결제 상태"APPROVED"
sourceTypePaymentSourceType결제수단 대분류"CARD"
paymentMethodString결제수단 세부 분류"CARD_NFC"
vanStringVAN"NICE"
amountLong결제금액3200
taxAmountLong세액291
supplyAmountLong공급가액2909
taxExemptAmountLong면세금액0
tipAmountLong봉사료0
approvedNoString승인번호"00000000"
approvedAttimestamp승인 시각"2025-09-01T00:00:00"
cancelledAttimestamp취소 시각"2025-09-01T00:00:00"
cashDetailsPaymentCashDetails현금결제 세부 내역
cardDetailsPaymentCardDetails카드결제 세부 내역
prepaidValueDetailsPaymentPrepaidValueDetails선불지급수단 결제 세부 내역
accountTransferDetailsPaymentAccountTransferDetails계좌이체 세부 내역
easyPayDetailsPaymentEasyPayDetails간편결제 세부 내역
externalDetailsPaymentExternalDetails외부 결제수단 세부 내역
pgDetailsPaymentPgDetailsPG사 결제 세부 내역
cashReceiptPaymentCashReceipt현금영수증 세부 내역
settlementPaymentSettlement정산 관련 정보
createdAttimestamp생성 시각"2025-09-01T00:00:00"
updatedAttimestamp변경 시각"2025-09-01T00:00:00"

결제 상태 (PaymentState)

ValueDescription
"APPROVED"승인됨
"CANCELLED"취소됨
"UNDEFINED"

결제 수단 분류 (PaymentSourceType)

ValueDescription
"CASH"현금
"CARD"카드
"PREPAID_VALUE"선불지급수단
"ACCOUNT_TRANSFER"계좌이체
"BARCODE"간편결제
"EXTERNAL"외부 결제수단
"UNDEFINED"

현금결제 상세 (PaymentCashDetails)

NameTypeRequiredDescriptionExample
buyerSuppliedAmountLong고객이 지불한 금액5000
changeBackAmountLong거스름돈1000

카드결제 상세 (PaymentCardDetails)

NameTypeRequiredDescriptionExample
cardTypeCardType카드 종류"CREDIT"
cardBrandString발급사명
cardNoString카드번호 (마스킹 적용)"00000000********"
cardBrandIdString발급사 코드
acquirerString매입사명
acquirerIdString매입사 코드
balanceLong잔액
vanStringVAN"NICE"
approvalNoString승인번호"12345678"
amountLong결제 금액3200
installmentMonthString할부개월 수"00"

카드 종류 (CardType)

ValueDescription
"CREDIT"신용카드
"DEBIT"직불카드
"PREPAID"선불카드
"FOREIGN"해외 카드 사용
"UNDEFINED"

선불지급수단 결제 상세 (PaymentPrepaidValueDetails)

NameTypeRequiredDescriptionExample
providerString선불지급수단 제공사
codeString선불지급수단 코드 (상품권번호 등)
amountLong사용 금액3200

계좌이제 상세 (PaymentAccountTransferDetails)

NameTypeRequiredDescriptionExample
bankCodeInt은행 코드20
accountNumberString계좌번호 (마스킹 적용)"110-***-******"

간편결제 상세 (PaymentEasyPayDetails)

NameTypeRequiredDescriptionExample
providerString간편결제 제공사"토스페이"
acquirerString매입사"토스머니"
acquirerIdString매입사 코드"TS"
payTypePaymentEasyPayType간편결제에 연결된 결제 수단 종류"ACCOUNT"
amountLong결제 금액3200

간편결제 결제수단 종류 (PaymentEasyPayType)

ValueDescription
"ACCOUNT"계좌
"CARD"카드
"UNDEFINED"

외부 결제수단 상세 (PaymentExternalDetails)

NameTypeRequiredDescriptionExample
sourceString결제수단명"모바일 상품권"

PG사 결제 상세 (PaymentPgDetails)

NameTypeRequiredDescriptionExample
providerStringPG 벤더명"토스페이먼츠"
transactionIdStringPG 거래 ID"12345"

현금영수증 상세 (PaymentCashReceipt)

NameTypeRequiredDescriptionExample
issuerTypePaymentCashReceiptIssuerType발급 종류"CONSUMER"
issuanceTypePaymentCashReceiptIssuanceType발급 방법"PHONE"
identityNumberString발급 방법에 해당하는 식별번호 (휴대전화 번호 / 사업자번호 / 카드 번호)"**********"
selfIssuanceBoolean자진 발급 여부true
issueNumberString발급 번호"0000000000"
issuedAttimestamp발급 시각"2025-09-01T00:00:00"
amountLong발급 금액3200

현금영수증 발급 종류 (PaymentCashReceiptIssuerType)

ValueDescription
"CONSUMER"개인 소득공제용
"BUSINESSES"사업자 지출증빙용
"UNDEFINED"

현금영수증 발급 방법 (PaymentCashReceiptIssuanceType)

ValueDescription
"PHONE"핸드폰 번호
"BUSINESS_NUMBER"사업자 번호
"CARD"현금영수증 카드
"UNDEFINED"

결제 정산 정보 (PaymentSettlement)

NameTypeRequiredDescriptionExample
settlementTypePaymentSettlementType정산 주체 종류"ACQUIRER"
settlementSubjectString정산 주체

정산 주체 종류 (PaymentSettlementType)

ValueDescription
"ACQUIRER"매입사
"PG"PG사
"UNDEFINED"

Methods

결제 단건 조회

PropertyValue
MethodGET
Path/api-public/openapi/v1/merchants/{merchantId}/payment/payments/{paymentId}
Response TypePayment
Description매장의 결제 하나를 조회해요.

요청 파라미터

ParameterLocationTypeRequiredDefaultDescription
merchantIdPathLong-매장 ID
paymentIdPathString-결제 ID

주문의 결제건 모두 조회

PropertyValue
MethodGET
Path/api-public/openapi/v1/merchants/{merchantId}/payment/payments/by-order-id
Response TypePayment[]
Description주문 하나의 결제 건을 모두 조회해요.

요청 파라미터

ParameterLocationTypeRequiredDefaultDescription
merchantIdPathLong-매장 ID
orderIdQueryString-주문 ID

취소된 결제 기록

WARNING

취소된 결제 기록 API는 추후 공지가 있을 때까지 승인을 받은 앱에서만 사용할 수 있어요. 문의사항이 있으신 경우 개발자 센터 지원 이메일로 문의해주세요.

PropertyValue
MethodPOST
Path/api-public/openapi/v1/merchants/{merchantId}/payment/payments/{paymentId}/cancel
Response TypePayment
Description취소된 결제를 기록해요.
주문에 등록한 결제 내역을 취소 상태로 기록해요. 실제로 결제가 환불 처리되는 것이 아니라는 점에 유의해야 해요. 주문 생성 API를 통해 생성한 주문의 결제 내역에 대해서만 취소 처리할 수 있어요.

요청 파라미터

ParameterLocationTypeRequiredDefaultDescription
merchantIdPathLong-매장 ID
paymentIdPathString-결제 ID

요청 Body

NameTypeRequiredDescriptionExample
cancelledAttimestamp취소 시각"2025-09-01T00:00:00"

Events

결제 승인됨 (payment.payment.approved.v1)

PropertyValue
Event Typepayment.payment.approved.v1
Description결제가 승인되었어요.

이벤트 Payload

NameTypeRequiredDescriptionExample
paymentPayment승인된 결제 정보

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "payment.payment.approved.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "payment": {
            "id": "640000000000000000",
            "merchantId": 42,
            "orderId": "620000000000000000",
            "state": "APPROVED",
            "sourceType": "CASH",
            "paymentMethod": "CASH",
            "amount": 3200,
            "taxAmount": 291,
            "supplyAmount": 2909,
            "taxExemptAmount": 0,
            "tipAmount": 0,
            "approvedNo": "00000000",
            "approvedAt": "2025-09-01T00:00:00",
            "cashDetails": {
                "buyerSuppliedAmount": 3200,
                "changeBackAmount": 0
            },
            "createdAt": "2025-09-01T00:00:00",
            "updatedAt": "2025-09-01T00:00:00"
        }
    }
}

결제 취소됨 (payment.payment.cancelled.v1)

PropertyValue
Event Typepayment.payment.cancelled.v1
Description결제가 취소되었어요.

이벤트 Payload

NameTypeRequiredDescriptionExample
paymentPayment취소된 결제 정보

이벤트 Body 예시

json
{
    "id": "000000000000000000000000",
    "type": "payment.payment.cancelled.v1",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "merchantId": 42,
    "app": "my-awesome-app",
    "data": {
        "payment": {
            "id": "640000000000000000",
            "merchantId": 42,
            "orderId": "620000000000000000",
            "state": "CANCELLED",
            "sourceType": "CASH",
            "paymentMethod": "CASH",
            "amount": 3200,
            "taxAmount": 291,
            "supplyAmount": 2909,
            "taxExemptAmount": 0,
            "tipAmount": 0,
            "approvedNo": "00000000",
            "approvedAt": "2025-09-01T00:00:00",
            "cancelledAt": "2025-09-01T00:00:00",
            "cashDetails": {
                "buyerSuppliedAmount": 3200,
                "changeBackAmount": 0
            },
            "createdAt": "2025-09-01T00:00:00",
            "updatedAt": "2025-09-01T00:00:00"
        }
    }
}