// Set details for a payment $ppec->setExpressCheckout(); if ($ppec->hasSucceedRequest() && !empty($ppec->token)) { $ppec->redirectToAPI(); } else { $ppec->displayPayPalAPIError($ppec->l('Error during the prepration of the express checkout payment'), $ppec->logs); } } elseif (!empty($ppec->token) && $ppec->token == Tools::getValue('token') && ($ppec->payer_id = Tools::getValue('PayerID'))) { // Get payment infos from paypal $ppec->getExpressCheckout(); if ($ppec->hasSucceedRequest() && !empty($ppec->token)) { $address = null; $customer = null; // Create Customer if not exist with address etc if ($ppec->getContext()->cookie->logged) { if (!($id_customer = Paypal::getPayPalCustomerIdByEmail($ppec->result['EMAIL']))) { PayPal::addPayPalCustomer($ppec->getContext()->customer->id, $ppec->result['EMAIL']); } $customer = $ppec->getContext()->customer; } elseif ($id_customer = Customer::customerExists($ppec->result['EMAIL'], true)) { $customer = new Customer($id_customer); } else { $customer = new Customer(); $customer->email = $ppec->result['EMAIL']; $customer->lastname = $ppec->result['LASTNAME']; $customer->firstname = $ppec->result['FIRSTNAME']; $customer->passwd = Tools::encrypt(Tools::passwdGen()); $customer->add(); PayPal::addPayPalCustomer($customer->id, $ppec->result['EMAIL']); } if (!$customer->id) {
/* Set details for a payment */ $ppec->setExpressCheckout(); 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)) { $address = $customer = null; $email = $ppec->result['EMAIL']; /* Create Customer if not exist with address etc */ if ($ppec->context->cookie->logged) { $id_customer = Paypal::getPayPalCustomerIdByEmail($email); if (!$id_customer) { PayPal::addPayPalCustomer($ppec->context->customer->id, $email); } $customer = $ppec->context->customer; } elseif ($id_customer = Customer::customerExists($email, true)) { $customer = new Customer($id_customer); } else { $customer = setCustomerInformation($ppec, $email); $customer->add(); PayPal::addPayPalCustomer($customer->id, $email); } if (!$customer->id) { $ppec->logs[] = $ppec->l('Cannot create customer'); } if (!isset($ppec->result['PAYMENTREQUEST_0_SHIPTOSTREET']) || !isset($ppec->result['PAYMENTREQUEST_0_SHIPTOCITY']) || !isset($ppec->result['SHIPTOZIP']) || !isset($ppec->result['COUNTRYCODE'])) {