Requisições de Transferência
Requisições de transferência são o método de pagamento mais direto do Solana Pay, projetadas para transferências simples de SOL ou tokens SPL sem exigir qualquer interação com servidor. Quando um usuário escaneia um QR code ou clica em um link de requisição de transferência, sua carteira tem tudo o que precisa para compor e executar a transação imediatamente.
A beleza das requisições de transferência reside em sua simplicidade: toda informação de pagamento é codificada diretamente na URL, tornando-as completamente autocontidas e instantaneamente executáveis.
Estrutura da URL e Parâmetros
URLs de requisição de transferência seguem um formato padronizado que qualquer carteira Solana pode interpretar:
solana:<destinatario>?<parametros-opcionais-de-consulta>Parâmetro Obrigatório:
recipient: Uma chave pública codificada em base58 representando a carteira de destino. Este é o único campo obrigatório, garantindo que os pagamentos vão diretamente do cliente para o comerciante sem intermediários.
Parâmetros Opcionais:
amount: Especifica o valor exato da transferência como um valor decimal. Sem isso, as carteiras solicitam que os usuários insiram um valor manualmente — perfeito para doações ou cenários de pagamento flexível.spl-token: O endereço do mint para transferências de tokens SPL. Transforma uma transferência de SOL em qualquer transferência de token, de pagamentos em USDC a tokens de fidelidade personalizados.reference: Um identificador único para rastrear pagamentos on-chain. Como comerciantes não controlam assinaturas de transações, referências servem como identificadores pesquisáveis para reconciliação de pagamentos e suporte ao cliente.labelemessage: Strings voltadas para o usuário que explicam o contexto do pagamento. Label tipicamente identifica o comerciante, enquanto message descreve a compra específica.memo: Cria um registro on-chain usando o programa de memo da Solana. Valioso para conformidade, contabilidade ou fornecer contexto permanente da transação.
Exemplo
Aqui está uma requisição de transferência de 1 SOL que demonstra o uso prático dos parâmetros:
solana:22222222222222222222222222222222222222222222?amount=1&label=Blueshift%20Subscription&message=1%20Month&memo=Order12345&reference=abc123def456Para empresas que aceitam stablecoins, aqui está uma requisição de transferência em USDC:
solana:22222222222222222222222222222222222222222222?amount=200&spl-token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&label=Blueshift%20Subscription&message=1%20Month&memo=Order12345&reference=abc123def456Quando Usar Requisições de Transferência
Requisições de transferência se destacam em cenários onde os detalhes do pagamento são predeterminados e imutáveis:
Casos de Uso Ideais:
Checkouts de e-commerce com preços fixos
Campanhas de doação onde os usuários escolhem os valores
Pagamentos de assinatura com valores conhecidos
Sistemas de ponto de venda para transações presenciais
Pagamentos de faturas com valores específicos
Vantagens Principais:
Natureza Não-Interativa: Uma vez geradas, essas URLs funcionam independentemente dos seus servidores. Perfeito para situações onde a conectividade de rede pode ser não confiável ou quando você deseja minimizar dependências de infraestrutura.
Execução Garantida: Os parâmetros de pagamento estão fixos na URL, garantindo que os clientes paguem exatamente o que você espera sem mudanças dinâmicas de preço.
Capacidade Offline: URLs podem ser geradas localmente em dispositivos como terminais de POS, permitindo pagamentos mesmo se os sistemas de backend estiverem temporariamente indisponíveis.
Carga Reduzida no Servidor: Nenhuma chamada de API é necessária durante o processamento do pagamento, tornando-as altamente escaláveis para cenários de alto volume.
Compatibilidade Universal: Qualquer carteira Solana pode processar essas requisições sem exigir integrações específicas para cada carteira.
Considere requisições de transferência quando você precisa de valores de pagamento garantidos, deseja reduzir dependências de servidor ou requer um método de pagamento que funcione de forma confiável em todas as condições de rede.
Exemplo
Como exemplo completo, você pode usar o Payment Flow Merchant Example da Solana Foundation