* @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\Order; use Currency; use PrestaShop\Module\PrestashopCheckout\PsCheckoutDataProvider; use Tools; class PayPalOrderPresenter { /** * @var PaypalOrderDataProvider */ public $paypalOrderDataProvider; /** * @var PsCheckoutDataProvider */ public $psCheckoutDataProvider; /** * @var PayPalOrderTranslationProvider */ public $paypalOrderTranslationProvider; /** * @param PaypalOrderDataProvider $paypalOrderDataProvider * @param PsCheckoutDataProvider $psCheckoutDataProvider * @param PayPalOrderTranslationProvider $paypalOrderTranslationProvider */ public function __construct( PaypalOrderDataProvider $paypalOrderDataProvider, PsCheckoutDataProvider $psCheckoutDataProvider, PayPalOrderTranslationProvider $paypalOrderTranslationProvider ) { $this->paypalOrderDataProvider = $paypalOrderDataProvider; $this->psCheckoutDataProvider = $psCheckoutDataProvider; $this->paypalOrderTranslationProvider = $paypalOrderTranslationProvider; } /** * @param string $orderStatus * * @return string */ public function getOrderStatusTranslated($orderStatus) { return $this->paypalOrderTranslationProvider->getOrderStatusTranslated($orderStatus); } /** * @param string $transactionStatus * * @return string */ public function getTransactionStatusTranslated($transactionStatus) { return $this->paypalOrderTranslationProvider->getTransactionStatusTranslated($transactionStatus); } /** * @param string $fundingSource * * @return string */ public function getFundingSourceTranslated($fundingSource) { return $this->paypalOrderTranslationProvider->getFundingSourceTranslated($fundingSource); } /** * @return string */ public function getTotalAmountFormatted() { if (!$this->paypalOrderDataProvider->getTotalAmount() || !$this->paypalOrderDataProvider->getCurrencyCode()) { return ''; } return Tools::displayPrice( (float) $this->paypalOrderDataProvider->getTotalAmount(), Currency::getCurrencyInstance(Currency::getIdByIsoCode($this->paypalOrderDataProvider->getCurrencyCode())) ); } /** * @return array */ public function getSummaryTranslations() { return $this->paypalOrderTranslationProvider->getSummaryTranslations(); } }