/** * CallGetShippingDetails * * Makes a call to PayPal's GetExpressCheckoutDetails API to obtain * information about the order and the buyer. * * @token (string) The token obtained from the previous SetExpressCheckout request. */ function CallGetShippingDetails($token) { /* * Display message to user if session has expired. */ if (sizeof(WC()->cart->get_cart()) == 0) { $ms = sprintf(__('Sorry, your session has expired. <a href=%s>Return to homepage →</a>', 'paypal-for-woocommerce'), '"' . home_url() . '"'); $ec_cgsd_message = apply_filters('angelleye_get_shipping_ec_message', $ms); wc_add_notice($ec_cgsd_message, "error"); wp_redirect(get_permalink(wc_get_page_id('cart'))); exit; } /* * Check if the PayPal class has already been established. */ if (!class_exists('Angelleye_PayPal')) { require_once PAYPAL_FOR_WOOCOMMERCE_PLUGIN_DIR . '/classes/lib/angelleye/paypal-php-library/includes/paypal.class.php'; } /* * Create PayPal object. */ $PayPalConfig = array('Sandbox' => $this->testmode == 'yes' ? TRUE : FALSE, 'APIUsername' => $this->api_username, 'APIPassword' => $this->api_password, 'APISignature' => $this->api_signature); $PayPal = new Angelleye_PayPal($PayPalConfig); /* * Call GetExpressCheckoutDetails */ $PayPalResult = $PayPal->GetExpressCheckoutDetails($token); /** * cURL Error Handling #146 * @since 1.1.8 */ AngellEYE_Gateway_Paypal::angelleye_paypal_for_woocommerce_curl_error_handler($PayPalResult, $methos_name = 'GetExpressCheckoutDetails', $gateway = 'PayPal Express Checkout', $this->error_email_notify); /* * Log API result */ $this->add_log('Test Mode: ' . $this->testmode); $this->add_log('Endpoint: ' . $this->API_Endpoint); $PayPalRequest = isset($PayPalResult['RAWREQUEST']) ? $PayPalResult['RAWREQUEST'] : ''; $PayPalResponse = isset($PayPalResult['RAWRESPONSE']) ? $PayPalResult['RAWRESPONSE'] : ''; $this->add_log('Request: ' . print_r($PayPal->NVPToArray($PayPal->MaskAPIResult($PayPalRequest)), true)); $this->add_log('Response: ' . print_r($PayPal->NVPToArray($PayPal->MaskAPIResult($PayPalResponse)), true)); /* * Error handling */ if ($PayPal->APICallSuccessful($PayPalResult['ACK'])) { $this->set_session('payer_id', $PayPalResult['PAYERID']); } /* * Return the class library result array. */ return $PayPalResult; }
/** * CallGetShippingDetails * * Makes a call to PayPal's GetExpressCheckoutDetails API to obtain * information about the order and the buyer. * * @token (string) The token obtained from the previous SetExpressCheckout request. */ function CallGetShippingDetails($token) { /* * Display message to user if session has expired. */ if (sizeof(WC()->cart->get_cart()) == 0) { wc_add_notice(sprintf(__('Sorry, your session has expired. <a href=%s>Return to homepage →</a>', 'paypal-for-woocommerce'), '"' . home_url() . '"'), "error"); } /* * Check if the PayPal class has already been established. */ if (!class_exists('Angelleye_PayPal')) { require_once 'lib/angelleye/paypal-php-library/includes/paypal.class.php'; } /* * Create PayPal object. */ $PayPalConfig = array('Sandbox' => $this->testmode == 'yes' ? TRUE : FALSE, 'APIUsername' => $this->api_username, 'APIPassword' => $this->api_password, 'APISignature' => $this->api_signature); $PayPal = new Angelleye_PayPal($PayPalConfig); /* * Call GetExpressCheckoutDetails */ $PayPalResult = $PayPal->GetExpressCheckoutDetails($token); /* * Log API result */ $this->add_log('Test Mode: ' . $this->testmode); $this->add_log('Endpoint: ' . $this->API_Endpoint); $PayPalRequest = isset($PayPalResult['RAWREQUEST']) ? $PayPalResult['RAWREQUEST'] : ''; $PayPalResponse = isset($PayPalResult['RAWRESPONSE']) ? $PayPalResult['RAWRESPONSE'] : ''; $this->add_log('Request: ' . print_r($PayPal->NVPToArray($PayPal->MaskAPIResult($PayPalRequest)), true)); $this->add_log('Response: ' . print_r($PayPal->NVPToArray($PayPal->MaskAPIResult($PayPalResponse)), true)); /* * Error handling */ if ($PayPal->APICallSuccessful($PayPalResult['ACK'])) { $this->set_session('payer_id', $PayPalResult['PAYERID']); } /* * Return the class library result array. */ return $PayPalResult; }