Проверка Magento2 возвращается в корзину вместо размещения заказа

#magento2

Вопрос:

Я хочу добавить функцию «payonbill» для своего магазина, поэтому я использую checkmo для этого способ оплаты. Я добавил новый модуль с этой конфигурацией:

 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
    <default>
        <payment>
            <checkmo>
                <active>1</active>
                <model>MagentoOfflinePaymentsModelCheckmo</model>
                <order_status>processing</order_status>
                <title>Check / Money order</title>
                <allowspecific>0</allowspecific>
                <group>offline</group>
                <payment_action>authorize_capture</payment_action>
            </checkmo>
        </payment>
    </default>
</config>
 

Таким образом, статус платежа будет перенесен в обработку, и платежное действие будет инициировано для авторизации. При этом я больше не могу даже разместить заказ в магазине для этого метода. Проблема на самом деле существует из-за payment_action. Когда я удаляю это, он снова работает.

Есть ли способ справиться с этим сценарием? Когда кто-то может оплатить счет, я также хотел бы запустить событие sales_order_invoice_pay и продолжить поток.

Лучший Pim

Ответ №1:

Я исправил проблему, фактически удалив материал, который я делал ранее, и внедрив этот модуль:

https://github.com/dominicwatts/autoinvoice

Фактическая проблема заключалась в том, что все работало нормально, но в итоге для офлайн-оплаты счет-фактура генерируется при его бронировании внутри администратора. При обходе статуса счет-фактура для вас не будет сгенерирована.