Completé un carrito de compras y puedo pagar a Stripe, pero quiero poder saber quién lo compró, así que quiero agregar una función que me permita ver al usuario en el backend de strapi.
Espero saber cómo combinar esas dos funciones.
He probado sus funciones por separado, trabajaré para la página diferente.
../controladores/order.js
const stripe = require('stripe')('xxxvxx'); const { parseMultipartData, sanitizeEntity } = require('strapi-utils'); module.exports = { create: async ctx => { const { address, amount, product, token, } = ctx.request.body; // Charge the customer try { // stripe charge await stripe.customers .create({ email: ctx.state.user.email, source: token }) .then((customer) => { return stripe.charges.create({ // Transform cents to dollars. amount: amount * 100, currency: 'usd', description: `Order ${new Date()} by ${ctx.state.user.id}`, customer: customer.id }); }); // Register the order in the database try { const order = await strapi.services.order.create({ user: ctx.state.user.id, address, amount, product, }); //email if (order.id){ await strapi.plugins['email'].services.email.send({ to: ctx.state.user.email, subject: 'Thank you for your purchase', text: ` usd${order.amount} is charged from your credit card on Stripe. usd${order.address} is charged from your credit card on Stripe. `, }); } return order; } catch (err) { console.log(err) } } catch (err) { console.log(err) } } };Quieres combinarlo
async create(ctx) { let entity; if (ctx.is('multipart')) { const { data, files } = parseMultipartData(ctx); data.users_permissions_user = ctx.state.user.id; entity = await strapi.services.about.create(data, { files }); } else { ctx.request.body.users_permissions_user = ctx.state.user.id; entity = await strapi.services.about.create(ctx.request.body); } return sanitizeEntity(entity, { model: strapi.models.about });En el nuevo strapi
usuario => usuarios_permisos_usuario
la respuesta es //Registrar el pedido en la base de datos
user: ctx.state.user.id,probar
users_permissions_user: ctx.state.user.id,