Refunds

Crear Refund de Invoice

Changed on

Devuelve el dinero con que se pagó una deuda, total o parcialmente.

Se usa cuando el punto de partida es la Invoice y no el pago: Toku busca el pago que la saldó y crea la devolución sobre esa Transaction.

Solo aplica a Invoices saldadas en un único pago. Si la Invoice fue pagada en más de una Transaction, la petición es rechazada y la devolución debe pedirse sobre la Transaction.

Si el pago que saldó la Invoice es con tarjeta de un solo cobro (payment_orchestration_onetime) o con wallet (wallet_mx) y es más antiguo que su plazo de devolución, la petición es rechazada con estado 400 antes de contactar al gateway.

Si se omite refund_amount, se devuelve el monto total del pago que saldó la Invoice.

Sin idempotency_key, cada llamada crea una devolución nueva y las parciales se acumulan sobre el mismo pago, así que reenviar la misma petición vuelve a devolver el monto mientras quede saldo; cuando ya no queda, la petición es rechazada con estado 400. Reenviar la petición con la misma idempotency_key devuelve la respuesta original, con el header Idempotent-Replayed, sin crear otra devolución.

post/refund/invoice

Request

  • Base URL
    https://api.trytoku.com
  • URL
    https://api.trytoku.com/refund/invoice
  • Auth
    API key in header x-api-key

Headers

x-account-keystring

Llave de API de una Account, para operar sobre esa Account en lugar de la principal.

Request body

disable_automatic_paymentsboolean

Indica si se deshabilita el cobro automático de la Invoice tras la devolución.

id_invoicestring required

Identificador de la Invoice a devolver.

idempotency_keystring

Llave para reintentar la devolución sin duplicarla; usa una distinta por cada devolución. Si se repite, se devuelve la respuesta original sin crear otra devolución, aunque cambie el cuerpo; si la petición original falló, el reintento responde con error sin volver a procesarla. La respuesta se conserva 24 horas.

reasonstring required

Motivo de la devolución.

refund_amountnumber

Monto a devolver. Si se omite, se devuelve el monto total de la Transaction que pagó la Invoice.

void_invoiceboolean

Indica si la Invoice queda anulada tras la devolución.

Example request

{
  "id_invoice": "in_pBf2NL0d0gvBM7Ei_1E3HIWnTN4W93_O",
  "idempotency_key": "5f1c2e0a-8d3b-4c1e-9a7f-2b6d4e8c1a90"
}

Response

Successful Response

additional_dataobject

Datos que devolvió el gateway. En las devoluciones que se envían al gateway en línea trae el detalle de su respuesta; en los flujos por lote y asíncronos llega vacío.

errorstring

Motivo por el que la devolución no pudo cerrarse. Llega en null cuando no hubo error.

idstring required

Identificador de la Transaction REVERSED creada para esta devolución.

receipt_urlstring

URL del comprobante de la devolución. Se emite en las devoluciones que se envían al gateway en línea y quedaron exitosas; en los flujos por lote y asíncronos llega en null.

successboolean required

Indica si la devolución quedó cerrada correctamente. En los productos de devolución asíncrona llega en false con error en null, porque la confirmación del gateway se recibe más tarde.

Example response

{
  "id": "trs_pBf2NL0d0gvBM7Ei_1E3HIWnTN4W93_O"
}

Changes

    • breaking

      request body became required

    • breaking

      the response's property type changed from string to boolean for status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • info

      api operation id post_refundinvoice removed and replaced with refund_invoice_public

    • info

      api tag Refunds added

    • info

      added the new optional header request parameter x-account-key

    • info

      added the new optional request property

    • info

      the request property default value changed from false to false

    • info

      the request property default value changed from false to false

    • info

      the request property format was generalized from float to no format

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status