StacePay Documentação da API / Cobranças
Markdown

Cobranças

Uma cobrança é uma entrada de dinheiro: Pix, boleto ou cartão. É o mesmo objeto que o painel usa para "Nova cobrança".

Criar

POST/charges

Use um Idempotency-Key veja Idempotência. KYC aprovado é obrigatório.

CampoTipoDescrição
methodstringobrigatório"pix", "boleto" ou "credit_card".
amountintegerobrigatórioValor em centavos. Mínimo 100 (R$ 1,00).
installmentsintegeropcionalParcelas (só cartão). Padrão 1, máximo 12.
descriptionstringopcionalAparece para o pagador.
referencestringopcionalSeu identificador interno devolvido em "reference".
metadataobjectopcionalPares chave/valor livres, até 30 chaves.
customer.namestringobrigatórioNome completo do pagador.
customer.emailstringobrigatórioE-mail do pagador.
customer.documentstringobrigatórioCPF ou CNPJ, só dígitos.
customer.phonestringopcionalDDD + número, só dígitos.
curl -X POST https://stacepay.com.br/api/v1/charges \
  -H "Authorization: Bearer nvx_live_..." \
  -H "Idempotency-Key: pedido-8231" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "pix",
    "amount": 5000,
    "description": "Pedido 8231",
    "reference": "pedido-8231",
    "customer": {
      "name": "Ana Lima",
      "email": "ana@exemplo.com",
      "document": "39053344705"
    }
  }'
{
  "object": "charge",
  "id": "sp1_d9c51fe9",
  "status": "pending",
  "amount": 5000,
  "currency": "BRL",
  "payment_method": "pix",
  "description": "Pedido 8231",
  "reference": "pedido-8231",
  "customer": { "name": "Ana Lima", "email": "ana@exemplo.com", "phone": null, "document": "39053344705", "document_type": "cpf" },
  "fee_amount": null,
  "net_amount": null,
  "available_at": null,
  "paid_at": null,
  "created_at": "2026-08-11T21:09:26-03:00",
  "metadata": {},
  "pix": {
    "qr_code": "00020126580014BR.GOV.BCB.PIX...",
    "expires_at": "2026-08-11T21:39:26-03:00"
  }
}

O campo específico do método pix, boleto ou card só aparece quando é esse o método da cobrança.

Listar

GET/charges?status=paid&limit=20&offset=0

Filtra por status (mesmos valores do objeto). Sem filtro, devolve todas.

Buscar uma

GET/charges/{id}

{id} é o valor do campo id devolvido na criação (ex.: sp1_d9c51fe9) não o id interno numérico.

Estornar

POST/charges/{id}/refund

Só funciona em cobrança com status paid. Corpo opcional {"amount": 2000} para estorno parcial; sem amount, estorna o valor total.

Status possíveis

StatusSignificado
pendingAguardando o pagador.
processingEm confirmação com o parceiro.
authorizedCartão autorizado, captura em andamento.
paidConfirmado o dinheiro entrou no seu saldo.
refusedRecusado pelo parceiro ou emissor.
failedFalhou antes de chegar ao parceiro.
refundedEstornado.
chargebackContestado pelo pagador junto ao emissor.
disputedEm disputa.