Как добавить комиссионный сбор за заказ в моем платежном модуле? Я предполагаю, что это должно быть сделано во время процесса проверки через мою модель метода оплаты. Возможно, я должен создать и добавить элемент / продукт в объект cart / quote / order?
Однако я не знаю, как это сделать. Пожалуйста помоги
Хотя возможно, это не для финт-сердца. Ниже приведено краткое описание шагов, чтобы добавить строку в общую область, которая затем добавит ваш гонорар к общей сумме.
В конфигурационном узле <global><sales><quote><total>
добавьте новую запись (см. app/code/core/Mage/Sales/etc/config.xml
для получения дополнительных примеров)
<paymentFee> <class>yourmodule/quote_address_total_paymentFee</class> <!-- A model --> <after>subtotal</after> </paymentFee>
Также в config.xml
добавьте следующее в <global>
…
<fieldsets> <sales_convert_quote> <payment_fee><to_order>*</to_order></payment_fee> </sales_convert_quote> </fieldsets>
Создайте модель для расчета платы.
class Your_Module_Model_Quote_Address_Total_Warranty extends Mage_Sales_Model_Quote_Address_Total_Abstract { public function __construct() { $this->setCode('paymentFee'); } public function collect(Mage_Sales_Model_Quote_Address $address) { // Check the payment method in use, if it is yours do... $address->setPaymentFee($fee); return $this; } public function fetch(Mage_Sales_Model_Quote_Address $address) { if ($address->getPaymentFee()) { $address->addTotal(array( 'code' => $this->getCode(), 'title' => 'Your module payment message', 'value' => $address->getPaymentFee() )); } return $this; } }
В настройках вашего модуля измените таблицы sales_flat_quote
и sales_flat_order
чтобы добавить столбец payment_fee .
Значение <after>
в конфигурации отвечает за определение порядка расчета, это может быть разделенный запятыми список кодов итоговых сумм, включая «налог», «скидка» и т. Д. Вы также можете указать значение <before>
для те же цели. Метод $address->addTotal
in fetch()
будет выполнять работу по обновлению общей суммы, которая будет взиматься с клиента. Необходимо изменить таблицы котировок и заказов, чтобы взимаемая вами плата была записана и показана администратору.
Также можно указать свой собственный рендерер, если по умолчанию это не будет сделано, я сделал это, но еще сложнее.
Если вы раньше не работали с кодовой базой Magento, я бы не рекомендовал вам начать с этого, это довольно сложно. Использование расширения, вероятно, является самым безопасным вариантом.
Я не использовал его, но я считаю, что это расширение должно выполнять эту работу.
Стандартная оговорка: я никоим образом не связан с продавцом. Предостережение emptor .