一个人如何使用发票创建条纹订单?

时间:2019-05-30 19:06:35

标签: node.js stripe-payments

我有一个api端点,可监听invoice.payment_succces webhook事件。每当我收到发票时,都会通过电子邮件将其链接发送给该用户。

到目前为止,这对于订阅是有效的,订阅可以自动创建发票,但对于订单而言似乎不一样。

每当我提交订单(像这样)...

const order = await stripe.orders.create({
    customer: user.stripeCustomerId as string,
    currency: "usd",
    coupon: couponCode,
    items: [{
        type: "sku",
        parent: product.sku,
    }],
});
return stripe.orders.pay(order.id, {});

...已记录订单并进行付款,但从未生成发票。

提交订单时,make stripe如何创建发票?

1 个答案:

答案 0 :(得分:1)

如果您希望按订单发送一次性发票,请先配置您的发票

例如

const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc');

stripe.invoiceItems.create({
  amount: 1000,
  currency: 'usd',
  customer: 'cus_4fdAW5ftNQow1a',
  description: 'Set-up fee',
});

接下来,您将使用await.stripe.invoices.create

准备“草稿”发票
const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc');

(async () => {
  const invoice = await stripe.invoices.create({
    customer: 'cus_4fdAW5ftNQow1a',
    billing: 'send_invoice',
    days_until_due: 30,
  });
})();

发票草案可以更新,当您准备开票时,可以定稿:

const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc');

stripe.invoices.sendInvoice(invoice.id, function(err, invoice) {
  // asynchronously called
});

源于stripe docs

的源代码

如果我误解了这个问题,请发表评论。 (听起来您是按照问题的表达方式下订单...)

希望这会有所帮助