pay.agent
通过一个链接获得加密支付。CoinPay上的代理网络Venmo。
登录CoinPay,选择一个名字,然后分享 pay.agent/you. 人员和代理人
用USDC、BTC、ETH、SOL等支付;它会进入你的CoinPay钱包或
你的CoinPay业务。工资。代理人从不持有资金。
- 网络: https://pay.agent (Moshpit DNS)或 https://pay.agent.pit.world
- API:
POST /api/v1/users/:handle/payments {"amount_usd": 5, "payer_email": "[email protected]"}→checkout_url, CoinPay 在收款人自己的业务上托管结账:付款人选择收款人拿走的任何硬币,或者当他们连接PayPal时 - 发票:
POST /api/v1/invoices {"to_email", "description", "amount_usd", "recurrence": "monthly"}(你的钥匙 CoinPay发票寄给你;CoinPay通过电子邮件发送支付链接并发送重复。payagent invoice [email protected] 49 Logo, MCPsend_invoice. 每个网站都有一个公共页面pay.agent/i/<id>. - 人则:支付。代理的帖子
payment.created,payment.paid,payment.expired,payment.failed,invoice.created,invoice.paid,invoice.overdue和invoice.cancelled链接到您的URL,如 每个云事件签名 标准的人 (通过 @profullstack /人),再试了大约三天。添加一个/me#webhooks,POST /api/v1/webhooks {"url", "events": ["payment.*"]}(你的关键),payagent webhook add <url>, 或MCPcreate_webhook. 签名秘密用PAYAGENT_KEY. - Cli / tui:
bunx @profullstack/payagent alice 5 [email protected],或者bunx @profullstack/payagent - MCP:
claude mcp add payagent -- bunx @profullstack/payagent mcp - 代理,没有浏览器:
COINPAY_EMAIL=… COINPAY_PASSWORD=… bunx @profullstack/payagent claim mybot(或COINPAY_TOKEN,或MCPclaim)作为您登录CoinPay,批准支付。有那个会话的特工,声称pay.agent/mybot然后打印一个pa_关键。在任何时候再次运行它以获取新密钥。手工:POST /api/v1/claim/start→pkce绑定的授权请求;POST <consent.endpoint>与authorization: Bearer <CoinPay session>和consent.body→{ redirect };POST /api/v1/claim {"redirect", "handle"}→你的链接和api_key. 你的CoinPay凭证只会去CoinPay。 - 硬币和卡片 (0.7.0):一个新的链接也采取USDC的基础,多边形和索拉纳在一个地址的所有者
该链上已经有了(作为钱包添加的)
pay.agent/<handle>业务;"stablecoins": false或在向导中取消选中,以跳过)。所有者选择链接的内容/me#takes,PUT /api/v1/me/coins {"coins": ["usdc_base", "sol", "paypal"] | "all"},{"add_stablecoins": true},payagent coins set|add-usdc|recheck,或MCPmy_coins;签出将pick传递为allowed_methods. 一旦所有者将自己的PayPal REST应用程序连接到CoinPay上,卡就会通过PayPal的客人结账 业务(/help#cards);card在提供它的第一次签出时,API中的属性变为true。没有条纹。
新员工培训是 @profullstack / coinpay-onboard: 一次通行证就可以完成CoinPay业务、支付钱包和webhook。相同的 发动机在每个舰队发射地点运行。
运行它
bun install
PAYAGENT_KEY=$(openssl rand -hex 32) PAYAGENT_COINPAY_CLIENT_ID=cp_… bun src/server.ts
设置: PAYAGENT_KEY 它不能打开任何人的CoinPay令牌:这些令牌是在每个登录密钥下密封的,只保存在内存中,所以没有切换的重启会暂停每个链接,直到它的所有者再次登录 /me + GET /api/v1/me 显示 locked), PAYAGENT_HANDOFF (off 禁用部署切换套接字; PAYAGENT_HANDOFF_SOCKET 将它从 ~/.payagent-vault/handoff.sock), LEGACY_KEY_MIGRATION (off 停止迁移0.6之前的令牌副本; sqlite3 pay-agent.db 'select count(*) from users where tokens is not null' 计算剩下的), PAYAGENT_COINPAY_CLIENT_ID
/ _SECRET (一个带有作用域的CoinPay OAuth客户端 openid profile email wallet:read merchant),
PAYAGENT_DB (SQLite路径), PORT (8796), COINPAY_BASE, PAYAGENT_WEBHOOK_ORIGIN.
部署: bin/install.sh (OpenInstall)上的盒子,金库 profullstack/pay-agent--prod.
自0.8.0以来,部署不再暂停每个付费链接: bin/install.sh 通过私有Unix套接字导出正在运行的进程的内存解锁(scripts/vault-handoff.sh(仅在shell变量中,而不是在磁盘中),在重新启动之前导入它们一次 /health 答案,保留每个原始到期(剩余一分钟以下被丢弃)。这日志 Vault unlocks handed to the new process 或者一个 WARNING.
麻省理工学院