// Look for constant contact opt-in
 if (CART66_PRO) {
     include CART66_PATH . "/pro/Cart66ConstantContactOptIn.php";
 }
 if (CART66_PRO) {
     include CART66_PATH . "/pro/Cart66MailChimpOptIn.php";
 }
 if ($itemTotal > 0 || $shipping > 0) {
     // Send shipping as the item amount if the item amount is $0.00 otherwise paypal will refuse the transaction
     if ($itemTotal == 0 && $shipping > 0) {
         $itemTotal = $shipping;
         $shipping = 0;
     }
     $pp->populatePayPalCartItems();
     Cart66Common::log("Preparing DoExpressCheckout:\nToken: {$token}\nPayerID: {$payerId}\nItem Amount: {$itemTotal}\nShipping: {$shipping}\nTax: {$tax}");
     $response = $pp->DoExpressCheckout($token, $payerId, $itemTotal, $shipping, $tax);
 } else {
     Cart66Common::log('[' . basename(__FILE__) . ' - line ' . __LINE__ . "] Bypassing DoExpressCheckout because item amount is not greater than zero: {$itemTotal}");
     $response['ACK'] = 'SUCCESS';
     // Forcing success since DoExpressCheckout wasn't called
 }
 $ack = strtoupper($response['ACK']);
 if ('SUCCESS' == $ack || 'SUCCESSWITHWARNING' == $ack) {
     // Wait to make sure the transaction is a success before creating the account
     if ($createAccount) {
         Cart66Common::log('[' . basename(__FILE__) . ' - line ' . __LINE__ . "] Creating account after successful PayPal transaction");
         $account->save();
     }
     // Create Recurring Payment Profile if a subscription has been sold
     $profileResponse = array('ACK' => 'SKIPPED');
     if ($cartItem = Cart66Session::get('Cart66Cart')->getPayPalSubscriptionItem()) {