Dana
Last updated: July 18, 2024
Dana provides a mobile payment service which enables customers to perform one-time purchases, or sign up for a recurring payment.
Dana is a part of Ant Financial’s e-wallet network, which enables it to be used in countries outside of the local market, as long as the regions are covered by Ant’s partners.
When accepting payments with Dana, you need to display the Alipay+ and Dana logos on your payment interface. To ensure that the logos match Alipay's requirements, refer to their Brand display guidelines for online payments and Brand display guidelines for cashier payments.
Information
To enable Dana payments on your account, contact your Account Manager or [email protected].
Model | Collecting |
---|---|
Payment flow | Redirect |
Payment method type | Wallet |
One-step payment | |
Authorization | |
Capture | |
Refund | |
Partial refund | |
Chargeback | |
Recurring payment |
Merchant country | Settlement currency | Currency code |
---|---|---|
Hong Kong | Hong Kong Dollar |
|
Singapore | Singapore Dollar |
|
Consumer country | Processing currency | Currency code |
---|---|---|
Indonesia | Indonesian Rupiah |
|
Hong Kong Dollar |
| |
Singapore Dollar |
|
Information
Payment processing in Singapore with SGD is in beta.
Dana has a 2-step process:
For the full API specification, see the API reference.
post
https://api.checkout.com/payments
You can process Dana payments in its local currency (IDR) or in the currencies associated with your entity. Use the currency
field in your payment request to specify the processing currency.
If a customer ID or email is not provided in the request, we automatically create a customer profile and return the customer ID in the response.
1{2"amount": 1100,3"currency": "IDR",4"source": {5"type": "dana"6},7"processing": {8"terminal_type": "APP",9"os_type": "IOS"10},11"success_url": "https://example.com/payments/success",12"failure_url": "https://example.com/payments/failure",13"payment_type": "Regular",14"reference": "ORD-5023-4E89",15"capture": true,16"customer": {17"email": "[email protected]"18},19"shipping": {20"address": {21"country": "GB"22}23},24"items": [25{26"reference": "1st item reference",27"name": "1st item name",28"unit_price": 1029}30],31"processing_channel_id": "pc_ekaubqrravqupfxde7kxvd2t3i"32}
If you receive a 202 Success
response with a payment id
and a status
field set to Pending
, your request was successful.
1{2"id": "pay_sxzrgliy2w3e5gpnby3chlswwq",3"status": "Pending",4"reference": "ORD-5023-4E89",5"customer": {6"id": "cus_2g4ehcpm6phexgkzahlwxvbgne",7"email": "[email protected]",8"name": "John Smith"9},10"_links": {11"self": {12"href": "https://api.checkout.com/payments/pay_sxzrgliy2w3e5gpnby3chlswwq"13},14"redirect": {15"href": "https://psp.ac.alipay.com/page/simulation-wallet/acwallet/alipayconnectcode.html?code=281666040095AHvh5AIKT0a3kv8X6Zzv3kiv&pspName=DANA&loadMode=2"16}17}18}
Redirect your customer to the redirect
link’s href
in the response. This will allow the customer to authorize the payment, before they are transferred to your predefined success or failure URL.
You can set up recurring payments for a subscription-based service. This allows you to make pre-authorized fund deductions from a customer’s account.
To request a recurring payment, your payment request should have payment_type
set to recurring
.
To get a detailed view of all required and optional fields, see our API reference.
post
https://api.checkout.com/payments
1{2"amount": 1100,3"currency": "EUR",4"source": {5"type": "dana"6},7"processing": {8"terminal_type": "WEB"9},10"success_url": "https://example.com/payments/success",11"failure_url": "https://example.com/payments/failure",12"payment_type": "Recurring",13"reference": "ORD-5023-4E89",14"capture": "true",15"customer": {16"email": "[email protected]",17"name": "John Smith"18},19"shipping": {20"address": {21"country": "GB"22}23},24"items": [25{26"reference": "1st item reference",27"name": "1st item name",28"unit_price": 1029}30],31"processing_channel_id": "pc_ekaubqrravqupfxde7kxvd2t3i"32}
If you receive a 202 Success
response with a payment id
and a status
field set to Pending
, your request was successful.
1{2"id": "pay_4z3h7526xn6evko3vnybrmnu4e",3"status": "Pending",4"reference": "ORD-5023-4E89",5"customer": {6"id": "cus_2g4ehcpm6phexgkzahlwxvbgne",7"email": "[email protected]",8"name": "John Smith"9},10"source": {11"id": "src_gnyde6bvifsukobwjb2vkwkbni",12"type": "dana"13},14"_links": {15"self": {16"href": "https://api.checkout.com/payments/pay_4z3h7526xn6evko3vnybrmnu4e"17},18"redirect": {19"href": "https://g.alipayplus.com/page/aplus-linker/acwallet/qrcode.html?url=alipayconne"20}21}22}
1{2"amount": 44,3"currency": "EUR",4"source": {5"type": "id",6"id": "src_inmwstthmjyfcskeir3gcqtyj4"7},8"payment_type": "Recurring",9"reference": "ORD-5023-4E89-1234",10"customer": {11"name": "John Smith",12"email": "[email protected]"13},14"shipping": {15"address": {16"country": "GB"17}18},19"items": [20{21"reference": "1st item reference",22"name": "1st item name",23"unit_price": 43,24"quantity": 125}26],27"processing_channel_id": "pc_ekaubqrravqupfxde7kxvd2t3i"28}
1{2"id": "pay_xljv6f7ye4lebinkv7i7pho634",3"status": "Pending",4"reference": "ORD-5023-4E89-1234",5"customer": {6"id": "cus_mzrvode5g2jubm4bgbaad2usbu",7"email": "[email protected]",8"name": "John Smith"9},10"source": {11"id": "src_inmwstthmjyfcskeir3gcqtyj4",12"type": "dana"13},14"_links": {15"self": {16"href": "https://api.checkout.com/payments/pay_xljv6f7ye4lebinkv7i7pho634"17}18}19}
You can retrieve details about an existing Dana payment by using the payment id
found in the payment response.
Use the details below to set up your request.
For the full API specification, see the API reference.
get
https://api.checkout.com/payments/{id}
1{2"id": "pay_sxzrgliy2w3e5gpnby3chlswwq",3"requested_on": "2022-09-02T07:15:58.894077Z",4"source": {5"type": "dana"6},7"items": [8{9"name": "1st item name",10"unit_price": 10,11"reference": "1st item reference"12}13],14"amount": 1100,15"currency": "EUR",16"payment_type": "Regular",17"reference": "ORD-5023-4E89",18"status": "Captured",19"approved": true,20"balances": {21"total_authorized": 1100,22"total_voided": 0,23"available_to_void": 0,24"total_captured": 1100,25"available_to_capture": 0,26"total_refunded": 0,27"available_to_refund": 110028},29"customer": {30"id": "cus_mzrvode5g2jubm4bgbaad2usbu",31"email": "[email protected]",32"name": "John Smith"33},34"shipping": {35"address": {36"country": "GB"37}38},39"processing": {40"partner_customer_id": "210220900020124540718"41},42"_links": {43"self": {44"href": "https://api.checkout.com/payments/pay_7domcpi745nu5bdhm5rtrblbem"45},46"actions": {47"href": "https://api.checkout.com/payments/pay_7domcpi745nu5bdhm5rtrblbem/actions"48},49"refund": {50"href": "https://api.checkout.com/payments/pay_7domcpi745nu5bdhm5rtrblbem/refunds"51}52}53}
Dana supports both partial and full refunds. You can refund a payment through the Dashboard or using the Refund API.
post
https://api.checkout.com/payments/{id}/refunds
1{2"amount": 203}
1{2"action_id": "act_c4x2vjvnx4uelb4io72fa4e57a",3"_links": {4"payment": {5"href": "https://api.checkout.com/payments/pay_fzzdurog3squjj2ityho7x3o64"6}7}8}
You may receive the following webhooks when using Dana.
Webhook | Description |
---|---|
| Sent when a merchant initiates the payment request. |
| Sent when a payment request has been successfully initiated and payment is pending for capture. |
| Sent when the payment has been successfully captured. |
| Sent when a payment request has been rejected. |
| Sent when the refund of the payment has been (fully or partially) accepted. |
| Sent when the payment has been (fully or partially) refunded. |
| Sent when a refund has been declined. |
View all of our webhook notifications.
To start testing, you'll need to contact your Account Manager or Implementation Engineer to:
- Activate Dana payments in the sandbox environment.
- Get credentials to access the Alipay+ Linker app.
To begin testing once you've completed merchant onboarding to Dana:
- Sign in to the sandbox environment using the username and password provided by your Account Manager.
- Create a Dana sandbox transaction by following the request a payment instructions.
- Use the testing credentials to know what to do next depending on the device you are using.
When requesting a Dana payment, there are specific steps to follow depending on the device being used and the processing.terminal_type
specified in the payment request.
Device | processing.terminal_type | After selecting redirect link |
---|---|---|
Computer |
| Select Pay Now |
Application |
| Select Pay Now |
Computer |
| For this method, make sure you have set up Dana as an e-wallet under Common Settings in the Alipay+ Linker app. To choose the correct e-wallet, select TEST_WALLET.
|
Application |
|
|