Skip to main content

Subscription

Subscription is a recurring payment that a user authorizes to be charged on a schedule. To execute each scheduled charge, the subscription uses an amount model, which defines how the charge amount is determined for each subscription billing cycle. This solution supports two amount models:

  1. Subscription with Dynamic Amount: The amount may vary for each billing cycle. The merchant specifies the amount for each charge based on the subscription schedule.

  2. Subscription with Static Amount: The amount is fixed for each billing cycle. DANA automatically deducts the amount according to the subscription schedule.

Subscription with Dynamic Amount
An automatic scheduled payment with a merchant who sets amounts each cycle
Subscription with Static Amount
An automatic payment on an agreed schedule, where DANA deducts the user’s amount each cycle
Available APIs for Subscription with Dynamic Amount Solution
Apply OTT POSTUsed to get one time token that will be used as authorization parameter upon redirecting to DANA
Create Subscription First Payment POSTUsed to initiate a new subscription
Query Subscription Transaction POSTUsed to obtain information of payment/transaction regarding subscription
Query Subscription by Id POSTUsed to obtain information of subscription based on subscription identifier
Query All Subscription POSTUsed to obtain information of subscription
Subscription Reminder Scheduled Payment POSTUsed to reminder merchant about schedule of subscription
Create Subscription Scheduled Payment POSTUsed to create a schedule payment with dynamic amount
Finish Notify POSTUsed to notify payment status and information from DANA to merchant’s platform
Remove Subscription POSTUsed to remove the user’s subscription
Remove Subscription Notify POSTUsed to notify remove subscription status and information
Test Scheduler POSTUsed to manually trigger subscription scheduler (only use in offline environment)

Process Flow

The following are the process flow for this scenario:

scenario 0
  1. User selects a product or service that supports subscription and chooses DANA as payment method during checkout on merchant’s platform.
  2. Merchant processes subscription order internally by validating product, creating subscription order record, and preparing transaction details that will be sent to DANA.
  3. Merchant initiates account binding process by informing DANA that user needs to bind their DANA account so merchant can perform subscription payments.
  4. DANA displays binding interface to user, which explains that user will authorize merchant to charge their DANA account automatically for future subscription payments.
  5. User completes binding process by logging in to their DANA account, entering required credentials, and providing consent to allow merchant to access their account for subscription billing.
  6. Once binding process is completed successfully and merchant obtains an access token from DANA, DANA redirects user back to merchant’s redirection page so checkout process can continue.
  7. Merchant calls Apply OTT API to request an OTT (One Time Token) that will be used to securely generate checkout URL for payment process.
  8. DANA processes request and returns OTT to merchant as response.
  9. Merchant calls Create Subscription First Payment API to create first subscription payment order in DANA’s system.
  10. After receiving this request, DANA creates payment order and generates checkout URL that will be used for user to complete payment.
  11. DANA returns response to merchant containing order information along with generated checkout URL.
  12. Merchant appends OTT received earlier into checkout URL as parameter to ensure checkout request is properly authenticated.
  13. Merchant redirects user to DANA checkout page using checkout URL that includes OTT.
  14. On DANA page, user is shown payment details of subscription, including merchant information, subscription plan, billing amount, and other relevant transaction information.
  15. User reviews details and confirms subscription payment by approving transaction using their DANA account authentication method.
  16. Once payment process is completed, DANA displays payment result to user, indicating whether payment was successful or failed.
  17. After transaction is processed, DANA sends notification to merchant by calling Finish Notify API, which provides transaction payment status.
  18. Merchant responds to this notification by returning confirmation message to DANA indicating whether payment status has been successfully received and processed by merchant.
ask AIAI Assistant
Need help with our documentation?
Start from our frequently asked questions or feel free to ask anything else.

AI generated responses may contain mistakes.