Getnet DocsGetnet Docs

Reembolsar un Pago

Esta guía explica cómo procesar reembolsos y cancelaciones para pagos previamente autorizados utilizando la Global API de Getnet. Dependiendo de cuándo se solicite el reembolso, el sistema lo gestiona de forma diferente: los reembolsos en el mismo día se procesan como cancelaciones (anulando la transacción antes de la liquidación), mientras que los reembolsos al día siguiente se procesan como ajustes (después de que se haya producido la liquidación).

Requisitos

Antes de seguir los pasos, necesita:

  • Crear su cuenta poniéndose en contacto con el equipo de Soporte de Integración para obtener sus credenciales de la API client_id y client_secret.
  • Generar su token con sus credenciales utilizando el endpoint de Authentication.
  • Tener un pago previamente autorizado o capturado que desee reembolsar.

Getnet proporciona una Postman Collection para ayudarle a replicar estos casos de uso localmente. También puede probar la API en el entorno sandbox utilizando la API Reference disponible en la documentación.

Especificidades de los Casos de Uso

Al integrar cualquier solución de Getnet, se aplican requisitos específicos del mercado. Asegúrese de revisar los recursos a continuación antes de pasar a producción:

También puede utilizar tarjetas de prueba para simular escenarios específicos. Puede encontrar más información sobre los requisitos específicos para cada país en la sección de Developer Resources de la documentación de Getnet.

Disponibilidad de la plataforma

El soporte para reembolsos y cancelaciones varía según el país, la marca de la tarjeta y el método de pago. Para obtener una referencia completa de los esquemas de tarjetas soportados y las reglas específicas para cada mercado, consulte la Disponibilidad de Cancelaciones y Reembolsos.

Entendiendo el Momento del Reembolso

La Global API de Getnet gestiona los reembolsos de forma diferente en función de cuándo se solicitan en relación con la transacción original:

Cancelaciones en el Mismo Día (D+0)

Cuando se procesa un reembolso en el mismo día que la transacción original, antes de la hora de corte (cutoff time) diaria, se procesa como una cancelación. La transacción se anula antes de que entre en el flujo de liquidación de la red.

Características:

  • Solo se permiten reembolsos totales (los reembolsos parciales no están soportados)
  • La transacción se anula antes de la liquidación
  • Procesamiento más rápido ya que los fondos nunca salen de la cuenta del cliente

Las transacciones autorizadas muy cerca de la hora de corte pueden requerir de 20 a 30 minutos para la confirmación completa. En tales casos, realice la petición de cancelación una vez pasada la hora de corte para garantizar que se procese correctamente.

Para conocer las horas de corte y la disponibilidad específicas de cada país, consulte la referencia de Core Cards.

Reembolsos al Día Siguiente (D+1 o Posterior)

Cuando se procesa un reembolso al día siguiente de la transacción original o más tarde, después de la hora de corte diaria, se procesa como un reembolso/ajuste. En este punto, la transacción ya se ha enviado a través del flujo de liquidación de la red de tarjetas.

Características:

  • Se permiten reembolsos tanto totales como parciales (sujetos a la disponibilidad del país)
  • Se procesa como una transacción de reembolso separada a través del sistema de liquidación
  • Puede tardar más en reflejarse en la cuenta del cliente

Para obtener información específica de cada país sobre la disponibilidad de reembolsos parciales, consulte la referencia de Core Cards.

El siguiente diagrama ilustra el flujo de reembolso, mostrando las diferentes rutas para cancelaciones en el mismo día frente a los reembolsos al día siguiente:

Proceso de Reembolso de Pagos

Esta sección le orienta en el proceso de reembolso de una transacción de pago.

La siguiente tabla enumera los campos mínimos que necesita enviar:

AtributoTipoDescripciónEjemplo
idempotency_keyStringIdentificador único para evitar operaciones duplicadas.63c7f8ee-51a6-470d-bb76-ef762b62bfb7
payment_idStringEl identificador de pago de la respuesta de la transacción original.2c341d28-491b-4cf8-aec7-eeb60136b7a5
payment_methodStringEl método de pago utilizado en la transacción original.CREDIT
amountIntegerValor (menor o igual) de la compra en céntimos.118708

Reembolsos Parciales: El campo amount le permite especificar un importe de reembolso parcial (igual o inferior a la transacción original). Sin embargo, los reembolsos parciales solo están disponibles a partir de D+1 en adelante y la disponibilidad varía según el país. Para obtener información específica de cada país, consulte la referencia de Core Cards.

Paso 1: Solicitar el Reembolso o Cancelación

A pesar del nombre del endpoint, este endpoint gestiona tanto las cancelaciones en el mismo día como los reembolsos al día siguiente automáticamente basándose en el momento en que se realizan.

Para procesar un reembolso o cancelación, utilice el endpoint de Cancel Payment.

Petición El siguiente bloque de código muestra un ejemplo de una petición de reembolso total:

curl --request POST \
  --url https://api-sbx.globalgetnet.com/dpm/payments-gwproxy/v2/payments/cancel \
  --header 'authorization: Bearer ' \
  --header 'content-type: application/json' \
  --data '{
  "idempotency_key": "a1b2c3d4-e5f6-4789-abcd-ef1234567890",
  "payment_id": "053de7f9-3725-437b-bdfc-bbf3ed0acb75",
  "payment_method": "CREDIT"
}'

Ejemplo de una petición de reembolso parcial (solo disponible en D+1 o posterior, sujeto a disponibilidad del país):

curl --request POST \
  --url https://api-sbx.globalgetnet.com/dpm/payments-gwproxy/v2/payments/cancel \
  --header 'authorization: Bearer ' \
  --header 'content-type: application/json' \
  --data '{
  "idempotency_key": "b2c3d4e5-f6a7-5890-bcde-fg2345678901",
  "payment_id": "053de7f9-3725-437b-bdfc-bbf3ed0acb75",
  "payment_method": "CREDIT",
  "amount": 50000
}'

Respuesta Ejemplo de respuesta de cancelación exitosa:

{
  "idempotency_key": "a1b2c3d4-e5f6-4789-abcd-ef1234567890",
  "seller_id": "e0ed6f00-fdc5-46d6-9557-6a2cac641b09",
  "payment_id": "053de7f9-3725-437b-bdfc-bbf3ed0acb75",
  "order_id": "ORDER-10187383",
  "amount": 118708,
  "currency": "BRL",
  "status": "CANCELED",
  "reason_code": "00",
  "reason_message": "Cancellation successful",
  "canceled_at": "2025-10-31T14:30:25.166Z"
}

Ejemplo de respuesta de cancelación denegada:

{
  "idempotency_key": "a1b2c3d4-e5f6-4789-abcd-ef1234567890",
  "seller_id": "e0ed6f00-fdc5-46d6-9557-6a2cac641b09",
  "payment_id": "053de7f9-3725-437b-bdfc-bbf3ed0acb75",
  "order_id": "ORDER-10187383",
  "amount": 118708,
  "currency": "BRL",
  "status": "DENIED",
  "reason_code": "05",
  "reason_message": "Cancellation not allowed - transaction already settled"
}

Paso 2: Comprobar el Estado del Reembolso

Para confirmar que el reembolso se procesó con éxito, verifique el campo status en la respuesta:

  • CANCELED: El reembolso se procesó con éxito
  • DENIED: El reembolso fue rechazado

Si el reembolso fue denegado, verifique los campos reason_code y reason_message para obtener más detalles sobre por qué falló el reembolso.

También puede consultar el estado de la transacción en cualquier momento utilizando el endpoint de Get Transaction. Para obtener actualizaciones en tiempo real, se recomienda utilizar Webhooks para recibir notificaciones sobre cada cambio de estado.

Reembolso de Pagos Combinados

Los pagos combinados requieren un manejo especial al procesar reembolsos:

Transacciones con Tarjeta

  • La cancelación está disponible para transacciones confirmadas realizadas hace más de 1 día.

Tarjetas de Crédito

  • Los pagos combinados con tarjetas de crédito se pueden cancelar a través de una petición que incluye el mismo número de objetos de pago que se enviaron en la petición de autorización anterior.
  • Dependiendo del estado de autorización de la transacción actual, la cancelación se puede revertir en el mismo día (ya confirmada) o en un plazo de 7 días (ya autorizada).

Para cancelar un pago combinado, utilice el endpoint de Combined Payments - Cancel en lugar del endpoint de cancelación normal.

Mejores Prácticas

Al procesar reembolsos, siga estas mejores prácticas:

  1. Conozca las horas de corte diarias para su mercado para entender si su reembolso se procesará como una cancelación en el mismo día o como un reembolso al día siguiente.
  2. Recuerde que los reembolsos parciales solo están disponibles a partir de D+1 en adelante y la disponibilidad varía por país. Consulte la referencia de Core Cards para obtener información específica de cada país.
  3. Utilice siempre una idempotency_key única para cada petición de reembolso para evitar reembolsos duplicados accidentales.
  4. Utilice webhooks para recibir actualizaciones en tiempo real sobre el procesamiento de reembolsos en lugar de hacer polling (consultas repetidas) a la API.
  5. Mantenga el payment_id, payment_method y amount de la transacción original para facilitar el procesamiento del reembolso.

Próximos Pasos

Ahora que entiende cómo reembolsar pagos, puede explorar más funciones de la Global API de Getnet: