Critical Error: This page can ONLY be viewed under SSL!"); // Get Direct Payment module vars $module = fetchDbConfig("PayPal_Pro"); if($_GET['process']==1){ $gatewayName = "PayPal Website Payments Pro (".$module['paymentAction'].")"; $transData['customer_id'] = $orderSum["customer_id"]; $transData['order_id'] = $orderSum['cart_order_id']; $transData['amount'] = $orderSum['prod_total']; $transData['gateway'] = $gatewayName; $transData['extra'] = "C"; require("classes".CC_DS."validate".CC_DS."validateCard.php"); $card = new validateCard(); if($module['mode']=="US") { $cardNo = trim($_POST['cardNumber']); $issueNo = trim($_POST['issueNo']); $issueDate = false; $issueFormat = false; $expireDate = trim($_POST["expirationYear"]).str_pad(trim($_POST["expirationMonth"]), 2, '0', STR_PAD_LEFT); $expireFormat = 6; $scReqd = TRUE; $securityCode = trim($_POST["cvc2"]); } else { $cardNo = trim($_POST['cardNumber']); $issueNo = trim($_POST['issueNo']); $issueDate = trim($_POST["issueYear"]).str_pad(trim($_POST["issueMonth"]), 2, '0', STR_PAD_LEFT); $issueFormat = 6; $expireDate = trim($_POST["expirationYear"]).str_pad(trim($_POST["expirationMonth"]), 2, '0', STR_PAD_LEFT); $expireFormat = 6; $scReqd = TRUE; $securityCode = trim($_POST["cvc2"]); } $card = $card->check($cardNo, $issueNo, $issueDate, $issueFormat, $expireDate, $expireFormat, $scReqd, $securityCode); if($module['validation']==1 && $card['response']=="FAIL"){ $errorMsg['customer'] = ""; foreach($card['error'] as $val){ $errorMsg['customer'] .= $val."
"; } $transData['trans_id'] = ""; $transData['status'] = "Fail"; $transData['notes'] = $errorMsg['customer']; } else { $extraNotes = ""; include("modules".CC_DS."altCheckout".CC_DS."PayPal_Pro".CC_DS."wpp-".$module['mode'].CC_DS."DoDirectPaymentReceipt.php"); if($ack=="SUCCESS") { // Sale = Funds taken immediately otherwise they may be taken later $paymentResult = ($module['paymentAction'] == "Sale") ? 3 : 2; // 3 is payment complete, 2 is processing $confirmationScreen = ($module['paymentAction'] == "Sale") ? 2 : 3; // Just to confuse matter Al you plonker!! 2 = money taken 3 = money not yet taken (Athorized) $order->orderStatus($paymentResult,$orderSum['cart_order_id']); $jumpTo = "index.php?_g=co&_a=confirmed&s=".$confirmationScreen; $transData['trans_id'] = $resArray['TRANSACTIONID']; $transData['status'] = "SUCCESS"; $transData['notes'] = "Successful transaction via Credit Card. ".$extraNotes; } else { $transData['trans_id'] = ""; $transData['status'] = "FAIL"; $transData['notes'] = "Error displayed to customer: ".$errorMsg['customer']."
Error: ".$errorMsg['admin']."
PayPal Response: ".$errorMsg['paypal']; } } $order->storeTrans($transData); if(isset($jumpTo) && !empty($jumpTo)) { httpredir($jumpTo); } } $formTemplate = new XTemplate ("modules".CC_DS."altCheckout".CC_DS."PayPal_Pro".CC_DS."form.tpl",'',null,'main',true,$skipPath=TRUE); if(isset($errorMsg)) { $formTemplate->assign("LANG_ERROR",$errorMsg['customer']); $formTemplate->parse("form.error"); } $formTemplate->assign("VAL_AMOUNT_DUE",sprintf($lang['gateway']['amount_due'],priceformat($orderSum['prod_total'],true))); $formTemplate->assign("VAL_FIRST_NAME",$cc_session->ccUserData['firstName']); $formTemplate->assign("VAL_LAST_NAME",$cc_session->ccUserData['lastName']); $formTemplate->assign("VAL_EMAIL_ADDRESS",$orderSum['email']); $formTemplate->assign("VAL_ADD_1",$orderSum['add_1']); $formTemplate->assign("VAL_ADD_2",$orderSum['add_2']); $formTemplate->assign("VAL_CITY",$orderSum['town']); $siteCountryIso = getCountryFormat($config['siteCountry'],"id","iso"); if($siteCountryIso=="US" || $siteCountryIso=="CA") { // look up county $isoLookup = $db->select("SELECT abbrev FROM `".$glob['dbprefix']."CubeCart_iso_counties` WHERE `name` LIKE '%".ucfirst(str_replace(" ","",strtolower($orderSum['county'])))."%'"); $states = array ( "Alberta" => "AB", "British Columbia" => "BC", "Manitoba" => "MB", "New Brunswick" => "NB", "Newfoundland and Labrador" => "NF", "Northwest Territories" => "NT", "Nova Scotia" => "NS", "Nunavut" => "NU", "Ontario" => "ON", "Prince Edward Island" => "PE", "Quebec" => "QC", "Saskatchewan" => "SK", "Yukon" => "YK", "Alabama" => "AL", "Alaska" => "AK", "American Samoa" => "AS", "Arizona" => "AZ", "Arkansas" => "AR", "California" => "CA", "Colorado" => "CO", "Connecticut" => "CT", "Delaware" => "DE", "District of Columbia" => "DC", "Federated States of Micronesia" => "FM", "Florida" => "FL", "Georgia" => "GA", "Guam" => "GU", "Hawaii" => "HI", "Idaho" => "ID", "Illinois" => "IL", "Indiana" => "IN", "Iowa" => "IA", "Kansas" => "KS", "Kentucky" => "KY", "Louisiana" => "LA", "Maine" => "ME", "Marshall" => "Islands MH", "Maryland" => "MD", "Massachusetts" => "MA", "Michigan" => "MI", "Minnesota" => "MN", "Mississippi" => "MS", "Missouri" => "MO", "Montana" => "MT", "Nebraska" => "NE", "Nevada" => "NV", "New Hampshire" => "NH", "New Jersey" => "NJ", "New Mexico" => "NM", "New York" => "NY", "North Carolina" => "NC", "North Dakota" => "ND", "Northern Mariana Islands" => "MP", "Ohio" => "OH", "Oklahoma" => "OK", "Oregon" => "OR", "Palau" => "PW", "Pennsylvania" => "PA", "Puerto Rico" => "PR", "Rhode Island" => "RI", "South Carolina" => "SC", "South Dakota" => "SD", "Tennessee" => "TN", "Texas" => "TX", "Utah" => "UT", "Vermont" => "VT", "Virgin Islands" => "VI", "Virginia" => "VA", "Washington" => "WA", "West Virginia" => "WV", "Wisconsin" => "WI", "Wyoming" => "WY", "Armed Forces Americas" => "A", "Armed Forces" => "AE", "Armed Forces Pacific" => "AP" ); foreach($states as $key => $value) { if($value == $isoLookup[0]['abbrev']) { $formTemplate->assign("VAL_STATE_SELECTED","selected='selected'"); } else { $formTemplate->assign("VAL_STATE_SELECTED",""); } $formTemplate->assign("VAL_STATE_ABBR",$value); $formTemplate->assign("VAL_STATE",$key); $formTemplate->parse("form.states_list.states_loop"); } $formTemplate->assign("LANG_STATE",$lang['gateway']['state']); $formTemplate->parse("form.states_list"); } else { $formTemplate->assign("LANG_STATE",$lang['gateway']['state']); $formTemplate->assign("VAL_STATE",$orderSum['county']); $formTemplate->parse("form.states_txtbox"); } $formTemplate->assign("VAL_POST_CODE",$orderSum['postcode']); $formTemplate->assign("VAL_CART_ORDER_ID",$basket['cart_order_id']); $formTemplate->assign("VAL_ORDER_TOTAL",$basket['grandTotal']); $formTemplate->assign("VAL_ITEM_TOTAL",$basket['subTotal']); $formTemplate->assign("VAL_TAX_TOTAL",$basket['tax']); $formTemplate->assign("VAL_SHIPPING_TOTAL",$basket['shipCost']); $currency = $db->select("SELECT currency FROM ".$glob['dbprefix']."CubeCart_sessions WHERE sessId = ".$db->mySQLSafe($GLOBALS[CC_SESSION_NAME])); if($currency == TRUE && $currency[0]['currency'] != ''){ $formTemplate->assign("VAL_CURRENCY_ID", $currency[0]['currency']); } else { $formTemplate->assign("VAL_CURRENCY_ID", $config['defaultCurrency']); } if($module['mode']=="US") { $cards = array( "Visa" => "Visa", "MasterCard" => "MasterCard", "Discover" => "Discover", "Amex" => "American Express" ); } else { $cards = array( "0" => "Visa", "8" => "Visa Electron", "8" => "Delta", "1" => "MasterCard", "9" => "Maestro / Switch", "S" => "Solo" //"8" => "Other" ); } foreach($cards as $key => $value) { $formTemplate->assign("VAL_CARD_TYPE",$key); if($key == $_POST['cardType']){ $formTemplate->assign("CARD_SELECTED","selected='selected'"); } else { $formTemplate->assign("CARD_SELECTED",""); } $formTemplate->assign("VAL_CARD_NAME",$value); $formTemplate->parse("form.repeat_cards"); } for($i=1;$i<=12;$i++) { $val = sprintf('%02d',$i); if($val == $_POST['expirationMonth']){ $formTemplate->assign("EXPIRE_MONTHS_SELECTED","selected='selected'"); } else { $formTemplate->assign("EXPIRE_MONTHS_SELECTED",""); } $formTemplate->assign("VAL_EXPIRE_MONTH",$val); $formTemplate->parse("form.expiration_months"); } $thisYear = date("Y"); $maxYear = $thisYear + 10; for($i=$thisYear;$i<=$maxYear;$i++) { if($i == $_POST['expirationYear']){ $formTemplate->assign("EXPIRE_YEARS_SELECTED","selected='selected'"); } else { $formTemplate->assign("EXPIRE_YEARS_SELECTED",""); } $formTemplate->assign("VAL_EXPIRE_YEAR",$i); $formTemplate->parse("form.expiration_years"); } $cache = new cache('glob.countries'); $countries = $cache->readCache(); $countries = $db->select("SELECT id, iso, printable_name FROM ".$glob['dbprefix']."CubeCart_iso_countries ORDER BY printable_name"); for($i=0; $iassign("COUNTRY_SELECTED","selected='selected'"); } else { $formTemplate->assign("COUNTRY_SELECTED",""); } $formTemplate->assign("VAL_COUNTRY_ISO",$countries[$i]['iso']); $countryName = ""; $countryName = $countries[$i]['printable_name']; if(strlen($countryName)>20){ $countryName = substr($countryName,0,20)."…"; } $formTemplate->assign("VAL_COUNTRY_NAME",$countryName); $formTemplate->parse("form.repeat_countries"); } $formTemplate->assign("LANG_CC_INFO_TITLE",$lang['gateway']['cc_info_title']); $formTemplate->assign("LANG_FIRST_NAME",$lang['gateway']['first_name']); $formTemplate->assign("LANG_LAST_NAME",$lang['gateway']['last_name']); $formTemplate->assign("LANG_CARD_TYPE",$lang['gateway']['card_type']); $formTemplate->assign("LANG_CARD_NUMBER",$lang['gateway']['card_number']); $formTemplate->assign("LANG_EXPIRES",$lang['gateway']['expires']); $formTemplate->assign("LANG_MMYYYY",$lang['gateway']['mmyyyy']); $formTemplate->assign("LANG_SECURITY_CODE",$lang['gateway']['security_code']); $formTemplate->assign("LANG_CUST_INFO_TITLE",$lang['gateway']['customer_info']); $formTemplate->assign("LANG_EMAIL",$lang['gateway']['email']); $formTemplate->assign("LANG_ADDRESS",$lang['gateway']['address']); $formTemplate->assign("LANG_CITY",$lang['gateway']['city']); $formTemplate->assign("LANG_ZIPCODE",$lang['gateway']['zipcode']); $formTemplate->assign("LANG_COUNTRY",$lang['gateway']['country']); $formTemplate->assign("LANG_OPTIONAL",$lang['gateway']['optional']); if($module['mode']=="UK"){ for($i=1;$i<=12;$i++) { $val = sprintf('%02d',$i); if($val == $_POST['issueMonth']){ $formTemplate->assign("ISSUE_MONTHS_SELECTED","selected='selected'"); } else { $formTemplate->assign("ISSUE_MONTHS_SELECTED",""); } $formTemplate->assign("VAL_ISSUE_MONTH",$val); $formTemplate->parse("form.issue_info.issue_months"); } $minYear = $thisYear - 10; for($i = $thisYear; $i>=$minYear; $i--) { if($i == $_POST['issueYear']){ $formTemplate->assign("ISSUE_YEARS_SELECTED","selected='selected'"); } else { $formTemplate->assign("ISSUE_YEARS_SELECTED",""); } $formTemplate->assign("VAL_ISSUE_YEAR",$i); $formTemplate->parse("form.issue_info.issue_years"); } $formTemplate->assign("LANG_ISSUE_DATE", $lang['gateway']['issue_date']); $formTemplate->assign("LANG_ISSUE_NO", $lang['gateway']['issue_number']); $formTemplate->parse("form.issue_info"); } $formTemplate->assign("VAL_GATEWAY","PayPal Website Payments Pro (".$module['paymentAction'].")"); $formTemplate->parse("form"); $formTemplate = $formTemplate->text("form"); ?>