Visão geral
Permissões necessárias:payment-pix/create, payment-pix/get (opcional), webhooks/create (recomendado).
1. Criar a cobrança
Campos importantes
Resposta
Guardedata.id e exiba ao pagador:
copyPaste— string PIXqrCodeBase64— imagem PNG em base64 (somente na resposta do create)qrcodeUrl— URL da imagemexpiresAt— data/hora de expiração do QR (ISO 8601)
Webhooks
payment.created não incluem QR. Desde 15/08/2026, GET /payment-pix/get pendente retorna copyPaste e qrcodeUrl, mas não qrCodeBase64.PENDING. Após pagamento: COMPLETED.
Documentação do endpoint
2. Exibir no checkout
Web: decodifiqueqrCodeBase64 ou use qrcodeUrl em <img>. Ofereça botão “Copiar PIX” com copyPaste.
Mobile: deep link para apps bancários com o copia e cola.
Não feche o pedido até confirmar o pagamento (webhook ou consulta).
3. Confirmar pagamento
Recomendado: webhook
Cadastre endpoint parapayment.paid. O payload traz data.externalReference e data.amount.
Webhooks na prática
Alternativa: consulta de status
Para polling, use a rota enxuta de status (sem QR Code nem copia e cola):status retorna apenas id, status, valores e datas — ideal para verificar pagamento a cada 2–5 s. Para QR, pagador e demais detalhes, use GET /payment-pix/get/{id}.
Consultar status · Consultar cobrança completa
Use com moderação — rate limit de 100 req/min. Polling a cada 2–5 s em muitos pedidos pode estourar o limite.
4. Reconciliar
Filtre por data, status e
externalReference nas listagens.
Casos comuns
Split com parceiro
Na criação, enviesplitUser (e-mail GoatPay) e splitTax (percentual do líquido).
Subconta merchant
EnviesubaccountId no create. O líquido credita a subconta, não a conta principal.
Guia de subcontas
QR expirado
Eventopayment.pix.expired. Gere nova cobrança ou consulte status CANCELED.
Reembolso
Somente depósitosCOMPLETED no trilho PADRAO. Use POST /refunds/create com transactionId ou e2eId.
Guia PIX — reembolso
Erros frequentes
Mais erros: Troubleshooting · Erros da API.

