Skip to main content

Recurring Payments Overview

AccruPay payment plans let you run recurring billing on top of your existing provider connection. You define a billing schedule once as a template, then create a plan for each customer. AccruPay handles the renewal charges automatically.


Two-object model

Payment Plan Template Payment Plan
──────────────────── ────────────────────────────
name: "Monthly Pro" → customer: customer-123
amount: $29.99 payment method: pm_abc123
interval: 1 month status: ACTIVE
trial: 14 days next charge: 2024-02-01

Template — a reusable billing schedule definition. Describes the amount, currency, renewal interval, trial period, and end conditions. Create one template and reuse it for any number of customers.

Plan — a live subscription instance tied to a specific customer and stored payment method. AccruPay uses the template's schedule to charge that payment method on each renewal date.


When to use AccruPay payment plans

AccruPay plans are a good fit when:

  • Your billing schedule is fixed (same amount, same interval for all customers on a plan tier)
  • You want the provider to manage renewal scheduling
  • You do not need proration, metered billing, or seat-based pricing

Consider a custom scheduler instead when you need:

  • Proration (mid-cycle upgrades/downgrades)
  • Metered or usage-based billing
  • Complex trial logic (e.g. credit-based trials)
  • Fine-grained control over the exact charge date

For custom schedulers, use sdk.transactions.payments.paymentMethod.charge() on your own cron schedule.


What you will do

  1. Create a template — define the billing schedule once
  2. Save a customer's card — using the card checkout or save-a-card flow with storePaymentMethod: true
  3. Create a plan — link the template to the customer's stored payment method
  4. AccruPay charges automatically — renewals run on the provider side; sync or use webhooks to track status

Next steps