# Configurar pagos Bizum

Esta guía explica cómo procesar pagos a través de **Bizum** utilizando el `BizumRepository`. El flujo se inicia enviando una solicitud de pago al número de teléfono móvil del cliente, en lugar de leer una tarjeta física.

Antes de utilizar Bizum, asegúrate de que el TPV se haya inicializado correctamente con `InitializationRepository.initTpv()` y que Bizum esté habilitado en la configuración del terminal.

## Repositorio

- **Repositorio**: `BizumRepository`

## Envío de una solicitud de Bizum

Utiliza la función `sendBizum` para activar la solicitud de pago.

**Parámetros:**

- **`amount`**: El objeto `Money` que representa el importe a cobrar.  
- **`phoneNumber`**: El número de teléfono móvil del cliente.  
- **`shiftInfo`** (opcional): Detalles del turno.  
- **`language`** (opcional): Idioma de la interfaz de usuario para las pantallas del Get Smart SDK Payment Service.

### Ejemplo

```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 pasos

- Para métodos de pago alternativos (APM) basados en QR, como **Alipay** y **WeChat Pay**, consulta **Configurar Alipay y WeChat QR**.  
- Para revisar el modelo unificado de gestión de resultados, consulta **Conceptos clave / Tratar Respuestas y Errores**.