CanVoidHandler.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Braintree\Gateway\Config;
  7. use Magento\Braintree\Gateway\SubjectReader;
  8. use Magento\Payment\Gateway\Config\ValueHandlerInterface;
  9. use Magento\Sales\Model\Order\Payment;
  10. class CanVoidHandler implements ValueHandlerInterface
  11. {
  12. /**
  13. * @var SubjectReader
  14. */
  15. private $subjectReader;
  16. /**
  17. * CanVoidHandler constructor.
  18. * @param SubjectReader $subjectReader
  19. */
  20. public function __construct(
  21. SubjectReader $subjectReader
  22. ) {
  23. $this->subjectReader = $subjectReader;
  24. }
  25. /**
  26. * Retrieve method configured value
  27. *
  28. * @param array $subject
  29. * @param int|null $storeId
  30. *
  31. * @return mixed
  32. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  33. */
  34. public function handle(array $subject, $storeId = null)
  35. {
  36. $paymentDO = $this->subjectReader->readPayment($subject);
  37. $payment = $paymentDO->getPayment();
  38. return $payment instanceof Payment && !(bool)$payment->getAmountPaid();
  39. }
  40. }