# Solana Pay 支付链接：分步指南 | Cosmos Pay

URL: https://payments.cosmospay.lat/learn/accept-usdc-with-solana-pay?lang=zh

> 通过 Solana Pay 链接和二维码在 Solana 上收取 USDC：链接包含什么、如何在 Devnet 上测试，以及每笔支付如何获得确认。

## 如何通过 Solana Pay 链接接受 USDC

使用 Cosmos Pay 时，Solana 上的支付链接就是一个 Solana Pay 转账请求：客户扫描其二维码，或在 Phantom、Solflare 等钱包中打开它，并在钱包中确认这笔 USDC 支付。USDC 直接进入您的钱包，Solana 确认交易后，Cosmos Pay 即将该链接标记为已支付。收取真实资金之前，先在 Devnet 上试一试。

更新于 2026年11月2日 · 作者：Cosmos Pay

### Solana Pay 链接包含什么

Solana Pay 是 Solana 钱包能读取的支付请求标准：一个 solana: 链接或其二维码，包含收款地址、金额、代币和一条消息。

Cosmos Pay 会为每个链接生成一个 reference 密钥。钱包会把它写入交易，Cosmos Pay 则在 Solana 上查找该密钥，将付款与其链接匹配。只有当交易成功且准确的金额到达您的地址时，Cosmos Pay 才会接受这笔付款。

- [Solana Pay 规范](https://solana.com/docs/tools/solana-pay/specification/version1-1)
- [Solana 支付](https://payments.cosmospay.lat/solana?lang=zh)

### 您和客户各需要什么

- 您：一个用于收款的 Solana 地址，已在控制台中添加到您的组织，并通过签名证明属于您。
- 客户：一个能读取 Solana Pay 链接的 Solana 钱包（例如 Phantom 或 Solflare），其中持有 USDC 以及少量用于支付网络费的 SOL。无需 Cosmos Pay 账户。
- 测试时：使用沙箱，那里的链接运行在 Solana Devnet 上。USDC 在那里同样有预设，因此您可以用 Devnet USDC 进行测试。

### 接受您的第一笔 Solana Pay 支付

1. **切换到沙箱**: 登录控制台，在顶部选择“沙箱”。在那里创建的链接运行在 Solana Devnet 上，不涉及真实资金。
2. **添加您的 Solana 钱包**: 在组织设置中，添加用于收款的 Solana 地址，并签署控制台请求签署的内容，以证明该钱包属于您。
3. **创建链接**: 在“支付”中选择“创建支付链接”，选择 Solana，并将资产改为 USDC（选择器默认为 SOL）。输入金额，或留空由客户自行决定，然后选择您的钱包，如有需要再添加一条消息。
4. **用钱包付款**: 打开收银台页面，用 Solana 钱包扫描其二维码，或在同一设备上打开链接。在钱包中确认支付，Solana 确认后，收银台即变为“已支付”。
5. **在服务器上确认**: 在控制台中添加 Webhook 端点。支付获得确认后，Cosmos Pay 会发送使用 HMAC-SHA256 签名的 PAYMENT_INTENT_SUCCEEDED。请在收到该事件时交付订单。
6. **切换到生产环境**: 选择“生产环境”，并创建生产 API 密钥（以 prod_ 开头）。链接现在运行在 Solana 主网上，USDC 在那里有自己的预设。

- [如何在服务器上确认支付](https://payments.cosmospay.lat/learn/confirm-stablecoin-payments?lang=zh)
- [API 密钥](https://dev.cosmospay.lat/docs/api-keys/)

### 从服务器创建链接

使用支付 API 调用 POST /v1/payment-intents/pay，将 chain 设为 solana，以您的地址作为目标地址；收取 USDC 时，资产代码填 USDC，并以其铸币地址（mint）作为发行方。使用 TypeScript SDK（2.2 或更高版本）时，向 client.paymentIntents.createPay 传入 chain: 'solana'。

响应中包含链接（其 uri 以 solana: 开头）及其二维码。您可以展示二维码、在客户的钱包中打开链接，或将客户引导至托管收银台：payments.cosmospay.lat 后接链接的 ID。

- [支付意图 API](https://dev.cosmospay.lat/docs/api/payment-intents/)
- [SDK 中的支付意图](https://dev.cosmospay.lat/docs/sdk/server/payment-intents/)

### 须知

- 您可以不填金额，由客户自行决定，例如用于捐赠。加收您自己费用的链接必须填写金额。
- 一条最多 300 个字符的消息（例如订单号）会显示在客户的钱包中。
- 如果在支付上加收您自己的费用，链接会变为 Solana Pay 交易请求，在一笔交易中同时向您的钱包和您的收费钱包付款。
- 链接的有效时间有限，收银台会以倒计时显示。如果之后仍有支付到达并获确认，该链接会被标记为已支付。
- Solana 网络费由客户的钱包以 SOL 支付。每笔支付按您套餐的费率计费，与其他所有网络相同。

- [价格与费用计算器](https://payments.cosmospay.lat/fees?lang=zh)
- [Stellar、Solana 与 Monad 对比](https://payments.cosmospay.lat/learn/stellar-vs-solana-vs-monad?lang=zh)

### 常见问题 与解答。

按网络查看支付： [Stellar 支付](https://payments.cosmospay.lat/stellar?lang=zh), [Solana 支付](https://payments.cosmospay.lat/solana?lang=zh), [Monad 支付](https://payments.cosmospay.lat/monad?lang=zh)

#### 哪些钱包可以支付 Solana Pay 链接？

任何能读取 Solana Pay 链接的 Solana 钱包，例如 Phantom 或 Solflare。客户扫描二维码或打开链接，然后在钱包中确认支付。

#### 我的客户需要 SOL 吗？

需要，少量即可。除了发送的 USDC 之外，客户的钱包还要以 SOL 支付 Solana 网络费。

#### USDC 会经过 Cosmos Pay 吗？

不会。在 Solana 上，客户的钱包将 USDC 直接发送到您的地址。Cosmos Pay 通过链接的 reference 密钥在网络上找到这笔付款。

#### 可以不用真实资金测试吗？

可以。在沙箱中并使用测试密钥（dv_）时，链接运行在 Solana Devnet 上，USDC 在那里有预设，收银台也会注明不涉及真实资金。

### 更多指南

[查看全部指南](https://payments.cosmospay.lat/learn?lang=zh)

#### [如何在线接受 USDC 支付](https://payments.cosmospay.lat/learn/accept-usdc-payments?lang=zh)

通过支付链接、托管收银台或 API 收取 USDC，并先在测试网上试用。

#### [如何在服务器上确认稳定币支付](https://payments.cosmospay.lat/learn/confirm-stablecoin-payments?lang=zh)

依据签名 Webhook 交付订单，而不是依据客户看到的页面：验证它、快速响应并跳过重复事件。

#### [Stellar、Solana 与 Monad 收款对比](https://payments.cosmospay.lat/learn/stellar-vs-solana-vs-monad?lang=zh)

按 Cosmos Pay 的支持情况并列比较三个网络：链接格式、资产、测试网和费用。

### 立即开始接受 稳定币支付。

创建免费账户，生成测试密钥，今天就发出您的第一个支付链接。

[创建支付链接](https://dev.cosmospay.lat/login?next=%2Fdashboard%3Fview%3Dpayments)

#### 联系我们

关于套餐、集成或受保护付款的问题：告诉我们，我们会通过邮件回复。

[organization@cosmospay.lat](mailto:organization@cosmospay.lat)
