Я создал пользовательский модуль оплаты и в настоящее время он вызывает validateOrder()
после перенаправления с веб-сайта платежа, и этот метод создает заказ, отправляет электронную почту и т.д. Но проблема в том, что пользователь закрыл веб-сайт платежа, прежде чем он сможет перенаправить обратно на сайт PrestaShop заказ не будет создан в этом случае. Итак, я хочу создать заказ (скажем, с статусом "pending"
), прежде чем перенаправить на сайт оплаты и после перенаправления с веб-сайта платежа я могу просто отметить тот же платеж, что и сделанный, и отправить письма и т.д.
В настоящее время для этого я пытался дважды вызвать validateOrder
, один раз в hookdisplayPayment
(здесь я установил статус как "pending"
) и один раз после перенаправления. Но теперь, после перенаправления, я получаю: "Тележка не может быть загружена или заказ уже размещен с помощью этой тележки". Я думаю, что потому, что я не могу обновить один и тот же порядок дважды, используя тот же идентификатор карты.
Обратите внимание, что я хочу отправить электронные письма только один раз, как только платеж будет успешным. В настоящее время для этого я использую пользовательский статус оплаты с 'send_email'
, установленным в 0.
Какое хорошее обходное решение для этого?
Я бы хотел поддерживать версии 1.5+ и 1.6+, если это имеет значение.