示例#1
0
文件: paypal.php 项目: ramsam5/paypal
 public function getTrackingCode($method)
 {
     if (_PS_VERSION_ < '1.5' && (_THEME_NAME_ == 'prestashop_mobile' || Tools::getValue('ps_mobile_site') == 1)) {
         if (_PS_MOBILE_TABLET_) {
             return TABLET_TRACKING_CODE;
         } elseif (_PS_MOBILE_PHONE_) {
             return SMARTPHONE_TRACKING_CODE;
         }
     }
     //Get Seamless checkout
     $login_user = false;
     if (Configuration::get('PAYPAL_LOGIN')) {
         $login_user = PaypalLoginUser::getByIdCustomer((int) $this->context->customer->id);
         if ($login_user && $login_user->expires_in <= time()) {
             $obj = new PayPalLogin();
             $login_user = $obj->getRefreshToken();
         }
     }
     if ($method == WPS) {
         if ($login_user) {
             return TRACKING_EXPRESS_CHECKOUT_SEAMLESS;
         } else {
             return TRACKING_INTEGRAL;
         }
     }
     if ($method == HSS) {
         return TRACKING_INTEGRAL_EVOLUTION;
     }
     if ($method == ECS) {
         if ($login_user) {
             return TRACKING_EXPRESS_CHECKOUT_SEAMLESS;
         } else {
             return TRACKING_OPTION_PLUS;
         }
     }
     return TRACKING_CODE;
 }
示例#2
0
        setContextData($ppec);
        if (!$ppec->context->cart->add()) {
            $ppec->logs[] = $ppec->l('Cannot create new cart');
            $display = _PS_VERSION_ < '1.5' ? new BWDisplay() : new FrontController();
            $ppec->context->smarty->assign(array('logs' => $ppec->logs, 'message' => $ppec->l('Error occurred:'), 'use_mobile' => (bool) $ppec->useMobile()));
            $template = 'error.tpl';
        } else {
            $ppec->context->cookie->id_cart = (int) $ppec->context->cart->id;
        }
        $ppec->context->cart->updateQty((int) $product_quantity, (int) $id_product, (int) $id_product_attribute);
        $ppec->context->cart->update();
    }
    $login_user = PaypalLoginUser::getByIdCustomer((int) $ppec->context->customer->id);
    if ($login_user && $login_user->expires_in <= time()) {
        $obj = new PayPalLogin();
        $login_user = $obj->getRefreshToken();
    }
    /* Set details for a payment */
    $ppec->setExpressCheckout($login_user ? $login_user->access_token : false);
    if (Tools::getValue('ajax') && Configuration::get('PAYPAL_IN_CONTEXT_CHECKOUT')) {
        $ppec->displayPaypalInContextCheckout();
    }
    if ($ppec->hasSucceedRequest() && !empty($ppec->token)) {
        $ppec->redirectToAPI();
    } else {
        $ppec->displayPayPalAPIError($ppec->l('Error during the preparation of the Express Checkout payment'), $ppec->logs);
    }
} elseif (!empty($ppec->token) && $ppec->token == $token && ($ppec->payer_id = $payer_id)) {
    /* Get payment infos from paypal */
    $ppec->getExpressCheckout();
    if ($ppec->hasSucceedRequest() && !empty($ppec->token)) {