Получить идентификатор заказа после завершения покупки
-
13-12-2019 - |
Вопрос
Мне нужно получить идентификатор порядка после оплаты успешно завершен.Есть ли наблюдатель, чтобы сделать это?
Решение
Вы можете использовать событие sales_order_payment_pay
, чтобы получить идентификатор заказа после успешной завершенности оплаты.
Ниже приведен код в etc / config.xml
<?xml version="1.0"?>
<config>
<global>
<events>
<sales_order_payment_pay>
<observers>
<Namespace_Module>
<type>singleton</type>
<class>Namespace_Module/Observer</class>
<method>getOrder</method>
</Namespace_Module>
</observers>
</sales_order_payment_pay>
</events>
</global>
</config>
.
и модель / Observer.php
public function getOrder($observer) {
$orderId = $observer->getPayment()->getOrder()->getId();
$orderNumber = $observer->getPayment()->getOrder()->getIncrementId();
}
.
просто чтобы уточнить;Идентификатор заказа используется внутри базы данных.Номер заказа - это то, что отображается на экране и выглядит как #100000153
Другие советы
Да, есть несколько событий, связанных с оплатой.
Я бы предложил использовать этот: sales_order_payment_pay
.
Я верю, что вы уже знаете, как использовать наблюдателя.
Не связан с magento.stackexchange