Manage Scheduled or Recurring Payments
Learn how to create, update, and delete your scheduled, subscription, and autopay transactions with the Payabli API
This guide covers the key operations for managing subscriptions through the API.
Considerations
When working with subscriptions, keep the following in mind:
- Payabli automatically tokenizes payment information and assigns stored payment methods to the provided customer.
- Subscriptions are always linked to a customer - if no
customerId
is provided and thecustomerData
fields don’t match an existing customer, a new customer is created. - Best practice is to create the customer first and pass the
customerId
in the customerData object. - When using a stored payment method, ensure the
storedId
in paymentMethod corresponds to the customer incustomerData
. - Subscription and autopay transactions typically run between 2:30 AM and 3:30 AM Eastern time.
Pause a subscription or skip a payment
Pausing a subscription stops all future payments until the subscription is unpaused. Skipping payments allows the subscription to continue but skips the next scheduled payment.
To pause a subscription, send a PUT request to /api/Subscription/\{subscriptionId\}
with the setPause
field set to true
. When you’re ready to resume the subscription, send another PUT request with setPause
set to false
.
To skip a payment, update the subscription’s totalAmount
to 0
. To resume payments, update totalAmount
to a non-zero amount. Note that if totalAmount
is set to 0
, then serviceFee
must also be set to 0
.
Create a subscription
Send a POST request to /api/Subscription/add
to create a new subscription or scheduled payment. See the API reference for this endpoint for full documentation.
If you pass an invoiceData
object to a subscription, the payments in the subscription will automatically be added to the invoice as they are processed.
Get subscription details
Send a GET request to /api/Subscription/{subscriptionId}
to retrieve details about a specific subscription. See the API reference for this endpoint for full documentation.
This example gets the details for the subscription with ID 263
.
A successful request returns a response that includes all available details about a subscription.
Update a subscription
Send a PUT request to /api/Subscription/{subscriptionId}
to change an existing subscription’s payment details, schedule, or pause status. See the API reference for this endpoint for full documentation.
The first example updates the subscription with the ID 263
to paused. The second example updates the payment details.
If a subscription payment is declined, you can update the subscription and retry the payment. See Subscription retry logic for more information.
Delete a subscription
Send a DELETE request to /api/Subscription/{subscriptionId}
to cancel a subscription and stop future payments. See the API reference for this endpoint for full documentation.
This example deletes the subscription with the ID 263
.
Response format
All subscription operations return a standardized response format:
Was this page helpful?