Tengo esto:
app.get('/create-checkout-session', async (req, res) => { let customer = { price: req.query.price, quantity: req.query.number, page: req.query.page } let successurl = 'http://localhost:1111/' + customer.page + '' let failedurl = 'http://localhost:1111/' + customer.page + '' const session = await stripe.checkout.sessions.create({ payment_method_types: ['card'], line_items: [ { price_data: { currency: 'cad', product_data: { name: 'Giveaway Entry', }, unit_amount: customer.price, }, quantity: customer.quantity, }, ], mode: 'payment', success_url: successurl, cancel_url: failedurl, }); console.log(session) res.redirect(303, session.url); });está funcionando fantástico. Excepto que después de que se completa la sesión de pago, me redirige a mi página. Pero no almacena la dirección de correo electrónico que escriben (en la página de pago de la franja) en el objeto de la sesión. así que lo registré así:
console.log(session)y devuelve:
customer_email: null¿Por qué sucede esto y cómo puedo solucionarlo?
La propiedad customer_email de la sesión de pago es para crear una sesión de pago con un correo electrónico precargado[1]. Para ver el correo electrónico que su cliente ingresó en el formulario de pago, verifique la propiedad customer_details.email de la sesión[2].
[1] https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_email
[2] https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_details-email