1

我在这里使用 GoCardless 文档来尝试列出客户的所有订阅。

正如您在下面看到的那样,我已按照说明进行操作,但是当我运行此脚本时根本没有显示任何内容 - 有人知道我可能做错了什么吗?

require 'vendor/autoload.php';    
$client = new \GoCardlessPro\Client(array(
  'access_token' => 'XXXXXx',
  'environment'  => \GoCardlessPro\Environment::LIVE
));

     $client->subscriptions()->list([
  "params" => ["customer" => "CU000R3B8512345"]
]);
4

2 回答 2

3

单独调用方法不会做任何事情。它将执行给定的方法,但它不会自行在浏览器屏幕上打印任何内容。

正如RiggsFolly所说(并记录在 GoCardless 的 API 文档中),调用$client->subscriptions()->list()返回一个光标分页的响应对象。所以你需要对这个结果做点什么。那是什么,我不知道,因为这是您的应用程序的业务逻辑,只有您知道。

<?php

use GoCardlessPro\Client;
use GoCardlessPro\Environment;

require '../vendor/autoload.php';

$client = new Client(array(
    'access_token' => 'your-access-token-here',
    'environment' => Environment::SANDBOX,
));

// Assign results to a $results variable
$results = $client->subscriptions()->list([
    'params' => ['customer' => 'CU000R3B8512345'],
]);

foreach ($results->records as $record) {
    // $record is a variable holding an individual subscription record
}
于 2020-03-09T16:03:22.230 回答
0

使用 Gocardless 进行分页:

function AllCustomers($client)
{
    $list = $client->customers()->list(['params'=>['limit'=>100]]);
    $after = $list->after;
    // DO THINGS
    print_r($customers);

    while ($after!="")
    {
        $customers = $list->records;
        // DO THINGS
        print_r($customers);
        
        // NEXT
        $list = $client->customers()->list(['params'=>['after'=>$after,'limit'=>100]]);
        $after = $list->after;
    }
}
于 2020-12-09T17:25:08.467 回答