验证Magento 2中的付款方式

时间:2016-08-02 14:32:14

标签: validation payment magento2

我想检查是否允许客户使用其中一种激活的付款方式。

例如:

如果客户启用了“货到付款”,他应该看到方法,但我在代码中找不到类似的东西。

在Magento 1中有:

public function isAvailable()

Magento 2有没有类似的方法?

1 个答案:

答案 0 :(得分:0)

您可以采取两种方法:

观察

如果您在\Magento\Payment\Model\Method\AbstractMethod方法中查看\Magento\OfflinePayments\Model\Cashondelivery({1}}的父类),您会发现它会调度可能存在的isAvailable事件用于执行一些额外的逻辑(例如确定客户是否已启用特定方法):

payment_method_is_active

插件

由于 $this->eventManager->dispatch( 'payment_method_is_active', [ 'result' => $checkResult, 'method_instance' => $this, 'quote' => $quote ] ); 是一个公共方法,您可以在方法中添加一个插件。无论您在之前,之后还是周围使用,都取决于您的具体需求。但是,学习如何做到这一点的好地方是Magento DevDocs网站:http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html