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

Ciclo do popup

Eventos

EventoSentidoSignificado
PAYMENT_COMPONENT_READYpopup → páginaO popup carregou e está pronto.
PAYMENT_PROPSpágina → popupResposta da página com a configuração e a ordem.
PAYMENT_SUCCESSpopup → páginaPagamento bem-sucedido.
PAYMENT_PENDINGpopup → páginaPendente (referência EMIS).
PAYMENT_CANCELEDpopup → páginaCancelado.
PAYMENT_ERRORpopup → páginaErro.

Domínio do checkout

O popup é servido a partir do domínio oficial do checkout FaciPay:
AmbienteOrigem 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 precisa disto — a SDK já trata do postMessage e chama os callbacks. Use esta abordagem apenas para integrações que queiram reagir diretamente.
Valide sempre event.origin contra o domínio oficial do checkout antes de confiar na mensagem. Ignore 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 } = 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.