How to Integrate Indonesian Payments for Your Ecommerce Website?
Integrating an Indonesian (Indonesia) payment system for an e-commerce website requires an in-depth understanding of local payment customs, regulations and technical requirements. Below is a step-by-step professional guide:
I. Market and Compliance Readiness
-
Payment method analysis::
- electronic wallet (e.g. for money): GoPay (351 TP3T market share), OVO (251 TP3T), DANA (151 TP3T) are the top 3
- bank transfer: Mandiri Virtual Account (281 TP3T share), BCA VA (221 TP3T) dominant
- Convenience Store Payments: Indomaret/Alfamart coverage of the unbanked population
- instalment: Akulaku and Kredivo are growing rapidly, at an annual rate of 1,20%
-
legal compliance::
- Application for BPJPH Halal Certification (for specific commodities)
- Compliance with OJK FinTech regulation with a single transaction limit of Rp 20 million (approximately US$1,300)
- Essential for PCI DSS Level 1 Certification
II. Technology integration programme
A. Autonomous docking programme
// Xendit API Sample Code (Java)
XenditOpt.setApiKey("xnd_development_...") ;
Map params = new HashMap();
params.put("external_id", "order-123");
params.put("bank_code", "MANDIRI");
params.put("name", "John Doe");
params.put("amount", 150000);
VirtualAccount va = XenditVA.create(params);
Advantage: lower rates (1.5-2%)
Disadvantage: need to maintain multiple API connections
B. Comparison table of PSP aggregation programmes
service provider | site coverage | settlement cycle | API Response Time |
---|---|---|---|
Midtrans | 92% | T+2 | <800ms |
Doku | 85% | T+3 | <1200ms |
Xendit | 78% | T+1 | <500ms |
It is recommended to choose a solution that supports "One-Click Pay" in order to increase conversion rates.
III. Localisation Optimisation Points
- UI/UX design specification
- Must show BPJS Health Insurance Staging Options button
- OTP validation needs to support 6-digit format (SMS format standard)
- The Rupiah symbol must be placed to the left of the amount (Rp50,000).
- Anti-fraud strategy
- Device fingerprinting needs to include IMSI code capture.
- TransUnion Indonesia wind control interface integration costs about $0.02/query
IV. Payment process optimisation and performance tuning
1. Payment process localisation design
Indonesian users have unique preferences for the payment experience and need to pay special attention to the following details:
-
Multi-step validation(for large transactions):
- Bank transfers/e-wallets usually require a secondary confirmation page (showing the recipient's virtual account number + amount)
- GoPay/OVO requires a jump to the official app to complete authorisation (Deep Link integration must be stable)
-
Failure handling mechanism::
- Mandiri VA timeout is only 15 minutes and a new VA number needs to be generated automatically after failure
- OVO/DANA Error Codes
3005
Representing an insufficient balance, users should be directed to switch to convenience store payments
-
Receipt specification::
The law states that it must be included:PT [YourCompany] | NPWP: xx.xxx.xxx.x-xxx.xxx
Invoice ID: INV/2024/XXXXX
2. API performance key indicators
High network latency in Indonesia (average 3G connection), optimisation of targets is recommended:
annular ring | SLA requirements | CDN Node Recommendation |
---|---|---|
Payment Page Loading | <2s | Akamai Jakarta POP |
API Response (Create Order) | <800ms | AWS ap-southeast-3 (Jakarta) |
Webhook Notification | <3 retries | GCP Jakarta Region |
▶️ Practical tips: to the Xendit/Midtranscreate_payment
The interface is optimised for TCP Fast Open, which reduces latency by about 200ms.
V. Operation and Risk Control Strategies
1. Dynamic settlement rules
Adjust the funds clearing cycle according to the channel:
# Python Pseudo Code Example
def get_settlement_days(payment_method).
rules = {
"BCA_VA": {"min_amount":50,000, "days":1},
"DANA_EWALLET": {"min_amount":0, "days":0}, # T+0 Instant
"ALFAMART_RETAIL": {"max_amount":1000000, "days":3}
}
return rules.get(payment_method)
2. AML compliance monitoring
Bank Indonesia (BI) requested records:
- Two-factor positioning in IP + GPS coordinates (error <100 metres)
NIK
ID number capture (transactions over Rp10jt≈$650)
Recommended Tools.
# Using Midtrans' Identity Verification API
curl https://api.midtrans.com/v2/kyc \
-H 'Authorization: Basic xxxxx' \
-d 'nik=3175021905840001&phone=62812888xxxx'
VI. Recommendations for the integration of emerging trends
1️⃣ QRIS Unicode Payment (Government mandatory standards)
- Doku already supports dynamic QR generation with rates as low as 0.7%