8 use Braintree\Transaction;
13 use Magento\Sales\Api\Data\OrderPaymentExtensionInterface;
14 use Magento\Sales\Api\Data\OrderPaymentExtensionInterfaceFactory;
26 private $paymentTokenFactory;
31 private $paymentExtensionFactory;
36 private $subjectReader;
41 private $dateTimeFactory;
51 OrderPaymentExtensionInterfaceFactory $paymentExtensionFactory,
55 $this->paymentTokenFactory = $paymentTokenFactory;
57 $this->subjectReader = $subjectReader;
58 $this->dateTimeFactory = $dateTimeFactory;
66 $paymentDO = $this->subjectReader->readPayment($handlingSubject);
84 private function getVaultPaymentToken(Transaction
$transaction)
107 private function getExpirationDate()
109 $expDate = $this->dateTimeFactory->create(
'now',
new \DateTimeZone(
'UTC'));
110 $expDate->add(
new \DateInterval(
'P1Y'));
111 return $expDate->format(
'Y-m-d 00:00:00');
119 private function getExtensionAttributes(InfoInterface
$payment)
handle(array $handlingSubject, array $response)
__construct(PaymentTokenFactoryInterface $paymentTokenFactory, OrderPaymentExtensionInterfaceFactory $paymentExtensionFactory, SubjectReader $subjectReader, DateTimeFactory $dateTimeFactory)