Odel
Indonesia Payments (Midtrans Snap — GoPay / QRIS / Alfamart / bank VA)

Indonesia Payments (Midtrans Snap — GoPay / QRIS / Alfamart / bank VA)

@junter1989k-aiJavaScriptMITUpdated 1mo ago

Indonesia payments for AI agents — GoPay, QRIS, Alfamart, bank VA via Midtrans. Never holds funds.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

Indonesia Payments MCP — server MCP agar agen AI bisa menerima pembayaran di Indonesia

Use it in 60 seconds

Paste this into your MCP client config (Claude Desktop, Cursor, Windsurf, or any MCP-capable agent):

{
  "mcpServers": {
    "indonesia-payments": {
      "type": "http",
      "url": "https://mcp-id.wishpool.app/mcp"
    }
  }
}

Nothing to install. Credentials, when you need them, travel as HTTP headers on each request and are never stored — see the threat model.

Or run it yourself

Would you rather not send production credentials to a server you do not control? Deploy this identical code to your own account and point your agent at your own URL:

Deploy with Vercel

git clone https://github.com/junter1989k-ai/indonesia-payments-mcp && cd indonesia-payments-mcp && npx vercel --prod

MIT-licensed. Self-hosting removes us from the picture entirely, at no cost and with no loss of function.


Live · MCP endpoint: https://mcp-id.wishpool.app/mcp · Listed on the official MCP Registry as app.wishpool/indonesia-payments-mcp · Sister servers: Taiwan · Japan · Korea · India

English below. / Bahasa Indonesia di bawah.

A remote MCP server that lets any AI agent (Claude, ChatGPT, Cursor…) accept payments in Indonesia:

  • 📱 GoPay / QRIS / ShopeePay / DANA — the e-wallet & QR rails Indonesia actually uses
  • 🏦 Bank transfer virtual accounts — BCA / BNI / BRI / Permata / Mandiri (echannel)
  • 🏪 Alfamart / Indomaret — cash payment codes at convenience stores
  • 💳 Credit card
  • 🔍 Payment status check — pull-based, no webhook needed; no confirm step, payment completes automatically

v0.1 routes through Midtrans Snap, a major Indonesian payment gateway with a hosted checkout page. The provider registry is built for aggregation — more Indonesian gateways join behind the same tools.

⚖️ Stateless translation layer: funds always flow buyer → Midtrans → merchant directly. This server never holds, moves, or stores funds or credentials — no database at all.

Why this exists

Indonesian payment rails — GoPay, QRIS, VA transfers, Alfamart cash codes — are built for humans clicking through web pages. An AI agent has no agent-ready API for "let my Indonesian customer pay". This MCP server translates that flow into tools an agent can call.

Quick start

MCP endpoint: https://mcp-id.wishpool.app/mcp (Streamable HTTP, stateless JSON-RPC)

Add the server URL in any remote-MCP client (Claude Desktop / Claude Code / Cursor…), then send your Midtrans key as a header on each request:

HeaderValue
x-midtrans-server-keyYour Midtrans server key. SB-Mid-server-... = sandbox (no real money, free from dashboard.midtrans.com); Mid-server-... = production. Mode auto-detected from the SB- prefix; optional x-midtrans-mode header overrides.

No public demo key exists for Midtrans, so bring your own — a sandbox key takes a minute to get and never moves real money (test payments complete via simulator.sandbox.midtrans.com).

Tools

ToolWhat it does
create_payment_linkCreate an IDR hosted-checkout link (gopay / qris / shopeepay / dana / credit_card / bca_va / bni_va / bri_va / permata_va / echannel / alfamart / indomaret). Returns the Snap URL.
query_payment_statusCheck status by order_id: paid=true on settlement (or capture + fraud accept).

Develop

node test/serve.js      # local server (http://localhost:3214/mcp)
node test/e2e.js        # protocol + validation suite (probes real Midtrans auth errors)

Zero runtime dependencies; Node ≥ 18.


English summary

Remote MCP server for Indonesia payments: GoPay, QRIS, ShopeePay, DANA, credit card, bank virtual accounts, Alfamart/Indomaret — via Midtrans Snap's hosted checkout. Bring-your-own credentials (x-midtrans-server-key), stateless, never touches funds, MIT-licensed, zero dependencies. Endpoint: https://mcp-id.wishpool.app/mcp.

Part of a family: Taiwan (ECPay 綠界 / NewebPay 藍新 + e-invoices) · Japan (KOMOJU — konbini / PayPay) · Korea (Toss Payments — cards / KakaoPay·NaverPay) · India (Razorpay Payment Links — UPI / cards).