如何获取全部Stripe PaymentMethods?并解决日期筛选参数失效问题?
问题解答:Stripe 获取全部支付方式及日期筛选
1. 获取账户下所有PaymentMethods(含关联客户的)
你调用$stripe->paymentMethods->all(['type' => 'card'])返回空,是因为这个接口默认仅返回未关联任何客户的支付方式,而你的支付方式大多已关联到客户。要获取账户下所有支付方式,需使用Stripe的Search API:
$stripe->paymentMethods->search([ 'query' => 'type:"card"', ]);
该调用会返回账户内所有类型为card的支付方式,无论是否关联客户。
2. 按日期筛选最近X天新增的支付方式
created参数在paymentMethods->all()接口中不生效,但Search API支持通过查询语法实现日期筛选。先计算目标时间戳,再构造查询条件:
比如获取最近7天的支付方式:
// 计算7天前的时间戳 $sevenDaysAgo = time() - 7 * 24 * 3600; $stripe->paymentMethods->search([ 'query' => 'type:"card" AND created>=' . $sevenDaysAgo, ]);
将7替换为你需要的天数即可。
内容的提问来源于stack exchange,提问作者designosis
相关产品推荐
相关产品推荐

