Indonesia
Learn about the dLocal supported payment methods in Indonesia.
Market specifications
Take a look of all the payment methods available.
Country reference Cards supported APM supportedCards
Find all the information about the card supported capabilities.
Capabilities Process Card PaymentsAlternative Payments
Learn how to integrate cash, bank transfer or wallet payment.
Virtual Accounts Cash OVO (Redirect) OVO Dana LinkAja ShopeePay QRIS Flip Recurring PaymentsMarket specifications
Do you want to know more information about Indonesia's market? Go to the Indonesia’s economy and eCommerce market article.
Country reference
country code | currency code | document name | document format | document required? |
---|---|---|---|---|
ID | IDR | NIK | 16 digits | Yes |
Cards supported
payment_method_id | Brand ID | Name | payment_method_type | Details | Allowed Flows | Logo |
---|---|---|---|---|---|---|
CARD | VI | Visa | CARD | Credit Card | DIRECT REDIRECT | |
CARD | VD | Visa Debit | CARD | Debit Card | DIRECT REDIRECT | |
CARD | MC | Mastercard | CARD | Credit Card | DIRECT REDIRECT | |
CARD | MD | Mastercard Debit | CARD | Debit Card | DIRECT REDIRECT | |
CARD | JC | JCB | CARD | Credit Card | DIRECT REDIRECT | |
CARD | AE | American Express | CARD | Credit Card | DIRECT REDIRECT |
Alternative Payment Method supported
payment_method_id | Name | payment_method_type | Details | Allowed Flows | Logo |
---|---|---|---|---|---|
VS | Virtual Accounts | WALLET | Wallet | DIRECT REDIRECT | |
RO | Cash | TICKET | Cash Payments | REDIRECT | |
XW | OVO (Redirect) | WALLET | Wallet | REDIRECT | |
OV | OVO | WALLET | Wallet | DIRECT | |
DN | Dana | WALLET | Wallet | DIRECT REDIRECT | |
LK | LinkAja | WALLET | Wallet | REDIRECT | |
SO | ShopeePay | WALLET | Wallet | REDIRECT | |
QR | QRIS | WALLET | Wallet | DIRECT REDIRECT | |
IO | Flip | BANK_TRANSFER | Bank Transfer | REDIRECT | |
XU | Recurring Payments | WALLET | Wallet | REDIRECT |
Cards
Capabilities
Visa Credit | Visa Debit | Mastercard Credit | Mastercard Debit | JBC | American Express | |
---|---|---|---|---|---|---|
Minimum amount | 11000 IDR | 11000 IDR | 11000 IDR | 11000 IDR | 11000 IDR | 11000 IDR |
Refunds | Yes | Yes | Yes | Yes | Yes | Yes |
Recurring | Yes | Yes | Yes | Yes | Yes | Yes |
Chargeback option | Yes | Yes | Yes | Yes | Yes | Yes |
Chargeback Dispute option | Yes | Yes | Yes | Yes | Yes | Yes |
Descriptor | Can be personalized, depending on provider. | Can be personalized, depending on provider. | Can be personalized, depending on provider. | Can be personalized, depending on provider. | Can be personalized, depending on provider. | Can be personalized, depending on provider. |
How to process Card Payments?
Learn how to process payments with credit and debit cards with dLocal in our Card Payments section.
Alternative Payment Method
Wallets are the most popular form of fintech service in Indonesia. They allow the user to pay for almost anything: bill payments, barcode scan transactions for offline payments, and online purchases.
Virtual Accounts
A Virtual Account is a digital payment method through an account that is created virtually for each customer. To make payments, customers will be referred to their Virtual Accounts.
A Virtual Account consists of a unique customer ID number. It requires the customer to transfer funds to a virtual bank account via a banking mobile application, internet banking, or physically via ATM.
Capabilities
Virtual Accounts | |
---|---|
Min. amount | 11000 IDR |
Max. expiration time supported | 30 days (Can be extended by provider) |
Notification delay | Immediate |
Refunds | Yes |
Flow | DIRECT REDIRECT |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | .Amount to be charged. | Yes |
currency | String | IDR Transaction currency in ISO 4217. | Yes |
country | String | ID Transaction country in ISO 3166. | Yes |
payment_method_id | String | VS ID of the selected payment method. | Yes |
payment_method_flow | String | DIRECT or REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 15000,
"currency": "IDR",
"country": "ID",
"payment_method_id": "VS",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"document": "1234567890123456",
"address": {
"country": "ID",
"state": "Jakarta",
"city": "Jakarta",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "34545sdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.comm/success_page"
}
{
"id": "D-4-89fb9d50-f025-dg43-b4d2-047114b2bac2",
"amount": 15000,
"currency": "IDR",
"payment_method_id": "VS",
"payment_method_type": "BANK_TRANSFER",
"payment_method_flow": "DIRECT",
"country": "ID",
"bank_transfer": {},
"ticket": {},
"created_date": "2023-01-27T18:30:24.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545hgdsdk3483kqw0",
"notification_url": "http://merchant.com/notification/new"
}
Cash
Reach the unbanked by enabling your customers to complete cash payments. With dLocal’s solution, you can show your customers a payment code for them to complete the payment in any of the supported payment points.
Capabilities
Cash | |
---|---|
Min. amount | 11000 IDR |
Max. expiration time supported | 48 hours |
Notification delay | Immediate |
Refunds | Yes |
Flow | DIRECT REDIRECT |
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | IDR Transaction currency in ISO 4217. | Yes |
country | String | ID Transaction country in ISO 3166. | Yes |
payment_method_id | String | RO ID of the selected payment method. | Yes |
payment_method_flow | String | DIRECT or REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
UX Flow
Examples
{
"amount": 15000,
"currency": "IDR",
"country": "ID",
"payment_method_id": "RO",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"document": "1234567890123456",
"address": {
"country": "ID",
"state": "Jakarta",
"city": "Jakarta",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "34545sk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "D-4-59104f48-fd43-432b-80a7-795d01ae295c",
"amount": 15000,
"currency": "IDR",
"payment_method_id": "RO",
"payment_method_type": "BANK_TRANSFER",
"payment_method_flow": "DIRECT",
"country": "ID",
"bank_transfer": {},
"ticket": {},
"created_date": "2023-01-27T18:23:38.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545sdk3483kqw0",
"notification_url": "http://merchant.com/notification/new"
}
OVO (Redirect)
The most popular form of fintech service in Indonesia.
They allow the user to pay for almost anything: bill payments, barcode scan transactions for offline payments, and online purchases. If a merchant is unable to collect the payer's data, dLocal can do it with the OVO Redirect option.
Capabilities
OVO (Redirect) | |
---|---|
Min. amount | 11000 IDR |
Max. expiration time supported | 55 seconds |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | IDR Transaction currency in ISO 4217. | Yes |
country | String | ID Transaction country in ISO 3166. | Yes |
payment_method_id | String | XW ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 15000,
"currency": "IDR",
"country": "ID",
"payment_method_id": "XW",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"document": "1234567890123456",
"address": {
"country": "ID",
"state": "Jakarta",
"city": "Jakarta",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "34545hgdsdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "R-4-1203e06f-b9e6-47fb-h6yt-76d657c95ba2",
"amount": 15000,
"currency": "IDR",
"payment_method_id": "XW",
"payment_method_type": "BANK_TRANSFER",
"payment_method_flow": "REDIRECT",
"country": "ID",
"created_date": "2023-01-27T18:32:42.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545hgdsdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchant.com/notification/new",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-202e8b95-6964-4de6-a431-0b64b3bf0b66"
}
OVO
The most popular form of fintech service in Indonesia.
They allow the user to pay for almost anything: bill payments, barcode scan transactions for offline payments, and online purchases. Using the Direct option allows merchants to collect payer's data on their checkout and send them in the payment request to dLocal.
Capabilities
OVO | |
---|---|
Min. amount | 11000 IDR |
Max. expiration time supported | 55 seconds |
Notification delay | Immediate |
Refunds | Yes |
Flow | DIRECT |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | IDR Transaction currency in ISO 4217. | Yes |
country | String | ID Transaction country in ISO 3166. | Yes |
payment_method_id | String | OV ID of the selected payment method. | Yes |
payment_method_flow | String | DIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
payer.phone | Number | User's phone number. | Yes |
wallet.name | String | Name of the payer's wallet | No |
wallet.save | Boolean | Determines if you want to receive a wallet token for future payments or not. | No |
wallet.capture | Boolean | Determines if you want to capture the payment funds or not. | No |
wallet.username | String | Username of the payer's wallet account. | Yes |
wallet.email | String | Email of the payer's wallet account. | Yes |
wallet.token | String | Token of a previous payment from the same wallet, | For recurring payments, yes. |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 15000,
"currency": "IDR",
"country": "ID",
"payment_method_id": "OV",
"payment_method_flow": "DIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"phone": "+628432003239",
"address": {
"country": "ID",
"state": "Jakarta",
"city": "Jakarta",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
},
"document": 1234567890123456
},
"wallet": {
"name": "Jane Doe",
"save": true,
"capture": true,
"verify": false,
"username": "Jane123",
"email": "[email protected]",
"expiration": 60,
"label": "label",
"state": "state",
"token": ""
},
"order_id": "34545hgdsdk3483kqw0"
}
{
"id": "D-4-db437e3c-8ead-gf45-bec4-aaed792ed96a",
"amount": 15000,
"currency": "IDR",
"payment_method_id": "OV",
"payment_method_type": "TICKET",
"payment_method_flow": "DIRECT",
"country": "ID",
"bank_transfer": {},
"ticket": {},
"created_date": "2023-01-27T20:19:20.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545hgdsdk3483kqw0"
}
Dana
Dana is a digital wallet that provides cashless and cardless payments. It brings a faster, easier, and more secure way of paying for all online and offline transactions.
DANA is Indonesia's one-stop solution for Indonesian daily activities; from transferring money, and purchasing in DANA merchants, to topping up mobile credit and paying your bills.
Capabilities
Dana | |
---|---|
Min. amount | 11000 IDR |
Max. expiration time supported | 30 minutes |
Notification delay | Immediate |
Refunds | Yes |
Flow | DIRECT REDIRECT |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | IDR Transaction currency in ISO 4217. | Yes |
country | String | ID Transaction country in ISO 3166. | Yes |
payment_method_id | String | DN ID of the selected payment method. | Yes |
payment_method_flow | String | DIRECT or REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 15000,
"currency": "IDR",
"country": "ID",
"payment_method_id": "DN",
"payment_method_flow": "DIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"document": "1234567890123456",
"address": {
"country": "ID",
"state": "Jakarta",
"city": "Jakarta",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "34545hgdsdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "D-4-58463cf7-7de6-dsf2-be7f-eedf8ced2141",
"amount": 15000,
"currency": "IDR",
"payment_method_id": "DN",
"payment_method_type": "TICKET",
"payment_method_flow": "DIRECT",
"country": "ID",
"bank_transfer": {},
"ticket": {},
"created_date": "2023-01-27T18:50:03.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545hgdsdk3483kqw0",
"notification_url": "http://merchant.com/notification/new"
}
LinkAja
LinkAja is an integrated e-wallet service.
It allows users to top up credit, buy packages, pay online, pay merchants, pay bills, buy game vouchers, donate, send money, and many more from the smartphone.
Capabilities
LinkAja | |
---|---|
Min. amount | 11000 IDR |
Max. expiration time supported | 30 minutes |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | IDR Transaction currency in ISO 4217. | Yes |
country | String | ID Transaction country in ISO 3166. | Yes |
payment_method_id | String | LK ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
"{
"amount": 15000,
"currency": "IDR",
"country": "ID",
"payment_method_id": "LK",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"document": "1234567890123456",
"address": {
"country": "ID",
"state": "Jakarta",
"city": "Jakarta",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "34545hgdsdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}"
{
"id": "R-4-0c601b8a-fr43-4765-920e-300daf285388",
"amount": 15000,
"currency": "IDR",
"payment_method_id": "LK",
"payment_method_type": "TICKET",
"payment_method_flow": "REDIRECT",
"country": "ID",
"created_date": "2023-01-27T18:58:45.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545hgdsdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchant.com/notification/new",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-353e669b-70b1-4223-a8eb-962c1fcd0511"
}
ShopeePay
ShopeePay is Shopee’s digital wallet where users can make safe and cashless payments.
Through dLocal it can be used for any online transactions within Shopee - such as buying mobile load and bills payment.
Capabilities
ShopeePay | |
---|---|
Min. amount | 11000 IDR |
Max. expiration time supported | 30 minutes |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | IDR Transaction currency in ISO 4217. | Yes |
country | String | ID Transaction country in ISO 3166. | Yes |
payment_method_id | String | SO ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 39900,
"currency": "IDR",
"country": "ID",
"payment_method_id": "SO",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Test dLocal",
"email": "[email protected]",
"phone": "81331452156",
"document": "1234567890123456",
"address": {
"country": "ID",
"state": "Jakarta",
"city": "Jakarta",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "34545hgdsdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "R-55078-23e5449a-8i76-4b5e-b4f3-c19aedd33180",
"amount": 39900,
"currency": "IDR",
"payment_method_id": "SO",
"payment_method_type": "TICKET",
"payment_method_flow": "REDIRECT",
"country": "ID",
"created_date": "2023-02-16T20:09:53.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545hgdsdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchant.com/notification/new",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-1a8d233e-87y6-4938-b043-ae7d0e3b3975"
}
QRIS
Customers can pay by scanning the QR code using any payment method. Quick Response Indonesian Standard is a standardized QR code regulated by Bank Indonesia (BI) to facilitate cashless payment in Indonesia.
Capabilities
QRIS | |
---|---|
Min. amount | 11000 IDR |
Max. expiration time supported | 2 days |
Notification delay | Immediate |
Refunds | Yes |
Flow | DIRECT REDIRECT |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | IDR Transaction currency in ISO 4217. | Yes |
country | String | ID Transaction country in ISO 3166. | Yes |
payment_method_id | String | QR ID of the selected payment method. | Yes |
payment_method_flow | String | DIRECT or REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 15000,
"currency": "IDR",
"country": "ID",
"payment_method_id": "QR",
"payment_method_flow": "DIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"document": "1234567890123456",
"address": {
"country": "ID",
"state": "Jakarta",
"city": "Jakarta",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "34545hgdsdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "D-4-528db4f4-gg55-478b-9d85-44bb32495523",
"amount": 15000,
"currency": "IDR",
"payment_method_id": "QR",
"payment_method_type": "TICKET",
"payment_method_flow": "DIRECT",
"country": "ID",
"bank_transfer": {},
"ticket": {},
"created_date": "2023-01-27T19:12:50.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "34545hgdsdk3483kqw0",
"notification_url": "http://merchant.com/notification/new"
}
Flip
A leading interbank money transfer fintech company in Indonesia.
With Flip, the platform opens bank accounts in most of the largest Indonesian banks and receives money from end-users who have accounts with these banks.
Capabilities
Flip | |
---|---|
Min. amount | 11000 IDR |
Max. expiration time supported | 3 days |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | IDR Transaction currency in ISO 4217. | Yes |
country | String | ID Transaction country in ISO 3166. | Yes |
payment_method_id | String | IO ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 15000,
"currency": "IDR",
"country": "ID",
"payment_method_id": "IO",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"document": "1234567890123456",
"address": {
"country": "ID",
"state": "Jakarta",
"city": "Jakarta",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "34545hgdsdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "R-4-382eddf7-21da-rfe3-b07b-d99637d16930",
"amount": 15000,
"currency": "IDR",
"payment_method_id": "IO",
"payment_method_type": "BANK_TRANSFER",
"payment_method_flow": "REDIRECT",
"country": "ID",
"created_date": "2023-01-27T19:26:33.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "1134545hgdsdk3483kqw0",
"description": "Tshirt",
"notification_url": "http://merchant.com/notification/new",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-d793dd29-1a7b-4re3-b955-e67adbbae840"
}
Recurring Payments
Recurring Payments allow Indonesian customers to pay for subscriptions and choose their preferred payment method: Dana or BRI.
Dana is a digital wallet that takes cashless and cardless spending to the next level. It brings a faster, easier, and more secure way of paying for all online and offline transactions. With Dana subscription, an automatic payment system for subscription products, after purchasing, the next month's payment will be deducted directly from the customer's DANA Balance.
BRI Direct Debit is an e-Commerce payment feature that connects e-Commerce accounts with BRI debit cards as a Source of Funds (SoF) so that the transaction payment process takes place quickly with a single registration process. By using the Direct Debit feature, digital business customers only need to register their debit card once, then for the next transaction the customer only needs to enter the one-time password (OTP) code received.
Capabilities
Recurring Payments | |
---|---|
Min. amount | 11000 IDR |
Max. expiration time supported | 30 minutes |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
Supported wallets | Dana (Recurring), BRI (Direct Debit Recurring). |
UX Flow
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | IDR Transaction currency in ISO 4217. | Yes |
country | String | ID Transaction country in ISO 3166. | Yes |
payment_method_id | String | XU ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
payer.phone | Number | User's phone number. | Yes |
wallet.name | String | Name of the payer's wallet. | No |
wallet.save | Boolean | Determines if you want to receive a wallet token for future payments or not. | No |
wallet.capture | Boolean | Determines if you want to capture the payment funds or not. | No |
wallet.username | String | Username of the payer's wallet account. | Yes |
wallet.email | String | Email of the payer's wallet account. | Yes |
wallet.token | String | Token of a previous payment from the same wallet. | For recurring payments, yes. |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 10000,
"currency": "IDR",
"country": "ID",
"payment_method_id": "XU",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "[email protected]",
"phone": "+628050976593",
"document": "1234567890123456",
"address": {
"country": "ID",
"state": "Jakarta",
"city": "Jakarta",
"zip_code": "88058",
"street": "Main St.",
"number": "5940"
}
},
"wallet": {
"name": "Jane Doe",
"save": true,
"capture": true,
"username": "Jane2002",
"email": "[email protected]",
"expiration": 60,
"label": "label",
"state": "state",
"recurring_info": {
"subscription_frequency_unit": "MONTH",
"subscription_frequency": 1,
"subscription_start_at": "20230330",
"subscription_end_at": "20240330"
}
},
"order_id": "Rully Test",
"description": "Rully Test",
"callback_url": "http://merchantsite.com/notification/new",
"notification_url": "http://merchantsite.com/success_page"
}
{
"id": "F-4-011d13f9-829d-4re3-8b2b-3b20c39d942f",
"amount": 15000,
"currency": "IDR",
"payment_method_id": "XU",
"payment_method_type": "WALLET",
"payment_method_flow": "REDIRECT",
"country": "ID",
"created_date": "2023-02-15T21:45:29.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "345453483kqws0",
"description": "Tshirt",
"notification_url": "http://merchant.com/success_page",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-continue/M-c6f3f62c-fgt5-4be8-9108-794f9235abdf"
}
Updated 2 days ago