How is \Magento\Sales\Model\Order\Payment\State\AuthorizeCommand::execute() implemented and used?

Implementation

ffea3cd/app/code/Magento/Sales/Model/Order/Payment/State/AuthorizeCommand.php#L15-L49

/**
 * @param OrderPaymentInterface $payment
 * @param string|float $amount
 * @param OrderInterface $order
 * @return \Magento\Framework\Phrase
 */
public function execute(OrderPaymentInterface $payment, $amount, OrderInterface $order)
{
	$state = Order::STATE_PROCESSING;
	$status = false;
	$formattedAmount = $order->getBaseCurrency()->formatTxt($amount);
	if ($payment->getIsTransactionPending()) {
		$state = Order::STATE_PAYMENT_REVIEW;
		$message = __(
			'We will authorize %1 after the payment is approved at the payment gateway.',
			$formattedAmount
		);
	} else {
		if ($payment->getIsFraudDetected()) {
			$state = Order::STATE_PROCESSING;
			$message = __(
				'Order is suspended as its authorizing amount %1 is suspected to be fraudulent.',
				$formattedAmount
			);
		} else {
			$message = __('Authorized amount of %1', $formattedAmount);
		}
	}
	if ($payment->getIsFraudDetected()) {
		$status = Order::STATUS_FRAUD;
	}
	$this->setOrderStateAndStatus($order, $status, $state);
	return $message;
}

Details:

The single usage

See also: