Skip to content

Instantly share code, notes, and snippets.

@gorrotowi
Created July 18, 2017 17:10
Show Gist options
  • Save gorrotowi/ebb3fb08f8c45fd83ef55fadd9f9f6ef to your computer and use it in GitHub Desktop.
Save gorrotowi/ebb3fb08f8c45fd83ef55fadd9f9f6ef to your computer and use it in GitHub Desktop.
class OPHandleError {
fun getError(code: Int): Throwable {
val messageError: Throwable
when (code) {
//OpenPay General Errors
1000 -> messageError = Throwable("Error interno del servidor")
1001 -> messageError = Throwable("Error al identificar usuario, intenta nuevamente")
1002 -> messageError = Throwable("Error al identificar usuario, intenta nuevamente")
1003 -> messageError = Throwable("La operación no se pudo completar por que el valor de uno o más de los parametros no es correcto")
1004 -> messageError = Throwable("No se pudo procesar correctamente el pago, intente nuevamente")
1005 -> messageError = Throwable("Uno de los recursos requeridos no existe")
1006 -> messageError = Throwable("Ya haz reservado este viaje, intenta con uno nuevo")
1007 -> messageError = Throwable("La transferencia de fondos entre una cuenta de banco o tarjeta y la cuenta de Openpay no fue aceptada")
1008 -> messageError = Throwable("Una de las cuentas requeridas en la petición se encuentra desactivad")
1009 -> messageError = Throwable("El cuerpo de la petición es demasiado grande")
1010 -> messageError = Throwable("Se esta utilizando la llave pública para hacer una llamada que requiere la llave privada, o bien, se esta usando la llave privada desde JavaScript")
1011 -> messageError = Throwable("Se solicita un recurso que esta marcado como eliminado")
1012 -> messageError = Throwable("El monto transacción esta fuera de los limites permitidos")
1013 -> messageError = Throwable("La operación no esta permitida para el recurso.")
1014 -> messageError = Throwable("La cuenta esta inactiva")
1015 -> messageError = Throwable("No se ha obtenido respuesta de la solicitud realizada al servicio")
1016 -> messageError = Throwable("El mail del comercio ya ha sido procesada")
1017 -> messageError = Throwable("El gateway no se encuentra disponible en ese momento")
1018 -> messageError = Throwable("Se ha excedido el número de intentos para realizar un cargo")
//OpenPay charges
3001 -> messageError = Throwable("La tarjeta fue declinada")
3002 -> messageError = Throwable("La tarjeta ha expirado")
3003 -> messageError = Throwable("La tarjeta no tiene fondos suficientes.")
3004 -> messageError = Throwable("La tarjeta ha sido identificada como una tarjeta robada")
3005 -> messageError = Throwable("La tarjeta ha sido rechazada por el sistema antifraudes")
3006 -> messageError = Throwable("La operación no esta permitida para este cliente o esta transacción")
3007 -> messageError = Throwable("Deprecado. La tarjeta fue declinada")
3008 -> messageError = Throwable("La tarjeta no es soportada en transacciones en línea")
3009 -> messageError = Throwable("La tarjeta fue reportada como perdida")
3010 -> messageError = Throwable("El banco ha restringido la tarjeta")
3011 -> messageError = Throwable("El banco ha solicitado que la tarjeta sea retenida. Contacte al banco")
3012 -> messageError = Throwable("La tarjeta fue declinada")
else -> messageError = Throwable("Se requiere solicitar al banco autorización para realizar este pago")
}
return messageError
}
fun getErrorOP(code: Int, needOtherCard: (Throwable, Boolean) -> Unit) {
when (code) {
//OpenPay General Errors
1000 -> needOtherCard(Throwable("Error interno del servidor"), false)
1001 -> needOtherCard(Throwable("Error al identificar usuario, intenta nuevamente"), false)
1002 -> needOtherCard(Throwable("Error al identificar usuario, intenta nuevamente"), false)
1003 -> needOtherCard(Throwable("La operación no se pudo completar por que el valor de uno o más de los parametros no es correcto"), false)
1004 -> needOtherCard(Throwable("No se pudo procesar correctamente el pago, intente nuevamente"), false)
1005 -> needOtherCard(Throwable("Uno de los recursos requeridos no existe"), false)
1006 -> needOtherCard(Throwable("Ya haz reservado este viaje, intenta con uno nuevo"), false)
1007 -> needOtherCard(Throwable("La transferencia de fondos entre una cuenta de banco o tarjeta y la cuenta de Openpay no fue aceptada"), false)
1008 -> needOtherCard(Throwable("Una de las cuentas requeridas en la petición se encuentra desactivad"), false)
1009 -> needOtherCard(Throwable("El cuerpo de la petición es demasiado grande"), false)
1010 -> needOtherCard(Throwable("Se esta utilizando la llave pública para hacer una llamada que requiere la llave privada, o bien, se esta usando la llave privada desde JavaScript"), false)
1011 -> needOtherCard(Throwable("Se solicita un recurso que esta marcado como eliminado"), false)
1012 -> needOtherCard(Throwable("El monto transacción esta fuera de los limites permitidos"), false)
1013 -> needOtherCard(Throwable("La operación no esta permitida para el recurso."), false)
1014 -> needOtherCard(Throwable("La cuenta esta inactiva"), false)
1015 -> needOtherCard(Throwable("No se ha obtenido respuesta de la solicitud realizada al servicio"), false)
1016 -> needOtherCard(Throwable("El mail del comercio ya ha sido procesada"), false)
1017 -> needOtherCard(Throwable("El gateway no se encuentra disponible en ese momento"), false)
1018 -> needOtherCard(Throwable("Se ha excedido el número de intentos para realizar un cargo"), true)
//OpenPay charges
3001 -> needOtherCard(Throwable("La tarjeta fue declinada"), true)
3002 -> needOtherCard(Throwable("La tarjeta ha expirado"), true)
3003 -> needOtherCard(Throwable("La tarjeta no tiene fondos suficientes."), true)
3004 -> needOtherCard(Throwable("La tarjeta ha sido identificada como una tarjeta robada"), true)
3005 -> needOtherCard(Throwable("La tarjeta ha sido rechazada por el sistema antifraudes"), true)
3006 -> needOtherCard(Throwable("La operación no esta permitida para este cliente o esta transacción"), false)
3007 -> needOtherCard(Throwable("La tarjeta fue declinada"), true)
3008 -> needOtherCard(Throwable("La tarjeta no es soportada en transacciones en línea"), true)
3009 -> needOtherCard(Throwable("La tarjeta fue reportada como perdida"), true)
3010 -> needOtherCard(Throwable("El banco ha restringido la tarjeta"), true)
3011 -> needOtherCard(Throwable("El banco ha solicitado que la tarjeta sea retenida. Contacte al banco"), true)
3012 -> needOtherCard(Throwable("Se requiere solicitar al banco autorización para realizar este pago"), true)
else -> needOtherCard(Throwable("Se requiere solicitar al banco autorización para realizar este pago"), true)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment