# Visão geral
Aceite pagamentos FaciPay numa app Android nativa (Kotlin) com a SDK oficial.
A **FaciPay Android SDK** integra pagamentos FaciPay em apps Android nativas. Apresenta o
checkout num WebView hospedado (modal/bottom-sheet) e devolve o resultado por callbacks.
Versão atual: **1.0.0-beta01**. Linguagem: Kotlin (com interop Java). Distribuição: Maven Central.
## Como funciona
O modelo é igual ao da [Web SDK](/pt/sdk/overview): inicializa com a `publishableKey`,
abre o checkout com uma lista de referências e um callback `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.init(context, pk)
App->>B: createOrder()
B->>P: POST /facipaypartner/createPaymentOrder
P-->>B: referenceNumber
B-->>App: merchantTransactionId
App->>P: Abre o checkout (WebView)
P-->>App: onApprove / onPending / onCancel / onError
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 Android, os enums correspondentes são `PaymentMethod.FACIPAY`,
`PaymentMethod.MCX_EXPRESS` e `PaymentMethod.REFERENCE`.
## Requisitos
- **minSdk 24** (Android 7.0); compile/target SDK 36.
- Permissão `INTERNET` (declarada pela SDK).
Adicionar a SDK ao seu projeto Gradle.