示例#1
0
     // 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) {
示例#2
0
    /* 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'])) {