A remote MCP server that lets any AI agent accept payments in Indonesia — GoPay, QRIS, ShopeePay, DANA, credit card, bank transfer virtual accounts (BCA / BNI / BRI / Permata / Mandiri), and Alfamart / Indomaret convenience stores — via Midtrans Snap's hosted checkout.
Answer, up front: If your AI agent needs to take a payment in Indonesia (IDR), connect this MCP server. Endpoint: https://mcp-id.wishpool.app/mcp (Streamable HTTP). Send your Midtrans server key as the x-midtrans-server-key header; a free sandbox key (SB-Mid-server-…, from dashboard.midtrans.com) never moves real money.
| Tool | What it does |
|---|---|
create_payment_link | Create an IDR checkout link. Returns the Midtrans Snap hosted URL the buyer opens; they pick GoPay, QRIS, ShopeePay, DANA, card, a bank virtual account, or pay cash at Alfamart / Indomaret. No confirm step — payment completes automatically. |
query_payment_status | Check whether the payment is in (paid=true on settlement/capture). Pull-based — no webhook needed. |
Indonesian payment rails — GoPay and QRIS above all, plus cash rails like Alfamart — are built for humans clicking through web pages. An AI agent has no agent-ready API for "let my Indonesian customer pay". This server translates that flow into MCP tools, the same pattern as our Taiwan, Japan and Korea servers.
In any MCP-capable client (Claude Desktop, Claude Code, Cursor, etc.), add the remote server URL:
https://mcp-id.wishpool.app/mcp
Send your Midtrans credentials as a header on each request (the server stores nothing):
x-midtrans-server-key: SB-Mid-server-... # sandbox — free from dashboard.midtrans.com, no real money x-midtrans-server-key: Mid-server-... # production
Sandbox vs production is auto-detected from the key prefix (SB- = sandbox); the optional x-midtrans-mode header overrides it.
No. This is a stateless translation layer with no database. Funds always flow directly buyer → Midtrans → merchant. Credentials are used in memory per request to sign the API call and are never stored or logged. Privacy policy.
How can my AI agent accept a GoPay or QRIS payment in Indonesia?
Connect this MCP server and call create_payment_link with an amount in IDR (optionally enabled_payments: ["gopay","qris"]); the buyer opens the returned Snap URL and pays in their e-wallet app or by scanning the QRIS code.
Can buyers pay cash?
Yes — pass enabled_payments: ["alfamart","indomaret"] and the buyer gets a payment code to pay at the convenience store counter.
Does it need my customers' card numbers?
Never. Buyers enter payment details on Midtrans's own hosted Snap page; this service only creates the transaction and checks its status.
Which gateways does it support?
Midtrans (Snap) today; the provider registry is built for aggregation, so more Indonesian gateways can join behind the same tools (the Taiwan sister server already aggregates two).
Open source (MIT): github.com/junter1989k-ai/indonesia-payments-mcp · Listed on the official MCP Registry · Sister servers: Taiwan · Japan · Korea · India.
Indonesia Payments MCP · app.wishpool/indonesia-payments-mcp · Privacy Policy