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
| Desde | Hasta | Disparador |
|---|---|---|
| — | ACTIVE | Se crea el enlace de pago |
ACTIVE | INACTIVE | El vendedor lo desactiva mediante PATCH |
ACTIVE | EXPIRED | Se alcanza la fecha de expiración (automático) |
ACTIVE | EXPIRED | Se alcanza el límite de max_orders (agotado) |
INACTIVE | ACTIVE | El 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
EXPIREDpuede 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 rutaPUTo la rutaPATCH.
Cómo funciona
Características clave:
- Tres estados: un enlace está
ACTIVEcuando se crea,INACTIVEcuando el vendedor lo desactiva, yEXPIREDcuando se alcanza su fecha de expiración o su límite demax_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 quePOST /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
EXPIREDpuede volver a estar activo si actualizas la expiración a una fecha futura y defines el estado como activo, mediantePUToPATCH.

Antes de empezar
- Obtén un token de acceso. Consulta Autenticación.
- Ten el
link_iddel 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} |
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
status | string | No | Nuevo estado: ACTIVE o INACTIVE |
expiration | string | No | Nueva 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
| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
label | string | Etiqueta de identificación (6–36 caracteres) | black-friday-2026 |
payment | object | Configuración de pago | --- |
currency | string | Moneda del país | BRL o MXN |
products.product_type | string | Consulta los valores válidos en el modelo de datos del producto | physical_goods |
products.title | string | Título del producto (máx.: 128) | Camiseta Oficial Getnet |
products.amount | integer | Monto de la compra (consulta la nota sobre montos arriba) | 15000 |
Campos opcionales
| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
status | string | Estado del enlace | ACTIVE o INACTIVE |
expiration | string | Nueva fecha de expiración | 2026-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).