Payment Docs
Payments by countryAsia

Indonesia

Local payment methods in IDR

Before you start

This payment method is not enabled for all merchants. Check availability with your manager.

Overview

CurrencyPayment method
IDRLocal bank and wallet methods

The payer is redirected to paymentLink and chooses a method on the provider page.

What is different from a regular order

The order is created through the standard POST /v1/orders endpoint. The base fields (amount, currency, successUrl, failUrl, callbackUrl, etc.) are the same as for a regular order; on top of them you pass the customer object with payer details.

FieldTypeDescription
customerobjectPayer details. The required set is listed below

The externalUserId field is required for this payment method.

Customer fields

FieldTypeRequiredDescription
phonestring✅ YesPhone number: 10–13 digits starting with 08 or 628
emailstring✅ YesPayer email
firstNamestring✅ YesFirst name, must match the phone number owner
lastNamestring✅ YesLast name, must match the phone number owner

Pass the payer's real data. Names and phone numbers are checked against the phone number owner on the provider side; mismatches lead to declined payments.

Request example

{
  "purpose": "Payment for order #1234",
  "amount": "5000",
  "currency": "IDR",
  "externalId": "23456789",
  "externalUserId": "437568",
  "successUrl": "https://example.com/success",
  "failUrl": "https://example.com/fail",
  "callbackUrl": "https://example.com/webhooks/payments",
  "customer": {
    "lastName": "Santoso",
    "firstName": "Budi",
    "email": "budi.santoso@example.com",
    "phone": "6281245907765"
  }
}

Response

The response is a standard order object. The order is created with the CREATED status; redirect the payer to paymentLink to complete the payment.

Order object fields

Next steps

On this page