* @copyright 2007-2020 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) * International Registered Trademark & Property of PrestaShop SA */ namespace PrestaShop\Module\Ps_Googleanalytics\Wrapper; use Configuration; use Context; use Order; use PrestaShop\Module\Ps_Googleanalytics\Hooks\WrapperInterface; use Shop; use Validate; class OrderWrapper implements WrapperInterface { private $context; public function __construct(Context $context) { $this->context = $context; } /** * Return a detailed transaction for Google Analytics */ public function wrapOrder($id_order) { $order = new Order((int) $id_order); if (Validate::isLoadedObject($order)) { return [ 'id' => $id_order, 'affiliation' => Shop::isFeatureActive() ? $this->context->shop->name : Configuration::get('PS_SHOP_NAME'), 'revenue' => $order->total_paid, 'shipping' => $order->total_shipping, 'tax' => $order->total_paid_tax_incl - $order->total_paid_tax_excl, 'url' => $this->context->link->getAdminLink('AdminGanalyticsAjax'), 'customer' => $order->id_customer, ]; } } }