如何在线接受 USDC 支付
要使用 Cosmos Pay 在线接受 USDC,请先添加用于收款的钱包,然后通过支付链接、托管收银台或支付 API 收款。客户在 Stellar、Solana 或 Monad 上用自己的钱包付款,USDC 进入您的地址。收取真实资金之前,先在测试网上跑一遍。

您需要准备什么
一个 Cosmos Pay 账户。注册免费,Starter 套餐无月费:每笔支付按 1.5% + 18¢ 计费。
一个用于接收 USDC 的钱包地址,须位于您收款所用的网络上:Stellar、Solana 或 Monad。您在控制台中将它添加到您的组织,并通过签名证明它属于您。在控制台中创建的支付链接只会付款到在那里添加的钱包。
您的客户需要什么
同一网络上的一个钱包,其中持有 USDC 并能打开这笔支付:在 Stellar 上,任何能打开 SEP-7 链接的钱包;在 Solana 上,任何能读取 Solana Pay 链接的钱包;在 Monad 上,任何能读取 EIP-681 链接的 EVM 钱包。网络费也由客户的钱包支付。
无需账户。客户打开收银台,扫描二维码或点击钱包按钮,然后在钱包中确认支付。
三种收款方式
三种方式都使用同一套收银台、控制台和 Webhook,因此您可以先从链接开始,需要时再改用 API。
- 支付链接:在控制台中创建,通过聊天或邮件发送,或展示其二维码。无需代码。
- 托管收银台:将客户引导至链接的收银台页面,通过支付按钮打开它,或用一个 script 标签将它显示在您的页面中。
- 支付 API:从您的服务器用一次请求(或使用 TypeScript SDK)创建每笔支付,并自行设计支付界面。
一步步接受您的第一笔 USDC 支付
创建账户并切换到沙箱
登录控制台,在顶部选择“沙箱”。在那里创建的内容都运行在测试网上(Stellar Testnet、Solana Devnet 和 Monad Testnet),不涉及真实资金。
添加收款钱包
在组织设置中,添加一个位于您收款网络上的钱包,并签署控制台请求签署的内容,以证明该钱包属于您。
创建一笔测试收款
在“支付”中创建支付链接,填写网络、金额、资产和收款钱包。也可以创建测试 API 密钥(以 dv_ 开头),从您的服务器调用 POST /v1/payment-intents/pay。在 Stellar Testnet 上可以用 XLM 收款,Testnet 的水龙头 Friendbot 可为测试账户充入 XLM。
用测试钱包付款
打开收银台页面:页面会注明它运行在测试网上。用该网络上的钱包付款,然后看着收银台变为“已支付”,控制台中的链接变为“成功”。
在服务器上确认支付
在控制台中添加 Webhook 端点。网络确认支付后,Cosmos Pay 会发送使用 HMAC-SHA256 签名的 PAYMENT_INTENT_SUCCEEDED。请在收到该事件时交付订单,而不是在客户页面显示已支付时。
切换到生产环境
在控制台中选择“生产环境”,并创建生产 API 密钥(以 prod_ 开头)。同样的请求现在会在主网上收款:网络由密钥决定,而不是由代码决定。
选择哪个网络收款
在客户已经持有 USDC 的网络上收款。在 Stellar 和 Solana 的主网与测试网上,以及 Monad 主网上,USDC 都是预设资产。在这三个网络上,任何其他代币都可以按其发行方、铸币地址(mint)或合约收取。
不写代码也能接受 USDC 吗?
可以。在控制台中创建支付链接,通过聊天或邮件分享,或展示其二维码。每笔支付的状态都会显示在控制台中。
客户用 USDC 付款,我收到的也是 USDC 吗?
是的。客户以链接上设定的资产付款,同一资产进入您的地址。
可以不用真实资金试用吗?
可以。在沙箱中并使用测试密钥(dv_)时,链接运行在测试网上,其收银台会注明不涉及真实资金。
客户可以撤回 USDC 支付吗?
不可以。网络确认支付后,该支付即为最终结果。退款是您从自己的钱包发出的一笔新支付。
