así que llamo a Stripe.card.createToken en mi archivo api.js y quiero devolver el token que genera esta función para poder usarlo en mi vuex, ¿cómo puedo hacer eso?
// api.js
export const stripeToken = async ({ cardInfo }) => { const { data } = await Stripe.card.createToken({ cardInfo, }); return data; };Entonces quiero usarlo en mis acciones en vuex como este. Hice esto y no funciona, devuelve indefinido:
//vuex
import { stripeToken } from '@src/store/api'; async stripeToken({ dispatch }, { cardInfo }) { const { data } = await stripeToken({ cardInfo }); console.log('tokenId: ', data.tokenId); },No estoy familiarizado con vuex, pero el método Stripe.card.createToken toma dos parámetros: un objeto de JavaScript que contiene los datos de la tarjeta de crédito ingresados por el usuario y una función de devolución de llamada para manejar la respuesta. Puede obtener más información al respecto en la documentación de Stripe aquí .
Así es como puede mostrar la ID de un token con Stripe.card.createToken :
Stripe.card.createToken(cardInfo, (status, response) => { if (response.error) { console.log(response.error); } else { console.log(response.id); } }); Tenga en cuenta que Stripe.card.createToken es un método antiguo de Stripe.js v2 que ahora está obsoleto, por lo que recomendaría actualizar a Stripe.js v3 si es posible.