VaultEnableAssigner.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Vault\Observer;
  7. use Magento\Framework\Event\Observer;
  8. use Magento\Payment\Observer\AbstractDataAssignObserver;
  9. use Magento\Quote\Api\Data\PaymentInterface;
  10. use Magento\Vault\Model\Ui\VaultConfigProvider;
  11. class VaultEnableAssigner extends AbstractDataAssignObserver
  12. {
  13. /**
  14. * @param Observer $observer
  15. * @return void
  16. */
  17. public function execute(\Magento\Framework\Event\Observer $observer)
  18. {
  19. $data = $this->readDataArgument($observer);
  20. $additionalData = $data->getData(PaymentInterface::KEY_ADDITIONAL_DATA);
  21. if (!is_array($additionalData)) {
  22. return;
  23. }
  24. if (isset($additionalData[VaultConfigProvider::IS_ACTIVE_CODE])) {
  25. $payment = $this->readPaymentModelArgument($observer);
  26. $payment->setAdditionalInformation(
  27. VaultConfigProvider::IS_ACTIVE_CODE,
  28. filter_var($additionalData[VaultConfigProvider::IS_ACTIVE_CODE], FILTER_VALIDATE_BOOLEAN)
  29. );
  30. }
  31. }
  32. }