El otro día tuve una experiencia bastante interesante. Resulta que me pidieron ayuda por si sabía como migrar una cuenta Stripe de un país a otro. Como buen internauta me fui para San Google y comencé a buscar un poco de información al respecto, con mi sorpresa de que no había nada sobre el tema, la poca información que existía era la documentación que aporta Stripe. Por lo tanto, si estás leyendo esto, probablemente te encuentres en la misma situación y espero que este post te sea de ayuda y aclare algunas dudas. ¡Vamos allá!
¿Qué es Stripe?
Stripe es una plataforma especializada en proporcionar servicios de procesamiento de pagos online, ya sea para empresas o particulares. Esta plataforma además nos proporciona una interface de programación (API) fácil de usar y una serie de herramientas que permiten a los desarrolladores integrar funcionalidades de pago en sus aplicaciones.
Stripe tiene diferentes formas de pagos:
- one-time-payments: este sistema de pagos es el que se usa para cuando tienes un producto o servicio que necesitas pagar por una vez. Por ejemplo: tienes que procesar el pago de un libro, una camiseta o un curso online.
- setup: este método solo se encarga de guardar los datos del cliente para futuros pagos.
- Subscription: Este sistema es por si tu producto es una subscripción algún servicio que crees y quieres que Stripe te gestione esa subscripción o pago. Para que este sistema funcione primero debes de crear una subscripción en el Dashboard o a través de su API.
El método por el cual podemos gestionar estos pagos puede ser a través de su Dashboard en la página de Stripe o a través de su API. Si vamos a usar, como es en nuestro caso, una plataforma externa, necesitaremos hacer uso de su API para poder gestionar esos pagos online.
Para poner un poco de contexto el sistema que vamos a usar es una plataforma de WordPress con el plugin de WooCommerce. De esta forma solo usaremos Stripe como simple gestor de los pagos y WooCommerce se encargará de todo lo demás.
¿Qué es una API y cómo funciona?
Una API (Application Programming Interface, por sus siglas en inglés) es un conjunto de reglas y protocolos que permite la comunicación entre distintas aplicaciones de software. Imagina que tienes una aplicación de redes sociales y quieres mostrar los últimos mensajes de tus amigos en tu página de inicio. En lugar de construir toda la funcionalidad desde cero, puedes utilizar una API proporcionada por la plataforma de redes sociales. Esta API te permitirá hacer una solicitud para obtener los mensajes más recientes y luego mostrarlos en tu propia aplicación. De esta manera, puedes integrar y utilizar la información de otras aplicaciones sin tener que desarrollar todo desde cero.
Esto nos permite integrar cualquier aplicación, como en nuestro caso WordPress + WooCommerce, con Stripe. Las dos aplicaciones no tienen nada que ver una con la otra, pero a traves de la API de Stripe podemos crear un sistema de pago para nuestro WordPress sin tener que programarlo nosotros y preocuparnos de la seguridad u otro aspecto legal.
Para que nuestra aplicación(WordPress) pueda hablar con Stripe y sepa que somos nosotros para conectarse a nuestra cuenta necesitamos como cualquier otra aplicación web de una contraseña. En este caso las APIS usan lo que se llaman claves API. Las claves API deben siempre de guardarse de forma segura y nunca compartirlas con nadie, puesto quien tenga nuestra clave API podrá acceder a todos los datos de nuestra cuenta, incluso hacer cambios en ella. Stripe genera un error de petición no válido si no incluye una clave, y un error de autenticación si la clave es incorrecta o está desactualizada.
Para poder acceder a nuestras claves API debemos acceder a nuestro Dashboard para desarrolladores para revelar, revocar y crear claves de API secretas. Si quieres más información sobre este tema te aconsejo la documentación oficial aquí.
WordPress + WooCommerce + Stripe
Imaginemos que quiero montar una web donde vendo merchandising, además de un curso super chulo de como hacer encaje de bolillos, quiero poner una subscripción mensual y además otra anual donde mis lectores reciben información exclusiva. Y para finalizar, todo esto quiero tener yo el mayor control posible sobre la plataforma, para poder evitarme así futuras censuras en plataformas o que si en 5 años la plataforma cierre perdiendo todo el trabajo realizado.
Una posible solución, como habrás podido adivinar, es crear un WordPress, añadir el plugin de WooCommerce con la pasarela de pago de Stripe. De esta forma nos permite gestionar todas las posibles casuísticas anteriores ademas de darnos la libertad que necesitamos.
Una vez instalados los plugins de WooCommerce y WooCommerce Stripe, para finalizar la configuración nos pedirá estos datos.
Estos datos como ya hemos comentado lo cogeremos de nuestra cuenta Stripe en el Dashboard para desarrolladores. Debemos tener en cuenta que para lo que nos interesa es el Modo activo, vigila de donde coges las claves y los permisos que tienen, puede que te ocurra como a mí, y cojas las claves del Modo Pruebas pensando que son los de activo y no funcione correctamente. Comprueba las claves dos veces.
Bueno y dicho todo esto para que te cuento todo esta historia, pues bien, WooCommerce la forma que tiene de comunicarse con Stripe es a través de su API. El que gestiona todo el sistema de suscripciones, cuando hay que renovar la suscripción al cliente o cuando hay que hacer un pago es el propio WooCommerce a través de la API de Stripe.
¿Cómo cambio de País mi cuenta de Stripe sin perder los datos?
Para cambiar de País una cuenta de Stripe hay que crear una nueva. Como lo oyes, Stripe no te permite cambiar la residencia fiscal de la cuenta, debes de crearte una nueva y migrar los datos.
Pero Stripe si nos permite hacer clonados de una cuenta hacia otra, pero solo de los datos de nuestros clientes con sus datos de pago. El tema de los productos o suscripciones que se almacenen en Stripe, se deben de migrar de forma manual o a través de su API.
Te pongo un ejemplo para que lo entiendas mejor: Tengo una cuenta de Stripe que su residencia fiscal esta en México, y quiero ahora moverla a Estados Unidos, lo que tendrías que hacer es crear una nueva cuenta, esa nueva cuenta pones su residencia en EEUU y ahora debes de irte a la página de migración de datos de clientes.
A continuación continua siguiento este tutorial de Stripe Copy PAN data across Stripe accounts
Si todo ha ido correctamente deberias de poder ver un banner de copia en pogreso encima del Dashboard de clientes. Ahora solo toca esperar a que Stripe te haga la copia de los clientes.
Esto en teoría debe de tardar hasta unas 72 horas, pero puede que te tarde incluso una semana, si a las 72 horas no tienes respuesta, debes de ponerte pesado con el servicio técnico por que la verdad que se puede quedar en el olvido tu petición, no se si quizas sea un bug o es que había mucha demanda pero en nuestro caso se demoro bastante.
Una vez tengas los clientes y sus datos de pago en nuestra nueva cuenta, ya tenemos la mitad del trabajo realizado. Si en tu caso, usas WordPress + WooCommerce estas de suerte, tan solo tienes que generar unas nuevas claves de API, entras en tu WordPress→WooCommerce→Ajustes de Pago y sustituyes tus claves antiguas de la otra cuenta por las nuevas de tu cuenta. ¡Eso es todo!
En cambio, si usas Stripe como tu gestor de suscripciones además de tener productos, como has podido deducir, queda un poco más de trabajo puesto que te tocará migrar los productos y suscripciones de la cuenta antigua a la nueva de forma manual. En este caso una vez tengas todo creado solo tendrías que asociar a cada cliente con su suscripción para ponerle las fechas de renovación en la nueva cuenta. Este paso no puedo darte más detalles puesto que no lo he realizado al completo.
Por último, recuerda que cuando hagas ese cambio Stripe en la primera compra debe hacer una verficación por IP. Te recomiendo que una vez haga el cambio de claves de API hagas una compra o suscripción de prueba y ver que todo funcione correctamente, además, de verificar la IP.
En conclusión Stripe es una gran plataforma para gestión de pagos pero su servicio técnico y sistema de ayuda la verdad que deja un poco que desear, supongo que es lo que suele ocurrir cuando no tienes mucha competencia. Si tienes alguna duda o necesitas ayuda no dudes en ponerte en contacto conmigo.