8

我最近将支付处理切换到了 Stripe。我现在需要为我们的财务部门创建一个报告,显示指定日期范围内的交易汇总。我已经开始创建一个简单的 PHP 网页(并使用 Stripe PHP 库),它将提供以下摘要:

  • 交易计数
  • 交易金额
  • 退款次数
  • 退款金额
  • 费用

为了我的报告目的,我在弄清楚如何使用 Stripe 正确查询费用时遇到了一些麻烦。

我知道我可以通过以下方式取回费用:

$charges = Stripe_Charge::all();

从返回的一组费用中,我可以计算出报告中我需要的汇总信息。但是,这最多只能退回 100 笔费用,而且我不知道如何退回指定日期范围内的费用。

我希望更有经验的 Stripe 开发人员可以为我指出构建所需报告的正确方法。

如何退回指定日期范围内的所有费用?

有没有更好的方法从 Stripe 获取这些摘要信息?

4

5 回答 5

3

您可以使用webhookcharge.succeeded在发生事件或事件时收到通知charge.refunded,并将相关信息存储在您控制的数据库中。这将使您能够灵活地进行所需的报告。您可以从 Stripe 仪表板以 CSV 格式下载已经发生的费用。

于 2012-11-05T06:59:55.153 回答
1

您可以使用 count 和 offset 参数(记录在https://stripe.com/docs/api?lang=php#list_charges)对费用进行分页。我建议使用它们一次处理 100 笔费用。然后,一旦您收到超出日期范围的费用,您就可以停止重复收取费用。

于 2012-11-03T22:02:14.087 回答
0

我收到了 Stripe 员工的确认,只有两个选项实际上是 @dwhalen 和 @Saikat Chakrabarti 的答案中描述的选项。

引用 Stripe 员工对我在 Stripe 上提出的相同问题的引用:

除了您描述的选项(检索所有费用,或在费用进入时在您的数据库中跟踪)之外,没有任何替代方法可以生成您想要的统计信息。

于 2012-11-12T18:58:23.407 回答
0

意识到这是旧式的,但是.. 现在可以了,一个 php 示例:

$charges=Stripe_Charge::all(array("created" => array("gt" => $unix_time),"limit" => 100));
于 2014-12-11T15:37:56.847 回答
-1

您可以使用偏移量

$return = Stripe_Charge::all(array("count" => 100, 'offset' => 0)); // set count
$return = Stripe_Charge::all(array("count" => 100, 'offset' => 100));   // set count
$return = Stripe_Charge::all(array("count" => 100, 'offset' => 200));   // set count
于 2013-03-26T08:40:18.900 回答