Lfwin Payment
БесплатноНе проверенLFWin Payment MCP Server is a payment capability service for AI Agents. Adhering to the standard MCP protocol, it exposes capabilities including creating paymen
Описание
LFWin Payment MCP Server is a payment capability service for AI Agents. Adhering to the standard MCP protocol, it exposes capabilities including creating payment orders, checking payment status, initiating refunds and querying refund status for Cursor, Cline, Claude Desktop, enterprise intelligent assistants and self-developed Agent applications.
README
CI License: MIT npm SafeSkill 91/100
LFWin Payment MCP Server 是一个面向 AI Agent 的支付能力服务。它通过标准 MCP 协议,把创建支付订单、查询支付状态、发起退款、查询退款状态等能力开放给 Cursor、Cline、Claude Desktop、企业智能助手和自研 Agent 应用。
项目同时提供两种实现:
- Node.js 版:位于 node-mcp,推荐普通 MCP 用户通过
npx快速启动。 - Python 版:位于 payment_mcp,适合已有 Python 环境或需要二次开发的用户。
两种实现提供相同的 MCP 工具能力。获取支付权限或密钥,请联系服务商客服。
功能
create_payment_order:创建统一收银台支付订单query_payment_order:查询支付订单状态refund_payment_order:发起退款query_refund_status:查询退款状态
创建支付订单时会返回支付链接和二维码相关字段:
pay_url:统一收银台支付跳转链接qrcode:同pay_url,用于兼容需要扫码内容的调用方pay_qrcode_image:基于pay_url生成的二维码 PNGdata:image/png;base64,...pay_qrcode_base64:同一张二维码 PNG 的裸 base64,不包含data:image/png;base64,前缀pay_qrcode_mime_type:固定为image/png,用于 MCP 图片内容块或自研客户端渲染pay_qrcode_markdown:可直接展示的 Markdown 图片文本payment_display_examples:按 Markdown、HTML/img、MCP image content、支付链接兜底等场景给出的展示示例
Node.js 版还会在 MCP 工具结果中额外返回 type: "image" 的 PNG 内容块,方便支持图片渲染的 MCP 客户端直接显示二维码。
AI Agent 使用规则
下单后的二维码展示
create_payment_order 调用成功后,统一收银台接口原始返回中的 data 表示支付跳转 URL 或支付参数。data 可能是字符串,也可能是包含 payUrl、url、qrcode、code_url 等字段的对象。本 MCP 服务会把它标准化为字符串 pay_url,并同时提供二维码字段,避免把对象错误展示为 [object Object]。AI Agent 应按客户端能力选择展示方式:
- 支持 Markdown 的对话窗口:优先直接输出
pay_qrcode_markdown。 - 支持 MCP 图片内容块的客户端:Node.js 版工具结果里会带
type: "image"的 PNG 内容块,可直接展示。 - 需要前端自行渲染图片:使用
pay_qrcode_image,这是完整的data:image/png;base64,...data URL,可直接作为<img src>。 - 只接受裸 base64 的客户端:使用
pay_qrcode_base64,并将媒体类型设置为pay_qrcode_mime_type。 - 需要跳转支付或自行生成二维码:使用
pay_url;qrcode与pay_url相同,仅作为兼容字段。
不要只告诉用户“已创建订单”而不展示二维码或支付链接。面向用户时应展示二维码,并保留 pay_url 作为扫码失败时的备用链接。
支付字段展示调用示例
假设 create_payment_order 返回结果保存为 order:
Markdown 对话窗口可直接输出:
{order.pay_qrcode_markdown}
Web 前端可把完整 data URL 放进图片标签:
<img alt="Payment QR Code" src="{order.pay_qrcode_image}" />
React/Vue 等前端可直接绑定图片地址:
<img alt="Payment QR Code" src={order.pay_qrcode_image} />
MCP 或自研客户端只接受图片内容块时,使用裸 base64 和 MIME:
{
"type": "image",
"mimeType": "image/png",
"data": "{order.pay_qrcode_base64}"
}
如果图片无法展示,必须展示备用支付链接:
[点击打开支付链接]({order.pay_url})
如果客户端需要自己生成二维码,使用 qrcode 或 pay_url 作为二维码内容,不要把 pay_qrcode_image 再当文本编码进二维码。
订单号使用规则
merchant_order_no、order_no 和 order_time 不是同一个编号:
merchant_order_no:商户订单号,创建订单时传入,对应接口文档里的mch_orderid,用于商户系统内部关联和展示。order_no:平台订单号,由支付平台返回,对应接口文档里的orderid,用于本 MCP 服务的订单查询、退款和退款查询。order_time:本 MCP 创建支付订单时记录的下单时间,格式为yyyyMMddHHmmss。当统一收银台pre_order没有返回平台orderid时,后续支付状态轮询必须使用merchant_order_no + order_time。
AI Agent 必须保存 create_payment_order 返回的 order_no、merchant_order_no 和 order_time:
- 如果
order_no_available=true且order_no不为空,后续调用query_payment_order、refund_payment_order、query_refund_status时优先使用order_no。 - 如果
order_no_available=false或order_no=null,不要把merchant_order_no当作order_no使用;支付状态轮询应调用query_payment_order,并传入创建订单返回的merchant_order_no和order_time。 - 退款相关工具仍需要平台
order_no/orderid。如果创建订单没有返回平台订单号,必须先通过支付查询拿到平台orderid后再发起退款或退款查询。
查询和退款状态判断
- 支付查询:优先传
order_no。如果创建订单时order_no为空,则传merchant_order_no和order_time。返回status=10000且paystatus=1表示支付成功;paystatus=0表示待付款;paystatus=2表示支付失败。使用merchant_order_no + order_time查询时,如果用户尚未扫码或打开支付链接,平台支付订单可能还未生成,底层接口可能返回raw_status=3040/raw_message=订单号不存在;本 MCP 会将其标准化为status=PENDING,并返回pending_reason=WAITING_FOR_USER_SCAN_OR_PAYMENT_ORDER_CREATION。 - 发起退款:
refund_payment_order的order_no必须传平台订单号,mch_refund_no是商户退款流水号。同一笔订单多次部分退款时,每次退款应使用不同的mch_refund_no。 - 退款不是发起即成功:退款请求返回
status=4001或status=10000只表示请求已被接受或处理中,不代表退款成功。必须继续调用query_refund_status查询实际结果。 - 退款查询:
query_refund_status的order_no必须传平台订单号;如果发起退款时传了mch_refund_no,查询时也应带上同一个mch_refund_no。返回status=4001表示处理中;status=10000且refund_status=1表示退款成功;status=10000且refund_status=2表示退款失败。
环境变量
正常使用只需要配置:
PAYMENT_API_KEY=your_api_key_here
PAYMENT_SIGN_KEY=your_sign_key_here
默认配置:
- 接口域名:
https://api2.lfwin.com - 签名方式:
MD5
通常不需要额外配置接口域名和签名方式。
PAYMENT_SIGN_KEY 只在 MCP Server 本地生成请求签名时使用,不会作为请求字段发送到 LFWin 接口,也不会出现在 MCP 工具返回结果中。通过 MCPB、Glama 等支持敏感字段的安装方式配置时,该字段已标记为 sensitive。
安装方式一:Node.js 版
推荐普通用户使用 Node.js 版。发布到 npm 后,可直接通过 npx 启动:
npx -y @litsen/lfwin-payment-mcp
Cursor 配置示例:
{
"mcpServers": {
"payment-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@litsen/lfwin-payment-mcp"],
"env": {
"PAYMENT_API_KEY": "your_api_key_here",
"PAYMENT_SIGN_KEY": "your_sign_key_here"
}
}
}
}
本地源码调试 Node.js 版:
cd node-mcp
npm install
npm run build
node dist/index.js
更多说明见 node-mcp/README.md。
安装方式二:Python 版
如果你已有 Python 3.12 或更高版本,也可以使用 Python 版。
从 GitHub 安装:
pip install git+https://github.com/litsen/lfwin-payment-mcp.git
安装完成后会得到 MCP 启动命令:
payment-mcp
Cursor 配置示例:
{
"mcpServers": {
"payment-mcp": {
"type": "stdio",
"command": "cmd",
"args": ["/c", "payment-mcp"],
"env": {
"PAYMENT_API_KEY": "your_api_key_here",
"PAYMENT_SIGN_KEY": "your_sign_key_here"
}
}
}
}
源码开发时也可以这样运行:
pip install -r requirements.txt
python -m payment_mcp.mcp_stdio
Cline 配置
Node.js 版:
{
"mcpServers": {
"payment-mcp": {
"command": "npx",
"args": ["-y", "@litsen/lfwin-payment-mcp"],
"env": {
"PAYMENT_API_KEY": "your_api_key_here",
"PAYMENT_SIGN_KEY": "your_sign_key_here"
},
"disabled": false
}
}
}
Python 版:
{
"mcpServers": {
"payment-mcp": {
"command": "cmd",
"args": ["/c", "payment-mcp"],
"env": {
"PAYMENT_API_KEY": "your_api_key_here",
"PAYMENT_SIGN_KEY": "your_sign_key_here"
},
"disabled": false
}
}
}
工具参数
create_payment_order
创建支付订单。
参数:
merchant_order_no:商户订单号,必须唯一amount:支付金额,单位为元notify_url:异步通知地址,可选
返回结果:
order_no:平台订单号,对应接口文档里的orderid。如果统一收银台未返回平台订单号,该字段为null。order_no_available:是否拿到了平台订单号。merchant_order_no:商户订单号,对应创建订单时传入的merchant_order_no/ 接口文档里的mch_orderid。order_time:下单时间,格式为yyyyMMddHHmmss。当order_no为null时,支付轮询使用merchant_order_no + order_time。pay_url/qrcode/pay_qrcode_image/pay_qrcode_base64/pay_qrcode_mime_type/pay_qrcode_markdown/payment_display_examples:支付展示字段。返回结果中的pay_qrcode_markdown可以直接让 AI 输出给用户,用于扫码支付;pay_qrcode_image可直接作为<img src>;pay_qrcode_base64搭配pay_qrcode_mime_type可用于 MCP 图片内容块或只接受裸 base64 的客户端。
query_payment_order
查询支付订单状态。
参数:
order_no:平台订单号,即create_payment_order返回的order_no/ 接口文档里的orderid。当该字段存在时优先使用。merchant_order_no:商户订单号,可选;当order_no为空时必须与order_time一起传入。order_time:下单时间,可选;当order_no为空时必须与merchant_order_no一起传入,使用create_payment_order返回的order_time。
当使用 merchant_order_no + order_time 查询且用户尚未扫码时,返回 raw_status=3040 是正常的待支付/待落库状态。本 MCP 会返回 status=PENDING,前端应继续展示待支付并继续轮询,而不是提示支付失败。
refund_payment_order
发起退款。
参数:
order_no:平台订单号,即create_payment_order返回的order_no/ 接口文档里的orderid。不要传merchant_order_no。refund_amount:退款金额,单位为元reason:退款原因mch_refund_no:商户退款流水号,必须唯一。同一订单多次部分退款时,每次使用不同值。
退款请求返回 status=4001 或 status=10000 只表示请求已被接受或处理中,不代表退款成功。必须继续调用 query_refund_status。
query_refund_status
查询退款状态。
参数:
order_no:平台订单号,即create_payment_order返回的order_no/ 接口文档里的orderid。不要传merchant_order_no。mch_refund_no:商户退款流水号,可选;如果发起退款时传入了该值,查询时应使用同一个值定位退款记录。
状态判断:
status=4001:退款处理中,需要稍后再次查询。status=10000且refund_status=1:退款成功。status=10000且refund_status=2:退款失败。
Open Plugins / Cursor Directory
仓库根目录提供 mcp.json,用于 Open Plugins / Cursor Directory 识别 MCP 组件。
Glama
仓库根目录提供 glama.json、Dockerfile、LICENSE、SECURITY.md 和 GitHub Actions CI,用于提升 Glama 收录和评分。
发布
Python 版构建 wheel 包:
pip install build
python -m build
Node.js 版发布 npm 包:
cd node-mcp
npm login
npm publish --access public
GitHub Release:
git tag v0.1.10
git push origin v0.1.10
推送 v* tag 后,Release workflow 会自动构建 .mcpb 并上传到 GitHub Release。
MCPB 打包
.mcpb 是一个包含本地 MCP Server 和 manifest.json 的 zip 包,适合 Claude Desktop 等支持 MCPB 的客户端一键安装。
本项目推荐用 Node.js 版打 MCPB,因为 Claude Desktop 在 macOS 和 Windows 上自带 Node 运行环境,用户不需要额外安装 Python。
先构建 Node.js 版:
cd node-mcp
npm install
npm run build
然后回到项目根目录执行:
.\scripts\build-mcpb.ps1
生成文件:
dist/lfwin-payment-mcp-0.1.10.mcpb
MCPB 安装时会提示用户填写:
Payment API KeyPayment Sign Key
这两个值会通过 mcpb/manifest.json 的 user_config 注入为 PAYMENT_API_KEY 和 PAYMENT_SIGN_KEY,不会写死在包里。其中 Payment Sign Key 已标记为敏感字段,只用于本地签名。
安全说明
- 不要把真实的
PAYMENT_API_KEY、PAYMENT_SIGN_KEY提交到 GitHub。 - 建议通过环境变量、IDE Secret 或服务器密钥管理系统注入密钥。
- 本项目默认使用
stdio方式作为本地 MCP 服务运行。 - 如果要部署成远程 MCP 服务,请自行增加认证、租户隔离、访问控制和 Origin 校验。
演示示例
Cursor安装后,可选择启用哪些能力
智能体调用时会自动生成对应的支付订单,可引导用户扫码完成支付
发起支付:
发起退款:
Установить Lfwin Payment в Claude Desktop, Claude Code, Cursor
unyly install lfwin-payment-mcpСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add lfwin-payment-mcp -- uvx --from git+https://github.com/litsen/lfwin-payment-mcp lfwin-payment-mcpFAQ
Lfwin Payment MCP бесплатный?
Да, Lfwin Payment MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Lfwin Payment?
Нет, Lfwin Payment работает без API-ключей и переменных окружения.
Lfwin Payment — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Lfwin Payment в Claude Desktop, Claude Code или Cursor?
Открой Lfwin Payment на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Stripe
Payments, customers, subscriptions
автор: Stripemalamutemayhem/unclick-agent-native-endpoints
110+ tools for AI agents spanning social media, finance, gaming, music, AU-specific services, and utilities. Zero-config local tools plus platform connectors. n
автор: malamutemayhemwhiteknightonhorse/APIbase
Unified API hub for AI agents with 56+ tools across travel (Amadeus, Sabre), prediction markets (Polymarket), crypto, and weather. Pay-per-call via x402 micropa
автор: whiteknightonhorsetrackerfitness729-jpg/sitelauncher-mcp-server
Deploy live HTTPS websites in seconds. Instant subdomains ($1 USDC) or custom .xyz domains ($10 USDC) on Base chain. Templates for crypto tokens and AI agent pr
Compare Lfwin Payment with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории finance
