code: 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;
          }
      }
docs: {@inheritDoc}
  
  @param Authorize $request