PayPal: сценарии IPN и PDT работают вместе и одновременно
Я работаю над интеграцией PaylPal в качестве платежного модуля в моем интернет-магазине. Я использую PHP и Mysql. После оплаты через PayPal клиент перенаправляется в мой интернет-магазин. В то время мои сценарии IPN en DPT называются одновременно. Я делаю это потому, что иногда IPN имеет (крошечную) задержку. Я не хочу, чтобы мой клиент ждал IPN, поэтому сценарий PDT позаботится об обработке заказа и сделает вставку в базу данных. Конечно, перед вставкой скрипт PDT проверяет порядок с обратной передачей.
Когда два сценария вызываются одновременно, существует опасность, что заказ будет обработан дважды. Мы этого не хотим. Поэтому я сделал столбец для поля txn_id уникальным столбцом. Если запрос не выполняется для IPN, DPT уже сделал вставку в базу данных и наоборот. Таким образом, мне не нужно блокировать какие-либо таблицы.
Правильно ли я это делаю?
1 ответ
Я не профессионал, и пробую эти вещи сам в данный момент. Но из того, что я прочитал до сих пор, я думаю, что это хороший способ сделать это.
Возможно, вы захотите, чтобы данные IPN и PDT немного дополняли друг друга. Потому что хотя PDT выполняется первым, я думаю, что вы можете получить больше данных через IPN. Как сделать это лучше всего, я не совсем уверен, однако. И это, конечно, также зависит от того, что именно вы хотите от данных и для чего вам нужно их использовать.