> ## Documentation Index
> Fetch the complete documentation index at: https://docs.singapay.id/llms.txt
> Use this file to discover all available pages before exploring further.

# Subscription

Charge customers automatically on a recurring schedule — weekly, monthly, or any cycle you define. SingaPay supports subscription billing via Credit Card and GoPay, so you tokenise once and let the platform handle the rest.

***

## What is subscription billing?

Subscription billing lets you collect recurring payments without requiring customers to approve each individual charge. On the first transaction, the customer provides their card details or authorises their GoPay wallet. From that point, SingaPay charges automatically on your defined schedule — daily, weekly, monthly, or custom intervals.

This is essential for SaaS platforms, membership sites, insurance premiums, and any business built on predictable recurring revenue.

***

## Supported methods — comparison

| Method          | How it's authorised                                                           | 3D Secure on first charge |
| --------------- | ----------------------------------------------------------------------------- | ------------------------- |
| **Credit Card** | Customer enters card details on first payment; SingaPay stores a secure token | Required                  |
| **GoPay**       | Customer grants recurring permission in the GoPay app (one-time)              | N/A                       |

***

## Subscription lifecycle — Credit Card

<Steps>
  <Step title="Initial payment and tokenization">
    The customer completes their first payment including 3D Secure. SingaPay stores a PCI-compliant card token and returns it to your system.
  </Step>

  <Step title="Create a subscription schedule">
    Define the billing interval (daily, weekly, monthly, or custom), the charge amount, and the end condition. SingaPay's scheduler takes over.
  </Step>

  <Step title="Automatic recurring charges">
    On each billing date, SingaPay charges the stored token automatically. A webhook fires for every charge — success or failure.
  </Step>

  <Step title="Handle failures gracefully">
    If a charge fails (expired card, insufficient credit), SingaPay notifies you via webhook. You can retry or prompt the customer to update their card details.
  </Step>
</Steps>

***

## Subscription lifecycle — GoPay

<Steps>
  <Step title="Customer authorizes recurring access">
    During initial signup, the customer opens the GoPay app and grants one-time permission for recurring charges.
  </Step>

  <Step title="SingaPay stores the token">
    GoPay returns a recurring token that SingaPay stores securely against the customer's profile.
  </Step>

  <Step title="Automatic charges on schedule">
    On each billing date, SingaPay charges the GoPay token. The customer sees the charge in their GoPay transaction history — no separate confirmation required.
  </Step>

  <Step title="Webhooks for every event">
    Successful charges, failed charges, and cancellations all trigger webhook events so your system can react immediately.
  </Step>
</Steps>

***

<Card title="Send Money — Overview" icon="paper-plane" href="#31-send-money-overview">
  Disburse funds to bank accounts and e-wallets across Indonesia.
</Card>

***
