> ## 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.

# v1.118.3 (2026년 10월 6일)

> 다중 subscription checkout, Moderation API, GCash, AlipayHK, FPS 및 Touch 'n Go, 인도의 Apple Pay, Ethoca alerts, customer email log, test mode emails, right-to-left checkout, redesigned dashboard, 그리고 Dodo Sync 1.0.

## 새로운 기능

### 1. **다중 Subscription Checkout**

이제 하나의 checkout에서 여러 subscription을 한 번에 판매할 수 있습니다. `product_cart`에 두 개 이상의 subscription product를 추가하면 customer는 한 번의 payment로 모든 상품을 결제하며, invoice도 하나만 생성됩니다.

각 product는 별도의 subscription이 되어 자체 일정에 따라 renew되므로, billing interval이나 trial 기간이 서로 다른 plan도 하나의 cart에서 함께 판매할 수 있습니다. checkout page에는 **오늘 결제할 총액**이 표시된 다음, 각 subscription별로 trial, renewal amount, next billing date가 한 줄씩 표시됩니다.

cart에는 최대 20개의 product를 담을 수 있습니다. subscription이 두 개 이상인 cart에는 one-time product를 함께 담을 수 없습니다.

payment에는 전체 구매 내역이 기록됩니다. `is_multi_subscription`는 `true`이고, `subscription_ids`에는 생성된 모든 subscription이 나열되며, `subscription_id`는 `null`입니다.

자세히 알아보기: [Multi-Subscription Cart](/developer-resources/checkout-session#multi-subscription-cart)

### 2. **Moderation API**

text와 image가 product에 도달하기 전에 screening할 수 있습니다. content를 `POST /moderation/screen`로 보내면 `allow`, `flag` 또는 `deny` verdict와 함께 해당 verdict를 유발한 category를 반환합니다.

Request에는 최대 8,000자의 text, 최대 5 MiB의 image 또는 둘 다를 포함할 수 있습니다. `GET /moderation/usage`를 사용해 screening한 항목을 추적할 수 있습니다. test mode의 screening은 무료이며 필요에 따라 trigger할 수 있는 mock verdict를 반환하므로 integration의 모든 branch를 테스트할 수 있습니다.

자세히 알아보기: [Moderation API](/features/moderation)

### 3. **GCash, AlipayHK, FPS 및 Touch 'n Go**

동남아시아와 홍콩의 customer가 사용할 수 있는 네 가지 새로운 local payment method가 추가되었습니다.

| Method | Country | Currency |
| - | - | - |
| **GCash** | Philippines | PHP |
| **AlipayHK** | Hong Kong | HKD |
| **FPS** | Hong Kong | HKD, CNY |
| **Touch 'n Go** | Malaysia | MYR |

customer는 wallet 또는 banking app에서 QR code를 scan하여 결제합니다. 네 가지 method는 모두 default로 활성화되어 있으며 **Settings → Payment Methods**에서 끌 수 있습니다. one-time payment만 지원하며 subscription checkout에는 표시되지 않습니다. 각 method는 billing country와 currency가 일치하고 [Adaptive Currency](/features/adaptive-currency)가 활성화된 경우에만 표시됩니다.

자세히 알아보기: [Asia-Pacific Payment Methods](/features/payment-methods/asia-pacific)

### 4. **인도의 Apple Pay**

이제 인도의 customer도 Apple Pay로 결제할 수 있습니다. INR로 청구되는 Apple Pay subscription은 다른 인도 발급 card와 마찬가지로 RBI mandate를 사용합니다.

자세히 알아보기: [Apple Pay in India](/features/payment-methods/digital-wallets#apple-pay-in-india)

### 5. **Ethoca Alerts**

Mastercard 및 기타 non-Visa card에서 chargeback이 접수되기 전에 이를 방지할 수 있습니다. card issuer가 Ethoca alert를 보내면 Dodo Payments가 payment를 자동으로 refund하므로 dispute가 chargeback으로 전환되지 않으며 chargeback ratio에도 반영되지 않습니다.

Ethoca alerts는 opt-in 방식입니다. Visa RDR 옆의 **Settings → Dispute Resolution**에 있는 **Ethoca Alerts** card에서 등록할 수 있습니다. 먼저 business에 live payment와 statement descriptor가 설정되어 있어야 하며, 각 alert에 fee가 부과됩니다. 등록 확인에는 영업일 기준 2\~4일이 걸립니다.

자세히 알아보기: [Ethoca Alerts](/features/transactions/disputes#ethoca-alerts)

### 6. **Customer Email Log**

이제 모든 customer에게 **Sales → Customers** 아래에 **Sent Emails** tab이 표시되며, 최근 180일 동안 Dodo Payments가 customer에게 보낸 email을 나열합니다. 각 항목에는 subject, category, delivery status — **Sent**, **Delivered**, **Failed**, **Marked as spam** 또는 **Not sent** — 가 표시되고, failed email에는 실패 이유가 표시됩니다.

email을 열어 customer가 받은 내용을 정확히 확인하고, 원래 address 또는 새 address로 최대 세 번 다시 보낼 수 있습니다. 동일한 log는 API의 `GET /customers/{customer_id}/emails`에서도 사용할 수 있습니다.

자세히 알아보기: [Email Logs](/features/email-logs)

### 7. **Test Mode Emails**

이제 test mode에서도 customer email이 전송되므로 live 전환 전에 전체 email experience를 확인할 수 있습니다. test email은 실제 recipient에게 전송되며 모든 subject는 `[TEST MODE]`로 시작합니다.

**Settings → Communication → Email** 아래의 **Test Mode Emails** switch로 이 기능을 제어하며, default로 켜져 있습니다. business는 일주일에 최대 100개의 test mode email을 보낼 수 있습니다. live mode email에는 영향을 주지 않습니다.

자세히 알아보기: [Test Mode Emails](/features/communication-preferences#test-mode-emails)

### 8. **Right-to-Left Checkout**

이제 Arabic와 Hebrew에서 checkout이 right to left로 렌더링됩니다. layout, navigation, order summary를 포함한 전체 page가 반전되지만 email address, code, phone number는 자연스러운 읽기 순서를 유지합니다.

<Frame>
  <img src="https://mintcdn.com/dodopayments/JKGh8EdeOlomDLSl/images/checkout/checkout-rtl-arabic.png?fit=max&auto=format&n=JKGh8EdeOlomDLSl&q=85&s=89f32f6ad69dda36aabd76dfa0933fd0" alt="Checkout page in Arabic rendered right to left, with the order summary on the right and the card form on the left" style={{ maxHeight: '500px', width: 'auto' }} width="1918" height="962" data-path="images/checkout/checkout-rtl-arabic.png" />
</Frame>

자세히 알아보기: [Multi-Language Checkout](/features/checkout#multi-language-checkout)

### 9. **Required Cardholder Name**

checkout session에서 `feature_flags.require_cardholder_name`를 `true`로 설정하면 customer가 card에 표시된 이름을 입력하도록 할 수 있습니다. 이 field는 card number 위에 표시됩니다. 이 flag의 default 값은 `false`입니다. 다른 payment method에서는 무시되지만 Apple Pay와 Google Pay는 이미 payer name을 수집합니다.

자세히 알아보기: [Checkout Sessions](/developer-resources/checkout-session)

### 10. **Subscription을 취소한 사람**

이제 subscription에 취소한 사람을 기록하는 `cancelled_by` object가 포함됩니다. 해당 object의 `actor_type`는 `customer`, `merchant_user`, `api_key` 또는 `dodo_team` 중 하나이며, customer 또는 dashboard user인 경우 해당 사용자의 `name` 및 `email`도 포함됩니다.

이 field는 API response의 subscription과 모든 `subscription.*` webhook payload에 표시됩니다. 즉시 취소와 예약된 취소를 모두 다루며, system에 의한 취소처럼 호출자를 알 수 없는 경우에는 `null`입니다.

자세히 알아보기: [Get Subscription](/api-reference/subscriptions/get-subscriptions)

### 11. **Payout Settings 및 Reserved Balance**

이제 **Payouts** page의 **Manage**에서 접근할 수 있는 **Settings → Payouts** 아래에서 payouts를 관리합니다. payout frequency를 더 긴 주기로 변경하고, minimum payout을 설정하며, 연결된 bank account를 한곳에서 관리할 수 있습니다.

이제 **Payouts** page에 주말과 bank holiday를 건너뛴 실제 next payout date가 표시되며, payout date가 변경되는 경우 이를 알려줍니다. settled payment의 일부가 reserve로 보류된 경우 **Payout Balance** card에 **Reserved** row가 표시됩니다. 해당 금액은 여전히 귀사의 자산이며 자동으로 balance에 반환됩니다.

자세히 알아보기: [Payout Structure](/features/payouts/payout-structure)

### 12. **더 간단해진 Verification Flow**

이제 account verification은 하나의 checklist로 제공되며, **Start Verification**, **Continue Verification** 또는 **Submit for Review**라는 단일 button으로 다음 단계로 진행할 수 있습니다.

**Save and Continue**를 클릭하면 각 form이 draft로 저장되므로 원하는 속도로 모든 내용을 작성한 뒤 모든 form을 한 번에 제출하여 review를 받을 수 있습니다. Identity verification은 동일한 page의 secure window에서 열립니다. team에 추가 정보가 필요한 경우 **Action required** banner에 필요한 정보와 제출 기한이 표시됩니다.

자세히 알아보기: [Account Verification](/miscellaneous/verification-process)

### 13. **새롭게 디자인된 Dashboard**

이제 **Settings**는 **Your Profile**, **Business Settings**, **Payments & Commerce**로 그룹화된 card의 단일 page이며, 각 card에서 해당 section을 열 수 있습니다. **Tracking Integrations**, **Pricing**, **Dispute Resolution**, **Payouts**에는 각각 별도의 page가 있으며, **Storefront**는 sidebar에서 Settings로 이동했습니다. 기존 link는 새 page로 redirect됩니다.

이제 support chat icon과 함께 header에 search가 표시됩니다. Sign out은 business switcher로 이동했습니다.

이제 dashboard의 모든 country, phone number, currency dropdown에서 name, ISO code 또는 dialing code로 검색할 수 있습니다.

### 14. **Dodo Sync 1.0**

payment, customer, subscription, license를 자체 database로 복사하는 open-source package인 [Dodo Sync](/developer-resources/dodo-sync)가 version 1.0에 도달했습니다.

* **더 빠른 sync.** 이제 MongoDB, PostgreSQL, MySQL, ClickHouse에서 record별로 query를 하나씩 실행하는 대신 각 record page를 하나의 batch operation으로 작성합니다.
* **serverless 환경에서도 안전합니다.** 이제 `run()`가 resolve되기 전에 모든 database write가 완료될 때까지 기다리므로, Vercel 또는 AWS Lambda에서 function이 종료될 때 sync로 인해 record가 손실되지 않습니다. 새로운 `disconnect()` method를 `finally` block에서 호출하여 database connection을 닫으세요.
* **자체 MongoDB database.** record는 connection URI에 지정된 database에 기록됩니다. URI에 database가 지정되지 않은 경우 Dodo Sync는 이전과 같이 `dodopayments_sync`를 사용합니다.
* **CLI에서 secret masking.** 이제 interactive mode에서 입력하는 database URI와 API key가 mask 처리됩니다.

<Warning>
  `0.x`에서 upgrade하는 경우 version 1.0에는 세 가지 breaking change가 있습니다.

  * **MongoDB database name**: 이제 database는 항상 `dodopayments_sync`로 지정되는 대신 connection URI에서 가져옵니다. URI에 database가 지정되어 있으면 data가 해당 database로 이동합니다.
  * **MongoDB license ID**: 이제 license document는 다른 database와 동일하게 `subscription_id` 대신 license `id`를 기준으로 저장됩니다. upgrade하기 전에 기존 `licences` collection을 삭제하면 다음 sync에서 다시 생성됩니다.
  * **MySQL version**: MySQL 8.0.20 이상이 필요합니다.
</Warning>

자세히 알아보기: [Sync with Your Database](/developer-resources/dodo-sync)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.