// DoExpressCheckout for non-subscription products
 if ($keepGoing) {
     // 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