메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt

Use this file to discover all available pages before exploring further.

결제 페이지
Dodo Payments 체크아웃은 디지털 제품 및 SaaS 비즈니스를 위해 전환율에 최적화된, 전 세계 규정 준수 체크아웃입니다. 여러 통화, 언어, 세금, 할인, 애드온 및 비즈니스 친화적인 규정 준수 워크플로를 지원합니다.

Checkout Sessions API

호스티드 체크아웃 세션을 프로그래밍 방식으로 생성합니다.

Preview Checkout

세션 생성 전에 가격과 세금을 계산합니다.

Payment Methods

지원되는 결제 수단 및 구성 옵션.

적응형 통화

적응형 통화는 고객이 선호하는 지역 통화로 결제할 수 있도록 하여 신뢰와 전환율을 향상시킵니다.

작동 방식

  1. 활성화: 설정 → 비즈니스에서 적응형 통화를 활성화합니다.
  2. 선택: 고객은 결제 시 직접 통화를 변경할 수 있습니다.
  3. 변환: 가격은 실시간 환율을 사용하여 동적으로 변환됩니다.
  4. 표시: 최종 결제 금액은 결제 전에 투명하게 표시됩니다.
결제 시 통화 선택기

Adaptive Currency

지원되는 통화, 환전 수수료, 환불 처리에 대해 자세히 알아보세요.

다국어 체크아웃

Dodo Payments는 체크아웃 페이지에서 여러 언어를 지원하여 고객이 편안한 언어로 결제를 완료할 수 있도록 합니다.
결제 시 언어 선택기

주요 하이라이트

  • 체크아웃에서 직접 사용할 수 있는 언어 선택기
  • UI 텍스트, 레이블 및 시스템 메시지가 현지화됨
  • 접근성과 국제 전환율 향상

지원되는 언어

체크아웃 페이지는 21개 언어를 지원합니다:
언어코드
아랍어ar
카탈루냐어ca
중국어zh
네덜란드어nl
영어en
프랑스어fr
독일어de
히브리어he
인도네시아어id
이탈리아어it
일본어ja
한국어ko
말레이어ms
폴란드어pl
포르투갈어pt
루마니아어ro
러시아어ru
스페인어es
스웨덴어sv
태국어th
터키어tr
특정 언어를 강제로 설정하려면 체크아웃 세션 생성 시 force_language 매개변수를 설정하세요. 자세한 내용은 Checkout Sessions API를 참고하세요.

자동 세금 계산

세금은 고객의 청구 위치를 기반으로 자동 계산되어 GST, VAT 및 판매세 요건을 수동 설정 없이 준수할 수 있도록 합니다.

세금 계산 작동 방식

1

Location Detection

고객의 국가(및 적용되는 경우 지역)를 기준으로 세금 규칙이 적용됩니다.
2

Dynamic Updates

세금 금액은 다음과 같은 경우 자동으로 업데이트됩니다:
  • 국가 변경
  • 주소가 업데이트될 때
3

Transparent Display

결제 전에 최종 세금 내역이 명확히 표시됩니다.
세금 계산은 완전히 자동화되어 있으며 표준 디지털 상품 및 SaaS 제품에는 수동 구성이 필요 없습니다.

사업자 세금 ID 지원

등록된 사업체의 경우 체크아웃에서 고객이 VAT/GST 번호와 같은 사업자 세금 ID를 입력할 수 있습니다.

세금 ID를 입력할 경우

  • 세금 적용 대상 여부가 실시간으로 검증됩니다
  • 해당되는 세금 면제 또는 역급징수 규칙이 적용됩니다
  • 세금 금액이 체크아웃에서 즉시 업데이트됩니다
결제 시 사업자 세금 ID 입력
이는 사업 고객이 세금 면제를 받을 수 있는 B2B SaaS 및 디지털 서비스에서 특히 유용합니다.

할인 코드

고객은 대시보드에서 생성한 할인 또는 프로모션 코드를 체크아웃 페이지에서 바로 적용할 수 있습니다.

체크아웃 경험

  1. 고객이 할인 코드를 입력합니다
  2. 할인이 즉시 검증됩니다
  3. 업데이트된 가격 및 절감액이 명확히 표시됩니다
결제 시 할인 코드 입력

API 통합

하나 이상의 중첩 할인 코드를 미리 적용하거나 할인 입력 필드를 활성화하기:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  discount_codes: ['WELCOME20'], // Pre-apply one or more codes (max 20, applied in order)
  feature_flags: {
    allow_discount_code: true // Show discount input field
  },
  return_url: 'https://yoursite.com/return'
});
discount_codes는 최대 20개의 코드를 배열로 받아 순서대로 중첩합니다. 단수 discount_code 필드는 더 이상 사용되지 않지만 여전히 작동합니다 — 기존 통합은 즉시 변경할 필요가 없습니다. 중첩 사용 및 더 풍부한 응답 형태로 전환할 수 있을 때 discount_codes로 마이그레이션하세요.

Discount Codes

할인 코드를 생성하고 관리하는 방법을 배우세요.

Validate Discount by Code

코드 이름을 사용하여 할인 검색 및 검증.

스마트 주소 수집

결제는 빠른 완료를 위해 유연한 주소 입력을 지원합니다.

사용 가능한 옵션

옵션설명
Google 주소 자동 완성자동 완성으로 빠른 선택
수동 입력완전한 주소에 대한 전체 제어
국가 선택세금 및 준수 논리를 주도
주소 수집은 전환을 극대화하면서 사용자 준수를 보장하기 위해 속도, 정확성 및 글로벌 범위를 조정합니다.

전화번호 수집

결제에서 전화번호 필드가 나타나는지 여부와 필수인지 여부는 체크아웃 세션 기능 플래그를 사용하여 제어합니다.
플래그기본값동작
allow_phone_number_collectiontrue결제 양식에 전화번호 필드 표시
require_phone_numberfalse전화번호 필드를 필수로 만듭니다 (양식 검증이 비어 있지 않은 값을 강요)
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_abc', quantity: 1 }],
  feature_flags: {
    allow_phone_number_collection: true,
    require_phone_number: true
  },
  return_url: 'https://yoursite.com/return'
});
require_phone_number: trueallow_phone_number_collection: true가 필요합니다. 전화 수집이 비활성화된 상태에서 전화번호가 필요한 세션은 API가 거부합니다.
require_phone_number를 B2B SaaS, 규제 산업 또는 지원, 사기 검토 또는 준수를 위한 확인된 연락 채널이 필요한 흐름에서 사용하세요.

사용자 정의 필드

결제 중 사용자 정의 양식 필드를 정의하여 고객으로부터 추가 정보를 수집합니다. 회사 이름, 팀 크기, 추천 소스 또는 기타 비즈니스 관련 정보를 수집하는 데 유용합니다.

사용 가능한 필드 유형

유형설명
text단일 라인 텍스트 입력
number숫자 입력
email검증된 이메일 주소
url검증된 URL
date날짜 선택기
dropdown사전 정의된 옵션에서 선택
boolean예/아니오 토글

예제

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  custom_fields: [
    {
      key: 'company_name',
      label: 'Company Name',
      field_type: 'text',
      required: true
    },
    {
      key: 'team_size',
      label: 'Team Size',
      field_type: 'dropdown',
      required: true,
      options: ['1-10', '11-50', '51-200', '200+']
    }
  ],
  return_url: 'https://yoursite.com/return'
});
고객 응답은 자동으로 웹훅 페이로드 (payment.succeeded, subscription.active)와 API 응답을 통해 custom_field_responses 배열에 포함됩니다. 체크아웃 세션당 최대 5개의 사용자 정의 필드를 정의할 수 있습니다.

Custom Fields Guide

사용자 정의 필드 구성 및 응답 접근에 대해 더 알아보세요.

개인정보 보호정책 및 약관 동의

법적 및 준수 투명성을 보장하기 위해:
이는 GDPR 준수를 포함한 글로벌 소비자 보호 및 데이터 개인 정보 보호 요구 사항을 충족하도록 돕습니다.

컬렉션 체크아웃

제품 컬렉션은 고객이 여러 관련 제품(예: 스타터, 프로, 엔터프라이즈 플랜)을 발견하고 선택할 수 있는 통합된 결제 경험을 제공합니다.

작동 방식

  1. 모든 제품 표시: 고객은 컬렉션의 모든 활성 제품을 확인합니다
  2. 첫 번째 제품 자동 선택: 컬렉션의 첫 번째 제품이 자동으로 선택됩니다
  3. 옵션 비교: 고객은 가격 및 기능을 비교하여 선택합니다
  4. 단일 선택: 제품 선택 후 표준 결제 흐름으로 진행

컬렉션 체크아웃 생성

const session = await client.checkoutSessions.create({
  product_collection_id: 'pdc_abc123',
  product_cart: [], // Required: pass an empty array for collection checkout
  return_url: 'https://yoursite.com/return'
});
product_collection_id를 사용할 때, 빈 product_cart 배열을 전달합니다. 할인 코드는 세션 생성 시 미리 적용될 수 없습니다.

Product Collections

통합된 체크아웃 경험을 위한 제품 컬렉션 생성 및 관리 방법을 배우세요.

체크아웃 세션 구성

Checkout Sessions API를 사용하여 체크아웃 동작을 제어합니다:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customer: {
    email: 'customer@example.com',
    name: 'Jane Doe'
  },
  billing_currency: 'EUR', // Set specific currency
  discount_codes: ['PROMO10'],
  feature_flags: {
    allow_discount_code: true
  },
  return_url: 'https://yoursite.com/return',
  cancel_url: 'https://yoursite.com/pricing', // Optional: where to redirect on cancel
  metadata: {
    order_ref: 'ORD-12345'
  }
});
결제 후, 고객은 return_url로 리디렉션되며 쿼리 매개변수가 자동으로 추가됩니다 — payment_id 또는 subscription_id, status, emaillicense_key (적용 가능한 경우 포함). Checkout Sessions 가이드에서 전체 목록을 확인하세요.

Checkout Sessions API

체크아웃 세션에 대한 완전한 API 참조.

Checkout Integration Guide

체크아웃 통합에 대한 단계별 가이드.

체크아웃 테마 사용자 정의

API를 통해 체크아웃 세션을 생성할 때 customization.theme_config 매개변수를 사용하여 브랜드에 맞게 체크아웃 페이지의 모양을 사용자 정의하세요. 밝은 모드와 어두운 모드 모두에 대해 색상, 글꼴, 테두리 반경, 버튼 텍스트를 구성합니다.
사용자 정의된 테마 체크아웃 페이지

Design & Theme Customization

대시보드에서 사전 구축된 테마, 타이포그래피, 색상 및 실시간 미리보기를 사용하여 시각적으로 테마를 구성하세요.
이 섹션은 customization.theme_config를 사용한 서버 측 API 테마 구성을 다룹니다. Checkout SDK (오버레이 또는 인라인 체크아웃)를 사용하는 경우 오버레이 체크아웃 또는 인라인 체크아웃의 테마 사용자 정의 섹션을 참조하세요. camelCase 속성(예: bgPrimary 대신 bg_primary)을 사용합니다.

테마 구성 옵션

속성설명
light라이트 모드에 대한 색상 구성
dark다크 모드에 대한 색상 구성
font_primary_url기본 글꼴의 URL
font_secondary_url보조 글꼴의 URL
font_size글꼴 크기: xs, sm, md, lg, xl, 2xl
font_weight글꼴 굵기: normal, medium, bold, extraBold
radiusUI 요소의 테두리 반경 (예: 4px, 0.5rem, 8px)
pay_button_text결제 버튼의 사용자 정의 텍스트 (예: “구매 완료”, “지금 구독”)

색상 구성 (라이트/다크 모드)

각 모드 (lightdark)는 다음 색상 속성을 지원합니다:
속성설명
bg_primary배경 기본 색상
bg_secondary배경 보조 색상
text_primary텍스트 기본 색상
text_secondary텍스트 보조 색상
text_placeholder텍스트 자리 표시자 색상
text_error텍스트 오류 색상
text_success텍스트 성공 색상
border_primary테두리 기본 색상
border_secondary테두리 보조 색상
button_primary기본 버튼 배경 색상
button_primary_hover기본 버튼 호버 색상
button_secondary보조 버튼 배경 색상
button_secondary_hover보조 버튼 호버 색상
button_text_primary기본 버튼 텍스트 색상
button_text_secondary보조 버튼 텍스트 색상
input_focus_border입력 포커스 테두리 색상
모든 색상 필드는 표준 CSS 색상 형식을 받아들입니다:
  • Hex: #fff, #ffffff, #ffffffff
  • RGB/RGBA: rgb(255, 255, 255), rgba(255, 255, 255, 0.5)
  • HSL/HSLA: hsl(120, 100%, 50%), hsla(120, 100%, 50%, 0.5)
  • 이름 있는 색상: red, blue, transparent

예제

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customization: {
    theme_config: {
      // Custom fonts
      font_primary_url: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap',
      font_size: 'md',
      font_weight: 'medium',
      radius: '8px',
      pay_button_text: 'Complete Purchase',
      
      // Light mode colors
      light: {
        bg_primary: '#ffffff',
        bg_secondary: '#f5f5f5',
        text_primary: '#1a1a1a',
        text_secondary: '#666666',
        button_primary: '#0066ff',
        button_primary_hover: '#0052cc',
        button_text_primary: '#ffffff',
        border_primary: '#e0e0e0'
      },
      
      // Dark mode colors
      dark: {
        bg_primary: '#1a1a1a',
        bg_secondary: '#2d2d2d',
        text_primary: '#ffffff',
        text_secondary: '#a0a0a0',
        button_primary: '#3385ff',
        button_primary_hover: '#4d99ff',
        button_text_primary: '#ffffff',
        border_primary: '#404040'
      }
    }
  },
  return_url: 'https://yoursite.com/return'
});
모든 색상 속성을 지정할 필요는 없습니다. 지정되지 않은 속성은 기본 테마 값을 사용합니다.
Last modified on May 22, 2026