Удержание процесса в ожидании ответа с другой страницы - PullRequest
1 голос
/ 07 ноября 2011

Я пытаюсь добавить способ оплаты на работающий веб-сайт, использующий плагин аукциона WordPress. Вывод должен заключаться в том, что за каждую сделанную ставку пользователь ДОЛЖЕН платить определенную плату.

Вопрос: как создать функцию, которая:

  1. получает информацию
  2. отправить пользователя на страницу внешнего платежа
  3. получить ответ со страницы оплаты (может занять некоторое время, потому что пользователи вводят информацию вручную.
  4. сохранить информацию в базе данных.

2-й и 3-й этапы являются для меня проблемой.

1 Ответ

2 голосов
/ 07 ноября 2011

Вы не можете сделать это, потому что выполнение скрипта PHP обычно выполняется только во время одного запроса.Невозможно переслать пользователя, приостановить выполнение сценария и затем продолжить работу с тем же сценарием.

Решение обычно включает в себя:

  • Сохранение состояния перед пересылкой (обычно ссеанс)
  • Переадресация на страницу внешнего платежа
  • Теперь страница платежа должна перейти на другую вашу страницу, где вы можете продолжить обработку запроса.Как правило, внешняя страница оплаты может быть параметризована с помощью вашего URL обратного вызова, и пересылка на ваш сайт будет содержать информацию, которая позволит вам сделать дополнительный запрос к сайту оплаты для получения результата платежа (неудачный / успешный).
  • Ваша страница обратного вызова извлекает сохраненное состояние, результат платежа и делает все остальное.
...