У меня есть веб-сайт на основе подписки, который взаимодействует со сторонней системой для обработки платежей. Шаги для обработки регистрации нового подписчика следующие:
- Подписчик вводит свои данные в форму подписки и нажимает кнопку «Отправить».
- Предполагая, что указанные сведения действительны, в базе данных создается новая запись для хранения этих сведений.
- Затем подписчик перенаправляется на веб-сайт сторонней системы (похожей на PayPal) для обработки платежа.
- После успешной оплаты сторонний веб-сайт перенаправляет подписчика обратно на наш веб-сайт.
- На данный момент я знаю, что платеж прошел успешно, поэтому запись в базе данных обновляется, чтобы указать, что платеж был произведен успешно.
Проблема, которую я обнаружил довольно часто, заключается в том, что если подписчик платит, но не завершает процесс правильно (например, использует задний браузер, закрывает окно), его / ее запись в базе данных не обновляется об этом. Соответственно, я не знаю, заплатил ли он / она, просто просмотрев запись, и мне нужно дождаться отчета от сторонней системы, чтобы узнать это.
Как решить эту проблему?
PS. Одна из основных причин сохранения их данных в базе данных до завершения процесса оплаты заключается в том, что они могут вернуться, чтобы завершить платеж без повторного ввода своих данных. Например, когда их кредитные карты были отклонены сторонней системой, и им необходимо разобраться с этим со своим финансовым учреждением, что может занять некоторое время.