/** * @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]); }
/** * @covers \Magento\Braintree\Gateway\Helper\SubjectReader::readPayPal */ public function testReadPayPal() { $paypal = ['paymentId' => '3ek7dk7fn0vi1', 'payerEmail' => '*****@*****.**']; $transaction = Transaction::factory(['id' => '4yr95vb', 'paypal' => $paypal]); static::assertEquals($paypal, $this->subjectReader->readPayPal($transaction)); }