Reembolsar una transacción
Una transacción se puede reembolsar al enviar el id (String) del e-voucher.
Si una transacción ya fue reembolsada o existe algún error en el proceso, se regresa el error 13002:
PAYMENT_HISTORY_REFUND_FAILED
El método regresa un success con dos posibles estados:
- True: indica que el reembolso fue exitoso
- False: indica que el reembolso no fue exitoso
También se retorna el estado de la transacción del tipo PaymentCancelStatus, esta puede ser:
enum PaymentCancelStatus: Int{
case processed = 1
case refundUnavailable = -2
case error = -3
case timeout = -4
}
Estado |
Descripción |
processed |
La cancelación se realizó de forma exitosa. |
refundUnavailable |
La cancelación no pudo realizarse. El tiempo para hacerlo ha pasado o se trata de un pago hecho con una tarjeta de puntos. |
error |
Ocurrió un error al realizar la cancelación. |
timeout |
Se solicitó la cancelación pero no hubo respuesta del servicio. |
El siguiente ejemplo de código muestra la implementación de la función para reembolso de transacción.
do {
try TransactionHistory.shared.refundTransaction(by: String , completion: { (result) in
switch result {
case .success(let success, let status):
print(success)
print(status)
case .failure(let error):
print(error)
}
})
} catch {
print(error)
}