Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Transaction.php
Go to the documentation of this file.
1 <?php
7 
18 
23 {
28 
32  protected $quoteRepository;
33 
37  protected $transparent;
38 
42  private $paymentManagement;
43 
47  private $errorHandler;
48 
52  private $logger;
53 
62  public function __construct(
66  PaymentMethodManagementInterface $paymentManagement,
67  HandlerInterface $errorHandler,
68  Logger $logger
69  ) {
70  $this->sessionTransparent = $sessionTransparent;
71  $this->quoteRepository = $quoteRepository;
72  $this->transparent = $transparent;
73  $this->paymentManagement = $paymentManagement;
74  $this->errorHandler = $errorHandler;
75  $this->logger = $logger;
76  }
77 
84  public function getResponseObject($gatewayTransactionResponse)
85  {
86  $response = new DataObject();
87  $response = $this->transparent->mapGatewayResponse((array) $gatewayTransactionResponse, $response);
88 
89  $this->logger->debug(
90  (array) $gatewayTransactionResponse,
91  (array) $this->transparent->getDebugReplacePrivateDataKeys(),
92  (bool) $this->transparent->getDebugFlag()
93  );
94 
95  return $response;
96  }
97 
105  public function savePaymentInQuote($response)
106  {
107  $quote = $this->quoteRepository->get($this->sessionTransparent->getQuoteId());
108 
109  $payment = $this->paymentManagement->get($quote->getId());
110  if (!$payment instanceof Payment) {
111  throw new \InvalidArgumentException("Variable must contain instance of \\Quote\\Payment.");
112  }
113 
115  $payment->setAdditionalInformation(Payflowpro::PNREF, $response->getData(Payflowpro::PNREF));
116 
117  $this->errorHandler->handle($payment, $response);
118 
119  $this->paymentManagement->set($quote->getId(), $payment);
120  }
121 }
$response
Definition: 404.php:11
__construct(Generic $sessionTransparent, CartRepositoryInterface $quoteRepository, Transparent $transparent, PaymentMethodManagementInterface $paymentManagement, HandlerInterface $errorHandler, Logger $logger)
Definition: Transaction.php:62
$quote
$logger
$payment
Definition: order.php:17