# Configurar Pagamentos Bizum

Este guia explica como processar pagamentos via **Bizum** utilizando o `BizumRepository`. O fluxo é iniciado enviando uma solicitação de pagamento para o número de telefone celular do cliente, em vez de ler um cartão físico.

Antes de usar o Bizum, certifique-se de que o TPV foi inicializado corretamente com `InitializationRepository.initTpv()` e que o Bizum está habilitado na configuração do terminal.

## Repositório

- **Repositório**: `BizumRepository`

## Enviando uma Solicitação Bizum

Use a função `sendBizum` para disparar a solicitação de pagamento.

**Parâmetros:**

- **`amount`**: O objeto `Money` representando o valor a ser cobrado.  
- **`phoneNumber`**: O número de telefone celular do cliente.  
- **`shiftInfo`** (opcional): Detalhes do turno.  
- **`language`** (opcional): Idioma da interface para as telas do Get Smart SDK Payment Service.

### Exemplo

```kotlin
suspend fun requestBizumPayment(amount: Money, customerPhone: String) {
    val result = bizumRepository.sendBizum(
        amount = amount,
        phoneNumber = customerPhone
    )

    when (result) {
        is RepositoryResult.Success -> {
            println("✅ Bizum request sent successfully.")
            // Handle specific Bizum result data if needed
        }
        is RepositoryResult.ConnectionError -> println("❌ Connection Error")
        is RepositoryResult.ProtocolError -> println("❌ Error: ${result.type}")
        else -> {}
    }
}
```

## Próximos Passos

- Para Métodos de Pagamento Alternativos (APMs) baseados em QR, como **Alipay** e **WeChat Pay**, consulte **Configurar Alipay e WeChat QR**.  
- Para revisar o modelo unificado de tratamento de resultados, consulte **Conceitos Principais / Tratar Respostas e Erros**.