Skip to main content
Payin é a conversão BRL → Crypto. O receiver paga via PIX e recebe crypto na carteira Solana indicada.

Etapas

  1. Cotação — preço e taxas fixados por 30s.
  2. Criação da ordem — gera o QR Code PIX.
  3. Pagamento PIX — receiver paga.
  4. Conversão — swap on-chain.
  5. Entrega — crypto chega na wallet destino.
  6. Webhookorder.completed.

Cotação

curl -X POST https://api.astronpay.co/api/v1/quote/payin \
  -H "x-api-key: $API_KEY" -H "x-api-secret: $API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{ "receiverId": "rcv_...", "amountBrl": 1000, "targetToken": "USDC" }'
O campo targetToken aceita "USDC" ou "SOL". O padrão é "USDC". Response inclui quoteId, amountToken (quanto o receiver receberá), commercialRate, ratePlatform, expiresAt. Use o quoteId ao criar a ordem dentro de 30s.

Criação da ordem

curl -X POST https://api.astronpay.co/api/v1/payin \
  -H "x-api-key: $API_KEY" -H "x-api-secret: $API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "receiverId": "rcv_...",
    "quoteId": "qt_...",
    "destinationWallet": "4k5d...",
    "externalId": "meu-pedido-123"
  }'
A resposta traz:
  • pixPaymentCode — código EMV copia-e-cola do PIX. Exiba ao receiver para que ele efetue o pagamento.

Status ao longo do tempo

StatusQuando
PENDINGOrdem criada, aguardando PIX.
AWAITING_PAYMENTQR Code gerado, aguardando pagamento.
PAYMENT_RECEIVEDPIX confirmado; processamento iniciado.
SWAPPINGSwap on-chain em execução.
TRANSFERRINGCrypto sendo enviado para a wallet destino.
COMPLETEDCrypto entregue à destinationWallet.
FAILEDAlgo falhou; ver failureReason.
EXPIREDReceiver não pagou dentro do prazo PIX.
REFUNDINGEstorno PIX em andamento.
REFUNDEDValor estornado ao receiver.
Para o ciclo de vida completo, veja Ciclo de vida das ordens.

Webhooks recebidos

  • order.payment_received
  • order.completed
  • order.failed
  • order.refunding
  • order.refunded
Payloads completos em Eventos de webhook.

Consultando uma ordem

curl https://api.astronpay.co/api/v1/payin/$ORDER_ID \
  -H "x-api-key: $API_KEY" -H "x-api-secret: $API_SECRET"
Ou use o endpoint genérico /orders/{id}.

Erros comuns

ErroCausa
QUOTE_EXPIREDMais de 30 s entre cotação e criação. Regere a cotação.
LIMIT_EXCEEDEDReceiver já atingiu limite diário.
KYC_NOT_APPROVEDReceiver não aprovado. Complete o onboarding.