# Configura el enlace de pago

Esta guía cubre dos configuraciones que realizas antes o durante la creación de un enlace de pago: cargar imágenes para productos y configurar cuotas por país y marca de tarjeta.

## Cómo funciona

Esta guía cubre dos configuraciones independientes que realizas antes o durante la creación de un enlace de pago: cargar imágenes para productos y configurar cuotas por país y marca de tarjeta. Características clave:

- **Imágenes de productos** — carga una imagen primero para obtener un `image_id`, y luego haz referencia a ese `image_id` en el arreglo `products` al crear o actualizar el enlace. De forma opcional, puedes recuperar el contenido binario de una imagen por su identificador. Los formatos aceptados son PNG y JPEG, hasta 250 MB.
- **Configuraciones comerciales** — los comercios pueden habilitar o deshabilitar operaciones de pago específicas (crédito, débito, Boleto, PIX y otras), lo que determina los métodos que se muestran en el checkout.
- **Cuotas (solo crédito)** — las cuotas se configuran por marca de tarjeta de crédito, dentro de `payment.credit.brands[].supported_installments`; `null` o su ausencia significa pago único. Los métodos basados en tarjeta (`credit`, `debit`) usan un arreglo `brands[]` para la configuración por marca, mientras que otros métodos usan solo el toggle `{ "enabled": true }`.
- **Cómo se relacionan los campos de cuotas** — `installments` enumera las cantidades válidas, `installments_with_interest` marca cuáles de esas cantidades tienen interés, e `installments_with_increase` asigna una tasa porcentual a grupos de cuotas.
- **Esquemas específicos por región** — el `schema` determina las reglas de cuotas y varía según el país (por ejemplo, `plan_lojista` / `plan_emissor` en Brasil, `plan_emisor` / `cuota_comercio` en Chile y `plan_prosa` en México).

La configuración de imágenes de productos sigue una secuencia breve:

![](https://static-devportal-ux.sensedia-eng.com/Pagonxt/production/documentations/flow-configure-link-plk-1787945232760-77kh9bp9.png)

## Antes de empezar

- Obtén un token de acceso. Consulta [Autenticación](/es/payment-link-api/first-step-plk/authentication-token-plk).

## Imágenes de productos

Para mostrar una imagen en un producto del enlace de pago, carga la imagen primero.
Usa el `image_id` devuelto en el campo `image_id` del objeto `products` al crear o actualizar el enlace.

### Paso 1 - Carga la imagen

Endpoint|
---|
`POST /payment-links/products/images`

#### Reglas de completado de campos:
- `Content-Type: multipart/form-data`
- Formatos aceptados: `image/png`, `image/jpeg`
- Tamaño máximo: 250 MB

**Campos obligatorios**
| Atributo | Tipo | Descripción | Ejemplo
| --- | --- | --- | --- |
| `file` | binario | Archivo de imagen (PNG o JPEG, máx. 250 MB) | `product-photo.png`|

#### Ejemplo de solicitud
```json
curl https://api-sbx.pre.globalgetnet.com/dpy/payment-link/v1/payment-links/products/images \
  --request POST \
  --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...' \
  --header 'Content-Type: multipart/form-data' \
  --form 'file='
```

#### Ejemplo de respuesta

```json
{
    "image_id": "6697e354-ab4a-11eb-bcbc-0242ac130002",
    "original_name": "product-photo.png",
    "mime_type": "image/png",
    "upload_at": "2026-06-10T14:30:00.000Z"
}
```

### Paso 2 — Haz referencia a la imagen en un producto

Usa el `image_id` devuelto al construir el arreglo `products` en la [creación](/es/payment-link-api/payment-guides-plk/howto-create-payment-link-plk) o actualización del enlace:

```json
"products": [
   {
      "product_type": "physical_goods",
      "title": "Camiseta Oficial Getnet",
      "amount": 9990,
      "quantity": 1,
      "image_id": "6697e354-ab4a-11eb-bcbc-0242ac130002"
   }
]
```

### Paso 3 (opcional) — Recupera la imagen

Usa este endpoint para recuperar el contenido binario de una imagen por su identificador.

Endpoint|
---|
`GET /payment-links/products/images/{image_id}`

| Campo | Tipo | Descripción | Ejemplo
| --- | --- | --- | --- |
| `image_id` | string | Identificador único de la imagen | `3fa85f64-5717-4562-b3fc-2c963f66afa6`|

#### Ejemplo de solicitud
```json
curl https://api-sbx.pre.globalgetnet.com/dpy/payment-link/v1/payment-links/products/images/3fa85f64-5717-4562-b3fc-2c963f66afa6 \
  --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...'
```

La respuesta **200 OK** devuelve el contenido binario con el `Content-Type` correspondiente (`image/png` o `image/jpeg`).

#### Ejemplo de respuesta
```json
{
  "type": "string",
  "contentMediaType": "application/octet-stream"
}
```

---

## Configuraciones comerciales

Los comercios pueden configurar su enlace de pago de forma opcional, habilitando o deshabilitando operaciones de pago específicas. Estos ajustes determinan qué métodos de pago, como tarjetas de crédito, tarjetas de débito, Boleto (bank slip) o PIX (pago instantáneo), se muestran durante el proceso de checkout.

### Cuotas

Las cuotas se configuran dentro de cada marca de tarjeta de crédito, en `payment.credit.brands[].supported_installments`. Cada entrada es un objeto `InstallmentPlan` que representa un esquema de cuotas ofrecido por el adquirente o el emisor.

Los métodos basados en tarjeta (`credit`, `debit`) tienen un arreglo `brands[]` para la configuración por marca. Otros métodos usan solo el toggle `{ "enabled": true }`. Las cuotas aplican solo a crédito; `null` o su ausencia significa pago único.

> Para entender las reglas de cuotas de cada país, consulta [Reglas y disponibilidad de cuotas](/es/payment-link-api/reference-plk/installments-plk)

Endpoint|
---|
`POST /payment-links/business-configurations`

**Campos obligatorios**
| Campo | Tipo | Descripción | Ejemplo |
| --- | --- | --- | --- |
| `enabled` | boolean | Habilita o deshabilita esta marca | `true` o `false`|
| `brand` | string | Marca de tarjeta | `VISA`, `MASTERCARD`, `AMEX`, `ELO` |
| `schema` | string | Identificador del esquema — determina las reglas de cuotas. Específico por región | `plan_lojista` |

**Campos opcionales**
| Campo | Tipo | Descripción | Ejemplo |
| --- | --- | --- | --- |
| `currencies` | string | Códigos de moneda (por defecto: la moneda del país del vendedor) | `BRL`, `CLP` o `MXN` |
| `threeds` | boolean | Requiere autenticación 3D Secure para esta marca | `true` o `false`|
| `supported_installments` | object | Planes de cuotas (solo crédito). Nulo o ausente = pago único | --- |
| `schema_name` | string | Nombre legible del plan | `Plan Lojista`|
| `installments` | integer | Cantidades de cuotas disponibles | `[2,3,6,12]` |
| `installments_with_interest` | integer | Subconjunto de `installments` que tiene interés. Vacío = todas sin interés | `[6,9,12]`|
| `installments_with_increase` | object | Grupos de cuotas con una tasa de incremento aplicada | --- |

#### Ejemplo de solicitud

```json
curl https://api-sbx.pre.globalgetnet.com/dpy/payment-link/v1/payment-links/business-configurations \
  --request POST \
  --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...' \
  --header 'Content-Type: application/json' \
  --data '{
  "expiration": "2026-12-31T23:59:59",
  "max_orders": 100,
  "request_delivery_address": false,
  "payment": {
    "credit": {
      "enabled": true,
      "brands": [
        {
          "enabled": true,
          "brand": "VISA",
          "currencies": [
            "BRL"
          ],
          "threeds": true,
          "supported_installments": [
            {
              "schema": "plan_lojista",
              "schema_name": "Plan Lojista",
              "installments": [2,3,4,5,6,7,8,9,10,11,12],
              "installments_with_interest": [6,9,12]
            }
          ]
        }
      ]
    },
    "debit": {
      "enabled": true,
      "brands": [
        {
          "enabled": true,
          "brand": "VISA",
          "currencies": [
            "BRL"
          ],
          "threeds": true
        }
      ]
    },
    "bankslip": {
      "enabled": true
    },
    "instant_payment": {
      "enabled": true
    },
    "google_pay": {
      "enabled": false
    },
    "apple_pay": {
      "enabled": false
  },
  "currency": "BRL"
}'
```

#### Cómo se relacionan los campos

* `installments` enumera las cantidades de cuotas válidas. Por ejemplo, `[2, 3, 6, 12]` permite al comprador pagar en 2, 3, 6 o 12 cuotas.

* `installments_with_interest` indica cuáles de esas cuotas tienen interés. Si `installments = [2,3,6,12]` e `installments_with_interest = [6,12]`, entonces 2 y 3 cuotas no tienen interés, mientras que 6 y 12 sí lo tienen.

* `installments_with_increase` ofrece precios basados en tasas: cada entrada agrupa cuotas y les asigna una tasa porcentual.

**Objeto InstallmentsWithIncrease**

| Campo | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `installments` | integer[] | Sí | Cantidades de cuotas a las que aplica esta tasa |
| `rate` | number | Sí | Tasa de incremento como porcentaje (por ejemplo, `1.5` = 1.5%) |

Ejemplo:

```json
"installments_with_increase": [
  { "installments": [3, 6], "rate": 1.5 },
  { "installments": [9, 12], "rate": 2.99 }
]
```

En este caso, 3 y 6 cuotas tienen un incremento del 1.5%, y 9 y 12 cuotas tienen un incremento del 2.99%.

### Esquemas regionales

| País | Esquema(s) | Moneda | Marcas típicas |
| --- | --- | --- | --- |
| Brasil (BR) | plan_lojista, plan_emissor | BRL | VISA, MASTERCARD, AMEX, ELO, HIPERCARD |
| Chile (CH) | plan_emisor, cuota_comercio | CLP | VISA, MASTERCARD, AMEX |
| México (MX) | plan_prosa | MXN | VISA, MASTERCARD, AMEX, CARNET |

#### Ejemplos por país

**Brasil — plan_lojista + plan_emissor**

```json
{
    "enabled": true,
    "brand": "VISA",
    "currencies": ["BRL"],
    "threeds": true,
    "supported_installments": [
       {
          "schema": "plan_lojista",
          "schema_name": "Plan Lojista",
          "installments": [2,3,4,5,6,7,8,9,10,11,12],
          "installments_with_interest": [6,9,12]
       },
       {
          "schema": "plan_emissor",
          "schema_name": "Plan Emissor",
          "installments": [2,3,4,5,6],
          "installments_with_interest": []
       }
    ]
}
```

**Chile - plan_emisor + cuota_comercio**

```json
{
    "enabled": true,
    "brand": "VISA",
    "currencies": ["CLP"],
    "threeds": true,
    "supported_installments": [
      {
        "schema": "plan_emisor",
        "schema_name": "Plan Emisor",
        "installments": [2, 3, 4, 5, 6],
        "installments_with_interest": [4, 5, 6]
      },
      {
        "schema": "cuota_comercio",
        "schema_name": "Cuota Comercio",
        "installments": [2, 3, 6, 9, 12],
        "installments_with_interest": [6, 9, 12]
      }
    ]
  }
```

**México — plan_prosa**

```json
{
    "enabled": true,
    "brand": "VISA",
    "currencies": ["MXN"],
    "threeds": true,
    "supported_installments": [
      { "schema": "plan_prosa", "schema_name": "Plan Prosa", "installments": [3,6,9,12], "installments_with_interest": [3,6,9,12] }
    ]
}
```

**Ejemplo con installments_with_increase**

```json
{
    "enabled": true,
    "brand": "MASTERCARD",
    "currencies": ["BRL"],
    "threeds": true,
    "supported_installments": [
       {
          "schema": "plan_lojista",
          "schema_name": "Plan Lojista",
          "installments": [2,3,4,5,6,7,8,9,10,11,12],
          "installments_with_interest": [6,9,12],
          "installments_with_increase": [
             { "installments": [2,3,4,5,6], "rate": 1.5 },
             { "installments": [7,8,9,10,11,12], "rate": 2.99 }
          ],
          "single_increase_rate": false
       }
    ]
}
```

## Próximos pasos

- [Cómo crear un enlace de pago](/es/payment-link-api/payment-guides-plk/howto-create-payment-link-plk)
&lt;/content>