javascript 错误:条带:参数“customer”必须是字符串,但得到了:[object对象] [重复]

kqlmhetl  于 2023-04-28  发布在  Java
关注(0)|答案(1)|浏览(125)

此问题已在此处有答案

What does [object Object] mean?(12个回答)
昨天关门了。
我试图为条纹付款设置一个成功的URL,显示客户的姓名,但我得到以下错误:
错误:条带:参数“customer”必须是字符串,但得到了:[object Object](请求GET /v1/customers/{customer}接口时)
我的代码看起来像这样:

app.get('/order/success', async (req, res) => {
    try{
        const session = await stripe.checkout.sessions.retrieve(req.query.session_id);
        const customer = await stripe.customers.retrieve(session);
        res.send(`<html><body><h1>Thanks for your order,${customer.name} !</h1></body></html>`);
    }catch(e){
        console.log(e);
        res.send(`Error`);
    }
  })

我的success url设置为:
success_url: "http://localhost:8080/order/success?session_id={CHECKOUT_SESSION_ID}",
任何帮助将不胜感激,因为我完全卡住了
我希望被重定向到成功的URL,但却收到一个错误

efzxgjgh

efzxgjgh1#

错误消息指出传递给stripe.customers.retrieve方法的customer参数不是字符串而是对象。从stripe.checkout.sessions.retrieve返回的会话对象不包含customer ID的字符串表示形式。
可以通过访问session对象的customer属性来获取customer参数。因此,您可以修改代码以检索客户,如下所示:

const customer = await stripe.customers.retrieve(session.customer);

相关问题