Creates a new subscription plan for managing subscription payments.
The sub-account user-id to make this transaction for. This header is only used if you have access to xenPlatform. See xenPlatform for more information.
The XenPlatform split rule ID that will be applied to this transaction. This header is only used if you have access to xenPlatform.
JSON object containing recurring plan details.
Merchant-provided identifier for the recurring plan.
Xendit-generated customer ID.
ISO 4217 currency code (e.g., IDR, PHP).
Amount to be charged in each recurring cycle.
Frequency of the recurring cycles.
Number of intervals between consecutive cycles.
Total number of cycles (optional; runs indefinitely if null).
Start date for the recurring schedule (ISO 8601 format), max allowed day of the month is 28. Supports time offset and UTC zero.
Interval between retry attempts for failed payments.
Number of retry intervals between consecutive retries.
Maximum number of retries for failed cycles.
Notifications triggered at specific retry attempts.
ID for payment token.
Order in which payment tokens will be attempted (1 to 5).
Payment taken upon recurring plan creation. Failing the payment will inactivate the plan.
Determines if the plan should be terminated when a cycle fails. RESUME continues, STOP inactivates the plan.
Channels to notify end user.
ISO 639-1 two-letter codes for language of notifications to be sent to end user
Whether a payment link is generated for failed cycle attempts.
Additional JSON properties. Max 20 keys, with key names up to 40 characters and values up to 80 characters.
Custom description of the recurring plan.
Details of items included in the recurring plan.
Type of item.
Name of the item.
Net amount charged per unit. Negative values for discounts.
Number of units of the item.
URL of the item, must be HTTPS or HTTP.
Merchant category for the item.
Subcategory for the item.
Description of the item.
Additional JSON properties. Max 20 keys, with key names up to 40 characters and values up to 80 characters.
Successfully created a recurring plan. A webhook will follow to confirm plan activation.
Merchant-provided identifier for the recurring plan.
Xendit-generated customer ID.
ISO 4217 currency code (e.g., IDR, PHP).
Amount to be charged in each recurring cycle.
Frequency of the recurring cycles.
Number of intervals between consecutive cycles.
Total number of cycles (optional; runs indefinitely if null).
Start date for the recurring schedule (ISO 8601 format), max allowed day of the month is 28. Supports time offset and UTC zero.
Interval between retry attempts for failed payments.
Number of retry intervals between consecutive retries.
Maximum number of retries for failed cycles.
Notifications triggered at specific retry attempts.
ID for payment token.
Order in which payment tokens will be attempted (1 to 5).
Payment taken upon recurring plan creation. Failing the payment will inactivate the plan.
Determines if the plan should be terminated when a cycle fails. RESUME continues, STOP inactivates the plan.
Channels to notify end user.
ISO 639-1 two-letter codes for language of notifications to be sent to end user
Whether a payment link is generated for failed cycle attempts.
Additional JSON properties. Max 20 keys, with key names up to 40 characters and values up to 80 characters.
Custom description of the recurring plan.
Details of items included in the recurring plan.
Type of item.
Name of the item.
Net amount charged per unit. Negative values for discounts.
Number of units of the item.
URL of the item, must be HTTPS or HTTP.
Merchant category for the item.
Subcategory for the item.
Description of the item.
Additional JSON properties. Max 20 keys, with key names up to 40 characters and values up to 80 characters.
Xendit-generated recurring plan ID.
Status of the recurring plan.
Failure code for failed plan creation
Country code for the plan
Number of cycles generated for this plan.
Array of objects containing URLs for end users to complete the recurring plan.
Describes the purpose of the action. AUTH triggers payment account linking.
Type of URL, optimized for desktop or web interface.
Generated URL to perform the action.
HTTP method for calling the URL.
ISO 8601 date time format
ISO 8601 date time format
Validation errors occurred.
Fields or values in the payload body does not comply with our API specification.
{
"error_code": "API_VALIDATION_ERROR",
"message": "Check the specific error message for debugging."
}Payment token ID is not in eligible status for plan creation.
{
"error_code": "INVALID_PAYMENT_TOKEN_ID",
"message": "The payment_token_id provided has a mismatched currency or it is not \"ACTIVE\" because it has expired/ been unlinked/ linking has not been completed. Please retry with a valid payment_token_id."
}Error code identifying the issue.
Description of the error.
Invalid API key or unauthorized access.
Request forbidden error.
Resource not found.
Customer not found.
{
"error_code": "CUSTOMER_NOT_FOUND_ERROR",
"message": "customer_id is invalid or not found. Please try again with a valid customer_id."
}Idempotency error.
Server error.
Payment server error.
Recurring plan webhook
Recurring plan webhook to indentify status transition of plan
Webhook event names for recurring plan status updates.
Business ID of Xendit
Timestamp of webhook delivery attempt in ISO 8601 date-time format.
Merchant-provided identifier for the recurring plan.
Xendit-generated customer ID.
ISO 4217 currency code (e.g., IDR, PHP).
Amount to be charged in each recurring cycle.
Frequency of the recurring cycles.
Number of intervals between consecutive cycles.
Total number of cycles (optional; runs indefinitely if null).
Start date for the recurring schedule (ISO 8601 format), max allowed day of the month is 28. Supports time offset and UTC zero.
Interval between retry attempts for failed payments.
Number of retry intervals between consecutive retries.
Maximum number of retries for failed cycles.
Notifications triggered at specific retry attempts.
ID for payment token.
Order in which payment tokens will be attempted (1 to 5).
Payment taken upon recurring plan creation. Failing the payment will inactivate the plan.
Determines if the plan should be terminated when a cycle fails. RESUME continues, STOP inactivates the plan.
Channels to notify end user.
ISO 639-1 two-letter codes for language of notifications to be sent to end user
Whether a payment link is generated for failed cycle attempts.
Additional JSON properties. Max 20 keys, with key names up to 40 characters and values up to 80 characters.
Custom description of the recurring plan.
Details of items included in the recurring plan.
Type of item.
Name of the item.
Net amount charged per unit. Negative values for discounts.
Number of units of the item.
URL of the item, must be HTTPS or HTTP.
Merchant category for the item.
Subcategory for the item.
Description of the item.
Additional JSON properties. Max 20 keys, with key names up to 40 characters and values up to 80 characters.
Xendit-generated recurring plan ID.
Status of the recurring plan.
Failure code for failed plan creation
Country code for the plan
Number of cycles generated for this plan.
Array of objects containing URLs for end users to complete the recurring plan.
Describes the purpose of the action. AUTH triggers payment account linking.
Type of URL, optimized for desktop or web interface.
Generated URL to perform the action.
HTTP method for calling the URL.
ISO 8601 date time format
ISO 8601 date time format
OK