Есть ли какая-либо функциональность в расширении платежных средств, чтобы остановить создание заказа до того, как возвращается статус успеха с платежного шлюза?Magento Payment Redirect Order
Расширение предназначено в качестве платежного редиректа (с getOrderPlaceRedirectUrl), но на самом деле в правильном действии контроллера, я размещаю от действия с Params, к шлюзу и вернуть успех, если все в порядке, и вернуть неудачу, если не ,
Но заказ уже создан, поэтому я должен отменить этот заказ, но он не должен создавать этот заказ в первую очередь.
Может быть, если я могу создать его как шлюз, я могу использовать какой-либо способ оплаты для этого?
Я думал о Validate или prepareSave методов, но оба они называются дважды - принять способ оплаты и на заказ места.
Также я думал о событиях - может быть, я могу использовать какое-то событие для выполнения этого действия post, а при отказе - просто исключение исключения?
Но я действительно думаю, что в способах оплаты должна быть какая-то стандартная функциональность, которую я могу использовать.
как насчет расширения метода _validate() на Mage_Sales_Model_Service_Quote, и выдаст ошибку там, так что никогда не попадает в "$ transaction-> save();" немного. – ShaunOReilly
Может быть, это хорошая идея. Попробуем это, если другие решения не будут представлены. – Kudja
Я думаю, что я воспользуюсь этим решением, потому что: 1. Я могу проверить qote перед отправкой моего запроса, поэтому я буду знать, что если служба также даст заказ на успех, будет создано тоже. 2. Мне не нужно создавать какие-либо контроллеры и делать какие-либо переадресации. Thanx – Kudja