Как оптимизировать цикл FOR (PHP)

Хочу оптимизировать цикл, который выполняет функцию списание средств с карты клиента для этого нужно выполнить два запроса. На данный момент все работает, но боюсь что код сломается когда клиентов станет больше. В php я полный нуль, пожалуйста подскажите как я мог бы оптимизировать данный цикл, чтобы избежать нагрузки на сервер. На данный момент возникают идеи с интервалами, но не знаю как их можно реализовать.

В count($set) лежат данные которые я получил из БД: id и RebillId.

for($i = 0, $size = count($set); $i < $size; ++$i) {
    
    $id = $set[$i]['id'];
    $RebillId = $set[$i]['RebillId'];
    $TerminalKey = "1652780585356";
    $Password = "dbcjaacyvnr5";
    $OrderId = $id. $time;
    $Description = "Основная оплата подписки";
    $Amount = "100000";
    
      $array = array(
    'TerminalKey' => $TerminalKey,
    'pass' => $pass,
    'Amount' => $Amount,
    'OrderId' => $OrderId,
    'Description' => $Description
    );

$array = json_encode($array, JSON_UNESCAPED_UNICODE);

$ch = curl_init('https://securepay.tinkoff.ru/v2/Init');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','charset=UTF-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $array);
$res = curl_exec($ch);
curl_close($ch);

$res = json_decode($res, true);
print_r($res);

$PaymentId = $res["PaymentId"];
$PaymentURL = $res["PaymentURL"];


$token = array(
    'Password' => "$Password",
    'PaymentId' => "$PaymentId",
    'RebillId' => "$RebillId",
    'TerminalKey' => "$TerminalKey"
    );

$token = $token["Password"]. $token["PaymentId"]. $token["RebillId"]. $token["TerminalKey"];    
$token = hash('sha256', $token);
$token = mb_strtolower($token);


$data = array(
    'TerminalKey' => $TerminalKey,
    'PaymentId' => $PaymentId,
    'RebillId' => $RebillId,
    'Token' => $token
    );
    
    $data = json_encode($data, JSON_UNESCAPED_UNICODE);

$ch = curl_init('https://securepay.tinkoff.ru/v2/Charge');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','charset=UTF-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$res = curl_exec($ch);
curl_close($ch);

$res = json_decode($res, true);
print_r($res);

}


Ответы (0 шт):