
PayPing
io.github.sepehr071v0.1.0Updated Oct 4, 2026
PayPing merchant account for agents: balance, sales, invoices; create invoices and payment links.
Overview
Lets an assistant read a PayPing merchant account — balance, sales, transactions, customers, products, coupons, invoices — and create invoices, payment links…
- What it does
- Read-only tools cover the account profile, wallet balance, sales summaries, transactions, payment status, bank settlements, and searchable lists of customers, products, coupons and invoices. Create tools add a customer, product, coupon, payment link or invoice, and can have PayPing send an invoice by SMS or email. Lists return at most 50 items per call and include a total; amounts are in Toman and dates in UTC. No tool can withdraw, refund, reverse a payment or delete anything.
- When to use it
- Use it when an assistant should answer questions about a PayPing merchant account or prepare invoices and payment links from chat. It suits merchants who want read-only reporting or a confirm-before-create workflow. It is not for moving money out, refunds, or raw payment API calls.
- Requirements
- A local Python runtime with uv or uvx (PyPI package payping-mcp), plus an MCP client such as Claude Code, Claude Desktop, Cursor or VS Code. A PayPing merchant account with a complete profile and an approved API token are required; the token is passed as the PAYPING_TOKEN environment variable. An optional HTTP proxy can be set with PAYPING_MCP_PROXY. Network access to PayPing hosts is needed.
Installation
In SourceWeft
- Open PayPing in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
💳 payping-mcp
Your PayPing merchant account, for AI agents.
Let Claude, Cursor or Copilot read your balance, sales, transactions, customers, products, coupons and invoices,
and create invoices, payment links and coupons after you confirm, all from your own machine.
[PyPI] [Python] [CI] [MCP Registry] [License: MIT]
[Install in Cursor] [Install in VS Code]
Quick start · Token · Tools · Security · Troubleshooting · فارسی
What it can do
- 💰 Money: wallet balance, sales totals for a period, transactions, one payment's real status, settlements to your bank
- 🗂️ Shop data: list and search customers, products, coupons and invoices
- 🧾 Get paid: create a customer and an invoice with a pay page link, or a reusable payment link for a product, then have PayPing send the invoice by SMS/email
- 🔒 Safe by design: runs on your machine, talks only to PayPing, asks before creating anything, and cannot withdraw, refund, reverse a payment or delete anything
Quick start
You need:
- a PayPing merchant account with a complete profile (PayPing only approves tokens for complete profiles)
- uv
- an MCP client: Claude Code, Claude Desktop, Cursor, VS Code, or any other
Then:
- Create a PayPing token and wait for PayPing to approve it.
- Add the server to your MCP client.
- Check that it works.
1. Create a PayPing token
-
Sign in at app.payping.ir.
-
Open اتصالات (Connections) → توسعه دهندگان (Developers). The page title is توکن ها (Tokens).
-
Click توکن جدید (New token) and fill in the form:
-
Click توکن جدید to submit. Copy the token now: PayPing shows it only once.
-
Wait for approval. PayPing staff review every new token. After approval, wait about 10 more minutes; until then the token gets HTTP 401.
Scopes. The form preselects گزارش پرداختها and ساخت پرداخت. Remove ساخت پرداخت: this server never uses it. Then add what you need:
Want a read-only agent? Select only the read scopes. The create tools then fail with HTTP 403 and nothing in the account can change.
2. Add the server to your MCP client
Put your token where it says your-token.
Claude Code
This saves the server, with the token, in your user config (~/.claude.json), not in the project. Add --scope user to use it in every project.
Claude Desktop
Settings → Developer → Edit Config, then add:
Restart Claude Desktop after saving.
Cursor
Click Install in Cursor at the top and fill in the token, or add the Claude Desktop block to ~/.cursor/mcp.json.
VS Code (Copilot agent mode)
Add to .vscode/mcp.json. VS Code asks for the token once and stores it securely, so the file is safe to commit:
From GitHub instead of PyPI
Replace uvx payping-mcp with:
In JSON configs: "args": ["--from", "git+https://github.com/sepehr071/payping-mcp", "payping-mcp"].
Anything else
It's a standard stdio MCP server: run uvx payping-mcp, or pip install payping-mcp and run payping-mcp, with
PAYPING_TOKEN in the environment.
3. Check that it works
Ask the agent: "Show my PayPing profile." You should see your PayPing username. If you see an error, look it up in Troubleshooting.
Then try:
- "What is my PayPing balance and how much did I sell this month?"
- "List this week's received payments and tell me which ones failed."
- "Create an invoice for Ali Rezaei: 2 hours of consulting at 1,500,000 Toman each. Show me before you create it."
- فاکتورهای پرداختنشده این ماه را نشان بده.
Tools
All amounts are Toman, all dates UTC. Lists return at most 50 items per call and include total.
Read-only:
Create and send (the agent must confirm with you first):
Privacy and security
- Local only. The server runs on your machine and talks only to
api.payping.irandoauth.payping.ir. There is no relay server and no telemetry. - The token never leaks. It is sent only in the
Authorizationheader to PayPing and never appears in tool output, errors or logs. - Treat the token like a password. Anyone who has it can use your account within its scopes. Don't commit it; use VS Code
inputsor your client's user config. Give it only the scopes you need and an expiry date. - Lost or leaked token? In the panel, open the token and use حذف (delete) or تعویض توکن (swap token, which issues a new value). Then update your MCP config.
- Confirm before creating. Create and send tools are annotated
destructiveHint, so MCP clients ask before running them. Their descriptions also tell the agent to confirm the details with you. - No money moves out. No tool can withdraw, refund, reverse a payment or delete anything.
- Prompt-injection aware. Customer names, descriptions and notes come from other people. The server tells the agent to treat them as data, never as instructions.
Good to know
- Toman, not Rial. PayPing uses Toman in every service, and so does every tool.
- Balance and sales summary are less certain.
payping_get_balanceandpayping_get_sales_summaryuse endpoints from the PayPing dashboard, not the public API docs. If PayPing rejects them for API tokens, the tool error says so, and every other tool keeps working. - No raw payments. Raw
POST /v3/paypayments are left out on purpose. They need your own callback server and a verify call within 10 minutes, or PayPing refunds the payer. Invoices and payment links use PayPing's own pay page instead. - Changing scopes needs a swap. After you edit a token's website, return URL or scopes, PayPing applies the change only after تعویض توکن (swap token). The swap gives a new token value; put it in your MCP config.
Troubleshooting
"PAYPING_TOKEN is not set"
The MCP client did not pass the token. Check the env block (or -e PAYPING_TOKEN=... for Claude Code) and restart the client.
"PayPing rejected the token (HTTP 401)"
One of these:
- PayPing has not approved the token yet, or approved it less than 10 minutes ago.
- The token expired. The panel shows منقضی شده (expired) on it.
- The token was swapped or deleted, or was copied incompletely.
HTTP 403: "The token may lack the scope this tool needs"
Add the scope from the scope table to the token, then تعویض توکن (swap token) and use the new value.
"code 166"
Your IP is not in the token's allowed IPs. Add your current public IP to آیپیهای مجاز or clear the list. If you route through a proxy, the IP PayPing sees is the proxy's exit IP.
"Could not reach PayPing" or "PayPing did not answer in time"
The server ignores system proxy settings on purpose. If your network needs a proxy to reach PayPing, set PAYPING_MCP_PROXY, e.g. http://127.0.0.1:10809. In testing, PayPing's API hosts answered both from Iran and from a foreign exit.
Claude Desktop says uvx is not found
Use the full path to uvx (where uvx on Windows, which uvx on macOS/Linux) as command.
How do I see exactly what the agent sees?
Errors that carry a PayPing trace id: give that id to PayPing support.
Configuration
فارسی
payping-mcp به دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و ...) اجازه میدهد موجودی، فروش، تراکنشها، تسویهها، مشتریان، محصولات، کدهای تخفیف و فاکتورهای حساب پیپینگ شما را ببیند، و پس از تأیید شما مشتری، محصول، لینک پرداخت، کد تخفیف و فاکتور بسازد.
- روی سیستم خود شما اجرا میشود و توکن فقط به سرورهای پیپینگ فرستاده میشود.
- برداشت، استرداد، برگشت پرداخت و حذف با این ابزار ممکن نیست.
- مبالغ به تومان و تاریخها به وقت UTC هستند.
ساخت توکن:
- در پنل پیپینگ به «اتصالات ← توسعه دهندگان» بروید و «توکن جدید» را بزنید.
- نام توکن، تاریخ انقضا و توضیحات را وارد کنید. «آیپیهای مجاز» اختیاری است؛ اگر پر کنید، درخواست از آیپی دیگر با خطای 166 رد میشود.
- در «دسترسیها» فقط موارد لازم را انتخاب کنید و «ساخت پرداخت» را حذف کنید؛ این ابزار به آن نیازی ندارد.
- رمز پیامکی را بگیرید و وارد کنید. توکن فقط یک بار نمایش داده میشود؛ همان لحظه کپی کنید.
- پروفایل شما باید کامل باشد. کارشناس پیپینگ توکن را تأیید میکند و تا حدود ۱۰ دقیقه بعد از تأیید ممکن است خطای 401 بگیرید.
نصب در Claude Code:
بعد بپرسید: «موجودی پیپینگ من چقدر است و این ماه چقدر فروختم؟»
توکن را مثل رمز عبور نگه دارید و در گیت قرار ندهید. اگر لو رفت، در پنل آن را حذف یا «تعویض توکن» کنید.
Development
Tools live in src/payping_mcp/reports.py (account, money) and shop.py (customers, products, coupons, invoices);
http.py is the only HTTP code. Each tool is a typed async function with a docstring that tells the agent when to
use it. Issues and PRs are welcome.
Releases: bump the version in pyproject.toml and server.json, then push a v* tag. GitHub Actions tests,
publishes to PyPI and the MCP Registry, and creates the GitHub Release.
Disclaimer
Unofficial and not affiliated with or endorsed by PayPing. It uses PayPing's API with your own token. Follow PayPing's terms.
License
Source: README.md at commit 4ac0318
Tools
0Version history
1- v0.1.0LatestOct 4, 2026


