سؤال

أحتاج إلى الحصول على معرف الطلب بعد اكتمال الدفع بنجاح.هل هناك مراقب للقيام بذلك?

هل كانت مفيدة؟

المحلول

يمكنك استخدام ال sales_order_payment_pay حدث للحصول على معرف الطلب بعد اكتمال الدفع بنجاح.

الكود أدناه في إلخ/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>

و النموذج/المراقب.php

public function getOrder($observer) {
    $orderId = $observer->getPayment()->getOrder()->getId();
    $orderNumber = $observer->getPayment()->getOrder()->getIncrementId();
}

فقط للتوضيح؛يتم استخدام معرف الطلب داخليًا في قاعدة البيانات.رقم الطلب هو ما يتم عرضه على الشاشة ويبدو #100000153

نصائح أخرى

نعم هناك عدد قليل من الأحداث المتعلقة بالدفع.

أود أن أقترح استخدام هذا واحد: sales_order_payment_pay.

أحداث كاملة

أعتقد أنك تعرف بالفعل كيفية استخدام المراقب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top