#javascript #node.js #stripe-payments #javascript-objects
Вопрос:
Как я могу передать «customer_email» в Stripe Checkout, только если он существует. Если его не существует, я вообще не хочу передавать электронное письмо/ свойство.
У меня есть случай, когда, если пользователь вошел в систему, его customer_email передается в функцию; в противном случае я не хочу добавлять свойство customer_email.
Случай входа в систему: пусть CustomerEmail = «example@example.com»; Случай выхода из системы: пусть пользовательская почта;
customer_email: Почта клиента ? Пользовательская почта: null
По сути, возможно ли динамически передавать свойство/ ключ в объект на основе его существования?
Возможно ли это?
let customerEmail;
const session = await stripe.checkout.sessions.create({
payment_method_types: [
"card"
],
payment_method_options: {
wechat_pay: {
client: "web",
},
},
line_items: [
{
price: priceId,
quantity: 1,
description: priceName,
},
],
mode: "payment",
allow_promotion_codes: true,
locale: "auto"
},
customer_email: customerEmail ? customerEmail: null,
success_url:
"http://google.com/session_id={CHECKOUT_SESSION_ID}",
cancel_url: "http://google.com/",
});
res.redirect(303, session.url);
});
Спасибо.
Ответ №1:
Ты можешь сделать что-то вроде этого
var strip_param = {
payment_method_types: [
"card"
],
payment_method_options: {
wechat_pay: {
client: "web",
},
},
line_items: [
{
price: priceId,
quantity: 1,
description: priceName,
},
],
mode: "payment",
allow_promotion_codes: true,
locale: "auto",
success_url: "http://google.com/session_id={CHECKOUT_SESSION_ID}",
cancel_url: "http://google.com/",
};
if(customerEmail){
strip_param = {...strip_param, customer_email: customerEmail}
}
const session = await stripe.checkout.sessions.create(strip_param);
Комментарии:
1. Это также может быть сделано в соответствии с
...( customerEmail ? {customer_email: customerEmail} : {})