FetchReports.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Paypal\Cron;
  7. class FetchReports
  8. {
  9. /**
  10. * @var \Magento\Paypal\Model\Report\SettlementFactory
  11. */
  12. protected $_settlementFactory;
  13. /**
  14. * Constructor
  15. *
  16. * @param \Magento\Paypal\Model\Report\SettlementFactory $settlementFactory
  17. */
  18. public function __construct(
  19. \Magento\Paypal\Model\Report\SettlementFactory $settlementFactory
  20. ) {
  21. $this->_settlementFactory = $settlementFactory;
  22. }
  23. /**
  24. * Goes to reports.paypal.com and fetches Settlement reports.
  25. *
  26. * @return void
  27. * @throws \Exception
  28. */
  29. public function execute()
  30. {
  31. /** @var \Magento\Paypal\Model\Report\Settlement $reports */
  32. $reports = $this->_settlementFactory->create();
  33. /* @var $reports \Magento\Paypal\Model\Report\Settlement */
  34. $credentials = $reports->getSftpCredentials(true);
  35. foreach ($credentials as $config) {
  36. $reports->fetchAndSave(\Magento\Paypal\Model\Report\Settlement::createConnection($config));
  37. }
  38. }
  39. }