🎓 CoursesMarkets & internationalIntermediate⏱ 60 min
🇮🇩
Accepting payments in Indonesia and Thailand. 6 chapters and a final quiz.
A playbook for e-commerce merchants entering Southeast Asia through its two largest payment markets. Wire up QRIS and PromptPay without mixing them up, connect virtual accounts and manual bank transfers, and accept GoPay, OVO, and DANA without four separate integrations. Cost out a cash-on-delivery order and manage its return loop. Check the GPN requirement and determine your licensing status with Bank Indonesia and the Bank of Thailand.
Choose a payment setup for Indonesia and Thailand based on the methods customers actually pay with, not on a provider’s catalog
Wire up QRIS and Thai QR Payment knowing what drives the price of each, and calculate the acceptance cost for your own average order
Connect virtual accounts, manual bank transfers, and BI-FAST direct debit, with a reconciliation key that holds up
Accept GoPay, OVO, DANA, and their Thai counterparts without multiplying integrations, and verify the regulatory status of each counterparty
Chapter 1. Scoping market entry: two markets, two pricing models.
An Indonesian or Thai payments project starts with a structural decision, not an API choice. The two markets look alike from a distance, but they diverge as soon as you look at pricing. Bank Indonesia publishes an acceptance fee schedule and imposes it on the entire chain. The Bank of Thailand capped the price of PromptPay transfers, and since 2018 most banks no longer charge for them (Bank of Thailand). That difference shapes your margin model, your choice of provider, and your timeline.
Indonesia
Thailand
Payments regulator
Bank Indonesia; OJK for credit
Bank of Thailand; the Minister of Finance signs licenses
Instant rail
BI-FAST, launched December 21, 2021
PromptPay, operated by National ITMX since 2017
QR standard
QRIS, 2019, mandatory for all licensed issuers
Thai QR Payment, 2018, built on PromptPay
Domestic card scheme
GPN, mandatory domestic routing since December 4, 2017
TPN / Local Switching, National ITMX, 2016
Who sets the acceptance cost
The central bank, through a published rate schedule
The acquirer, in a market where retail transfers are free
Role of online bank payments
The virtual account is the standard building block
PromptPay accounts for most of it: ≈44% of e-commerce value via A2A (Worldpay, Global Payments Report 2026)
Settlement currency
Indonesian rupiah (IDR)
Thai baht (THB)
The two markets side by side, from the merchant’s point of view
Decide how you will be present in the market before you pick a provider, because the three possible setups do not unlock the same payment methods. In the first, you collect from abroad through a local aggregator. In the second, you set up a local entity. In the third, you sell through a marketplace that collects payments for you. Each comes with a different lead time, tax treatment, and regulatory exposure.
🌐
Cross-border seller
You contract with a locally licensed aggregator, which collects payments in its own name and pays you out. There is no license to apply for. In exchange, the settlement currency, the payout schedule, and issuing-bank coverage depend entirely on the aggregator.
🏢
Local entity
An Indonesian or Thai company holds the settlement account, the merchant onboarding, and local-currency invoicing. The lead time runs to months. Only this route gives access to the lowest merchant rates and real control over reconciliation.
🛒
Marketplace
The platform collects payment, keeps its commission, and pays you out, so the payment falls outside your scope, and the customer data goes with it. This setup is useful for testing demand but not for building a margin, because you see neither the decline rate nor the payment method mix.
*Which issuing banks are covered for virtual account payments?* In Indonesia, coverage drives the conversion rate. A buyer whose bank is not covered abandons the purchase.
Is the QR code dynamic? A static code collects payment but cannot be reconciled. Make it a contractual requirement and verify it during acceptance testing.
Which settlement file, at what level of detail? One line per transaction with your order reference, or nothing. A daily total cannot be reconciled.
In what currency does the payout arrive, and within what contractual time frame? IDR, THB, USD, or euro: the rate applied and its date are a cost item in their own right.
What exactly is the provider’s regulatory status? License number, authority, category. An unlicensed intermediary holding your funds is a counterparty risk, not a supplier.
What happens with refunds? These rails have no chargebacks. A refund is an outbound transaction with its own fees and its own timing.
⚠️
Settlement currency is a decision, not a default setting
An aggregator that collects in rupiah and pays you out in dollars performs two successive conversions, and neither appears in the advertised commission rate. Ask for the exchange rate used, its source, its timestamp, and the margin applied, then compare with local-currency settlement into a domestic account. At mid-sized volumes, the difference often exceeds the acceptance fee itself.
12.55B
QRIS transactions in the first half of 2026, up 100.12% year over year
Bank Indonesia, August 6, 2026
27.4B
PromptPay transactions in 2025, worth about US$1.6 trillion (+12.8% year over year)
RTP Dashboard, based on Bank of Thailand data
36 %
share of cash in Indonesian point-of-sale payments in 2025, versus 77% in 2019
Worldpay, Global Payments Report 2026
81M
PromptPay registrations as of mid-2025, with a monthly peak of 2.36 billion transactions
Bank of Thailand
🎯 Quick question
An Indonesian aggregator offers you monthly settlement in dollars. What is the first figure you should ask for?
Chapter 2. QRIS and PromptPay: two QR codes, two economic models.
The two standards share the same technical grammar, EMVCo’s merchant-presented mode encoded in TLV, so a developer can move from one to the other without relearning anything. The trap lies elsewhere. What differs is who sets the price, and what you have to register to get it. In Indonesia, your merchant category sets your rate. In Thailand, no such category exists, and the price comes out of a negotiation with the acquirer.
Criterion
QRIS (Indonesia)
Thai QR Payment (Thailand)
Operator
Bank Indonesia with ASPI
Bank of Thailand / National ITMX
In service since
2019
2018
Underlying settlement rail
Licensed wallets and bank accounts, via switches
PromptPay
Who sets the merchant’s cost
Bank Indonesia’s public schedule, by merchant category
The acquirer, in a market where retail transfers are free
Passing the cost on to the customer
Prohibited: the QRIS MDR is borne by the merchant (Bank Indonesia)
Governed by the acceptance contract and the acquirer’s policy
Regulatory per-transaction cap
IDR 10,000,000 per transaction (PADG No. 3 of 2025, February 19, 2025)
No single published QR limit; limits come from the payer’s bank
Connected ecosystem
96 banks, 60 nonbank institutions, 4 switching operators (Bank Indonesia, August 2026)
Thai banks and wallets connected to PromptPay
Recent extension
QRIS Tap (2025), NFC for use cases where scanning is too slow
Bilateral QR links, including PayNow–PromptPay since 2021
QRIS and Thai QR Payment: what differs for the merchant
In Indonesia, the category recorded at onboarding decides everything. It separates micro businesses from organized retail, and the rate gap ranges from zero to 0.7 percentage points. Reclassification is generally not retroactive, so a misclassified merchant pays the higher rate on its entire history. Check that line before the first settlement, not at the first statement.
QRIS acceptance cost on 1,000 orders: the calculation to run before signing
QRIS MDR SCHEDULE (Bank Indonesia, “MDR QRIS bagi Merchant” page)
UMI, transaction <= IDR 500,000 ............. 0.0%
UMI, transaction > IDR 500,000 ............. 0.3%
UKE / UME / UBE ............................. 0.7%
Education ................................... 0.6%
Gas stations (SPBU) ......................... 0.4%
Public services, G2P, taxes, donations ...... 0.0%
CALCULATION: average order IDR 350,000, 1,000 orders per month
Monthly volume V = 350,000 x 1,000 = IDR 350,000,000
UMI class (> IDR 500,000 not reached at this order size):
order stays below IDR 500,000 -> 0.0% = IDR 0
UKE / UME / UBE class:
350,000,000 x 0.007 = IDR 2,450,000 / month
= IDR 29,400,000 / year
ANNUAL GAP BETWEEN THE TWO CLASSIFICATIONS ... IDR 29,400,000
WHAT THIS CALCULATION TELLS YOU
· merchant category matters more than the choice of provider
· it is set at onboarding, based on documents, and is hard to correct
· an order above IDR 500,000 moves a UMI merchant
from 0.0% to 0.3%: the threshold is PER TRANSACTION, not per month
· this cost cannot be passed on to the customer: Bank Indonesia prohibits it
⚠️
Two Indonesian rules that break a checkout flow
Since Bank Indonesia’s PADG No. 3 of 2025, the QRIS limit has been IDR 10,000,000 per transaction. Issuers remain free to impose lower cumulative limits, and they do. A high average order value therefore requires a fallback channel, virtual account or card, wired in from day one. The second rule prohibits charging the customer a QRIS surcharge. Make sure your provider does not do it on your behalf under a service-fee label.
In Thailand, the logic is reversed. The Bank of Thailand has not published a merchant fee schedule, but it has made retail transfers virtually free. The official price cap is modest. Transfers up to THB 5,000 are free, then cost less than THB 2 up to THB 30,000, less than THB 5 up to THB 100,000, and less than THB 10 above that (Bank of Thailand). Since 2018, most banks no longer charge for digital transactions, and that zero floor sets the price of everything else.
PromptPay is addressed by alias, never by account number. A mobile number, national ID number, corporate tax ID, or e-wallet ID.
The merchant alias must show the name the customer knows. The payer’s app displays it before confirmation. A mismatch between the legal name and the trading name causes abandonment on the last screen.
A mobile number can be linked to only one account (Bank of Thailand). A national ID number can be linked to several. This rule determines how you register multiple entities.
Free P2P does not mean free P2M. Merchant acceptance is contracted with an acquirer, which charges for its service. Ask for the fee schedule in writing; it does not appear in any regulation.
The rail settles in baht, on the BAHTNET calendar. The payment is final for the payer the moment the code is scanned. Funds reach you on the RTGS schedule, in business days.
QR acceptance test checklist to run before go-live in both markets
BEFORE THE FIRST LIVE PAYMENT
[ ] initiation mode = DYNAMIC (single-use code), verified
on a real payload, not on a sales promise
[ ] order reference present in the payload AND returned
in the credit notification AND present in the settlement file
[ ] code lifetime set server-side, and code invalidated
on the first credit notification
[ ] second credit with the same reference: REJECTED, logged, alerted
[ ] merchant name displayed matches the trading name the customer knows
[ ] amount above the rail limit rejected with a clear message
+ switch to the fallback channel, without re-entering the cart
INDONESIA, ALSO
[ ] merchant category (UMI / UKE / UME / UBE) confirmed in writing
[ ] MDR applied matches the Bank Indonesia schedule
[ ] no surcharge charged to the customer, including by the provider
[ ] IDR 10,000,000 limit handled in the checkout flow
THAILAND, ALSO
[ ] PromptPay alias registered under the trading name the customer knows
[ ] merchant acceptance fee schedule obtained IN WRITING from the acquirer
[ ] settlement value date aligned with the BAHTNET calendar
🎯 Quick question
An Indonesian merchant classified as UMI sees its average order rise from IDR 400,000 to IDR 600,000. What happens to its QRIS MDR?
Chapter 3. The bank channel: virtual accounts, manual transfers, and BI-FAST.
In Indonesia, bank payments almost never take the form of a free-form transfer. They take the form of a virtual account: a unique account reference, generated for each order, which the buyer pays from a banking app or an ATM. The reference is the order. Reconciliation becomes exact with no human intervention, and this setup solves the problem that static QR codes leave untouched.
Collecting via virtual account, from order to settlement
Your back office
Requests a reference from the gateway
Amount, target bank, validity period, and your order number as the external key
➜
Gateway
Allocates a virtual account number at the chosen bank
Fixed amount (the payer cannot change it) or open amount, depending on the use case
➜
Buyer
Pays from their banking app, an ATM, or a branch
Enters the allocated number; the name displayed must be your trading name
➜
Buyer’s bank
Credits the collection account
The transfer is a final push payment: this rail has no dispute procedure
➜
Gateway
Notifies your server of the credit
With the order number: this notification, and only this one, counts as payment
➜
Your back office
Matches, closes the reference, releases the shipment
Idempotency is mandatory: a reference credited twice must never ship twice
➜
Settlement bank
Pays the net amount into your account
On the RTGS value date, in business days, not at the moment of the credit
Manual bank transfers persist alongside it, especially among small sellers. The buyer sends money to a displayed account, then uploads a screenshot of the confirmation, and the seller releases the order on that basis. This practice is the most exploited entry point for e-commerce fraud in Indonesia and Thailand. A screenshot can be faked in seconds.
⚠️
A displayed confirmation is not proof of credit
No phone screen proves that an account has been credited. Proof comes from the notification pushed by your bank or gateway, or from a query to its status API. Nothing else establishes it. If your model relies on manual transfers, at a minimum wire in automatic reading of incoming credits and reconcile on a reference the payer does not choose. An operator who checks by eye will eventually ship an order that was never paid.
The virtual account, whenever possible. The bank allocates the reference, it is unique to the order, and it comes back in the notification. Nothing to guess.
A fixed amount rather than an open one. An amount the payer can change opens the door to partial payments, and every partial payment becomes a line to handle by hand.
A unique amount as a fallback. On a free-form transfer, adding an order-specific suffix of a few units to the total creates a reconciliation key. The technique works, but it does not replace a reference: two simultaneous orders can end up with the same suffix if the generator does not lock it.
A short, displayed validity period. A reference left open indefinitely produces orphan credits that arrive after the order has been canceled.
A queue of unreconciled credits, worked daily. It will exist. The question is not how to avoid it, but who clears it and how quickly.
Channel
Reconciliation
Recurring possible?
Best for
Virtual account (Indonesia)
Automatic, by allocated reference
No, the payer acts each time
One-off orders, medium to high order value, banked buyers
Manual transfer (both markets)
Manual, or by unique amount
No
Sellers with no integration, stopgap; never a target model
QRIS / Thai QR Payment
Automatic if the code is dynamic
No
Low to medium order value, mobile-first, in store and online
BI-FAST direct debit (Indonesia)
Automatic, initiated by the creditor
Yes, since December 21, 2024
Subscriptions, recurring bills, limit ≤ IDR 250M
BI-FAST bulk transfer
Automatic, in batches
Outbound only
Mass refunds and payouts, ≥ 20 transactions per instruction
Choosing a bank channel to fit the need
These markets long lacked recurring payments, because push transfer rails always start with the payer, which rules out subscriptions. Bank Indonesia closed the gap on December 21, 2024, by adding direct debit and request to pay to BI-FAST. Each is capped at IDR 2,500 charged to the customer, the same cap that already applies to a standard transfer. Nine participants have launched the service.
ℹ️
On these rails, a refund is just another transfer
BI-FAST and PromptPay are push credit rails, so a payment is final once executed, and nothing comparable to a chargeback exists. A refund means sending an outbound transaction, on your initiative, with its own fees and timing. Any dispute, guarantee, or escrow logic must therefore live in your application. Neither the rail nor your provider will supply it.
🎯 Quick question
Why does a fixed-amount virtual account reconcile better than an open-amount one?
Chapter 4. GoPay, OVO, DANA: connecting wallets without multiplying integrations.
The costliest mistake is treating Indonesian wallets as four separate integrations. In person, QRIS has settled the question: all four pay the same code. So the useful question is a different one. It concerns the QRIS acquirer that routes your payments, its fee schedule, and the level of detail in its settlement file. Online, the logic differs: each wallet keeps its own flow, its own redirect, and its own conversion rate.
🛵
GoPay, PT Dompet Anak Bangsa
The GoTo group’s wallet, licensed and supervised by Bank Indonesia, while the associated credit products sit in separate entities licensed by the OJK. GoTo reported more than 500 million transactions a month as of September 2025, with 24 million monthly active users.
🟣
OVO, PT Visionet Internasional
A wallet paired with a loyalty program: payment at partner merchants, points, promotions. In October 2021, Grab bought out the shares held in the company by Tokopedia and the Lippo Group (The Jakarta Post, October 6, 2021).
🔵
DANA, PT Espay Debit Indonesia Koe
A Category 1 payment service provider on Bank Indonesia’s register, covering issuing, acquiring, payment initiation, and money transfer. The only one of the four not tied to a ride-hailing or e-commerce super app.
🟠
ShopeePay, PT AirPay International Indonesia
The captive wallet of the Shopee marketplace, part of Sea Group, licensed by Bank Indonesia. Paired with SPayLater installments, up to 24 monthly payments at 0%, and a range of credit and investment products.
🇹🇭
In Thailand
TrueMoney and Rabbit LINE Pay are the market’s leading wallets, while เป๋าตัง (Paotang), run by Krung Thai Bank since 2018, is the de facto channel for government programs. Government transfers go through a commercial bank, not through central bank infrastructure.
🔗
Alipay+, Ant International
A gateway that connects dozens of national wallets, including TrueMoney, to the merchant acceptance network through a single integration. It is the main private-sector competitor to the QR links between the region’s central banks.
A wallet’s online flow always follows the same pattern, and it always breaks at the same point. Your server creates the order, the customer switches to the wallet app and authorizes, then is redirected to your page. That return is not the payment. It does not always happen, it can be forged, and it sometimes arrives before the actual confirmation.
⚠️
An app return never counts as payment
During a mobile app switch, the customer may close the wallet before the redirect, lose their connection, or land on a cached page. Three safeguards keep the loop intact. Treat the signed server notification as the single source of truth. Query the status API when the customer returns, and never trust URL parameters. Set an expiry on the order, and reject any authorization received after it expires.
Case
Through the national QR code
Direct integration
In-store or doorstep payment
Yes, one code for all licensed wallets
Not applicable
Mobile online payment
Possible, but scanning on the same device hurts conversion
Yes, app switch with automatic return
Merchant-initiated refunds
Depends on the acquirer, often outside the rail
Built into the wallet’s API, with its own timing
Settlement file
One acquirer file, all brands combined
One file per brand, reconciled separately
Integration cost
One integration
One integration per wallet, plus maintenance
Accepting a wallet through the national QR code or integrating it directly
The brands behind the wallets in both marketsGOGojekGrabSHShopeeLILINEAlipay
Buy now, pay later arrives through the same apps, but it answers to a different regulator. Kredivo makes lending decisions in real time and is distributed through the major marketplaces. Akulaku claims 33 million customers and more than 90,000 listed sellers (Akulaku, official website, 2026). These products are credit, supervised by the OJK, not payment services under Bank Indonesia. The distinction determines the applicable regime, the disclosure obligations, and how missed payments are handled.
🎯 Quick question
An Indonesian buyer pays with GoPay on mobile. They authorize the payment in the app, then lock their phone without returning to your page. What should your back office do?
Chapter 5. Cash on delivery: managing the return loop.
Cash on delivery runs on a logistics chain. The carrier collects payment on your behalf, and it sends some of your parcels back. The visible cost is the carrier’s commission. The real cost lies in the return loop. A refused parcel travels twice, comes back damaged or late, and has collected nothing. Either you manage that loop with metrics, or it eats your margin.
The return loop of a cash-on-delivery order
Warehouse
Picks the stock and ships
The stock leaves available-to-sell inventory with no payment collected against it
➜
Carrier
Attempts delivery, one to three times depending on the contract
Each extra attempt is billed, successful or not
➜
Customer
Accepts and pays, or refuses at the door
Refusing costs the customer nothing: this is where the entire margin gap lies
➜
Carrier
Collects the cash and consolidates it
It holds your money until remittance, which is a counterparty risk, not a processing delay
➜
Carrier
Returns the refused parcel to the sender
Return trip billed, often slower than the outbound trip, with weaker tracking
➜
Warehouse
Inspects, repackages, restocks, or marks down
Some returns never become sellable at full price again
➜
Accounting
Reconciles three flows that never arrive together
Orders shipped, carrier cash remittances, actual bank credits
Two clocks run in parallel, and mixing up their timing distorts your entire cash position. The cash clock runs from delivery to the bank credit. The stock clock runs from shipment to the item going back on sale. A 10-point refusal rate therefore ties up both inventory and working capital. Measure the two separately.
The minimum dashboard for a cash-on-delivery program
TRACK MONTHLY, BY MARKET AND BY CARRIER
1 Refusal rate at the door
parcels refused / parcels presented measured BY YOUR SYSTEMS,
never self-reported by the
carrier
2 Average attempts per delivered parcel every attempt is billed
3 Cash remittance lead time (days) contractual, then ACTUAL;
the gap between the two is
free financing you are
giving away
4 Cash held on your behalf to be capped in the contract,
at any given time with a guarantee mechanism
5 Time to return to sellable stock from shipment back to
available-to-sell
6 Share of returns marked down or lost as % of returned value
7 Conversion rate to a prepaid rail share of orders switched
to QRIS, virtual account, or
PromptPay, month by month
HOW TO READ IT
Metrics 1, 5, and 6 measure LOST MARGIN.
Metrics 3 and 4 measure RISK AND FINANCING.
Metric 7 is the only one that measures your progress.
A remittance file itemized by order. An aggregated remittance cannot be reconciled. You negotiate this point with logistics, not payments.
A written remittance deadline, with a penalty. Until it is in the contract, it floats, and it finances the carrier with your money.
A cap on the cash held on your behalf, with a matching guarantee. The carrier is not a supervised payment institution.
Rules for refusals. Who pays for the return, how quickly the product becomes sellable again, and at what refusal rate the price gets renegotiated.
The number of attempts included. A second and third delivery attempt raise the delivery rate, and the bill. Make the trade-off on data, zone by zone.
Criterion
Cash on delivery allowed
Prepayment required
Order value
Below the cap you set
Above it: the loss on refusal becomes too high
Customer history
At least one order received and paid for
First purchase, to an address never delivered to
Delivery zone
Zones whose measured refusal rate stays below your threshold
Zones above the threshold, until it comes down
Product category
Products restocked with no loss of value
Custom, perishable, or heavily marked-down products on return
Address and phone number
Verified number, address already delivered to
Unverified or inconsistent contact details
Cash-on-delivery eligibility policy: a grid to adapt to your own data
✅
What to replace it with, market by market
In Indonesia, two substitutes exist, and they complement each other. The virtual account collects payment before shipment and reconciles automatically, while convenience store payment takes over for unbanked buyers. The Alfamart and Indomaret chains had a combined 44,366 stores in early 2026 (CNBC Indonesia, February 27, 2026). In Thailand, the shift runs through PromptPay, backed by more than 81 million registrations as of mid-2025. The budget for the switch already exists: today it goes to the carrier and to returned inventory.
🎯 Quick question
Which dashboard metric truly measures the progress of a program to move away from cash on delivery?
Chapter 6. The right to collect payments: GPN and licensing by Bank Indonesia and the Bank of Thailand.
A successful technical integration does not give you the right to collect payments: two checks come before the first live transaction. The first concerns routing, since in Indonesia a domestic card transaction must stay in the country. The second concerns you. Do you hold funds on behalf of a third party at any point? The answer determines your licensing regime, and the question comes up before the letter of intent.
The Gerbang Pembayaran Nasional (National Payment Gateway) is the compliance point that international overviews overlook. It was established by PBI No. 19/8/PBI/2017 and PADG No. 19/10/PADG/2017, then launched on December 4, 2017. It requires domestic card transactions to be routed through one of four licensed switches: Artajasa, Rintis, Alto, and Jalin. An Indonesian card used at an Indonesian merchant no longer leaves the country. The domestic debit MDR is capped at 0.15%on-us and 1%off-us, and at 0% on payments to the government. This is the cheapest acceptance channel in the market, but it does not cover foreign cardholders.
Criterion
Indonesia, PBI No. 22/23/PBI/2020
Thailand, Payment Systems Act B.E. 2560 (2017)
Issuing authority
Bank Indonesia; OJK for credit and financing
The Minister of Finance, on the Bank of Thailand’s recommendation, or the BOT alone for registration
License categories
PJP (services to end users, categories 1 to 3) and PIP (infrastructure operation)
Designated payment services, at two levels: license or registration
Ownership requirements
PJP: 15% of capital and 51% of voting rights held by Indonesian persons. PIP: 80% on both counts
No domestic ownership threshold; at least one director of Thai nationality residing in Thailand (BOT, SorNorChor. 5/2561)
Capital required
Set by the relevant regime, with the ownership thresholds above
E-money THB 100M; acquiring THB 50M; payment facilitation THB 10M; collection on behalf of third parties THB 10M; money transfer THB 10M (BOT, SorNorChor. 5/2561)
Combining activities
Credit must sit in an OJK-licensed entity, separate from the PJP
Several services applied for together: the capital required is the highest of the applicable thresholds
Review period
Reviewed by Bank Indonesia once the application is complete
60 business days for a license, 30 business days for a registration (BOT, SorNorChor. 5/2561)
Mandatory technical layer
SNAP, the national payment API standard (Governor’s Decision No. 23/10/KEP.GBI/2021)
No mandatory national API standard; the format comes from the acquirer
The two licensing regimes, compared on what holds up an application
October 18, 2017
Payment Systems Act B.E. 2560 published
Thailand brings important payment systems, designated systems, and designated services under a single law. It took effect on April 16, 2018.
December 4, 2017
GPN launches in Indonesia
Domestic routing of card transactions becomes mandatory, through four licensed switches.
April 16, 2018
BOT Notification No. SorNorChor. 5/2561
The Bank of Thailand sets the conditions for licensing and registration, including minimum paid-up capital and the requirement for a Thai director.
April 17, 2018
Ministerial list of designated services
Thailand’s Ministry of Finance sets the list of payment services that require a license.
July 1, 2021
PBI No. 22/23/PBI/2020 takes effect
Bank Indonesia overhauls all payment licenses around two categories, PJP and PIP, each with its ownership thresholds.
December 21, 2024
BI-FAST adds recurring payments
Direct debit, request to pay, and bulk transfer join the rail. Each has its own cap on the price charged to the customer.
🔑
The question that determines your regime
Your regime turns on a single question: do you hold funds belonging to a third party, even for a second? If your provider collects in its own name, under its own license, and pays you the proceeds of your sales, you are a merchant. You have nothing to apply for. If you collect on behalf of sellers, hold a stored balance, or issue a prepaid instrument, you are providing a payment service. The classification depends neither on your size nor on where you are incorporated.
The license number of every counterparty, its authority, and its category. An unlicensed intermediary holding your funds is a risk, not a supplier.
Proof of domestic routing for Indonesian cards: which licensed switch, which acquirer, and since when.
Read the SNAP specifications before the provider’s documentation. Doing it the other way around means rewriting the integration.
Credit kept separate in an OJK-licensed entity, never stacked inside the PJP.
The actual review timeline, with milestones. In Thailand, the 60-business-day clock only starts once the application is complete and verified.
⚠️
QRIS and GPN are also a trade policy issue
The US Trade Representative listed QRIS and GPN as trade barriers in its National Trade Estimate report of March 31, 2025. The report targets access for foreign providers and foreign ownership limits. Bank Indonesia defends the framework as open, justified by financial inclusion and monetary sovereignty. Building an Indonesian strategy on the assumption of an imminent easing amounts to a political bet.
🎯 Quick question
A foreign company wants to issue a prepaid wallet in Thailand. What is the minimum paid-up capital, and who signs the license?