Reembolsos y anulaciones

Las operaciones de reembolso y anulación están relacionadas al proceso de reversar una compra ya confirmada o a cancelar una compra preautorizada.

Antes de empezar, revisemos algunos conceptos.

  • Anulación: Una anulación es el acto de cancelar una transacción preautorizada (rollback) antes de que finalice o se liquide. Cuando se anula una transacción, es como si la compra nunca se hubiera producido, y no se transfiere dinero. Las anulaciones suelen producirse antes de que el pago se haya procesado por completo, por lo que no se cobra al método de pago por la transacción anulada.

  • Reembolso: Un reembolso, por otro lado, es una transacción que se produce cuando un cliente devuelve un artículo comprado o cancela un servicio, y el comercio reembolsa al cliente el monto pagado. El monto reembolsado suele devolverse al medio de pago original utilizado por el cliente. A diferencia de las anulaciones, el reembolso se produce después de que se haya liquidado la transacción.

Configurar el idioma de los códigos de respuesta

Puede recibir la descripción del error basándose en las funciones de localización. Para ello, debe enviar el encabezado lang en su integración, utilizando cualquiera de los siguientes idiomas en formato ISO 639-1.

CódigoIdioma
enInglés.
Este es el idioma por defecto. Si no envía este encabezado o envía un idioma diferente a los soportados, recibirá los errores en este idioma.
esEspañol.
ptPortugués.

Anular una compra

La operación de rollback está disponible para compras previamente autorizadas con estado PreAuthorized.

URL del Request

Debe invocar un request POST a las siguientes URL de acuerdo con sus necesidades.

  • Producción: https://api.bamboopayment.com/v1/api/purchase/{{PurchaseID}}/rollback
  • Stage: https://api.stage.bamboopayment.com/v1/api/purchase/{{PurchaseID}}/rollback

Parámetros del Request

No es necesario enviar el cuerpo del request para anular una compra. Si no envía el request, la compra será anulada con su monto original.

El monto a anular puede variar respecto al que se envió en la compra inicial, pero este no puede ser superior al original.

Ejemplo del Request

Para realizar la devolución de una compra con un monto inferior al original, es necesario incluir el nuevo monto en el request. Por ejemplo:

{
  "Amount": 50
}

Parámetros del Response

Cuando realice la anulación o el reembolso de una compra, obtendrá el mismo objeto Response retornado.

Reembolsar una compra

La operación de reembolso está disponible únicamente para compras con estado Aprobado. Los reembolsos pueden ser totales o parciales.

URL del Request

Debe invocar un request POST a las siguientes URL de acuerdo con sus necesidades.

  • Production: https://api.bamboopayment.com/v2/api/purchase/{{PurchaseId}}/refund
  • Stage: https://api.stage.bamboopayment.com/v2/api/purchase/{{PurchaseId}}/refund

Parámetros del Request

Considere los siguientes parámetros cuando invoque un request de reembolso.

ParámetroTipo¿Obligatorio?Descripción
AmountnumberNoMonto a se reembolsado (reembolso parcial). Si no envía este parámetro el reembolso se hará por el monto de la compra (reembolso total).
Si requiere incluir decimales en el monto, concatene los dígitos decimales sin el punto decimal. Ejemplo: 12,25 > 1225.
Este valor no puede ser mayor que el valor original del monto de la compra.
MetadataInDescriptionstringNoDescripción opcional del reembolso.

Ejemplo del Request

{
  "Amount":"2500",
  "MetadataIn": {
    "Description": "Refund description"
  }
}

Parámetros del Response

ParámetroTipoDescripción
ResponsePurchaseRefundIdnumberIdentificador interno del reembolso.
ResponseCreateddateFecha y hora de la creación del reembolso.
Formato de fecha: ISO-8601.
ResponseAmountnumberMonto del reembolso tal como se envió en el request.
ResponseCurrencystringMoneda del reembolso de acuerdo al formato ISO-4217 (códigos alfanuméricos).
ResponseStatusIdnumberIdentificador del estado del reembolso.
ResponseStatusstringDescripción del estado del reembolso.
ResponseAuthorizationCodestringCódigo de reembolso retornado por el adquirente de la transacción.
ResponseCodestringCódigo de error retornado por el adquirente de la transacción.
ResponseDescriptionstringDescripción retornada por el adquirente de la transacción.
ResponseMetadataOutobjectInformación adicional retornada por el adquirente de la transacción.
ErrorsErrorCodestringCódigo de error retornado por Bamboo.
ErrorsCreatedstringFecha y hora de la generación del error.
ErrorsMessagestringTexto descriptivo del error.
ErrorsDetailstringDetalle del error.

Ejemplo del Response

{
    "Response": {
        "PurchaseRefundId": 1246459,
        "Created": "2023-09-22T13:46:47.089",
        "Amount": 100.00,
        "Currency": "CLP",
        "StatusId": 10,
        "Status": "Refund_OK",
        "AuthorizationCode": null,
        "Code": "0",
        "Description": "REVERSED",
        "MetadataOut": null
    },
    "Errors": []
}
footer
Última modificación 28 de noviembre de 2024

© Bamboo | All rights reserved 2024