인증 방식
🔑 API Key
요금
거래 수수료 1.5~3.3% (협의 가능)
Base URL
api.tosspayments.com
태그
결제, 카드
서비스 소개
토스페이먼츠는 한국에서 가장 널리 사용되는 결제 API입니다. 신용/체크카드, 계좌이체, 토스페이, 카카오페이, 네이버페이 등 모든 결제 수단을 단일 API로 통합 지원합니다. 위젯 방식으로 결제 UI를 쉽게 삽입할 수 있습니다.
🚀 시작하기
- 1
개발자 센터 가입
developers.tosspayments.com → 회원가입 후 테스트 키 자동 발급
- 2
SDK 설치
npm install @tosspayments/payment-widget-sdk
- 3
위젯 렌더링
loadPaymentWidget()으로 결제 UI 삽입
- 4
서버 승인
결제 완료 후 서버에서 /v1/payments/confirm API 호출
📋 응답 예시
{
"paymentKey": "tviva20230428...",
"orderId": "order-1234",
"orderName": "토스 T셔츠 외 2건",
"status": "DONE",
"totalAmount": 15000,
"method": "카드",
"card": {
"issuerCode": "61",
"acquirerCode": "31",
"number": "123456******1234"
}
}💡 코드 예제
JavaScriptReact (위젯)
import { loadPaymentWidget } from '@tosspayments/payment-widget-sdk'
// 위젯 초기화
const widget = await loadPaymentWidget(
'test_ck_YOUR_CLIENT_KEY',
'CUSTOMER_KEY' // 비로그인: PaymentWidget.ANONYMOUS
)
// 결제 UI 렌더
await widget.renderPaymentMethods('#payment-widget', { value: 15000 })
await widget.renderAgreement('#agreement')
// 결제 요청
await widget.requestPayment({
orderId: 'order-' + Date.now(),
orderName: '주문명',
customerName: '홍길동',
customerEmail: 'user@example.com',
successUrl: window.location.origin + '/success',
failUrl: window.location.origin + '/fail',
})PythonPython (결제 승인)
import requests
import base64
SECRET_KEY = "test_sk_YOUR_SECRET_KEY"
encoded = base64.b64encode(f"{SECRET_KEY}:".encode()).decode()
res = requests.post(
"https://api.tosspayments.com/v1/payments/confirm",
headers={
"Authorization": f"Basic {encoded}",
"Content-Type": "application/json",
},
json={
"paymentKey": "PAYMENT_KEY",
"orderId": "ORDER_ID",
"amount": 15000,
},
)
print(res.json())cURLcURL (결제 승인)
curl -X POST https://api.tosspayments.com/v1/payments/confirm \
-H "Authorization: Basic $(echo -n 'test_sk_YOUR_SECRET_KEY:' | base64)" \
-H "Content-Type: application/json" \
-d '{
"paymentKey": "PAYMENT_KEY",
"orderId": "ORDER_ID",
"amount": 15000
}'