Internamente, a SDK comunica com o popup do checkout por postMessage. Na maioria dos casos não precisas de ouvir estes eventos — usa os callbacks. Esta página é para integrações avançadas que querem reagir diretamente às mensagens.

Ciclo do popup

Eventos emitidos pelo popup

EventoSignificado
PAYMENT_COMPONENT_READYO popup carregou e está pronto.
PAYMENT_PROPSResposta da página com a configuração e a ordem.
PAYMENT_SUCCESSPagamento bem-sucedido.
PAYMENT_PENDINGPendente (referência EMIS).
PAYMENT_CANCELEDCancelado.
PAYMENT_ERRORErro.

Domínio do checkout

O popup é servido a partir do domínio oficial do checkout FaciPay:
AmbienteOrigin do checkout
Produçãohttps://www1.facipay.co.ao
Sandboxhttps://www31.facipay.co.ao
A SDK valida a origem internamente antes de processar cada mensagem.

Ouvir mensagens (avançado)

Na prática não precisas disto — a SDK já trata do postMessage e chama os callbacks. Usa esta abordagem apenas para integrações que queiram reagir diretamente.
Valida sempre event.origin contra o domínio oficial do checkout antes de confiar na mensagem. Ignora qualquer mensagem de outra origem.
const CHECKOUT_ORIGIN = 'https://www1.facipay.co.ao'; // sandbox: www31.facipay.co.ao

window.addEventListener('message', (event) => {
  if (event.origin !== CHECKOUT_ORIGIN) return; // ignora outras origens

  const { type, payload } = event.data || {};
  switch (type) {
    case 'PAYMENT_SUCCESS':
      // pagamento concluído
      break;
    case 'PAYMENT_PENDING':
      // referência gerada
      break;
    case 'PAYMENT_CANCELED':
      // cancelado pelo utilizador
      break;
  }
});

Próximo passo: Tipos & enums

Referência de tipos, estados e métodos de pagamento.