Модули оплаты в prestashop работают по такому алгоритму.
При переходе на сайт приема платежей заказ создается временный, в таблице модуля оплаты, при возврате статуса заказа "оплата получена" в prestashop создается заказа, при не получении ответа или ошибки оплаты заказа сохраняется брошенная корзина и заказ не сохраняется. Поэтому скидку можно использовать только после получения оплаты. А если оплаты нет, то и заказа нет.