Malaysia Payments Mcp
@junter1989k-ai
Overview
What is Malaysia Payments MCP?
A remote MCP server that lets any AI agent (Claude, ChatGPT, Cursor, etc.) accept payments in Malaysia. It integrates with Billplz to support FPX online banking, DuitNow QR/cards, and automatic bill delivery. Designed as a stateless translation layer, the server never holds funds or credentials.
How to use Malaysia Payments MCP?
Connect via the MCP endpoint https://mcp-my.wishpool.app/mcp using Streamable HTTP. Provide your Billplz API key, collection ID, and optional sandbox mode as request headers. Use the tools create_payment_link to generate a MYR bill and query_payment_status to check its state (DUE/PAID). No webhooks or confirm step are required.
Key features of Malaysia Payments MCP
- Supports FPX online banking (all major Malaysian banks)
- Accepts DuitNow QR and card payments
- Automatic bill delivery via Billplz email
- Pull-based payment status check (no webhooks)
- Zero runtime dependencies; Node.js ≥ 18
- Sandbox mode for testing with no real money
Use cases of Malaysia Payments MCP
- AI assistant generating a payment link for a customer’s shopping cart
- Chatbot requesting payment before delivering a digital service
- Agent-based recurring billing with status polling
- Prototyping Malaysian payment flows in sandbox environments
FAQ from Malaysia Payments MCP
What payment methods are supported?
FPX online banking (every major Malaysian bank) and DuitNow QR/card payments are supported through Billplz.
Does the server hold funds or credentials?
No. It is a stateless translation layer – funds flow directly from buyer to Billplz to the merchant. The server never stores, moves, or holds any funds or credentials.
How can I test payments without real money?
Set the x-billplz-mode header to sandbox and use a billplz-sandbox.com test account. No real transactions occur.
What are the runtime requirements?
Node.js version 18 or higher. The server has zero runtime dependencies and is MIT licensed.
Is there a webhook for payment confirmation?
No. Payment status is checked via the query_payment_status tool using a pull-based approach. There is no separate confirm step.