Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CaptureCommand.php
Go to the documentation of this file.
1 <?php
7 
13 
15 {
19  private $statusResolver;
20 
24  public function __construct(StatusResolver $statusResolver = null)
25  {
26  $this->statusResolver = $statusResolver
27  ? : ObjectManager::getInstance()->get(StatusResolver::class);
28  }
29 
37  {
38  $state = Order::STATE_PROCESSING;
39  $status = null;
40  $message = 'Captured amount of %1 online.';
41 
42  if ($payment->getIsTransactionPending()) {
44  $message = 'An amount of %1 will be captured after being approved at the payment gateway.';
45  }
46 
47  if ($payment->getIsFraudDetected()) {
50  $message .= ' Order is suspended as its capturing amount %1 is suspected to be fraudulent.';
51  }
52 
53  if (!isset($status)) {
54  $status = $this->statusResolver->getOrderStatusByState($order, $state);
55  }
56 
57  $order->setState($state);
58  $order->setStatus($status);
59 
60  return __($message, $order->getBaseCurrency()->formatTxt($amount));
61  }
62 
71  protected function setOrderStateAndStatus(Order $order, $status, $state)
72  {
73  if (!$status) {
74  $status = $order->getConfig()->getStateDefaultStatus($state);
75  }
76 
77  $order->setState($state)->setStatus($status);
78  }
79 }
__construct(StatusResolver $statusResolver=null)
$order
Definition: order.php:55
__()
Definition: __.php:13
$message
$amount
Definition: order.php:14
$payment
Definition: order.php:17
execute(OrderPaymentInterface $payment, $amount, OrderInterface $order)
$status
Definition: order_status.php:8