DANA
DANA offers one time payment type that allow customer to make a payment without account binding/card registration process.
Integration Steps
Overview of integration process with DANA.
1. Payment
Payment process using DANA doesn't require account binding. After customer creates an order and chooses DANA as payment method on merchant's platform, merchant will hit this payment API to get redirect URLs to DANA's platform for customer to complete the payment.
API Endpoint
HTTP Method
POST
API Sandbox
API Production
Path
.../direct-debit/core/v1/debit/payment-host-to-host
Sample of Request Header, Request Body and Response Body
Notes:
Parameter with (*) is mandatory
Paramater without (*) is optional/conditional
Client's current local time in yyyy-MM- ddTHH:mm:ssTZD format
2020-12-21T07:56:11.000Z
Algorithm symmetric signature HMAC_SHA512 (clientSecret, stringToSign)
85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
Unique ID for a partner (DOKU'S Client ID)
821508239190
Numeric String. Reference number that should be unique in the same day (request-id)
418075533589
Device identification on which the API services are currently being accessed by the end user (customer). Can’t contain symbols
95221
conditional. IP address of the end user (customer) using IPv4 format
95221
Access Token obtained from Get B2B Token API
95221
invoice number from partner | max: 64 | Mandatory
INV-0001
Expired time payment url | format: 2024-07-10T11:57:58+07:00
2024-07-10T11:57:58+07:00
Point of initiation from partner | value: app/pc/mweb | max: 20
app
2. Payment Notification
After payment is completed, DOKU will send HTTP Notification to merchant's defined Notification URL.
Learn how to handle the notification from DOKU.
3. Additional Feature
Online Refund
This endpoint is used to create refund request for previous successful payment. Merchant can request a transaction refund to DOKU.
API Endpoint
HTTP Method
POST
API Sandbox
API Production
Path
.../direct-debit/core/v1/debit/refund
Sample of Request Header, Request Body and Response Body
Notes:
Parameter with (*) is mandatory
Paramater without (*) is optional/conditional
Last updated
Was this helpful?