Skip to main content

Subscriptions & Rebilling

Time: ~10 minutes | Difficulty: Intermediate

What Are Subscriptions in TagadaPay?

TagadaPay manages the entire recurring billing lifecycle — creation, automatic rebills, retries on failure, pause/resume, cancellation, and processor changes. It’s PSP-agnostic: the same subscription can be billed through Stripe today and NMI tomorrow, without touching your code.
Subscriptions are vaulted. The customer’s card is tokenized once. TagadaPay charges it automatically each cycle — through whichever processor your payment flow selects. You never handle raw card data or PSP-specific recurring APIs.

Subscription Lifecycle


Create a Subscription


Create with a Free Trial

The customer isn’t charged until the trial ends. TagadaPay automatically transitions to active and triggers the first rebill.

Manual Rebill

Trigger an immediate charge on any active or past_due subscription — useful for dashboards, support tools, or retry scripts.
What happens under the hood:
  1. TagadaPay loads the subscription’s price, currency, and payment instrument
  2. Routes the charge through your payment flow (cascade, weighted, fallback — all automatic)
  3. On success → updates nextBillingDate, status stays active
  4. On decline → enters retry logic (see below)

When to Use Manual Rebill

Batch Retry All Past-Due Subscriptions


Automatic Retry on Failure

When a rebill is declined, TagadaPay doesn’t immediately cancel. It retries automatically:
During retries, the subscription status is past_due. After max retries, it’s automatically canceled.
Smart retry is also available — it uses failure codes (e.g. “insufficient funds”), velocity limits, and even payroll-day heuristics to pick the optimal retry time. Contact support to enable it.

Cancel a Subscription

Cancel Immediately

Cancel at Period End

The customer keeps access until their billing period ends. TagadaPay handles the scheduled cancellation automatically.

Bulk Cancel


Resume a Subscription

Resume a canceled, paused, or past_due subscription:
If the subscription had cancelAtPeriodEnd: true but hasn’t reached the end yet, resuming clears the cancellation flag.

Pause a Subscription

Pausing stops billing without canceling — the subscription stays on file and can be resumed at any time. Useful for customer-portal self-serve, seasonal accounts, or account-recovery flows where you don’t want to lose the vaulted card.

Bulk Pause

Only subscriptions belonging to the authenticated account are affected — ids you don’t own are silently ignored (no error). Response shape: { success: true }.

Pause vs. Cancel at Period End

Resume works the same way for both paused and canceled states — tagada.subscriptions.resume({ subscriptionIds: [...] }).

Change Processor

Move a subscription from one processor to another — for example, migrating from Stripe to Checkout.com, or clearing a stuck processor.

Assign a Specific Processor

The next rebill will use Checkout.com instead of the previous processor.

Let TagadaPay Auto-Select

This removes the sticky processor, so the next rebill will be routed by your payment flow (weighted, cascade, etc.).

Use Case: Migrate All Subscriptions from Stripe to NMI

This is a TagadaPay superpower. With a traditional PSP, migrating subscriptions between processors means re-collecting card details. With TagadaPay’s PSP-agnostic vault, you just change the processor ID — the vaulted card works across all processors.

List & Filter Subscriptions

Available Filters


Retrieve a Subscription


Webhook Events

Listen for subscription events via webhooks to keep your system in sync:

Full Example: Subscription with Trial, Rebill, and Processor Migration


Next Steps

Multi-PSP Routing & Vault

Connect Stripe, NMI, Checkout.com, Airwallex and route payments intelligently

Headless Payments (Frontend)

Build your own checkout UI with client-side card tokenization and 3DS

Node SDK Quick Start

Get started with stores, products, and funnels

API Reference

Full REST API documentation