Como aceitar USDC com links do Solana Pay
Com a Cosmos Pay, um link de pagamento na Solana é uma solicitação de transferência do Solana Pay: seu cliente escaneia o QR code ou abre o link numa carteira como Phantom ou Solflare e aprova ali o pagamento em USDC. O USDC vai direto para a sua carteira, e a Cosmos Pay marca o link como pago assim que a Solana confirma a transação. Teste na Devnet antes de cobrar dinheiro real.

O que um link do Solana Pay contém
O Solana Pay é um padrão de solicitações de pagamento que as carteiras da Solana leem: um link solana:, ou o QR code dele, com o endereço a pagar, o valor, o token e uma mensagem.
A Cosmos Pay adiciona uma chave de referência criada para cada link. A carteira inclui essa chave na transação, e a Cosmos Pay procura por ela na Solana para associar o pagamento ao seu link. O pagamento só é aceito quando a transação foi bem-sucedida e o valor exato chegou ao seu endereço.
O que você e seu cliente precisam
- Você: um endereço da Solana que recebe o dinheiro, adicionado à sua organização no dashboard e comprovado como seu com uma assinatura.
- Seu cliente: uma carteira da Solana que leia links do Solana Pay, como Phantom ou Solflare, com o USDC e um pouco de SOL para a taxa de rede. Sem conta na Cosmos Pay.
- Para testes: o Sandbox, onde os links funcionam na Solana Devnet. O USDC também é predefinido ali, então você pode testar com USDC da Devnet.
Aceite seu primeiro pagamento com Solana Pay
Mude para Sandbox
Entre no dashboard e escolha Sandbox no topo. Os links que você cria ali funcionam na Solana Devnet e não movimentam dinheiro real.
Adicione sua carteira da Solana
Nas configurações da sua organização, adicione o endereço da Solana que vai receber o dinheiro e assine o que o dashboard pedir: essa assinatura comprova que a carteira é sua.
Crie o link
Em Pagamentos, escolha Criar link de pagamento, selecione Solana e mude o ativo para USDC (o seletor começa em SOL). Informe o valor, ou deixe-o vazio para seu cliente escolher, depois escolha sua carteira e, se quiser, uma mensagem.
Pague com uma carteira
Abra a página de pagamento e escaneie o QR code com uma carteira da Solana, ou abra o link no mesmo dispositivo. Aprove o pagamento na carteira, e o checkout passa para Pago assim que a Solana o confirma.
Confirme no seu servidor
Adicione um endpoint de webhook no dashboard. Quando o pagamento é confirmado, a Cosmos Pay envia PAYMENT_INTENT_SUCCEEDED, assinado com HMAC-SHA256. Entregue o pedido quando ele chegar.
Mude para Produção
Escolha Produção e crie uma chave de API de produção (começa com prod_). Os links passam a funcionar na rede principal da Solana, onde o USDC tem a sua própria predefinição.
Crie o link no seu servidor
Com a API de pagamentos, chame POST /v1/payment-intents/pay com chain definido como solana, seu endereço como destino e, para USDC, o código de ativo USDC com o mint dele como emissor. Com o SDK em TypeScript (versão 2.2 ou posterior), passe chain: 'solana' para client.paymentIntents.createPay.
A resposta traz o link (o uri dele começa com solana:) e o QR code. Mostre o QR code, abra o link na carteira do seu cliente ou envie-o para o checkout hospedado: payments.cosmospay.lat seguido do id do link.
Bom saber
- Você pode deixar o valor vazio para que seu cliente o escolha, como em doações. Um link que adiciona a sua própria taxa precisa de um valor.
- Uma mensagem de até 300 caracteres, como um número de pedido, aparece na carteira do seu cliente.
- Com a sua própria taxa no pagamento, o link vira uma solicitação de transação do Solana Pay que paga a sua carteira e a sua carteira de taxas numa única transação.
- Um link fica aberto por um tempo limitado, que o checkout mostra como contagem regressiva. Um pagamento que ainda chegue e seja confirmado marca o link como pago.
- A carteira do seu cliente paga a taxa de rede da Solana, em SOL. Cada pagamento paga a tarifa do seu plano, a mesma de todas as redes.
Perguntas e respostas.
Pagamentos por rede:Pagamentos na StellarPagamentos na SolanaPagamentos na Monad
Quais carteiras podem pagar um link do Solana Pay?
Qualquer carteira da Solana que leia links do Solana Pay, como Phantom ou Solflare. Seu cliente escaneia o QR code ou abre o link e aprova o pagamento na carteira.
Meu cliente precisa de SOL?
Sim, um pouco. A carteira dele paga a taxa de rede da Solana em SOL, além do USDC que ele envia.
O USDC passa pela Cosmos Pay?
Não. Na Solana, a carteira do seu cliente envia o USDC direto para o seu endereço. A Cosmos Pay encontra o pagamento na rede pela chave de referência do link.
Posso testar sem dinheiro real?
Sim. No Sandbox e com chaves de teste (dv_), os links funcionam na Solana Devnet, onde o USDC é predefinido, e o checkout avisa que nenhum fundo real é movimentado.
