Realizar una anulación o devolución

Realizar una anulación o devolución

Antes de llevar a cabo una anulación o devolución, es necesario realizar una consulta de transacciones, ya que se necesitan datos específicos obtenidos durante esta consulta para llevar a cabo dichas operaciones.

Requisitos

  • Identificador de la transacción original: payment_id
  • Identificador de la adquirencia: acquirer_id

Paso a paso

Son los mismos pasos que se aplican para realizar un pago, la diferencia está en la instancia del objeto OperationFlow(), en este caso se agregan los siguientes campos:

CampoDescripción
TransactionTypeTipo de transacción = ANNULMENT/REFUND
payment_idIdentificador del pago original.
acquirer_idNúmero de referencia del pago original. Retornado en el campo de respuesta operation.acquirer_id
  • Además, es necesario establecer la marca de la tarjeta, el tipo y el indicador de nacional/internacional con los valores retornados en la consulta:

Ejemplo de implementación

if (isToday(transaction.operation.datetime)) {
        operationFlow.transactionType = OperationType.ANNULMENT
    } else {
        operationFlow.transactionType = OperationType.REFUND
    }
    //Se agregan identificadores del pago original
    operationFlow.acquirer_id = transaction.operation.acquirer_id
    operationFlow.payment_id = transaction.operation.id
}
 
//Set datos originales de la tarjeta
operationFlow.capture?.card?.brand = transaction.card.brand
operationFlow.capture?.card?.type = transaction.card.type
operationFlow.capture?.card?.isInternational =
    transaction.card.is_international
operationFlow.installments =
    transaction.installment.number.toString().padStart(2, '0')
ℹ️

En México 🇲🇽 solo aplica el concepto de REFUND. En Argentina 🇦🇷, una anulación se realiza el mismo día del pago y la devolución, en días posteriores.

Códigos de respuesta

Revisar el listado en la sección: Códigos de respuesta.