Closed pablo-co closed 3 years ago
Hay un problema similar en openpay.v1.js
.
_openpay.hostname = "https://api.openpay.mx/v1/",
_openpay.sandboxHostname = "https://sandbox-api.openpay.mx/v1/",
_openpay.developHostname = "https://dev-api.openpay.mx/v1/",
El hostname debería constar de solo la primera parte de la url, es decir, el dominio y protocolo. De lo contrario hace un poco incomodo hacer pruebas con fakes. Ya que solo me interesa hacer el override del host al que se hacen los requests, esto sin incluir el path local.
_openpay.hostname = "https://api.openpay.mx",
_openpay.sandboxHostname = "https://sandbox-api.openpay.mx",
_openpay.developHostname = "https://dev-api.openpay.mx",
Que tal Pablo, intencionalmente esta un poco cerrado el apartado de los endpoints, debido a que nos ha pasado que al momento de intentar hacer el switch a producción, se tiene incorrecto el ambiente del api al cual apunta el implementador, poniendo los setters que comentas se amplia más ese riesgo (el cuál se traduce a llamadas a soporte técnico), para las pruebas que comentas, bastaría con descargar el js, modificarle dichas rutas y hacer referencia al js modificado. Saludos.
Entiendo un poco el razonamiento pero alguien que este usando esos setters y getters es porque se metió a ver el código de la librería. Por consiguiente se puede asumir que sabe lo que esta haciendo. Dudo que por error alguien use esas funciones si no están documentadas en ningún lado como es el caso de estos setters y getters en openpay.v1.js
. Se que están ahí porque me metí a ver si existían.
Creo también no sería ideal bajar los JS y modificarlos, se significa que cualquier cambio o bugfix que ustedes hagan a la librería no van a estar presentes en mi versión local (y dudo que alguien quiera estar actualizando de versión agregando sus cambios cada vez).
Volviendo a openpay.v1.js
, los setters ya están solo es quitar la versión del API que claramente no debería estar ahí.
Si siguen en duda en cuanto si sería buena idea o no tener estos setters pueden checar las librerías de Stripe y BraintreePayments. Ambas te permiten cambiar los endpoints entre otras muchas cosas.
Todos estos comentarios los hago con la mejor de las intenciones. 👍
alguna ayuda para la implementacion de openpay en React js desde la parte del frontEnd, sin tener que utilizar los scripts de javascript como tales?
me acabo de encontrar con esto, tal vez sea util https://libraries.io/bower/openpay
En
openpay-data
no hay getters ni setters públicos para cambiar el host al que se hacen los requests. Esto hace imposible escribir pruebas de integración con un fake, por lo que las pruebas hacen los requests directo al API de Openpay.Esto es lento y claramente no ideal.
El punto seria poder hace algo así: