We introduce a new version of our subscription product. It consolidate the experiences with our Payment Sessions product for a smoother UI experience and more uniform payment experiences.
Feature Comparison
Feature | Legacy Subscription | New Subscription |
|---|---|---|
Payment Link and Component Support | Limited only on Payment Link | Both Payment Link and Component |
Payment Channels Availability | Limited to legacy payment methods and specific regions | Availability for all existing channels and new channels in all regions Xendit supported |
New design for hosted page | Old design style, payment channel categorization is outdated | Fresh new design with improvement in user experience |
Uniform experiences on payment interfaces | Separate payment lifecycle overview on | One integration principle on each lifecycle on payment interfaces and payment object |
Support on initial payment | Only available via legacy parameter | Recommended to use |
Create Subscription via Dashboard
Creation and list of subscription activities will only display the legacy subscription, the new version will currently only supported via API.
We will have an update in the upcoming timeline to support the new version as well.
How to migrate
Update your integration
Overall Flow
Conditions | Legacy Subscription | New Subscription |
|---|---|---|
Using Xendit Hosted URL | ||
Create Subscription Plan |
Response will return |
Response will return either |
Using current payment token | Using legacy | Using current |
Header
Parameters | Legacy Subscription | New Subscription |
|---|---|---|
|
|
|
Parameter Conversion
The new subscription supports most of the functionality of the legacy subscription. The following table maps the parameters and configuration differences between the two versions. Please refer to the API docs for the full lists
Legacy Subscription | New Subscription | Notes |
|---|---|---|
|
| Support the new payment tokens object |
|
| Defined as a boolean type to support immediate payment |
| - | Simplified action with only |
|
| Simplified into one parameter to configure the notification channel |
Handle New Errors
Adapt on your server’s logic to handle errors in Payment Sessions response upon creation and Subscriptions response
Adjust and handle your webhook setup
Legacy Subscription
Available on the legacy webhook configuration page
.png?sv=2022-11-02&spr=https&st=2026-04-10T12%3A31%3A32Z&se=2026-04-10T12%3A42%3A32Z&sr=c&sp=r&sig=0sMvQ6iRI%2Fo%2FIzMMjF9A2oUurszo0Jv1KOxI33fChBg%3D)
New Subscription
Available on the new webhook configuration

Optional but recommended
Adjust the webhook URL to receive the information upon your subscription lifecycle.
Payment v3 – Payment Status
Xendit sends webhooks whenever there is a status update on a Payment object.
payment.succeededIdentifies successful payments and includes full payment details.payment.failureIdentifies failed payment attempts, including failures that occur on the Xendit hosted page.
Payment Tokens v3 – Payment Token Status
Xendit sends webhooks whenever there is a status update on a Payment Token object.