Critical Error: This page can ONLY be viewed under SSL!"); if($_GET['process']==1){ $transData['customer_id'] = $orderSum["customer_id"]; $transData['order_id'] = $orderSum['cart_order_id']; $transData['amount'] = $orderSum['prod_total']; $transData['gateway'] = "psiGate"; // first check card require("classes".CC_DS."validate".CC_DS."validateCard.php"); $card = new validateCard(); $cardNo = $_POST["cardNumber"]; $issueNo = 0; $issueDate = 0; $issueFormat = 4; $expireDate = $_POST["expirationMonth"].$_POST["expirationYear"]; $expireFormat = 4; $scReqd = TRUE; $securityCode = $_POST["cvc2"]; $card = $card->check($cardNo, $issueNo, $issueDate, $issueFormat, $expireDate, $expireFormat, $scReqd, $securityCode); if($module['validation']==1 && $card['response']=="FAIL"){ $errorMsg = ""; foreach($card['error'] as $val){ $errorMsg .= $val."
"; } } else { $XPost = " "; if($module['test']==1){ $XPost .= "teststore psigate1234"; } else { $XPost .= "".$module['acNo']." ".$module['passPhrase']." "; } $XPost .= "".$orderSum['prod_total']." CC 0 ".trim($_POST["cardNumber"])." ".trim($_POST["expirationMonth"])." ".trim($_POST["expirationYear"])." 1 ".trim($_POST["cvc2"])." ".trim(get_ip_address())." ".$orderSum['cart_order_id']." Order #".$orderSum['cart_order_id']." 1 ".$orderSum['prod_total']." ".trim($_POST["firstName"])." ".$_POST["lastName"]." ".trim($_POST["addr1"])." ".trim($_POST["addr2"])." ".trim($_POST["city"])." ".trim($_POST["state"])." ".trim($_POST["postalCode"])." ".trim($_POST["country"])." ".trim($_POST["emailAddress"])." "; if($module['test']==1){ $url = "https://dev.psigate.com:7989/Messenger/XMLMessenger"; } else { $url = $module['url']; } $ch = curl_init(); // initialize curl handle curl_setopt($ch, CURLOPT_URL,$url); // set url to post to curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable curl_setopt($ch, CURLOPT_TIMEOUT, 4); // times out after 4s curl_setopt($ch, CURLOPT_POSTFIELDS, $XPost); // add POST fields if($config['proxy']==1){ curl_setopt ($ch, CURLOPT_PROXY, $config['proxyHost'].":".$config['proxyPort']); } $result = curl_exec($ch); // run the whole process if (curl_errno($ch)) { print curl_error($ch); } else { curl_close($ch); } // use XML Parser on $result, and your set! $xml_parser = xml_parser_create(); xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,0); xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE,1); xml_parse_into_struct($xml_parser, $result, $vals, $index); xml_parser_free($xml_parser); // $vals = array of XML tags. Go get em! /* foreach($vals as $key => $value){ echo $key ." = ".$value."
"; foreach($value as $key2 => $value2){ echo $key2 ." = ".$value2."
"; } echo "
"; } echo "Array 4 Value = ".$vals[4]['value']; exit; */ $notes = explode(":",$vals[6]['value']); if($vals[4]['value'] == "APPROVED") { $order->orderStatus(3,$orderSum['cart_order_id']); $jumpTo = "index.php?_g=co&_a=confirmed&s=2"; $transData['trans_id'] = $vals[13]['value']; $transData['status'] = $vals[4]['value']; $transData['notes'] = $notes[1]; } else { $transData['trans_id'] = "n/a"; $transData['status'] = $vals[4]['value']; $transData['notes'] = $notes[1]; $errorMsg = $notes[1]; } } $order->storeTrans($transData); if(isset($jumpTo) && !empty($jumpTo)) { httpredir($jumpTo); } } $formTemplate = new XTemplate ("modules".CC_DS."gateway".CC_DS.$_POST['gateway'].CC_DS."form.tpl",'',null,'main',true,$skipPath=TRUE); if(isset($errorMsg)) { $formTemplate->assign("LANG_ERROR",$errorMsg); $formTemplate->parse("form.error"); } $billingName = makeName($orderSum['name']); $formTemplate->assign("VAL_AMOUNT_DUE",sprintf($lang['gateway']['amount_due'],priceformat($orderSum['prod_total'],true))); $formTemplate->assign("VAL_FIRST_NAME",$billingName[2]); $formTemplate->assign("VAL_LAST_NAME",$billingName[3]); $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']); $formTemplate->assign("VAL_COUNTY",$orderSum['county']); $formTemplate->assign("VAL_POST_CODE",$orderSum['postcode']); $formTemplate->assign("VAL_CART_ORDER_ID",$orderSum['cart_order_id']); $formTemplate->assign("VAL_GRAND_TOTAL",$orderSum['prod_total']); $formTemplate->assign("VAL_MERCH_ID",$module['acNo']); $cache = new cache('glob.countries'); $countries = $cache->readCache(); if($cache->cacheStatus==FALSE) { $countries = $db->select("SELECT id, iso, printable_name FROM ".$glob['dbprefix']."CubeCart_iso_countries ORDER BY printable_name"); $cache->writeCache($countries); } 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_STATE",$lang['gateway']['state']); $formTemplate->assign("LANG_ZIPCODE",$lang['gateway']['zipcode']); $formTemplate->assign("LANG_COUNTRY",$lang['gateway']['country']); $formTemplate->assign("LANG_OPTIONAL",$lang['gateway']['optional']); $formTemplate->assign("VAL_GATEWAY",$_POST['gateway']); $formTemplate->parse("form"); $formTemplate = $formTemplate->text("form"); ?>