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: