# Visão geral Aceite pagamentos FaciPay numa app iOS nativa (Swift) com a SDK oficial. A **FaciPay iOS SDK** integra pagamentos FaciPay em apps iOS nativas. Apresenta o checkout num `WKWebView` hospedado (sheet modal) e devolve o resultado por um `CheckoutResult`. Versão atual: **1.0.0**. Swift 5.9+ (SwiftUI + UIKit). iOS **14+**. Distribuição: Swift Package Manager e CocoaPods. ## Como funciona Modelo igual ao da [Web SDK](/pt/sdk/overview): configura com a `publishableKey`, apresenta o checkout com referências e um `createOrder` que cria a ordem no **seu backend**, e trata o resultado. ```mermaid sequenceDiagram participant App as App (SDK) participant B as Backend (parceiro) participant P as FaciPay App->>App: FaciPay.configure(publishableKey:) App->>B: createOrder() B->>P: POST /facipaypartner/createPaymentOrder P-->>B: referenceNumber B-->>App: merchantTransactionId App->>P: Apresenta checkout (WKWebView) P-->>App: CheckoutResult (.approved / .pending / .cancelled / .failed) P->>B: Webhook (fonte da verdade) ``` ## 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 SDK iOS, os enums correspondentes são `PaymentMethod.mcxExpress`, `PaymentMethod.reference` e `PaymentMethod.facipay`. Adicionar a SDK via SPM ou CocoaPods.