# Introdução Explore os nossos guias e exemplos de integração com o FaciConnect. A **FaciConnect** é a plataforma que liga a sua aplicação ao **FaciPay**, o sistema de pagamentos para Angola (moeda **AOA**). Com uma SDK de browser e uma API de parceiros, aceita pagamentos por **Multicaixa Express**, **Referência EMIS** e **FaciPay** (solicitação de pagamento) sem reconstruir o seu checkout. Do zero ao primeiro pagamento em sandbox em ~10 minutos. O botão de pagamento, callbacks e referência completa. Endpoints de token, ordens e webhooks. Uma loja completa (Express + SQLite) ponta a ponta. ## Como funciona um pagamento A FaciConnect combina três peças: a **SDK no frontend** (renderiza o botão e abre o popup), a **sua API no backend** (cria a ordem e recebe o webhook) e a **FaciPay** (processa o pagamento). ```mermaid sequenceDiagram participant U as Cliente participant F as Frontend (SDK) participant B as Backend (parceiro) participant P as FaciPay U->>F: Clica em "Pagar Agora" F->>B: createOrder() B->>P: POST /facipaypartner/createPaymentOrder P-->>B: referenceNumber B-->>F: referenceNumber F->>P: Abre popup de pagamento U->>P: Confirma o pagamento P-->>F: onApprove / onPending / onCancel P->>B: Webhook (fonte da verdade) B-->>B: Atualiza a ordem (CON/CAN) ``` O **webhook é a fonte da verdade** do estado do pagamento — não os callbacks do frontend. Os callbacks servem para a experiência do utilizador (redirecionar, mostrar referência); a confirmação definitiva vem do webhook no seu backend. ## Métodos de pagamento | Método | Código | Notas | |---|---|---| | **Multicaixa Express** | `FPMCXEXPRSS` | Confirmação imediata na app Multicaixa Express → `onApprove`. | | **Referência EMIS** | `FPSOLPGEXT` | Entidade + referência pagas no Multicaixa/homebanking → `onPending`. | | **FaciPay** (solicitação de pagamento) | `FPSOLPG` | Carteira FaciPay — envia uma solicitação de pagamento à carteira do cliente → `onApprove`. | No **FaciPay**, depois de o cliente informar o telemóvel associado à conta FaciPay, é efetuada uma **solicitação de pagamento** na carteira, permitindo-lhe concluir o pagamento. Na configuração `allowedPaymentMethods` pode esconder o Multicaixa Express e a Referência EMIS, mas o **FaciPay direto** permanece sempre visível. ## Regras essenciais - Moeda **AOA**, locale **pt-AO**. O `amount` é **inteiro, sem casas decimais** (ex.: `15000` = 15.000 Kz). - O total é **sempre recalculado no servidor** — nunca confie no valor enviado pelo cliente. - O `createOrder()` da SDK **tem** de devolver uma string não-vazia (o `referenceNumber`). - Em produção, a SDK só funciona sobre **HTTPS**. ## Acesso e credenciais **Como obter as credenciais.** As chaves (`pk_…`, `clientId`, `clientSecret`, `webhookSecret`) são emitidas pela FaciPay após abrir uma **conta de negócio** e assinar contrato com a área comercial da **Faci-X**. Para começar, fale connosco: 📞 +244 923 168 670 · ✉️ [atendimento@faci-x.ao](mailto:atendimento@faci-x.ao). ## Âmbito Esta documentação cobre a integração **web** — frontend num browser (Next.js, React, Vue, HTML puro…) mais um backend HTTP. Para outras plataformas há secções dedicadas: **[Android SDK](/pt/android/overview)**, **[iOS SDK](/pt/ios/overview)** e **[WooCommerce](/pt/woocommerce/overview)**. Ainda **não** cobrimos React Native, Flutter nem outros plugins de CMS/e-commerce (Shopify, WordPress sem WooCommerce) — para esses, [fale com o suporte](mailto:atendimento@faci-x.ao). Aceite o seu primeiro pagamento em sandbox.