Getnet DocsGetnet Docs

Gestiona el ciclo de vida de un enlace

Un enlace de pago tiene tres estados posibles: ACTIVE, INACTIVE y EXPIRED. Esta guía muestra cómo transicionar entre ellos y cómo actualizar un enlace existente.

Transiciones de estado

DesdeHastaDisparador
—ACTIVESe crea el enlace de pago
ACTIVEINACTIVEEl vendedor lo desactiva mediante PATCH
ACTIVEEXPIREDSe alcanza la fecha de expiración (automático)
ACTIVEEXPIREDSe alcanza el límite de max_orders (agotado)
INACTIVEACTIVEEl vendedor lo reactiva mediante PATCH
EXPIRED—Terminal mediante transición automática — consulta la nota a continuación

Reactivar un enlace expirado: un enlace en estado EXPIRED puede volver a estar activo si actualizas la fecha de expiración a una fecha futura y defines el estado como activo. Puedes hacerlo mediante la ruta PUT o la ruta PATCH.

Cómo funciona

Características clave:

  • Tres estados: un enlace está ACTIVE cuando se crea, INACTIVE cuando el vendedor lo desactiva, y EXPIRED cuando se alcanza su fecha de expiración o su límite de max_orders (agotado).
  • PATCH para estado o expiración: usa PATCH /payment-links/{link_id} para desactivar, reactivar o cambiar la fecha de expiración sin reenviar el enlace completo.
  • PUT para reemplazo completo: usa PUT /payment-links/{link_id} para reemplazar el enlace completo; se reemplazan todos los campos del cuerpo, con la misma estructura que POST /payment-links.
  • GET para inspeccionar: recupera el estado actual de un enlace en cualquier momento; un enlace inexistente devuelve 404 (payment_link_not_found).
  • Reactivar un enlace expirado: un enlace EXPIRED puede volver a estar activo si actualizas la expiración a una fecha futura y defines el estado como activo, mediante PUT o PATCH.

Antes de empezar

  • Obtén un token de acceso. Consulta Autenticación.
  • Ten el link_id del enlace que deseas gestionar.

Desactiva o reactiva un enlace (PATCH)

Usa PATCH para actualizar el estado o la expiración de un enlace.

Endpoint
PATCH /payment-links/{link_id}
CampoTipoObligatorioDescripción
statusstringNoNuevo estado: ACTIVE o INACTIVE
expirationstringNoNueva fecha de expiración

Ejemplo de solicitud — desactivar

curl -X PATCH "${API_URL}/payment-links/${LINK_ID}" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "x-seller-id: ${SELLER_ID}" \
    -H "country: BR" \
    -H "tenant: santander" \
    -H "Content-Type: application/json" \
    -d '{ "status": "INACTIVE" }'

Ejemplo de solicitud — reactivar

curl -X PATCH "${API_URL}/payment-links/${LINK_ID}" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "x-seller-id: ${SELLER_ID}" \
    -H "country: BR" \
    -H "tenant: santander" \
    -H "Content-Type: application/json" \
    -d '{ "status": "ACTIVE" }'

Una respuesta exitosa devuelve 200 OK con el enlace actualizado completo.

Actualiza un enlace por completo (PUT)

Usa PUT para reemplazar el enlace por completo.

Endpoint
PUT /payment-links/{link_id}

Campos obligatorios

CampoTipoDescripciónEjemplo
labelstringEtiqueta de identificación (6–36 caracteres)black-friday-2026
paymentobjectConfiguración de pago---
currencystringMoneda del paísBRL o MXN
products.product_typestringConsulta los valores válidos en el modelo de datos del productophysical_goods
products.titlestringTítulo del producto (máx.: 128)Camiseta Oficial Getnet
products.amountintegerMonto de la compra (consulta la nota sobre montos arriba)15000

Campos opcionales

CampoTipoDescripciónEjemplo
statusstringEstado del enlaceACTIVE o INACTIVE
expirationstringNueva fecha de expiración2026-12-31T23:59:59

Ejemplo de solicitud

curl https://api-sbx.pre.globalgetnet.com/dpy/payment-link/v1/payment-links/9e5dcedc-1e5f-4e85-9b64-4d0b43d98c82 \
  --request PUT \
  --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...' \
  --header 'Content-Type: application/json' \
  --data '{
  "label": "black-friday-2026",
  "expiration": "2026-12-31T23:59:59",
  "max_orders": 100,
  "type": "custom",
  "request_delivery_address": false,
  "shipping_amount": 500,
  "products": [
    {
      "product_type": "physical_goods",
      "title": "Camiseta Oficial Getnet",
      "image_id": "6697e354-ab4a-11eb-bcbc-0242ac130002",
      "description": "Camiseta 100% algodão, tamanho M",
      "quantity": 2,
      "order_prefix": "BF2026",
      "amount": 9990,
      "propertyName*": "anything"
    }
  ],
  "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,6,9,12],
              "installments_with_interest": [6,9,12],
              "installments_with_increase": [
                {
                  "installments": [3,6,12],
                  "rate": 1.5,
                  "propertyName*": "anything"
                }
              ],
              "propertyName*": "anything"
            }
          ],
          "propertyName*": "anything"
        }
      ],
      "propertyName*": "anything"
    },
    "debit": {
      "enabled": true,
      "brands": [
        {
          "enabled": true,
          "brand": "VISA",
          "currencies": [
            "BRL"
          ],
          "threeds": true,
          "propertyName*": "anything"
        }
      ],
      "propertyName*": "anything"
    },
    "bankslip": {
      "enabled": true,
      "propertyName*": "anything"
    },
    "instant_payment": {
      "enabled": true,
      "propertyName*": "anything"
    },
    "google_pay": {
      "enabled": true,
      "propertyName*": "anything"
    },
    "apple_pay": {
      "enabled": true,
      "propertyName*": "anything"
    },
    "c2p_master": {
      "enabled": false,
      "propertyName*": "anything"
    },
    "propertyName*": "anything"
  },
  "currency": "BRL",
  "propertyName*": "anything",
  "status": "ACTIVE"
}'

El cuerpo de la solicitud usa la misma estructura que POST /payment-links. Se reemplazan todos los campos del cuerpo.

Consulta Cómo crear un enlace de pago para conocer la estructura de los campos.

Una respuesta exitosa devuelve 200 OK con el enlace actualizado completo.

Recupera un enlace existente

Para ver el estado actual de un enlace:

curl -X GET "${API_URL}/payment-links/${LINK_ID}" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "x-seller-id: ${SELLER_ID}" \
    -H "country: BR" \
    -H "tenant: santander"

Devuelve 200 OK con el enlace completo. Un enlace inexistente devuelve 404 (payment_link_not_found).

Próximos pasos