Skip to main content
API PIX da GoatPay em três blocos. Cada um exige permissões na chave (payment-pix/*, refunds/*, transfer-pix/*).
/payouts/* é alias de /transfer-pix/* (permissões payouts/*).

Status (data.status)

Válido em consultas e listagens de cobrança, transferência e reembolso: Na resposta de criar cobrança, o status inicial costuma ser PENDING. Após o pagamento, COMPLETED.

coverFee (como informar o valor)

Controla o que o campo amount representa: Detalhes nos bodies de criar cobrança e criar transferência.

emitFiscalInvoice (nota fiscal no depósito)

Com emissão fiscal automática configurada no dashboard (plugin de nota fiscal), envie emitFiscalInvoice: true em POST /payment-pix/create para gerar a nota fiscal quando o PIX for confirmado. O campo é opcional e o padrão é false. No dashboard, a mesma opção aparece na tela de depósito PIX.

expirationSeconds (validade do QR Code)

Tempo de expiração do QR Code PIX em segundos. Padrão: 86400 (24 horas). Mínimo 60, máximo 604800 (7 dias). Na resposta, expiresAt (ISO 8601) indica quando o QR deixa de aceitar pagamento. Use esse campo para contagem regressiva no checkout.

Receber PIX

1

Criar cobrança

POST /payment-pix/createamount, description e opcionais (coverFee, emitFiscalInvoice, expirationSeconds, pagador, split, externalReference).Resposta: id, status, copyPaste, qrCodeBase64, qrcodeUrl, expiresAt.Criar cobrança
2

Exibir QR

Mostre copyPaste, qrCodeBase64 ou qrcodeUrl da resposta do create. Use expiresAt para exibir contagem regressiva.
Desde 15/08/2026, GET /payment-pix/get pendente retorna copyPaste e qrcodeUrl, mas não qrCodeBase64. Webhooks payment.created também não incluem QR — persista a resposta do create.
3

Acompanhar

GET /payment-pix/status/{id} para polling (payload enxuto) ou GET /payment-pix/get/{id} para detalhes completos. Webhooks: payment.created, payment.paid.Consultar status · Consultar cobrança · Listar
Para creditar o líquido em uma subconta merchant, envie subaccountId no mesmo POST /payment-pix/create (não há rota PIX exclusiva de subconta). Saques com saldo da subconta usam subaccountId em POST /transfer-pix/create. Veja o guia de subcontas.

Reembolsar depósito

Somente depósitos COMPLETED com endToEndId, no trilho PADRÃO da chave.
1

Solicitar

POST /refunds/createtransactionId ou e2eId; opcional refundId, nature, description. Estorno integral.Solicitar reembolso
2

Acompanhar

GET /refunds/get/{id} ou GET /refunds/list. Webhooks: refund.requested, refund.completed, refund.failed.Consultar · Listar
Reembolso exige endToEndId do depósito original.

Enviar PIX

1

Destino

Chave (pixKey + pixKeyType: CPF, CNPJ, EMAIL, TELEFONE, CHAVE_ALEATORIA) ou BR Code (pixCopyPaste).pixKeyOwnerDocument (CPF ou CNPJ do titular da chave) é opcional/legado e não é mais necessário para transferir por chave PIX.
2

Criar

POST /transfer-pix/createamount, description, destino.Criar transferência
3

Acompanhar

GET /transfer-pix/status/{id} para polling (payload enxuto) ou GET /transfer-pix/get/{id} para detalhes completos. Webhooks: transfer.created, transfer.completed.Consultar status · Consultar transferência · Listar
pixCopyPaste (pagar QR de terceiro) exige trilho PADRÃO na API key.

Split na cobrança (opcional)

  • splitUser — e-mail da conta GoatPay parceira
  • splitTax — percentual do líquido (0,01 a 100)

Listagens

Query params em GET /payment-pix/list e GET /transfer-pix/list:
Extrato completo: GET /account/transactions (guia Conta).

Transferências programadas

Programações de transferência permitem definir quando enviar sem chamar transfer-pix/create a cada execução. O painel e a API usam o mesmo modelo. Permissões: transfer-scheduled/create, get, list, update, cancel, run-now.

Tipos de disparo (triggerType)

Payload da transferência

O objeto payload descreve o que enviar (igual ao formulário Transferir do dashboard): Sempre inclua amount e, se quiser, description e coverFee.

Recorrência (recurrenceRule)

Opcional: maxRuns limita quantas vezes a recorrência executa.

Fluxo recomendado

1

1. Criar programação

POST /transfer-scheduled/create com triggerType, payload e parâmetros de agenda.Criar programação
2

2. Acompanhar

Listar ou consultar por id.

Campos na resposta (data)

Cada programação retorna: GET /transfer-scheduled/list retorna { items: [...] } em data.
Limite de 20 programações ativas por conta. Transferências imediatas continuam em POST /transfer-pix/create (ou interna/cripto).

Disputas MED

Disputas MED no trilho PADRAO (PIX regulado). A API key precisa das permissões meds/list, meds/get e meds/evidence.

Fluxo típico

1

1. Webhook med.created

Quando uma disputa abre, a GoatPay envia med.created (configure em Webhooks).
2

2. Listar ou consultar

Use Listar ou Consultar pelo id ou protocol.
3

3. Enviar defesa

Enquanto status for OPEN, envie Evidências com justificativa e comprovantes — exceto se a contestação automática estiver ativa na conta (padrão), caso em que a API retorna 403 e a GoatPay responde sozinha.
4

4. Resultado

Após análise: ACCEPTED, REJECTED, CANCELED ou EXPIRED. Eventos med.resolved / med.evidence_sent via webhook.

Status da disputa

Saldo e trilho

  • MED em PIX creditado na conta principal bloqueia availablePadrao e blockedAmount da main.
  • MED em PIX creditado em subconta (subaccountId na cobrança) bloqueia saldo da subconta (availablePadraolockedPadrao), sem debitar a main.
  • Saques cripto no PADRAO podem ser bloqueados enquanto houver MED OPEN ou UNDER_REVIEW na conta.
Detalhes de subcontas: guia de subcontas.

Enviar evidências

Enquanto status for OPEN: Envie JSON (application/json) ou multipart/form-data com os mesmos campos. Detalhes em Enviar evidências.
Contestação automática (ativa por padrão): disputas acima de R$ 50 recebem defesa gerada pela GoatPay. Enquanto estiver ativa, o merchant não pode enviar evidências manualmente — POST /meds/{id}/evidence responde 403. Desative no dashboard em Disputas ou peça ao suporte.
Disputas de seed local em desenvolvimento não aceitam defesa real. Use MED aberta pelo fluxo de produção.

Filtros em GET /meds/list

PIX automático

O PIX automático permite cobranças recorrentes com consentimento explícito do pagador (autorização no SPI). Distinto de assinaturas com boleto/cartão.

Base URL

Permissões: pix-automatic/authorizations/* e pix-automatic/payment-instructions/* na API key.

Fluxo típico

  1. Cadastre o pagador em POST /customers/create.
  2. POST /pix-automatic/authorizations/create — gera QR com 1ª parcela + consentimento (jornada 3).
  3. Pagador escaneia e autoriza no app do banco.
  4. Consulte autorizações com GET .../authorizations/list ou get/{id}.
  5. Instruções de pagamento geradas aparecem em payment-instructions/*.
  6. Cancele com DELETE .../authorizations/cancel/{id} se necessário.

Autorizações

Campos principais em create:

Instruções de pagamento

O produto precisa estar habilitado na sua conta. Se receber erro de produto indisponível, contate o suporte GoatPay.

Endpoints

Criar cobrança

QR para receber.

Consultar cobrança

Objeto completo em data.

Listar cobranças

Só entradas PIX.

Reembolso

Devolver depósito.

Enviar PIX

Chave ou BR Code.

Consultar envio

Status da transferência.

Listar envios

Só saídas PIX.

Programações

Agendar ou repetir envios.

Listar MEDs

Disputas da conta.

PIX automático

Autorização recorrente com consentimento.