【发布时间】:2021-12-25 02:07:05
【问题描述】:
我在 node.js 中使用预构建的条带结帐会话。这是我的功能:
app.get('/create-checkout-session', async (req, res) => {
let customer = {
price: req.query.price,
quantity: req.query.quantity,
page: req.query.page,
email: req.query.email,
name: req.query.name
}
// insertIntoDbPreCheckout(customer, req, res)
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'],
metadata: {
'description': customer.page
},
customer_email: customer.email,
line_items: [
{
price_data: {
currency: 'cad',
product_data: {
name: customer.page,
},
unit_amount: customer.price,
},
quantity: customer.quantity,
},
],
mode: 'payment',
success_url: successurl,
cancel_url: failedurl,
})
res.redirect(303, session.url);
});
我试图通过 METADATA,但它不让我通过。
我在网上找不到任何可以告诉我如何执行此操作的内容,并且无论我尝试什么都无法正常工作。我该如何解决这个问题?
编辑:
当我记录客户时,它显示如下:
email: 'uuu@u.com',
invoice_prefix: '9FC11B6D',
invoice_settings: { custom_fields: null, default_payment_method: null, footer: null },
livemode: false,
metadata: {},
如您所见,metadata 为空
【问题讨论】:
-
不让你是什么意思?您的请求看起来有效,我希望
metadata最终会出现在 Checkout 会话中。您是否遇到 API 错误?错误说明了什么? -
@NolanH 刚刚编辑了我的 q
标签: javascript node.js stripe-payments metadata