public function execute($request)
    {
        RequestNotSupportedException::assertSupports($this, $request);

        $model = ArrayObject::ensureArrayObject($request->getModel());

        if (isset($model[Constants::FIELD_STATUS])) {
            return;
        }
        if (!isset($model[Constants::FIELD_AMOUNT], $model[Constants::FIELD_BALANCE])) {
            throw new RuntimeException("Payment has not been converted.");
        }

        if ($model[Constants::FIELD_AMOUNT] <= $model[Constants::FIELD_BALANCE]) {
            $model[Constants::FIELD_STATUS] = Constants::STATUS_CAPTURED;
        } else {
            $model[Constants::FIELD_STATUS] = Constants::STATUS_FAILED;
        }
    }
public function execute($request)
    {
        RequestNotSupportedException::assertSupports($this, $request);

        $model = ArrayObject::ensureArrayObject($request->getModel());

        if (isset($model[Constants::FIELD_STATUS])) {
            return;
        }
        if (!isset($model[Constants::FIELD_AMOUNT], $model[Constants::FIELD_BALANCE])) {
            throw new RuntimeException("Payment has not been converted.");
        }

        if ($model[Constants::FIELD_AMOUNT] <= $model[Constants::FIELD_BALANCE]) {
            $model[Constants::FIELD_STATUS] = Constants::STATUS_CAPTURED;
        } else {
            $model[Constants::FIELD_STATUS] = Constants::STATUS_FAILED;
        }
    }
{@inheritDoc}

@param Authorize $request