Luego de consultar especialistas en este tema, programadores de diversas áreas y maestros hemos dado con la solución al dilema y la plasmamos en este post.
Solución:
Intente lo siguiente (ordenado por el esfuerzo que tomaría, si un paso no lo ayuda, tome el siguiente)
- Verifique los países permitidos que puede configurar para cada método de pago en el backend de administración.
- Compruebe los registros de errores (
system.log
,exception.log
después de habilitarlos) - Depurar en el
Mage_Payment_Model_Method_Abstract::isAvailable()
método para ver lo que está pasando.
Hay dos lugares, donde se lanza esta excepción:
/app/code/core/Mage/Payment/Model/Info.php:83
y
/app/code/core/Mage/Sales/Model/Quote/Payment.php:151
Yo diría que la excepción viene de la segunda parte. Si lo entiendo correctamente, la primera parte es un error real, la segunda es una prueba fallida.
como dijo @Alex, mira Mage_Payment_Model_Method_Abstract::isAvailable()
, hay otro “problema” que puede ocurrir: Perfiles recurrentes. ¿Intentas comprar una suscripción? Entonces tal vez el método no se pueda usar para esto.
¿Tienes xdebug? Es una gran herramienta para tales problemas, solo conéctelo al isAvailable()
métodos y verifique dónde se establece el valor de retorno false.
Si posees alguna desconfianza y capacidad de acrecentar nuestro reseña puedes escribir un comentario y con gusto lo analizaremos.