我无法为 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"
}
}
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);