Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SaleCommand.php
Go to the documentation of this file.
1 <?php
7 
12 use Magento\Payment\Helper\Formatter;
14 
15 class SaleCommand implements CommandInterface
16 {
17  use Formatter;
18 
22  private $payflowFacade;
23 
28  public function __construct(
29  Transparent $payflowFacade
30  ) {
31  $this->payflowFacade = $payflowFacade;
32  }
33 
40  public function execute(array $commandSubject)
41  {
43  $amount = $commandSubject['amount'];
45  $paymentDO = $commandSubject['payment'];
46  $payment = $paymentDO->getPayment();
47 
48  $storeId = $paymentDO->getOrder()->getStoreId();
49  $this->payflowFacade->setStore($storeId);
50 
52  $token = $payment->getExtensionAttributes()->getVaultPaymentToken();
53 
54  $request = $this->payflowFacade->buildBasicRequest();
55  $request->setAmt($this->formatPrice($amount));
57  $request->setOrigid($token->getGatewayToken());
58 
59  $this->payflowFacade->addRequestOrderInfo($request, $payment->getOrder());
60 
61  $response = $this->payflowFacade->postRequest($request, $this->payflowFacade->getConfig());
62  $this->payflowFacade->processErrors($response);
63  $this->payflowFacade->setTransStatus($payment, $response);
64  }
65 }
$response
Definition: 404.php:11
$amount
Definition: order.php:14
$payment
Definition: order.php:17