@nevesomostjke

Передача массива в API CloudPayments, как реализовать?

Здравствуйте. Использую CloudPayments как платежную систему. Продаю подписки на платный telegram канал.
Сейчас моя задача - найти подписки передав массив с данными которые содержат telegram user id.
Вот метод - https://developers.cloudpayments.ru/#poisk-podpisok
Вот код:
function followers () {
        $followers = DB::table('followers')->where('active', 1)->get();

        $url = 'https://api.cloudpayments.ru/subscriptions/find';

        // Search follow api.cloudpayments.ru
        foreach ($followers as $follower) {
            $headers = array(         
                'Content-Type:application/json'
            );     
            $post = array( 
                'accountId' => '572275691'
            );     
            $curl = curl_init();
    
            curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl, CURLOPT_VERBOSE, 1); 
            curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
            curl_setopt($curl, CURLOPT_USERPWD, "KEY");
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($post));
            curl_setopt($curl, CURLOPT_URL, $url);
    
            $result = curl_exec($curl);
    
            echo '<pre>';
            print_r(json_decode($result, true));
        }
    }


Вопрос. Я не хочу делать 100500 запросов через цикл. Я детально изучил их API, и не понимаю как передать просто массив с айдишниками и в ответ получить массив с данными о подписках. Может я не правильно делаю $post? Я делал так:
$post = array( 
                array('accountId' => '572275691'),
                array('accountId' => '572275692'),
            );

В ответ получаю что подписка не найдена.
Вдобавок ко всему у них написано в API:
API ограничивает максимальное количество одновременных запросов для тестовых терминалов до 5, для боевых до 30. Если количество обрабатываемых в данный момент запросов к сайту больше ограничения - API будет возвращать ответ с HTTP кодом 429

Помогите решить.
  • Вопрос задан
  • 208 просмотров
Решения вопроса 1
@nevesomostjke Автор вопроса
Решил вот так, через уведомления
https://developers.cloudpayments.ru/#recurrent
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы