Overview
The recurring payments feature allows you to securely save customer card information and charge subsequent payments without requiring card input. Perfect for subscriptions and recurring billing.Recurring payments are only available for certain connectors. Please contact us for availability.
Recurring Payment Flow
Initial Payment (Save Card)
Save the card by specifyingsave_card: true and customer_id in the initial payment.
Request
A unique ID to identify the customer. Use your internal user ID.
Set to
true for the initial recurring payment. The card will be saved after payment completion.Response
payment_type: "initial" indicates this is an initial payment with card saving. The payment_method_id will be provided in the webhook after payment completion.payment_url to complete the payment.
Webhook on Payment Completion
List Saved Cards
Retrieve the customer’s saved cards.Response
Execute Recurring Payment
Use the savedpayment_method_id to charge without requiring card input.
Request
The saved payment method ID (
pmi_xxx format)Response
Recurring payments are processed instantly (nopayment_url is returned).
payment_type: "recurring" indicates this is a recurring payment using a saved card.Webhook on Payment Completion
Recurring payment webhooks include
is_recurring: true.Managing Payment Methods
Block a Card
Block a card if fraud is suspected.Unblock a Card
Delete a Card (Detach)
Use detach to permanently delete card information upon customer request.Response
Block vs Delete:
- Block: Temporarily disable (fraud prevention). Can be unblocked later
- Delete (Detach): Permanently remove (GDPR compliance, customer deletion requests). Cannot be restored
Error Handling
Recurring Not Supported
Card Expired
Best Practices
Manage customer_id uniquely
Map your internal user ID 1:1 with
customer_id. Using different customer_id values for the same customer will scatter their card information.Persist payment_method_id
Store the
payment_method_id received in the webhook to your database for subsequent payments.Implement retry strategy
Card payments can fail due to temporary issues. Use exponential backoff for retries, and notify the customer after multiple failures.