【问题标题】:Assigning each invoice a numeric ID?为每张发票分配一个数字 ID?
【发布时间】:2014-05-23 14:12:45
【问题描述】:

为我通过 Stripe 生成的每张发票提供发票编号的最佳方式是什么?我知道系统已经为每张发票分配了一个唯一的 ID,但对于英国会计,我需要想办法让我生成的第一张发票编号为 #1,第二张发票编号为 #2,依此类推。

我考虑过可能会在我的网站上存储生成的发票数量,然后订阅在创建发票时触发的 webhook,并使用它来创建发票编号的某种元数据记录,但我不确定这是确实是最有效的方法。

我在我的 VPS 上运行一种标准的 LAMP 设置,现在我对 Stripe API 非常熟悉,尽管我以前从未使用过 webhook。

【问题讨论】:

  • 接受的答案显示出对问题的良好理解以及对问题中描述的实际需求的适应。

标签: php sql api stripe-payments webhooks


【解决方案1】:

我会为您的所有发票创建一个数据库表。然后使用 webhook 来接收事件通知并监视 invoice.created 事件。将发票详细信息存储在您的数据库表中,您可以在内部使用自动递增的主键作为您的发票 ID,该 ID 将按时间顺序排列。

干杯, 拉里

PS 我在 Stripe 从事支持工作。

【讨论】:

  • 好吧邪恶的,有没有办法我可以发送测试 webhook 很多次。这是我做过的最大的 PHP 项目,几乎每次代码更改后我都必须进行测试,以保持自己的进度。
  • 不是以任何自动化方式。您可以使用仪表板发送一次性测试。或者,如果需要,您可以为自己创建复制 webhook 的代码。或者你可以通过将一组 webhook 数据存储在一个字符串中并让 webhook 脚本像从 Stripe 接收到一样来伪造它。
【解决方案2】:

有发票,有交易。这两个不应该混在一起。

您应该将发票存储在您的应用程序(HDD、数据库等)中,并在付款时从条带中为每个发票分配一个 transaction_id。

这样做的原因: - 它更具可扩展性。也许有一天您的客户希望/不得不用支票或电汇付款 - 也许您将来必须更改支付处理器 - 也许一位客户必须在一笔交易中支付两张发票 等等……

【讨论】:

  • 感谢阿德里安回复我。你能解释一下这笔交易实际上代表什么吗?我可以在文档中找到很多。 为其他人提供更多详细信息我目前正在为客户从条带中检索发票对象,并以更传统的发票布局向客户显示它们,他们可以打印并用于簿记和会计需求,就像任何正常的企业对企业交换一样。但是,在英国进行簿记时,我们需要对我们开出的每张发票进行编号,我想知道人们对如何自动化和规范这一点有什么建议。
  • 交易为实际支付。在我看来,您应该制作自己的发票系统,而不是依赖 Stripe。
猜你喜欢
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 2021-05-06
  • 1970-01-01
  • 1970-01-01
  • 2021-06-16
  • 1970-01-01
  • 2022-01-23
相关资源
最近更新 更多