我最近将付款处理转换为Stripe。我现在需要为财务部门创建一个报告,显示指定日期范围内的事务汇总。我已经开始创建一个简单的PHP网页(并使用Stripe PHP库),它将提供以下摘要:
我在查找如何使用Stripe正确查询费用方面遇到了一些问题。
我知道我可以通过以下方式取回费用:
$charges = Stripe_Charge::all();
从返回的一组收费中,我可以计算报告中所需的摘要信息。但是,这只会给我带来最多100笔费用,而且我不知道如何在指定的日期范围内退还费用。
我希望更有经验的Stripe开发人员能够指出构建我需要的报告的正确方法。
如何在指定日期范围内退回所有费用?
是否有更好的方法从Stripe获取此摘要信息?
答案 0 :(得分:3)
您可以使用webhooks在charge.succeeded
或charge.refunded
事件发生时收到通知,并将相关信息存储在您控制的数据库中。这将使您可以灵活地进行所需的报告。您可以从条带信息中心下载已作为CSV发生的费用。
答案 1 :(得分:1)
您可以使用计数和偏移参数(在https://stripe.com/docs/api?lang=php#list_charges处记录)对费用进行分页。我建议一次使用这些来处理100个费用。然后,一旦超出日期范围,您就可以停止迭代收费。
答案 2 :(得分:0)
我收到Stripe员工的确认,其中只有两个选项实际上是@dwhalen和@Saikat Chakrabarti答案中描述的选项。
从Stripe员工引用same question I asked on Stripe:
除了您描述的选项(检索所有费用,或 随着收费进入你的数据库中跟踪)没有任何 产生你想要的统计数据的另一种方式。
答案 3 :(得分:0)
意识到这是旧的,但是......现在这是可能的,一个php例子:
$charges=Stripe_Charge::all(array("created" => array("gt" => $unix_time),"limit" => 100));
答案 4 :(得分:-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