# Zinia — Compra Ahora, Paga Después

<img height="96" width="190" alt="zinia" title="zinia" src="https://static-devportal-ux.sensedia-eng.com/Pagonxt/production/documentations/zinia-1772046629649-b7i4a50z.png" />

Zinia es un método de pago "Compra Ahora, Paga Después" (BNPL - Buy Now, Pay Later) de Santander que permite a los clientes dividir sus compras en plazos o pagar más tarde. Esta guía detalla cómo integrar Zinia a través de la **Global API** utilizando el flujo de redirección estándar de Método de Pago Alternativo (APM).

<Callout type="warning">

A diferencia de los métodos de pago inmediatos, la respuesta inicial de una petición de Zinia devuelve un estado **`WAITING`**. Esto indica que la petición se ha realizado correctamente, pero se debe redirigir al cliente al portal de Zinia para completar la autorización.

</Callout>

## Requisitos

Antes de integrar Zinia, asegúrese de que estén configurados los siguientes elementos:

  - **Autenticación:** Un **Bearer Token** generado a través del [endpoint de Autenticación](https://www.google.com/search?q=/en/products/online-payments/regional-api/swagger%23tag/authentication).
  - **Listener de Webhook:** **Debe** disponer de un endpoint HTTPS público (`callback_url`) preparado para recibir notificaciones asíncronas sobre el estado final del pago.
  - **Habilitación del Comercio:** Coordínese con su Account Manager para activar la marca Zinia en su cuenta de comercio.

## Especificidades de Casos de Uso

Al integrar cualquier solución de Getnet, se aplican requisitos específicos del mercado. Zinia está disponible principalmente para los mercados europeos (ej. España) y espera la moneda **EUR**.

  - [Códigos de moneda](https://www.google.com/search?q=/en/articles%3Farticle%3Dcurrency-codes)
  - [Tipos de documento](https://www.google.com/search?q=/en/articles%3Farticle%3Ddocument-types)
  - [Impuestos y normativas locales](https://www.google.com/search?q=/en/articles%3Farticle%3Dtaxes-and-regulations)

## Características

| Capacidad | Detalles |
| --- | --- |
| **Interacción con el cliente** | Redirección al portal de financiación de Zinia para la selección y aprobación de los plazos. |
| **Confirmación** | Asíncrona: estado inicial `WAITING`, luego `APPROVED` o `DENIED` mediante webhook. |
| **Notificaciones** | Webhooks para actualizaciones de estado en tiempo real después de que el cliente complete el flujo del portal. |

## Funcionalidades Disponibles

Utilice la siguiente matriz para confirmar los escenarios actualmente soportados para Zinia.

| Flujo de pago | Países soportados | Compras | Reembolsos | Reembolsos parciales | Preautorizaciones |
| --- | --- | --- | --- | --- | --- |
| Redirect | Europa (ES, DE, etc.) | ✅ | ✅ | ✅ | ❌ |

## Guía de Simulación en Sandbox

Para probar y aprobar transacciones con éxito en el entorno sandbox, debe utilizar "activadores de simulación" específicos:

  * **Nombre del Cliente:** El `customer.name` debe incluir la cadena **`ZINIA_AP`** como apellido para activar la lógica de aprobación del motor de sandbox.
  * **Importe de la Transacción:** Utilice un `amount` de **500 o superior** (ej. `600` para 6,00 €). Los valores inferiores a 500 pueden ser denegados automáticamente por el motor de riesgo de prueba.
  * **Verificación de Identidad:** Si el portal de Zinia solicita la subida de un documento durante la prueba, puede subir **cualquier archivo de imagen** para omitir este requisito.

## Flujo de Integración

![zinia flow](https://static-devportal-ux.sensedia-eng.com/Pagonxt/production/documentations/getnet-diagram-4-1772048194118-6j0b4jgn.png)

### 1\. Crear la Petición de Pago

Llame al [endpoint Create – Authorize](https://www.google.com/search?q=/en/products/online-payments/regional-api/swagger%23tag/payments/post/dpm/payments-gwproxy/v2/payments) con los atributos que se indican a continuación. La información demográfica detallada del cliente y los artículos del pedido son estrictamente obligatorios para el modelado de riesgos de Zinia.

| Atributo | Descripción | Valor Obligatorio |
| --- | --- | --- |
| `payment_method` | Método de pago BNPL | `BNPL` |
| `brand` | Identificador de marca | `ZINIA` |
| `amount` | Importe de la transacción en céntimos | Entero (ej. `600` para 6,00 €) |
| `currency` | Código de moneda ISO | `EUR` |
| `order.items` | Array de artículos que se están comprando | **Obligatorio** |

**Ejemplo de Petición:**

```bash
curl --location --request POST 'https://api.pre.globalgetnet.com/dpm/payments-gwproxy/v2/payments' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--data-raw '{
    "idempotency_key": "ed2851df-9c94-4229-8848-32043e84f9a1",
    "request_id": "de311099-20b4-4d50-b3c6-08d90c52242c",
    "order_id": "ttk9vnt8qwj7",
    "data": {
        "amount": 600,
        "currency": "EUR",
        "customer_id": "42412312523",
        "payment": {
            "payment_id": "ttk9vnt8qwj7",
            "payment_method": "BNPL",
            "brand": "ZINIA",
            "soft_descriptor": "ZINIA TESTE"
        },
        "additional_data": {
            "callback_url": "https://webhooksite/6ca8fe64-73e2-4400-a760-94c41e92ab43",
            "customer": {
                "email": "joedoe.doejoe@getnet.net",
                "document_number": "50506468",
                "document_type": "uyci",
                "name": "Jose ZINIA_AP",
                "phone_number": "34700000000",
                "billing_address": {
                    "street": "R a",
                    "number": "1",
                    "district": "B",
                    "city": "City Z",
                    "state": "SP",
                    "country": "ES",
                    "postal_code": "05781000",
                    "complement": "N/A"
                }
            },
            "order": {
                "items": [
                    {
                        "name": "Item2",
                        "quantity": 1,
                        "sku": "sku1",
                        "price": 600
                    }
                ]
            }
        }
    }
}'

```

### 2\. Gestión de la Respuesta y Redirección

La respuesta inicial devuelve un `status: WAITING`. Debe redirigir al cliente al portal de financiación utilizando los datos proporcionados en el array `additional_data._links`.

**Ejemplo de Respuesta:**

```json
{
    "payment_id": "ttk9vnt8qwj7",
    "status": "WAITING",
    "reason_message": "Waiting payment flow.",
    "additional_data": {
        "signature": "c5LN2xXHUtardFVg...",
        "_links": [
            {
                "rel": "apm_html",
                "type": "POST",
                "href": "https://sis-i.redsys.es:25443/sis/realizarPago"
            }
        ],
        "merchant_data": "eyJvcmRlcl9pZCI6...",
        "signature_version": "T25V2"
    }
}

```

Para completar el flujo, construya un formulario o una petición fetch utilizando los siguientes parámetros:

  - **Método:** Utilice el método HTTP especificado en `type` (generalmente **POST**).
  - **Endpoint:** Redirija al `href` proporcionado en el enlace `apm_html`.
  - **Datos:** Debe incluir `merchant_data`, `signature` y `signature_version` en el payload de redirección.

### 3\. Verificar el Estado del Pago

Después de que el cliente complete el flujo de autorización en Zinia, será devuelto a su sitio web. Simultáneamente, Getnet envía una notificación a su `callback_url`.

| Estado | Descripción | Acción Siguiente |
| --- | --- | --- |
| **WAITING** | Petición correcta; el cliente debe autorizar la financiación. | Redirigir al cliente al portal de Zinia. |
| **APPROVED** | Financiación aprobada y pago capturado. | Tramitar el pedido. |
| **DENIED** | La financiación fue rechazada por el motor de riesgos. | Mostrar error y ofrecer otro método de pago. |

También puede comprobar el estado manualmente utilizando el [endpoint Get Transaction](https://www.google.com/search?q=/en/products/online-payments/regional-api/swagger%23tag/payment-record-management/get/dpm/hub-payment-info/v1/payments/info/%257Bpayment_id%257D).

## Más Información

  - Revise [Autenticación](https://www.google.com/search?q=/en/products/online-payments/regional-api%3Fdoc%3Dfirst-step-authentication) para la gestión de tokens.
  - Explore [Webhooks](https://www.google.com/search?q=/en/products/online-payments/regional-api%3Fdoc%3Dwebhook-how-it-works) para gestionar las notificaciones de estado asíncronas.