2012-11-01 85 views
8

我最近将付款处理切换到了条纹。我现在需要为我们的财务部门创建一份报告,显示指定日期范围内的交易汇总。我开始创建一个简单的PHP网页(和使用PHP条纹库),这将使下面的摘要:创建条纹摘要报告

  • 交易数
  • 交易金额
  • 退款计数
  • 退款金额

我遇到了一些麻烦音响确定如何正确查询费用与条纹为我的报告目的。

我知道我可以检索费:

$charges = Stripe_Charge::all(); 

而且从返回​​集的费用,我可以计算,我需要在报告的摘要信息。但是,这只会给我最多100个费用,我不知道如何在指定的日期范围内退还费用。

我希望更有经验的条纹开发人员可以指出我建立我需要的报告的正确方法。

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

有没有更好的方式来从Stripe获取此摘要信息?

回答

0

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

从条纹员工引用到same question I asked on Stripe

除了您所描述的选项(检索所有费用,或 数据库中的跟踪,费用进来)没有任何 替代方法产生你想要的统计数据。

1

您可以使用计数和偏移量参数(记录在https://stripe.com/docs/api?lang=php#list_charges)来分摊费用。我建议一次使用这些来处理100个费用。然后,一旦收到超出日期范围的费用,您就可以停止重复收取费用。

+1

我已经考虑过这个解决方案,但它可以是非常低效率。假设我正在寻找6个月前发生的两天费用。在向我发送正确的费用之前,向Stripe的服务器发出数千个请求并不是不可能的。我很欣赏这个想法,但这并不足以有效处理我的情况。 –

+0

@StephenWatkins你可以使用创建的参数与GT/LT记录在这里下创建的子参数 - https://stripe.com/docs/api?lang=php#list_charges – bryceadams

3

当发生charge.succeededcharge.refunded事件时,可以使用webhooks通知您,并将相关信息存储在您控制的数据库中。这会让您灵活地完成您需要的报告。您可以从Stripe仪表板下载已经以CSV格式发送的费用。

+0

是的,这是一个选项。我希望能够不必在自己的服务器/数据库上管理这些数据。 –

-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 
0

意识到这是老十岁上下,但..这是现在可能的,一个PHP的例子:

$charges=Stripe_Charge::all(array("created" => array("gt" => $unix_time),"limit" => 100)); 
+0

你碰巧知道那个Python的等价物吗? – MeLight