Paypay Mcp

io.github.mrslbt由 GitHub 帳號 mrslbt 發布v0.2.1更新於 Oct 24, 2026

PayPay QR payments for AI agents: QR codes, status, refunds, cancels. Bilingual JP/EN.

已驗證STDIO僅桌面金融商業與電商

概覽

AI 產生的概覽

本機 MCP 伺服器,讓 AI 助理建立 PayPay QR 碼付款、查詢付款狀態,並可選擇退款或取消付款。

可以做什麼
建立動態 PayPay QR 碼,回傳付款連結、deeplink 與產生的 PNG 圖片,並可在付款前使 QR 碼失效。查詢付款詳情,並輪詢直到付款進入終止狀態。發起全額或部分退款,以及取消狀態不明的付款,兩者都需明確開啟。讀取內建參考資源,了解 PayPay OPA API、付款生命週期與目前非機密設定。使用內建提示完成單筆收款、退款上一筆付款與排查卡住的付款。
適用情境
適合已具備 PayPay Open Payment API 憑證的商家,讓助理在聊天或代理流程中受理 QR 碼付款、追蹤狀態或處理退款與取消。在接入真實付款前應先在沙盒環境測試。
執行需求
透過 npm 在本機執行(Node.js 20+,需 TLS 1.2+)。需要來自 PayPay 開發者後台的 PAYPAY_API_KEY、PAYPAY_API_SECRET 與 PAYPAY_MERCHANT_ID。PAYPAY_ENV 預設為 sandbox;正式環境需完成 PayPay 商家入駐。選用 HTTP 模式使用 MCP_TRANSPORT、MCP_HTTP_PORT、MCP_HTTP_HOST、MCP_AUTH_TOKEN 與 MCP_HTTP_ALLOWED_ORIGINS。
安裝前請注意
它可以透過 PayPay API 動用真實資金。退款與取消工具預設關閉,只有將 PAYPAY_ENABLE_REFUNDS 或 PAYPAY_ENABLE_CANCELS 設為 true 才會啟用;僅在工具輸入不受不可信內容影響的環境中開啟。核准任何涉及資金的呼叫前請先審查。正式環境需設定 PAYPAY_ENV=production。公開 HTTP 綁定必須提供 MCP_AUTH_TOKEN。此伺服器為非官方社群專案,與 PayPay 無關,作者不對資金損失負責。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Paypay Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

paypay-mcp

[npm version] [npm downloads] [MCP Badge] [License: MIT]

Model Context Protocol server for the PayPay Open Payment API.

Works with Claude Desktop, Claude Code, Cursor, Windsurf, Zed, ChatGPT Apps SDK, and any other MCP-compatible client. Tool descriptions are provided in English and Japanese.

Status

v0.2.x — production-capable, not yet battle-tested at scale.

The server runs cleanly against PayPay's production Open Payment API once PAYPAY_ENV=production is set with approved merchant credentials. It has not yet processed meaningful real-world volume. If you are routing real payments through it, pin the version and review the source first.

Tools

ToolDescription
create_qr_codeCreate a dynamic PayPay QR code. Returns the payment URL, deeplink, and a rendered PNG.
get_payment_detailsFetch the current status of a payment.
wait_for_paymentPoll until a payment reaches a terminal state.
delete_qr_codeInvalidate a QR code before payment.
refund_paymentFull or partial refund. Disabled unless PAYPAY_ENABLE_REFUNDS=true.
cancel_paymentCancel a payment when its state is unclear (timeout or error). Disabled unless PAYPAY_ENABLE_CANCELS=true.

Prompts

accept_single_payment, refund_last_payment, debug_stuck_payment.

Resources

URIDescription
paypay://docs/opa-referenceEndpoint map, auth scheme, and status vocabulary for the PayPay OPA API.
paypay://docs/payment-statesPayment lifecycle and the cancel-vs-refund decision rule.
paypay://config/currentNon-secret view of the active config (env, merchantId, baseUrl, transport).

Install

One-click:

[Install in Cursor] [Install in VS Code]

Or via npm:

bash
npm install -g paypay-mcp

Configuration

Credentials come from the PayPay Developer Dashboard.

VariableRequiredDescription
PAYPAY_API_KEYyesOPA API Key ID
PAYPAY_API_SECRETyesOPA API Key Secret
PAYPAY_MERCHANT_IDyesMerchant ID
PAYPAY_ENVnosandbox (default) or production
PAYPAY_ENABLE_REFUNDSnoSet to true to expose refund_payment. Disabled by default.
PAYPAY_ENABLE_CANCELSnoSet to true to expose cancel_payment. Disabled by default.
MCP_TRANSPORTnostdio (default) or http
MCP_HTTP_PORTnoPort when MCP_TRANSPORT=http. Default 3000.
MCP_HTTP_HOSTnoBind address. Default 127.0.0.1. Public binds require MCP_AUTH_TOKEN.
MCP_AUTH_TOKENnoBearer token required on inbound HTTP requests when set. Mandatory for non-loopback binds.
MCP_HTTP_ALLOWED_ORIGINSnoComma-separated CORS allowlist. Default: none.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "paypay": {      "command": "npx",      "args": ["-y", "paypay-mcp"],      "env": {        "PAYPAY_API_KEY": "a_...",        "PAYPAY_API_SECRET": "...",        "PAYPAY_MERCHANT_ID": "...",        "PAYPAY_ENV": "sandbox"      }    }  }}

Claude Code

bash
claude mcp add paypay -e PAYPAY_API_KEY=... -e PAYPAY_API_SECRET=... -e PAYPAY_MERCHANT_ID=... -- npx -y paypay-mcp

Cursor

Add to ~/.cursor/mcp.json with the same shape as Claude Desktop.

Remote hosting

Run in HTTP mode. Public binds require MCP_AUTH_TOKEN; the server refuses to start otherwise.

bash
MCP_TRANSPORT=http \  MCP_HTTP_HOST=0.0.0.0 \  MCP_AUTH_TOKEN="$(openssl rand -hex 32)" \  MCP_HTTP_ALLOWED_ORIGINS="https://claude.ai,https://your-app.example.com" \  PAYPAY_ENV=sandbox \  PAYPAY_API_KEY=... PAYPAY_API_SECRET=... PAYPAY_MERCHANT_ID=... \  npx paypay-mcp

Endpoint: POST http(s)://<host>:3000/mcp (Streamable HTTP transport). Clients send Authorization: Bearer <MCP_AUTH_TOKEN>. CORS is closed by default.

For local testing the auth token can be omitted; the server binds to 127.0.0.1 and only accepts loopback connections.

Environments

Sandbox is the default. Production requires PayPay merchant onboarding (business verification and a contract) and must be enabled by explicitly setting PAYPAY_ENV=production.

Constraints

  • Amounts are integer JPY.
  • A payment can be canceled until 00:14:59 JST the day after the payment attempt. After that, use a refund.
  • A single order can receive multiple partial refunds, each with a unique merchantRefundId, up to the merchant-configured cap.
  • TLS 1.2+ required (Node 20+).

Development

bash
git clone https://github.com/mrslbt/paypay-mcp.gitcd paypay-mcpnpm installcp .env.example .envnpm run devnpm testnpm run smokenpm run build

Roadmap

v0.2: PreAuth + Capture, ContinuousPayments, DirectDebit, AccountLink QR, webhook signature verification, reconciliation tools.

v0.3: Native Payment (App Invoke + user JWT auth), Visa-partnership endpoints, OpenTelemetry tracing.

Safety

This server can move real money through the PayPay OPA API. Key safeguards:

  • Refund and cancel tools are disabled by default. refund_payment and cancel_payment are only registered when PAYPAY_ENABLE_REFUNDS=true or PAYPAY_ENABLE_CANCELS=true. Only enable them in trusted agent contexts where tool inputs cannot be influenced by untrusted content.
  • Sandbox is the default. Production requires an explicit PAYPAY_ENV=production, plus completed PayPay merchant onboarding. Always test against sandbox first.
  • Unique merchantPaymentId and merchantRefundId per call. PayPay deduplicates by these IDs, so reusing one will either fail or target an older payment. Generate a fresh ID for each new payment or refund.
  • Tools carry MCP safety annotations. Read-only tools (get_payment_details, wait_for_payment) are flagged readOnlyHint; money-moving and destructive tools (refund_payment, cancel_payment, delete_qr_code) are flagged destructiveHint so compatible clients can warn you before the call. These are advisory hints — the real guard is the gating above.

Even with these gates on, review any money-moving request before approving the tool call. Treat tool inputs derived from model output as untrusted.

Disclaimer

This is an unofficial, community-built MCP server. Not affiliated with, endorsed by, or sponsored by PayPay Corporation. PayPay is a registered trademark of its respective owners. Use at your own risk. The author accepts no liability for funds lost through misuse, prompt injection, or bugs.

License

MIT

來源:README.md,提交 36eea75

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分