Criar Cobrança com Boleto

Boletos bancários são gerados automaticamente com linha digitável e PDF para download.

Endpoint

POST /v1/charges

Parâmetros

Parâmetro Tipo Obrigatório Descrição
amount integer Sim Valor em centavos
payment_method string Sim Deve ser "boleto"
customer object Não Dados do cliente (opcional - name, email, document, phone)
items array Não Itens da transação (name, quantity, unit_price em centavos)
metadata object Não Metadados customizados (chave-valor)
external_id string Não ID externo para rastreamento
store_id integer Não ID da operação (store) do dashboard. Se não informado, usa a operação padrão do seller.
product_id integer Não ID do produto do dashboard. Opcional, para associar a cobrança a um produto específico.
callback_url string Não URL para receber notificações pontuais desta cobrança (além dos webhooks configurados no dashboard)

Exemplo de Requisição

curl -X POST https://api.apexpy.com.br/v1/charges \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 10000,
    "currency": "BRL",
    "payment_method": "boleto",
    "customer": {
      "name": "João Silva",
      "email": "[email protected]",
      "document": "12345678909",
      "phone": "47999999999"
    },
    "items": [
      {
        "name": "Produto Exemplo",
        "quantity": 1,
        "unit_price": 10000
      }
    ],
    "metadata": {
      "order_id": "12345"
    },
    "external_id": "order_12345",
    "store_id": 1,
    "product_id": 5,
    "callback_url": "https://seusite.com.br/webhook/order-12345"
  }'

Exemplo de Resposta

{
  "success": true,
  "data": {
    "id": "ci_123",
    "status": "pending",
    "amount": 10000,
    "payment_method": "boleto",
    "boleto": {
      "linha_digitavel": "34191.09008 01234.567890 12345.678901 2 12345678901234",
      "pdf_url": "https://api.apexpy.com.br/boleto/ci_123.pdf",
      "expires_at": "2025-12-01T23:59:59Z"
    }
  }
}

Validade do Boleto

Por padrão, os boletos têm validade de 3 dias corridos. Após o vencimento, o status muda para expired.

Split de Pagamento

Você pode dividir o recebimento entre múltiplos sellers usando o campo split na requisição. A taxa de Cash In é calculada uma vez e cobrada do seller principal, enquanto os sellers no split recebem o valor líquido proporcional.

Saiba mais sobre Split de Pagamento →