如何根据日期范围在 Stripe 中获取费用(交易)详细信息

Posted

技术标签:

【中文标题】如何根据日期范围在 Stripe 中获取费用(交易)详细信息【英文标题】:How to get charges(transactions) details in Stripe based on date range 【发布时间】:2013-02-02 14:04:14 【问题描述】:

我想根据我指定的日期范围获取费用(交易)列表,即我指定的开始日期和结束日期之间的所有交易。

但在 CHARGES API 中,我看不到任何开始日期或结束日期参数。

我怎样才能得到这个?

【问题讨论】:

类似的讨论在这里:***.com/questions/13182874/… 【参考方案1】:

通过在线聊天与Stripe工作人员聊天,发现有一种方法可以根据日期范围获取费用列表。

Stripe Charges API 实际上有一些参数尚未在其文档中列出。

可以使用带有 Unix 时间戳created[lte]created[gte] 等参数,就像事件 API 调用一样。

例如:https://api.stripe.com/v1/charges?created[gte]=1362171974&created[lte]=1362517574

【讨论】:

现在记录在案,但没有示例。如果您在 php 中执行请求,则数组结构可能看起来像 $charges = \Stripe\Charges::all(array("created" => array("gte" => strtotime("-1 month")))) ; 问题是极限,默认情况下您只能获得 10 个,如果您定义 limit,则最多获得 100 个一个月..【参考方案2】:

试试这个。它对我有用

$pcharges = Charge::all(
            array(
                'limit'   => 100,
                'created' => array(
                    'gte' => strtotime('-15 day'),
                    'lte' => strtotime('-1 day')
                )
            )
        );

这将返回过去 15 天的数据,不包括今天的交易。您可以根据需要设置自定义日期范围。

【讨论】:

【参考方案3】:

这是一个基于 Ruby 的 hack

Stripe.api_key = ENV['STRIPE_SECRET']

stripe_charges = []
first_charge = Stripe::Charge.all(limit: 1).data[0].id
charge_index = first_charge
*a lot of*.times do 
  new_charges = Stripe::Charge.all(limit: 100, starting_after: charge_index).data
  stripe_charges << new_charges
  charge_index = new_charges.last.id
  stripe_charges.flatten!
end

【讨论】:

【参考方案4】:

今天正在查看它,这是我发现的https://stripe.com/docs/api/curl#list_charges

curl https://api.stripe.com/v1/charges?limit=3 \ -u sk_test_BQokikJOvBiI2HlWgH4olfQ2:

这是条纹卷曲示例,他们的网站上有更多示例。

-詹姆斯·哈灵顿

【讨论】:

【参考方案5】:

获取特定日期数据的代码是这样的

$mydata= \Stripe\Charge::all(array('limit'=>50,'starting_after'=>null ,"created" => array("gt" => strtotime("2020-02-17"),"lt" => strtotime("2020-02-19"))));

print_r($mydata);

它将为您提供2020-02-18 的数据,限制为50,如果您想要更多记录,请在starting_after 参数中添加最后一次充电ID

【讨论】:

欢迎堆栈溢出。请为您的代码使用代码符号【参考方案6】:

如果有人使用 Ruby on Rails 并正在寻找一种解决方案来列出在 Unix 时间戳之后创建的所有退款,使用 created.gte 语法,这是我从 Stripe Support 获得的一个工作示例。

Stripe::Refund.list(limit: 100, created: gte: 1614045880)

您可以更改该 Unix 时间戳以适应您的情况。

资源:Stripe API Reference, List all refunds 和 Stripe Support

【讨论】:

以上是关于如何根据日期范围在 Stripe 中获取费用(交易)详细信息的主要内容,如果未能解决你的问题,请参考以下文章

Stripe Connect:在Stripe Connect中,谁将支付Stripe费用,如何确定?

获取与 Stripe 结帐会话关联的费用 ID

是否可以使用 Stripe API 查询日期时间范围?

如何通过 Stripe.com 向客户收取特定卡的费用

向其他 Stripe 商家收费

$0/条中的免费交易