条纹 - 定期付款中包含的附加发票项目

时间:2014-02-27 22:45:20

标签: stripe-payments webhooks

我在订阅时添加发票项目时出现问题,目前正在敲打我的头。

我在条纹上创建了一个发票项目,我希望发票项目包含在定期付款中

这是我的代码,它在第一张发票上添加了发票项目,但在下一张发票上没有。

$new_customer = Stripe_Customer::create(array(
    'card' => $card,
    'email' => $email,)
);
Stripe_InvoiceItem::create(array(
    'customer' => $new_customer['id'],
    'amount' => $additiona_charges,
    'currency' => 'gbp',
    'description' => 'Addtional Cities'
));
$new_customer->updateSubscription(array('plan' => $selected_plan, 'prorate' => true));

在我目前的设置上。我根据订阅时的客户选择收取额外的自定义费用,这样我需要在定期付款时添加额外费用。

它是这样的

计划

1 Cookie - 99GBP  / Per month
2 Cookies - 199GBP / Per month
3 Cookies - 300GBP / Per month

附加费用 - 发票项目

-With Candle - +20GBP // must be included on recurring payment.
-With Icecream - +26GBP // must be included on recurring payment.
-With Cheese - +28GBP // must be included on recurring payment.
-With Ketchup - +30 //  must be included on recurring payment.
-With Poison (for your X) -  +50 //  must be included on recurring payment.

我希望有人可以提供帮助。非常感谢

干杯 肯·

2 个答案:

答案 0 :(得分:16)

我有一个Stripe支持问题,因此会在必要时更新。

但是,我刚刚重新阅读metered billing

上的文档
  

帐户余额和发票项目只是一次性调整   到您客户的帐户,因此不会自动应用   每个月   如果您的服务使用计费结算或需要添加   税收或其他动态成本的自定义金额,那么您将需要   每月创建发票项目。

它继续......

  

要开始使用,只需使用webhooks即可   听取invoice.created事件。每当发票开放时   修改后,您的webhook端点可以创建一个发票项目   引用现有发票的ID。我们会自动拉这个   在向客户收费之前计入发票总额。

因此,我们似乎需要创建一个Web挂钩处理程序,以便每个月重新添加这些发票项目。

根据invoices

上的文件
  

创建发票后,系统会自动尝试付款。注意   付款虽然是自动的,但当时并不完全发生   发票创建。如果您已配置webhooks,则发票将   等到最后一次webhook成功发送后一小时(或   失败后最后一次webhook超时。)

这允许我们在尝试付款之前创建一个Web挂钩,以便修改发票。

我建议的 InvoiceCreatedWebhook 流程

  1. 倾听invoice.created事件的正文 - 全身looks like this
  2. 从您的数据库中检索您的客户。在此示例中,我们的条带客户ID为cus_00000000000000
  3. 假设您以某种方式记录了针对客户的其他项目,请创建发票项目,并通过设置发票属性将其应用于发票 - 在此示例中为id in_00000000000000

答案 1 :(得分:1)

如何将额外内容创建为附加计划并将客户订阅到这些计划呢? 所以他会订购1个饼干计划+冰淇淋计划作为例子。 您确定可以让同一个客户订阅多个计划。