application_fee na Stripe — padrão 4,99% + US$ 0,20 (fixo convertido para BRL; taxa configurável por merchant).
Base URL: https://api.goatpay.com.br/v1
Quando usar cada fluxo
| Cenário | Abordagem |
|---|---|
| Checkout único pela API (sem página GoatPay) | POST /v1/card/checkout |
| Página de pagamento + PIX/boleto/cripto/cartão | Links de pagamento com allowedMethods incluindo CARD |
| Primeira vez / cadastro incompleto | POST /v1/stripe/onboarding-link |
Pré-requisitos
Conta PJ verificada
Cartão Connect exige Conta Padrão PJ com verificação aprovada. Contas PF ou trilho incompatível recebem
403.API key com permissões
Habilite na chave:
stripe/onboarding, card/checkout, card/get e, se for estornar, payments/refund.Onboarding Stripe
Gere o link de cadastro e conclua o formulário Stripe até cobranças e repasses estarem habilitados.
Primeira cobrança
Redirecione o cliente para
checkoutUrl (checkout avulso) ou use o fluxo de link.Status exigidos antes de cobrar
| Flag | Significado |
|---|---|
charges_enabled | Pode criar checkouts e receber pagamentos |
payouts_enabled | Repasse para conta bancária do merchant na Stripe |
Requisitos past_due vazios | Sem pendências críticas no cadastro |
403 com mensagem orientando atualizar em Conta → Empresa → Cartão no dashboard.
Taxas e coverFee
| Campo | Comportamento |
|---|---|
coverFee: false (padrão) | amount é o valor bruto cobrado no cartão; taxa GoatPay descontada do líquido |
coverFee: true | amount é o líquido desejado; a taxa é calculada e somada ao valor do checkout |
feeAmount e netAmount aparece na transação e nos webhooks após confirmação.
Valor mínimo no checkout avulso: R$ 5,00.
Fluxo — checkout avulso
- Onboarding (uma vez ou quando o Stripe pedir atualização).
- Checkout com
amount,descriptione URLs de retorno opcionais. - Redirecione para
checkoutUrl. - Confirme com webhook
payment.paidou GET /v1/card/get/:id.
Rotas da API
| Método | Rota | Permissão | Documentação |
|---|---|---|---|
| POST | /v1/stripe/onboarding-link | stripe/onboarding | Onboarding |
| POST | /v1/card/checkout | card/checkout | Checkout |
| GET | /v1/card/get/:id | card/get | Consultar |
| POST | /v1/payments/:id/refund | payments/refund | Estorno |
Webhooks recomendados
| Evento | Uso |
|---|---|
payment.paid | Checkout avulso (card/checkout) — transação CARD_CREDIT_IN confirmada |
payment.failed | Pagamento recusado ou sessão expirada |
payment_link.paid | Pagamento via link de pagamento com method: CARD |
Estorno
POST /v1/payments/:id/refund estorna transações concluídas de cartão (transactionId retornado no checkout). Valor parcial opcional no body; omita amount para estorno integral do líquido.
Somente transações com provider Stripe e status COMPLETED são elegíveis.
Liquidação e saldo
Depósitos de cartão podem ficar em pendente no saldo GoatPay até o prazo de liquidação (reserva de risco configurável). Consulte saldo em GET /v1/account/balance e extrato em transações.Erros comuns
| HTTP | Causa típica |
|---|---|
403 | Onboarding incompleto, cobranças/repasse desabilitados ou requisitos Stripe em atraso |
400 | Valor abaixo do mínimo, transação não encontrada ou já estornada |
401 | API key inválida ou ausente |
Criar checkout
POST /v1/card/checkout
Links + cartão
Vários métodos no mesmo link
