Stripe payments Omnipay条带添加列表计划限制参数

Stripe payments Omnipay条带添加列表计划限制参数,stripe-payments,omnipay,Stripe Payments,Omnipay,默认情况下,条带“列出所有计划”api调用最多只返回10个计划;有一个可选的限制参数,我希望将其设置为值100以提高默认限制- 我使用的是Omnipay Stripe,我可以返回10份计划,代码如下: $response = $this->gateway->listPlans($params)->send(); if ($response->isSuccessful()) { $data = $response->getData(); return

默认情况下,条带“列出所有计划”api调用最多只返回10个计划;有一个可选的限制参数,我希望将其设置为值100以提高默认限制-

我使用的是Omnipay Stripe,我可以返回10份计划,代码如下:

$response = $this->gateway->listPlans($params)->send();
if ($response->isSuccessful()) {
    $data = $response->getData();
    return $data['data'];
}
下面,我尝试使用以下代码将limit参数设置为100:

$request = $this->gateway->listPlans();
$data = $request->getData();
$data['limit'] = 100;    
$response = $request->sendData($data);
if ($response->isSuccessful()) {
    $data = $response->getData();
    return $data['data'];
}
但这仍然不会返回超过10个计划。我已经成功地进行了测试,以证明极限参数确实有效,但omnipay stripe还没有成功。有什么想法吗

我已尝试将以下函数添加到omnipay\stripe\src\Message\ListPlansRequest.php

并将我的代码更改为:

$request = $this->gateway->listPlans();
$request->setLimit('100');
$data = $request->getData();
$response = $request->sendData($data);

但是仍然只返回了10个计划,并且限制参数没有记录在条带请求获取日志中。条带列表计划函数是一个获取请求,因此限制参数需要位于查询字符串中,如

我希望Omnipay网关逻辑知道ListPlansRequest HttpMethod是“GET”,能够将任何参数集添加到CURLOPT_URL中的查询字符串中。因此,我在项目中尝试了以下代码:

$request = $this->gateway->listPlans(array('limit' => 100))->send();
$request = $this->gateway->listPlans(array('limit' => 100))->send();

但两者都没有应用极限参数

因此,我向ListPlansRequest添加了以下类方法:

public function getLimit()
{
    return $this->getParameter('limit');
}

public function setLimit($limit)
{
    return $this->setParameter('limit', $limit);
}
和扩展方法获取端点:

public function getEndpoint()
{
    $query = '';

    $limit = (int)$this->getLimit();

    if($limit > 0) $query = '?' . http_build_query(array('limit' => $limit));

    return $this->endpoint.'/plans' . $query;
}
我的项目中的以下代码现在返回所有21个订阅计划:

public function getEndpoint()
{
    $query = '';

    $limit = (int)$this->getLimit();

    if($limit > 0) $query = '?' . http_build_query(array('limit' => $limit));

    return $this->endpoint.'/plans' . $query;
}
$request = $this->gateway->listPlans(array('limit' => 100))->send();