VoidDataBuilder.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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\Sales\Model\Order\Payment;
  10. class VoidDataBuilder implements BuilderInterface
  11. {
  12. /**
  13. * @var SubjectReader
  14. */
  15. private $subjectReader;
  16. /**
  17. * Constructor
  18. *
  19. * @param SubjectReader $subjectReader
  20. */
  21. public function __construct(SubjectReader $subjectReader)
  22. {
  23. $this->subjectReader = $subjectReader;
  24. }
  25. /**
  26. * Builds ENV request
  27. *
  28. * @param array $buildSubject
  29. * @return array
  30. */
  31. public function build(array $buildSubject)
  32. {
  33. $paymentDO = $this->subjectReader->readPayment($buildSubject);
  34. /** @var Payment $payment */
  35. $payment = $paymentDO->getPayment();
  36. return [
  37. 'transaction_id' => $payment->getParentTransactionId()
  38. ?: $payment->getLastTransId()
  39. ];
  40. }
  41. }