<?php

namespace Autogedal\TbiBank\Plugin;

use Autogedal\TbiBank\Model\ApprovalConfig;
use Magento\Sales\Model\Order;
use TbiBank\FusionPay\Model\Payment\FusionPay;

/** Keep a FusionPay order out of the normal New workflow until TBI approves it. */
class PaymentInitialize
{
    public function aroundInitialize(FusionPay $subject, callable $proceed, $paymentAction, $stateObject)
    {
        $result = $proceed($paymentAction, $stateObject);

        $stateObject->setState(ApprovalConfig::ORDER_STATE);
        $stateObject->setStatus(ApprovalConfig::WAITING_STATUS);
        $stateObject->setIsNotified(false);

        return $result;
    }
}
