Я настраиваю простую транзакцию «купить сейчас» с веб-сайта со следующими основными шагами:
- Выбрать товар из прайс-листа
- Просмотрите выбор (суммы, налог и т. д.)
- Обработка платежа на Paypal
- Получение / Спасибо
На данный момент я храню запись в базе данных на шаге 2, что потенциально означает, что будет ряд записей, в которых платеж не будет получен, поскольку люди в конце концов решат не продолжать свою покупку. Эти записи бесполезны, так как я буду использовать Google Analytics, чтобы отслеживать, насколько успешен процесс оформления заказа.
Я использую Paypal IPN для проверки подлинности платежей и регистрации их в соответствии с записями, вставленными на шаге 2, однако могу ли я полагаться исключительно на данные транзакций IPN для заполнения базы данных в первую очередь, тем самым удаляя нужно сохранить их на шаге 2 и выполнить очистку базы данных, чтобы удалить незавершенные транзакции?
Я лично не вижу причин, по которым я бы этого не сделал - IPN содержит все необходимые мне данные о платеже и, возможно, больше, кроме того, и Paypal будет повторно отправлять IPN в течение нескольких дней, если они не проходят с первого раза из-за сбоя сервера, но я пропустил что-нибудь еще важное?
Очевидно, что соображение номер один заключается в том, чтобы никакие транзакции не терялись и не регистрировались, чтобы не вызвать недовольство клиентов!