Skip to main content
curl -X POST "https://api.chargefy.io/v1/payment-intents/pi_boleto_456/regenerate_boleto" \
  -H "Authorization: Bearer {{API_KEY}}"
{
  "id": "pi_boleto_456",
  "object": "payment_intent",
  "...": "outros campos do DTO",
  "amount": 14990,
  "currency": "brl",
  "latest_charge": "ch_boleto_789",
  "next_action": {
    "boleto_display_details": {
      "barcode": "23791966600000149903381286008296100211202300",
      "expires_at": "2026-06-01",
      "hosted_voucher_url": "https://provider.example.com/boletos/new.pdf",
      "number": "23793.38128 60082.961002 11202.300008 1 96660000014990",
      "pdf": "https://provider.example.com/boletos/new.pdf"
    },
    "type": "boleto_display_details"
  },
  "payment_method_types": [
    "boleto"
  ],
  "status": "pending"
}
Cancela o boleto anexado a um payment_intent no estado pending e emite um boleto fresco — mesma PI, mesmo client_secret, novo latest_charge, novo next_action.boleto_display_details. Útil quando o comprador perdeu o documento original ou o vencimento está próximo.

Restrições

  • O payment_intent precisa estar em status: "pending" e payment_method: "boleto".
  • 1 reemissão por hora por PaymentIntent. Chamadas mais frequentes retornam 429.
  • Sem limite total de reemissões — pode chamar quantas vezes precisar, respeitando o limite de frequência.

Parâmetros de caminho

id
string
required
ID do payment intent (pi_*).

Attributes

boleto_due_date
string
Nova data de vencimento no formato YYYY-MM-DD. Default: hoje + 3 dias.
curl -X POST "https://api.chargefy.io/v1/payment-intents/pi_boleto_456/regenerate_boleto" \
  -H "Authorization: Bearer {{API_KEY}}"

Resposta

Retorna o payment_intent atualizado com o novo next_action. O campo regenerated_at é atualizado para o momento da chamada.
{
  "id": "pi_boleto_456",
  "object": "payment_intent",
  "...": "outros campos do DTO",
  "amount": 14990,
  "currency": "brl",
  "latest_charge": "ch_boleto_789",
  "next_action": {
    "boleto_display_details": {
      "barcode": "23791966600000149903381286008296100211202300",
      "expires_at": "2026-06-01",
      "hosted_voucher_url": "https://provider.example.com/boletos/new.pdf",
      "number": "23793.38128 60082.961002 11202.300008 1 96660000014990",
      "pdf": "https://provider.example.com/boletos/new.pdf"
    },
    "type": "boleto_display_details"
  },
  "payment_method_types": [
    "boleto"
  ],
  "status": "pending"
}

Efeitos colaterais

  • O boleto antigo é cancelado no provedor (best-effort; cancelamento final fica a cargo do banco emissor, processo de 1 dia útil).
  • A charge antiga vai para status: "canceled" com payment_error.message: "Superseded by regenerated boleto".
  • O job agendado de expiração automática do boleto antigo é cancelado e um novo é agendado para o novo expires_at.
  • Eventos emitidos: charge.updated (nova charge) + payment.intent.updated.

Erros comuns

StatuscodeQuando ocorre
409resource_state_conflictPI não está em pending (já pago, cancelado, ou ainda em requires_*).
422invalid_requestPI não é boleto, ou customer/buyer ausente.
429rate_limitChamada feita menos de 1h depois da última reemissão.
502api_errorProvedor falhou ao emitir o novo boleto.