Опустить PHP получить все расходы

Omise PHP получает все расходы ref: https://www.omise.co/charges-api

$charges = OmiseCharge::retrieve();

этот код дает мне 20 записей, что нормально.

$response = OmiseCharge::retrieve('',OMISE_PUBLIC_KEY,OMISE_SECRET_KEY);

это также дает мне первые 20 записей.

но мое требование - получить все обвинения с указанием даты.

$param = array(

            'from' => '2014-10-20 00:00:00',
            'to' => '2014-09-25 00:00:00'
        );
    $response = OmiseCharge::retrieve($param);

это дает ошибку.

Fatal error: Uncaught exception 'OmiseNotFoundException' with message 'charge Array was not found' 

что я делаю не так

3 ответа

Решение
$param = array(
            'from' => '2011-10-20 00:00:00',
            'to' => '2016-09-25 00:00:00'
        );
        $response = OmiseCharge::retrieve('?'.http_build_query($param));

работал на меня.

В настоящее время библиотека Omise-PHP не поддерживает передачу массива по первому параметру.

(Как ваше решение) вы должны передать его в виде строки (включая другие фильтры, такие как "предел", "смещение").

$param = array(
    'limit'  => 40,
    'offset' => 40,
    'from'   => '2011-10-20 00:00:00',
    'to'     => '2016-09-25 00:00:00'
);

$charges = OmiseCharge::retrieve('?'.http_build_query($param));

Я не знаю эту библиотеку, но после быстрого поиска несколько советов: прежде всего (если вы этого еще не сделали) прочитайте этот документ о нумерации страниц.

  1. Я обнаружил, что дата имеет другой формат: iso8601, что означает для экс 2014-10-20T00:00:00Z,
  2. ограничить до 20 записей, вы можете изменить до 100, попробуйте использовать нумерацию страниц

КСТАТИ. Интересный API.

Другие вопросы по тегам