<?php /** * Created by PhpStorm. * User: miche * Date: 7/24/2018 * Time: 9:53 AM */ namespace Amazon\Payment\Plugin; use Magento\Checkout\Model\Session; /** * Class DisableAmazonPaymentMethod * Plugin removes Amazon Payment Method if cart contains only virtual products. */ class DisableAmazonPaymentMethod { /** * @var Session */ private $checkoutSession; /** * DisableAmazonPaymentMethod constructor. * @param Session $checkoutSession */ public function __construct( Session $checkoutSession ) { $this->checkoutSession = $checkoutSession; } /** * @param \Amazon\Payment\Model\Method\AmazonLoginMethod $subject * @param $result * @return bool */ public function afterIsAvailable( \Amazon\Payment\Model\Method\AmazonLoginMethod $subject, $result ) { /** @var \Magento\Quote\Model\Quote $quote */ $quote = $this->checkoutSession->getQuote(); if ($quote->isVirtual()) { return false; } return $result; // return default result } }