条带没有这样的客户(快速关联帐户)

时间:2020-09-20 13:08:00

标签: node.js stripe-payments

我试图允许用户通过Express帐户加入平台后创建一次性发票。

我设置了一个节点路由来创建和发送发票。

我遇到了错误

 StripeInvalidRequestError: No such customer: 'cus_I3Xra0juO9x2Iu'

但是该用户的关联帐户中确实存在该客户。

enter image description here

路线在下面

app.post('/api/new_invoice', async (req, res) => {
        try {
            const { customer, deliverables, amount, payableBy } = req.body

            const product = await stripe.products.create({
                name: deliverables,
            })

            const price = await stripe.prices.create({
                unit_amount: amount,
                currency: 'aud',
                product: product.id,
            })

            const invoiceItem = await stripe.invoiceItems.create({
                customer,
                price: price.id,
            })

            const stripeInvoice = await stripe.invoices.create(
                {
                    customer,
                    collection_method: 'send_invoice',
                    days_until_due: 30,
                    invoiceItem,
                },
                {
                    stripeAccount: req.user.stripeAcct,
                }
            )

            const invoice = await new Invoice({
                customer,
                deliverables,
                amount,
                paid: false,
                issueDate: Date.now(),
                payableBy,
                _user: req.user.id,
            }).save()
            res.send(invoice.data)
            console.log(invoiceItem, stripeInvoice)
        } catch (err) {
            console.log(err)
            res.status(400)
            res.send({ error: err })
            return
        }
    })

据我了解,使用连接帐户的ID向stripe.invoices.create添加第二个对象,然后它应该为客户查看其Stripe帐户?

预先感谢

1 个答案:

答案 0 :(得分:1)

当代表已连接的帐户进行呼叫时,您需要将Stripe-Account标头设置为here中记录的帐户ID。必须在您代表该关联帐户提出的每个API请求上设置此标头。

在您的代码中,您仅在“发票创建API”请求上设置标头,而不在诸如发票项目创建之类的其他请求上设置标头。确保将其传递到任何地方,您的代码将开始工作。

相关问题