Skip to main content
Glama
junter1989k-ai

app.wishpool/philippines-payments-mcp

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

# Philippines Payments MCP — let AI agents accept GCash & card payments in the Philippines

<!-- 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": {
    "philippines-payments": {
      "type": "http",
      "url": "https://mcp-ph.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/philippines-payments-mcp)

```bash
git clone https://github.com/junter1989k-ai/philippines-payments-mcp && cd philippines-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-ph.wishpool.app/mcp` · Listed on the [official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=wishpool) as `app.wishpool/philippines-payments-mcp` · Part of a 7-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)

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

- 📱 **GCash / Maya (PayMaya) / GrabPay** — the wallets the Philippines actually uses
- 💳 **Credit & debit cards / online banking**
- 🔍 **Payment status check** — pull-based, no webhook needed; **no confirm step**

v0.1 routes through **[PayMongo](https://www.paymongo.com)** Links, a leading Filipino payment gateway with hosted checkout. The provider registry is built for aggregation.

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

## Quick start

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

| Header | Value |
|---|---|
| `x-paymongo-secret-key` | Your PayMongo secret key. `sk_test_...` = test mode (no real money, free from [dashboard.paymongo.com](https://dashboard.paymongo.com)); `sk_live_...` = production. |

## Tools

| Tool | What it does |
|---|---|
| `create_payment_link` | Create a PHP payment link (pesos, min ₱20). Returns hosted checkout URL + `session_id`. |
| `query_payment_status` | Check by `session_id`: ACTIVE / PAID / EXPIRED. |
| `refund_payment` | Refund a paid payment (Xendit provider only). Full or partial (PHP). |
| `create_subscription_link` | Create a recurring PHP subscription link (Xendit hosted Payment Sessions). Buyer authorizes once; charged per period. Not supported on PayMongo (no first-time hosted authorization link). |
| `query_subscription` | Check a subscription by `subscription_id` (session `ps-…` or plan `repl_…`): ACTIVE / COMPLETED / EXPIRED / CANCELED. |
| `cancel_subscription` | Deactivate a subscription by `recurring_plan_id` (`repl_…`); stops all future cycles immediately. |

## Develop

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

Zero runtime dependencies; Node ≥ 18. MIT license.