Skip to main content
Endpoint de streaming via Server-Sent Events (SSE) que mantém uma conexão persistente e notifica o cliente em tempo real sobre mudanças no status do checkout (ex: PIX confirmado, pagamento falhou, checkout expirou).

Autenticação

Endpoint público — não requer Authorization. Utiliza o client_secret como identificador.

Parâmetros de Path

client_secret
string
required
Segredo do cliente do checkout

Eventos SSE

A conexão envia os seguintes tipos de eventos. Quando presente, zoop_payment_data é o objeto retornado pelo gateway com os dados da transação (nome do campo conforme contrato da API).
EventoDescrição
connectedConfirmação de conexão com o estado atual do checkout
checkout.updatedStatus do checkout foi alterado
terminalEstado terminal atingido — conexão será encerrada

Evento connected

{
  "checkout_id": "chk_1a2b3c4d5e6f",
  "status": "confirmed",
  "payment_method": "pix",
  "zoop_payment_data": null
}

Evento checkout.updated

{
  "checkout_id": "chk_1a2b3c4d5e6f",
  "status": "succeeded",
  "payment_method": "pix",
  "succeeded_at": "2026-03-20T10:05:00Z",
  "zoop_payment_data": { "transaction_id": "txn_pix_abc" }
}

Evento terminal

{ "status": "succeeded" }
Enviado quando o checkout atinge um estado terminal: succeeded, failed ou expired. A conexão é encerrada ~1 segundo após este evento.
Um heartbeat (:heartbeat) é enviado a cada 30 segundos para manter a conexão ativa.

Exemplo

JavaScript
const eventSource = new EventSource(
  'https://api.chargefy.io/api/v1/checkouts/client/chks_secret_xyz/stream'
);

eventSource.addEventListener('connected', (e) => {
  const data = JSON.parse(e.data);
  console.log('Conectado. Status atual:', data.status);
});

eventSource.addEventListener('checkout.updated', (e) => {
  const data = JSON.parse(e.data);
  if (data.status === 'succeeded') {
    console.log('Pagamento confirmado!');
    eventSource.close();
  }
});

eventSource.addEventListener('terminal', (e) => {
  eventSource.close();
});