как получить и сохранить транзакции баланса за последние два месяца из полосы Api - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь получить списки транзакций за последние 2 месяца, которые содержат более 2000 записей из API полосы.

Я использовал следующий код, который получает только 3-дневные записи.

    $balance = $this->stripelib->getBalanceTransaction()->all(
        array(
                'limit'   => 100,
                'created' => array(
                    'gte' => strtotime('-2 month'), 
                    'lte' => strtotime('1 day') 
                )
            )
        );


    foreach ($balance->data as $bl){}
    $this->addStripeRecord($balance->data);

    while ($balance->has_more){

        $balance = $this->stripelib->getBalanceTransaction()->all(
        array(
            "limit" => 100,
            "created" => array(
                "gte" => strtotime('-2 month'),
                'lte' => strtotime('1 day')
                ), 
            "starting_after" => $bl->id)
        );

        foreach ($balance->data as $bl){}

, пожалуйста, помогите мне решить эту проблему

1 Ответ

1 голос
/ 18 июня 2019

Я бы рекомендовал использовать официальную PHP-библиотеку Stripe и ее поддержку автоматической разбивки на страницы.[0]

$transactions = \Stripe\BalanceTransaction::all([
  "created" => [
    "gte" => strtotime('-2 month'),
    "lte" => strtotime('1 day')
  ]
]);
foreach ($transactions->autoPagingIterator() as $transaction) {
  // Do something with $transaction
  print_r($transaction->id . " : " . date("Y-m-d\TH:i:s\Z", $transaction->created) . "\n");
}

https://stripe.com/docs/api/pagination/auto?lang=php

...