DescriptorDataBuilder.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Braintree\Gateway\Request;
  7. use Magento\Braintree\Gateway\SubjectReader;
  8. use Magento\Payment\Gateway\Request\BuilderInterface;
  9. use Magento\Braintree\Gateway\Config\Config;
  10. /**
  11. * Class DescriptorDataBuilder
  12. */
  13. class DescriptorDataBuilder implements BuilderInterface
  14. {
  15. /**
  16. * @var string
  17. */
  18. private static $descriptorKey = 'descriptor';
  19. /**
  20. * @var Config
  21. */
  22. private $config;
  23. /**
  24. * @var SubjectReader
  25. */
  26. private $subjectReader;
  27. /**
  28. * @param Config $config
  29. * @param SubjectReader $subjectReader
  30. */
  31. public function __construct(Config $config, SubjectReader $subjectReader)
  32. {
  33. $this->config = $config;
  34. $this->subjectReader = $subjectReader;
  35. }
  36. /**
  37. * @inheritdoc
  38. */
  39. public function build(array $buildSubject)
  40. {
  41. $paymentDO = $this->subjectReader->readPayment($buildSubject);
  42. $order = $paymentDO->getOrder();
  43. $values = $this->config->getDynamicDescriptors($order->getStoreId());
  44. return !empty($values) ? [self::$descriptorKey => $values] : [];
  45. }
  46. }