CreditCardValidationHandler.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Paypal\Model\Payflow\Service\Response\Handler;
  7. use Magento\Framework\DataObject;
  8. use Magento\Payment\Model\InfoInterface;
  9. use Magento\Paypal\Model\Info;
  10. class CreditCardValidationHandler implements HandlerInterface
  11. {
  12. /**
  13. * @var array
  14. */
  15. private $fieldsToHandle = [
  16. Info::PAYPAL_CVV2MATCH,
  17. Info::PAYPAL_AVSZIP,
  18. Info::PAYPAL_AVSADDR,
  19. Info::PAYPAL_IAVS
  20. ];
  21. /**
  22. * @var Info
  23. */
  24. private $paypalInfoManager;
  25. /**
  26. * @param Info $paypalInfoManager
  27. */
  28. public function __construct(Info $paypalInfoManager)
  29. {
  30. $this->paypalInfoManager = $paypalInfoManager;
  31. }
  32. /**
  33. * {inheritdoc}
  34. */
  35. public function handle(InfoInterface $payment, DataObject $response)
  36. {
  37. $importObject = [];
  38. foreach ($this->fieldsToHandle as $field) {
  39. if ($response->getData($field)) {
  40. $importObject[$field] = $response->getData($field);
  41. }
  42. }
  43. $this->paypalInfoManager->importToPayment($importObject, $payment);
  44. }
  45. }