Setup Recurring Payment

API Explorer
loading...
POST
/setup

This API allows you to create and manage automated recurring payment schedules for both card and ACH payment methods.

Using this API, you can configure recurring billing frequencies such as weekly, monthly, quarterly, annually, or fully custom intervals. It also supports flexible end conditions, including subscriptions that never expire, subscriptions that stop after a specific number of payments, or subscriptions that end on a defined date.

This endpoint supports-

  • Card and ACH recurring payments
  • Weekly, monthly, quarterly, annual, and custom billing schedules
  • Fixed payment count or end-date termination
  • ACH SEC code configuration
  • Updating existing subscriptions using subscription_id

All requests must be authenticated using a valid token header.

Header Parameters

token*string

Auth token must be included in the header for all API requests to authenticate and authorize access.

Request Body

application/json

Response Body

application/json

application/json

curl -X POST "https://example.com/setup" \  -H "token: string" \  -H "Content-Type: application/json" \  -d '{    "customer_id": "",    "recurring_frequency": "CUSTOM",    "amount": 1000,    "currency": "USD",    "tpn": "",    "end_criteria": "COUNT",    "end_value": 1,    "start_date": "2026-11-11",    "custom_interval_days": 1,    "reference_id": "",    "card_token": "",    "preferred_day": "WEDNESDAY",    "day_1": 1,    "day_2": 15  }'
{
  "data": {
    "subscription_id": "V7XJKGG7FJ6HL9B",
    "customer_id": "LMN7JCZ61GGICDW",
    "recurring_frequency": "WEEKLY"
  },
  "message": "subscription added successfully",
  "response_code": "SUCCESS",
  "status_code": 200,
  "request_id": "TEST-20251112011500-LQJL3G",
  "timestamp": "2025-11-12T06:15:00.271Z"
}
{
  "errors": [
    {
      "field": "end_criteria",
      "messages": [
        "End criteria is required."
      ]
    },
    {
      "field": "start_date",
      "messages": [
        "Start date cannot be today or in the past. Please choose a future date."
      ]
    }
  ],
  "status_code": 400,
  "request_id": "TEST-20251112012935-X04_2R",
  "timestamp": "2025-11-12T06:29:35.513Z"
}