* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ namespace PrestaShop\Module\PrestashopCheckout\PayPal; use PrestaShop\Module\PrestashopCheckout\PaypalOrder; use Psr\SimpleCache\CacheInterface; class PayPalOrderProvider { /** * @var CacheInterface */ private $orderPayPalCache; /** * @param CacheInterface $orderPayPalCache */ public function __construct(CacheInterface $orderPayPalCache) { $this->orderPayPalCache = $orderPayPalCache; } /** * @param string $id PayPal Order Id * * @return array|false */ public function getById($id) { if (empty($id)) { return false; } if ($this->orderPayPalCache->has($id)) { return $this->orderPayPalCache->get($id); } $orderPayPal = new PaypalOrder($id); if (!$orderPayPal->isLoaded()) { return false; } $data = $orderPayPal->getOrder(); $this->orderPayPalCache->set($id, $data); return $data; } }