Solicitações de pagamento
O que são solicitações de pagamento?
Payment Requests são instruções de pagamento geradas usando a API REST Fluxis, assinadas e convertidas em NASPIP Tokens. Representam uma forma padronizada para comerciantes solicitarem pagamentos de usuários em múltiplas redes blockchain e ativos.
Cada Payment Request inclui todos os detalhes essenciais que um usuário precisa para concluir um pagamento, como:
- rede blockchain
- token
- valor
- endereço
- pedido opcional
—e todas essas informações são assinadas criptograficamente para garantir autenticidade e verificação.
Estados da solicitação de pagamento
As solicitações de pagamento passam por vários estados durante seu ciclo de vida:
Estados principais
| State | Description | Duration |
|---|---|---|
pending | Criada via fluxo de checkout; o pagador ainda não selecionou um UAI | Até a seleção do UAI |
created | Endereço vault atribuído; aguardando pagamento on-chain | 8 minutos |
expired | Solicitação de pagamento expirou sem pagamento | Permanente |
processing | Depósito on-chain detectado; aguardando finalidade | Variável |
completed | Pagamento recebido integralmente (ou pagamento de valor aberto aceito) | Permanente |
confirmed | Transação de ledger criada após pagamento bem-sucedido | Permanente |
Estados de casos extremos
Esses estados tratam cenários especiais e exigem coordenação entre Fluxis e o comerciante:
| State | Description | Handling |
|---|---|---|
underpaid | Pagamento recebido, mas valor menor que o solicitado | Coordenação com o comerciante necessária |
overpaid | Pagamento recebido, mas valor excede o solicitado | Coordenação com o comerciante necessária |
failed | Erro inesperado ocorreu durante o processamento | Coordenação com o comerciante necessária |
Estados de casos extremos são tratados pela Fluxis usando configuração específica do comerciante.
Padrão de integração recomendado
- Consulte
GET /v1/pos/{posID}/payment-request/{paymentRequestID}ou assine webhooks em nível de conta para mudanças de status. - Trate
processingcomo pagamento detectado; aguardecompleted,underpaidouoverpaid. confirmedindica que a plataforma criou a transação de ledger.
Temporização e expiração
Período de timeout: Solicitações de pagamento expiram 8 minutos após a atribuição de um endereço vault (status created).
Período de graça: Transações transmitidas perto da expiração ainda podem ser detectadas enquanto o vault permanece em cache brevemente após a expiração.
Criar uma solicitação de pagamento
Exemplo de solicitação básica
Code
Exemplo de resposta
Code
Exemplo de resposta de checkout hospedado
Code
Use POST /v1/pos/{posID}/payment-request quando o UAI do pagador é conhecido antecipadamente. Use POST /v1/pos/{posID}/payment-request-checkout quando o pagador deve escolher entre as payment_options do PoS. Ambos os endpoints exigem um Point of Sale online_fixed.
Monitorar status do pagamento
Comerciantes devem consultar regularmente o status da solicitação de pagamento para detectar pagamentos bem-sucedidos:
Exemplo de verificação de status
Code
Suporte multiativo
Comerciantes configuram múltiplos UAIs no Point of Sale (config.payment_options). Para permitir que pagadores escolham o ativo preferido, use o fluxo de checkout hospedado:
Code
A resposta inclui um checkout_url e um token NASPIP com as payment_options disponíveis. O pagador seleciona um UAI no checkout; a Fluxis atribui um vault e transiciona a solicitação de pagamento de pending para created.