我只想为某些产品启用支付网关。在我的网站上,我有货到付款及其他付款方式。应该为每个产品启用货到付款。但是针对特定产品集或特定类别启用了其他付款方式。我们该怎么做?
请在以下方面提供帮助。
1)付款网关仅支持特定产品或类别
2)仅针对特定国家/地区启用付款网关
答案 0 :(得分:2)
要添加新的payment method,请执行以下步骤:
我希望这会有所帮助。
答案 1 :(得分:2)
如果您要根据某些条件启用或禁用某些付款方式,可以使用payment_method_is_active
事件。
在payment_method_is_active
事件中,您可以访问3个参数:
$observer->getEvent()->getData('method_instance)
,付款方式$observer->getEvent()->getData('quote')
,正在处理报价$observer->getEvent()->getData('result')
,一个包含结果的数据对象在定义的结果is_available
中,如果应启用付款方式(“可用”)则为true
,如果应禁用则为false
。
有了这3个对象,您就可以
class DisablePaymentMethodBasedOnSomething implements ObserverInterface {
public function execute($observer) {
$event = $observer->getEvent();
$method = $event->getData('method_instance');
$quote = $event->getData('quote');
$result = $event->getData('result');
if (payment method is not cash on delivery) {
return;
}
if (quote does not contain products with gateway attribute) {
return;
}
$result->setData('...', false);
}
}
如您所见,我并没有填补所有空白,我希望示例能够为您提供正确的指导。
答案 2 :(得分:-1)
嗨,您可以在下面尝试该插件,当然您需要购买。