1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Braintree\Gateway\Response;
- use Magento\Payment\Gateway\Response\HandlerInterface;
- use Magento\Braintree\Gateway\SubjectReader;
- use Magento\Sales\Api\Data\OrderPaymentInterface;
- /**
- * Class PayPalDetailsHandler
- */
- class PayPalDetailsHandler implements HandlerInterface
- {
- const PAYMENT_ID = 'paymentId';
- const PAYER_EMAIL = 'payerEmail';
- /**
- * @var SubjectReader
- */
- private $subjectReader;
- /**
- * Constructor
- *
- * @param SubjectReader $subjectReader
- */
- public function __construct(SubjectReader $subjectReader)
- {
- $this->subjectReader = $subjectReader;
- }
- /**
- * @inheritdoc
- */
- public function handle(array $handlingSubject, array $response)
- {
- $paymentDO = $this->subjectReader->readPayment($handlingSubject);
- /** @var \Braintree\Transaction $transaction */
- $transaction = $this->subjectReader->readTransaction($response);
- /** @var OrderPaymentInterface $payment */
- $payment = $paymentDO->getPayment();
- $payPal = $this->subjectReader->readPayPal($transaction);
- $payment->setAdditionalInformation(self::PAYMENT_ID, $payPal[self::PAYMENT_ID]);
- $payment->setAdditionalInformation(self::PAYER_EMAIL, $payPal[self::PAYER_EMAIL]);
- }
- }
|