/** * @inheritdoc */ public function handle(array $handlingSubject, array $response) { $paymentDO = $this->subjectReader->readPayment($handlingSubject); /** * @TODO after changes in sales module should be refactored for new interfaces */ /** @var OrderPaymentInterface $payment */ $payment = $paymentDO->getPayment(); ContextHelper::assertOrderPayment($payment); /** @var Transaction $transaction */ $transaction = $this->subjectReader->readTransaction($response); if ($payment->hasAdditionalInformation(self::LIABILITY_SHIFTED)) { // remove 3d secure details for reorder $payment->unsAdditionalInformation(self::LIABILITY_SHIFTED); $payment->unsAdditionalInformation(self::LIABILITY_SHIFT_POSSIBLE); } if (empty($transaction->threeDSecureInfo)) { return; } /** @var \Braintree\ThreeDSecureInfo $info */ $info = $transaction->threeDSecureInfo; $payment->setAdditionalInformation(self::LIABILITY_SHIFTED, $info->liabilityShifted ? 'Yes' : 'No'); $shiftPossible = $info->liabilityShiftPossible ? 'Yes' : 'No'; $payment->setAdditionalInformation(self::LIABILITY_SHIFT_POSSIBLE, $shiftPossible); }
/** * @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]); }
/** * @inheritdoc */ public function handle(array $handlingSubject, array $response) { $paymentDO = $this->subjectReader->readPayment($handlingSubject); /** * @TODO after changes in sales module should be refactored for new interfaces */ $payment = $paymentDO->getPayment(); ContextHelper::assertOrderPayment($payment); $transaction = $this->subjectReader->readTransaction($response); $payment->setTransactionId($transaction->id); }
/** * @inheritdoc */ public function handle(array $handlingSubject, array $response) { $paymentDO = $this->subjectReader->readPayment($handlingSubject); $transaction = $this->subjectReader->readTransaction($response); $payment = $paymentDO->getPayment(); // add vault payment token entity to extension attributes $paymentToken = $this->getVaultPaymentToken($transaction); if (null !== $paymentToken) { $extensionAttributes = $this->getExtensionAttributes($payment); $extensionAttributes->setVaultPaymentToken($paymentToken); } }
/** * Handles response * * @param array $handlingSubject * @param array $response * @return void */ public function handle(array $handlingSubject, array $response) { $paymentDO = $this->subjectReader->readPayment($handlingSubject); /** @var \Braintree\Transaction $transaction */ $transaction = $this->subjectReader->readTransaction($response); if (!isset($transaction->riskData)) { return; } $payment = $paymentDO->getPayment(); ContextHelper::assertOrderPayment($payment); $payment->setAdditionalInformation(self::RISK_DATA_ID, $transaction->riskData->id); $payment->setAdditionalInformation(self::RISK_DATA_DECISION, $transaction->riskData->decision); }
/** * Handles response * * @param array $handlingSubject * @param array $response * @return void */ public function handle(array $handlingSubject, array $response) { $paymentDO = $this->subjectReader->readPayment($handlingSubject); if ($paymentDO->getPayment() instanceof Payment) { /** @var \Braintree\Transaction $transaction */ $transaction = $this->subjectReader->readTransaction($response); /** @var Payment $orderPayment */ $orderPayment = $paymentDO->getPayment(); $this->setTransactionId($orderPayment, $transaction); $orderPayment->setIsTransactionClosed($this->shouldCloseTransaction()); $closed = $this->shouldCloseParentTransaction($orderPayment); $orderPayment->setShouldCloseParentTransaction($closed); } }
/** * @inheritdoc */ public function handle(array $handlingSubject, array $response) { $isActiveVaultModule = $this->vaultPayment->isActiveForPayment(ConfigProvider::CODE); if (!$isActiveVaultModule) { return; } $paymentDO = $this->subjectReader->readPayment($handlingSubject); $transaction = $this->subjectReader->readTransaction($response); $payment = $paymentDO->getPayment(); // add vault payment token entity to extension attributes $paymentToken = $this->getVaultPaymentToken($transaction); if (null !== $paymentToken) { $extensionAttributes = $this->getExtensionAttributes($payment); $extensionAttributes->setVaultPaymentToken($paymentToken); } }
/** * @inheritdoc */ public function handle(array $handlingSubject, array $response) { $paymentDO = $this->subjectReader->readPayment($handlingSubject); $transaction = $this->subjectReader->readTransaction($response); /** * @TODO after changes in sales module should be refactored for new interfaces */ $payment = $paymentDO->getPayment(); ContextHelper::assertOrderPayment($payment); $creditCard = $transaction->creditCard; $payment->setCcLast4($creditCard[self::CARD_LAST4]); $payment->setCcExpMonth($creditCard[self::CARD_EXP_MONTH]); $payment->setCcExpYear($creditCard[self::CARD_EXP_YEAR]); $payment->setCcType($this->getCreditCardType($creditCard[self::CARD_TYPE])); // set card details to additional info $payment->setAdditionalInformation(self::CARD_NUMBER, 'xxxx-' . $creditCard[self::CARD_LAST4]); $payment->setAdditionalInformation(OrderPaymentInterface::CC_TYPE, $creditCard[self::CARD_TYPE]); }
/** * @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(); $payment->setCcTransId($transaction->id); $payment->setLastTransId($transaction->id); //remove previously set payment nonce $payment->unsAdditionalInformation(DataAssignObserver::PAYMENT_METHOD_NONCE); foreach ($this->additionalInformationMapping as $item) { if (!isset($transaction->{$item})) { continue; } $payment->setAdditionalInformation($item, $transaction->{$item}); } }
/** * @inheritdoc */ public function handle(array $handlingSubject, array $response) { $paymentDO = $this->subjectReader->readPayment($handlingSubject); /** @var \Braintree\Transaction $transaction */ $transaction = $this->subjectReader->readTransaction($response); /** * @TODO after changes in sales module should be refactored for new interfaces */ /** @var OrderPaymentInterface $payment */ $payment = $paymentDO->getPayment(); ContextHelper::assertOrderPayment($payment); $payment->setTransactionId($transaction->id); $payment->setCcTransId($transaction->id); $payment->setLastTransId($transaction->id); $payment->setIsTransactionClosed(false); //remove previously set payment nonce $payment->unsAdditionalInformation(DataAssignObserver::PAYMENT_METHOD_NONCE); foreach ($this->additionalInformationMapping as $item) { if (!isset($transaction->{$item})) { continue; } $payment->setAdditionalInformation($item, $transaction->{$item}); } }