queuedRefundsCollectionFactory = $collectionFactory; $this->queuedRefundUpdater = $queuedRefundUpdater; $this->coreHelper = $coreHelper; $limit = (int)$limit; if ($limit < 1) { throw new \InvalidArgumentException('Limit must be greater than 1.'); } $this->limit = $limit; } public function execute() { if (UpdateMechanism::IPN === $this->coreHelper->getUpdateMechanism()) { return; } $collection = $this->queuedRefundsCollectionFactory ->create() ->addOrder(PendingRefundInterface::CREATED_AT, Collection::SORT_ORDER_ASC) ->setPageSize($this->limit) ->setCurPage(1); $queuedRefundUpdater = $this->queuedRefundUpdater->create(); foreach ($collection->getIdGenerator() as $pendingRefundId) { $queuedRefundUpdater->checkAndUpdateRefund($pendingRefundId); } } }