Проблема с выполнением некоторых данных PHP через 1,5 секунды - PullRequest
0 голосов
/ 22 октября 2018

У меня есть некоторый код PHP, посредством которого я публикую данные в API и получаю некоторые данные ответа.Когда пользователь платит, статус ответа от API должен измениться.Я пытаюсь отложить выполнение кода PHP и подождать 15 секунд, прежде чем получить статус платежа от API, который не работает должным образом. Я понятия не имею, как это сделать в PHP или, скорее, в Laravel Queues, поскольку я использую Laravel 5.4.

~ Пожалуйста, помогите?

 $data = array(
            'payment_reference' => $checkID,
            'payment_type' => $type
        );

        //Post request to an API and get the status and store in a variable
        $paySt = $this->global_Curl($data, 'api/payment/status')->data;

        sleep(15);

        //Second call to the API after sleep to check if status has changed
       $payStat = $this->global_Curl($data, 'api/payment/status')->data;

        if($payStat->status === '1'){
             return 'true';   
        }

1 Ответ

0 голосов
/ 22 октября 2018

sleep() функция используется для отсрочки текущего выполнения

проверьте ссылку

https://www.w3schools.com/php/showphp.asp?filename=demo_func_misc_sleep

В вашем случае вам необходимо снова вызвать API оплатыпосле задержки 4-5 секунд

Например:

#Payment process hit code

#sleep(4); //delay/wait for 4 second

#Again run code to check the payment status.
...