Stripe:“无法读取未定义的属性(读取‘价格’)”

问题描述 投票:0回答:1

我无法为 stripe 产品创建付款链接。我是否遗漏了代码中的某些内容,或者这是 API 内部正在发生的事情?另外,以防万一我如何检查当前安装的 stripe 版本?

NodeJS 代码:

async createPaymentlink(data) {
        try {
          const params = new URLSearchParams();

          params.append('line_items[0][price]', data.line_items[0].price);
          params.append('line_items[0][quantity]', data.line_items[0].quantity);
          params.append('after_completion[1][confirmation]', data.after_completion[0].confirmation);

            const response = await fetch(url, {
                method: 'POST',
                headers: {
                    'Authorization': `Bearer ${process.env.STRIPE_SECRET_KEY}`,
                    'Content-Type': 'application/x-www-form-urlencoded'
                },

            body: params});
            return { data: response };
            } catch (err) {
            return { error: err.message };
            }
        }

JSON 正文:

{
    "line_items": {
        "price": "price_1PtUNVA15zK6SDK7f0llFJ3v",
        "quantity": 1
    },
    "after_completion": {
        "type": "confirmation"

    }
}
stripe-payments
1个回答
0
投票

createPaymentlink
函数代码假定
data.line_items
是一个数组,如括号符号所示(例如
data.line_items[0]
)。

您共享的 JSON(我认为是传递给

data
参数的 JSON)没有数组形状。相反,您应该将代码更新为:

const params = new URLSearchParams();

params.append('line_items[0][price]', data.line_items.price);
params.append('line_items[0][quantity]', data.line_items.quantity);
params.append('after_completion[1][confirmation]', data.after_completion.confirmation);
© www.soinside.com 2019 - 2024. All rights reserved.