У меня есть страница, на которой клиент может делать несколько платежей. Каждый платеж производится через https во внешний источник, который в конце отправляет ответ HTTP POST. Ответ отправляется после того, как пользователь завершил процесс оплаты.
Я искал всюду, и я нашел много методов, которые решают проблему с curl, php://input, но я не могу понять, как сделать несколько проверок. С завитом я пробовал этот подход:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
Это не сработало; Я не использовал
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
поскольку почтовые поля отправляются на сервер изначально через скрытую форму, которая автоматически отправляется через JQuery.
Я хотел бы знать, как можно сделать несколько проверок, чтобы узнать, завершил ли пользователь процесс оплаты.
Если вы делаете несколько звонков одновременно, я бы предложил настроить какой-то тип очереди. Например, когда вы отправляете форму, она фактически отправляет информацию в скрипт, который ставит в очередь обрабатываемые платежи. Затем вы можете опросить очередь с помощью AJAX и показать индикатор выполнения или другой эффект пользовательского интерфейса во время обработки очереди. Как только он завершится, и очередь пуста, страница отражает, что все платежи успешны, а также отображают любые сообщения об ошибках.
Наличие системы очередей также решает проблему состояния, которое не сохраняется между запросами, и будет продолжать обрабатываться, даже если пользователь закрыл браузер до его завершения.
for