Skip to main content
Glama
junter1989k-ai

app.wishpool/vietnam-payments-mcp

README.md
<!-- mcp-name: app.wishpool/vietnam-payments-mcp -->

# Vietnam Payments MCP — let AI agents accept MoMo payments in Vietnam

<!-- install-cta -->
## Use it in 60 seconds

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

```json
{
  "mcpServers": {
    "vietnam-payments": {
      "type": "http",
      "url": "https://mcp-vn.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](https://mcp.wishpool.app/trust).

### 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](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/junter1989k-ai/vietnam-payments-mcp)

```bash
git clone https://github.com/junter1989k-ai/vietnam-payments-mcp && cd vietnam-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-vn.wishpool.app/mcp` · Listed on the [official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=wishpool) as `app.wishpool/vietnam-payments-mcp` · Part of a 10-country family: [Taiwan](https://github.com/junter1989k-ai/taiwan-payments-mcp) · [Japan](https://github.com/junter1989k-ai/japan-payments-mcp) · [Korea](https://github.com/junter1989k-ai/korea-payments-mcp) · [Indonesia](https://github.com/junter1989k-ai/indonesia-payments-mcp) · [India](https://github.com/junter1989k-ai/india-payments-mcp) · [Brazil](https://github.com/junter1989k-ai/brazil-payments-mcp) · [Philippines](https://github.com/junter1989k-ai/philippines-payments-mcp) · [Thailand](https://github.com/junter1989k-ai/thailand-payments-mcp) · [Malaysia](https://github.com/junter1989k-ai/malaysia-payments-mcp)

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

- 📱 **MoMo wallet QR** — the biggest e-wallet in Vietnam
- 💳 **ATM cards / credit cards** on the MoMo hosted page
- 🎁 **Zero-setup demo** — no credentials needed to try it (public MoMo sandbox, test money only)
- 🔍 **Payment status check** — pull-based, no webhook needed; **no confirm step**

v0.2 **aggregates two Vietnamese gateways**: **[MoMo](https://momo.vn)** (default; zero-setup sandbox demo) and **[VNPay](https://vnpay.vn)** (signed HMAC-SHA512 redirect URLs; send `x-vnpay-tmn-code` + `x-vnpay-hash-secret` and it is auto-selected).

> ⚖️ **Stateless translation layer**: funds always flow buyer → MoMo → merchant directly. This server never holds, moves, or stores funds or credentials — no database at all. Requests are signed per-call with HMAC-SHA256 in memory.

## Quick start

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

Try it with **no headers at all** — the public MoMo sandbox demo works immediately. For real payments:

| Header | Value |
|---|---|
| `x-momo-partner-code` / `x-momo-access-key` / `x-momo-secret-key` | Your MoMo business credentials (from [business.momo.vn](https://business.momo.vn)). |
| `x-momo-mode` | `test` to use the MoMo test host with your own sandbox merchant (optional; default production). |

## Tools

| Tool | What it does |
|---|---|
| `create_payment_link` | Create a VND payment (1,000–50,000,000₫). Returns the MoMo hosted `payment_url` + `order_id`. |
| `query_payment_status` | Check by `order_id`: PAID / PENDING / FAILED. |
| `refund_payment` | Refund a paid MoMo payment (full or partial). By `order_id` (looks up the transId; full refund if `amount` omitted) or `trans_id` + `amount`. MoMo only. |

## Develop

```bash
node test/serve.js      # local server (http://localhost:3220/mcp)
node test/e2e.js        # e2e incl. a REAL sandbox create+query against MoMo test host
```

Zero runtime dependencies; Node ≥ 18. MIT license.