Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
PaymentVaultAttributesLoad.php
Go to the documentation of this file.
1 <?php
9 
10 use Magento\Sales\Api\Data\OrderPaymentExtensionInterface;
13 use Magento\Sales\Api\Data\OrderPaymentExtensionFactory;
15 
20 {
25 
30 
35  public function __construct(
36  OrderPaymentExtensionFactory $paymentExtensionFactory,
38  ) {
39  $this->paymentExtensionFactory = $paymentExtensionFactory;
40  $this->paymentTokenManagement = $paymentTokenManagement;
41  }
42 
50  public function afterGetExtensionAttributes(
52  OrderPaymentExtensionInterface $paymentExtension = null
53  ) {
54  if ($paymentExtension === null) {
55  $paymentExtension = $this->paymentExtensionFactory->create();
56  }
57 
58  $paymentToken = $paymentExtension->getVaultPaymentToken();
59  if ($paymentToken === null) {
60  $paymentToken = $this->paymentTokenManagement->getByPaymentId($payment->getEntityId());
61  if ($paymentToken instanceof PaymentTokenInterface) {
62  $paymentExtension->setVaultPaymentToken($paymentToken);
63  }
64  $payment->setExtensionAttributes($paymentExtension);
65  }
66 
67  return $paymentExtension;
68  }
69 }
__construct(OrderPaymentExtensionFactory $paymentExtensionFactory, PaymentTokenManagementInterface $paymentTokenManagement)
$payment
Definition: order.php:17
afterGetExtensionAttributes(OrderPaymentInterface $payment, OrderPaymentExtensionInterface $paymentExtension=null)