# Subscription Payment

## How to use this document

Use this page after the user scenario has been routed to Subscription Payment.
Choose one primary integration mode, start with that mode's integration guide,
then add only the platform, payment method, API reference, sample,
notification, or subscription-management docs required for the implementation.

Before writing code, confirm:

- Integration mode: CKP / Payment Element / API-only
- Platform: Web/WAP / Android / iOS / Flutter / server-only
- Backend language: Java / Python / Go / PHP / .NET
- Special behavior: Apple Pay, Google Pay, subscription trial,
  subscription cancellation, manual capture, or server-side card collection

Stop after selecting the integration mode if the user only asks for selection
or architecture advice.

## Overview

Convert one-time transactions into recurring customer relationships. Supports automatic periodic billing, flexible subscription plans, pause/resume/cancel, and automatic retry on payment failure.

---

## Integration Solutions

Choose one primary mode:

| Scenario | Recommended mode | Start with | Add as needed |
|---|---|---|---|
| Fast launch, no UI customization needed | **CKP subscription** | [CKP Subscription](https://docs.antom.com/ac/subscriptionpay/HOSTEDCKP_subscription.md) | server SDK sample, subscription notification |
| Partial UI customization on Web/WAP, native App, or Flutter | **Subscription Element** | [Payment Element Subscription](https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/sub-element.md) | Web SDK sample, Android / iOS / Flutter Element guides, Apple Pay / Google Pay Element docs, subscription notification |
| Full control over flow and UI | **API-only** | Select the matching API guide below | APM, card, or digital wallet API docs |
| APM subscription such as wallets, bank transfer, or BNPL | **API-only APM subscription** | [APM Subscription API](https://docs.antom.com/ac/subscriptionpay/apm_api_subscription.md) | API reference, server SDK sample, subscription notification |
| Card entry hosted by Antom, no PCI DSS certification | **API-only hosted-card subscription** | [API Card](https://docs.antom.com/ac/subscriptionpay/cardcollant_subscription.md) | API reference, server SDK sample, subscription notification |
| Merchant collects card data server-side | **API-only server-mode card subscription** | [Server Mode](https://docs.antom.com/ac/subscriptionpay/cardinfocallmerchant_subscription.md) | Requires PCI DSS certification |
| Direct Apple Pay / Google Pay API integration | **API-only digital wallet subscription** | [Apple Pay API](https://docs.antom.com/ac/subscriptionpay/apay_api_subscription.md) / [Google Pay API](https://docs.antom.com/ac/subscriptionpay/gpay_api_subscription.md) | API reference, server SDK sample |

---

## Solution 1: Checkout Page (CKP)

Antom-hosted subscription page. Lowest development effort.

**Integration guide / 集成指南:**
- [CKP Subscription](https://docs.antom.com/ac/subscriptionpay/HOSTEDCKP_subscription.md)

**Add as needed:**
- Server-side SDK sample for your backend language
- [Subscription Payment Notification](https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/notify/subscription-notify.md)

---

## Solution 2: Payment Element

Pre-built subscription components embedded in the merchant page.

**Integration guide / 集成指南:**
- [Payment Element Subscription](https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/sub-element.md)

**Add as needed:**
- [Apple Pay Subscription](https://docs.antom.com/ac/subscriptionpay/apay_element_subscription.md)
- [Google Pay Subscription](https://docs.antom.com/ac/subscriptionpay/gpay_element_subscription.md)
- Embedded Element Web SDK sample
- Android / iOS / Flutter Element guide for mobile app integration
- Server-side SDK sample for your backend language
- [Subscription Payment Notification](https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/notify/subscription-notify.md)

---

## Solution 3: API-only

Direct API integration where the merchant builds the frontend and backend
subscription flow. Use this for maximum control, specific payment-method flows,
or server-to-server card processing.

### 3.1 APM Subscription

For digital wallets, bank transfer, BNPL, and other alternative payment
methods.

**Integration guide / 集成指南:**
- [APM Subscription API](https://docs.antom.com/ac/subscriptionpay/apm_api_subscription.md)

### 3.2 Card Subscription

| Mode | Card Collection | PCI Required | Integration guide |
|------|-----------------|--------------|-----|
| Hosted Card | Antom | No | [API Card](https://docs.antom.com/ac/subscriptionpay/cardcollant_subscription.md) |
| Server Mode | Merchant | Yes | [Server Mode](https://docs.antom.com/ac/subscriptionpay/cardinfocallmerchant_subscription.md) |

### 3.3 Digital Wallet

**Integration guides / 集成指南:**
- [Apple Pay API](https://docs.antom.com/ac/subscriptionpay/apay_api_subscription.md)
- [Google Pay API](https://docs.antom.com/ac/subscriptionpay/gpay_api_subscription.md)

---

## Subscription Management

Use these when the requested scenario includes trial, cancellation, upgrade,
downgrade, pause/resume, or plan changes.

Cycle: `DAY` | `WEEK` | `MONTH` | `YEAR` | Custom (via `periodCount`)
- [Subscription Trial](https://docs.antom.com/ac/subscriptionpay/subscription_trial.md)
- [Subscription Cancellation](https://docs.antom.com/ac/subscriptionpay/subscription_cancellation.md)

---

## Payment Method Enum

- [Payment Method Enum](https://docs.antom.com/ac/pm/enumeration_values.md) - Payment method types and API enum values

---

## Card Features

| Scenario | Documentation |
|----------|---------------|
| Bind card & pay again with saved card | [Antom Tokenization](https://docs.antom.com/ac/pm/tokenization.md) |
| Card on File (COF) transaction | [Card On File（COF）](https://docs.antom.com/ac/pm/cof.md) |

---

## API Reference

Use API references for request/response bodies and parameter details after the
selected mode's integration guide.

| API | Description |
|-----|-------------|
| [create](https://docs.antom.com/ac/ams/create_sub.md) | Create subscription |
| [change](https://docs.antom.com/ac/ams/change_sub.md) | Modify subscription |
| [update](https://docs.antom.com/ac/ams/update.md) | Update subscription |
| [cancel_sub](https://docs.antom.com/ac/ams/cancel_sub.md) | Cancel/terminate |
| [notifySubscription](https://docs.antom.com/ac/ams/notify_sub.md) | Subscription notification |
| [pay](https://docs.antom.com/ac/ams/payment_cashier.md) | Initiate payment |
| [capture](https://docs.antom.com/ac/ams/capture.md) | Manual capture |
| [inquiryPayment](https://docs.antom.com/ac/ams/paymentri_online.md) | Query payment |

---

## Server-side SDK Code Example

Use the sample for the selected backend language after reading the selected
mode's integration guide.

- [Java](https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/sample-code/java.md)
- [Python](https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/sample-code/python.md)
- [Go](https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/sample-code/go.md)
- [PHP](https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/sample-code/php.md)
- [.NET](https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/sample-code/dotnet.md)

## Embedded Element Web SDK Code Example

Use this after selecting Subscription Element.

Web SDK: https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/sample-code/web-sdk.md

---

## Subscription Payment Notification

[Subscription Payment Notification](https://cdn.marmot-cloud.com/page/antom-integration-doc/subscription/notify/subscription-notify.md)
