0) { $cardnum = htmlspecialcharsbx(Trim($_POST["cardnum"])); $cardnum = preg_replace("#[\D]#i", "", $cardnum); if (strlen($cardnum) <=0 ) $strErrorTmp.= "Please fill in \"Credit Card Number\" field. "; $cvv2 = htmlspecialcharsbx(Trim($_POST["cvv2"])); if (strlen($cvv2) <= 0) $strErrorTmp.= "Please fill in \"CVV2\" field. "; $cardexp1 = IntVal(htmlspecialcharsbx($_POST["cardexp1"])); $cardexp2 = IntVal(htmlspecialcharsbx($_POST["cardexp2"])); if ($cardexp1 < 1 || $cardexp1 > 12) $strErrorTmp.= "Please fill in \"Expiration Date\" field. "; elseif ($cardexp2 < 4 || $cardexp2 > 99) $strErrorTmp.= "Please fill in \"Expiration Date\" field. "; else { $cardexp1 = ((strlen($cardexp1) < 2) ? "0".$cardexp1 : $cardexp1); $cardexp2 = ((strlen($cardexp2) < 2) ? "0".$cardexp2 : $cardexp2); } $noc = htmlspecialcharsbx(trim($_POST["noc"])); if (strlen($noc) <= 0) $strErrorTmp.= "Please fill in \"Cardholder\" field. "; $address1 = htmlspecialcharsbx(trim($_POST["address1"])); if (strlen($address1) <= 0) $strErrorTmp.= "Please fill in \"Address\" field. "; $zipcode = htmlspecialcharsbx(trim($_POST["zipcode"])); if (strlen($zipcode) <= 0) $strErrorTmp.= "Please fill in \"Zip\" field. "; if (strlen($strErrorTmp) <= 0) { $ret_var = ""; $AMT = $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SHOULD_PAY"]; if ($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"] != "USD") { $AMT = CCurrencyRates::ConvertCurrency($AMT, $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], "USD"); $additor = 1; for ($i = 0; $i < SALE_VALUE_PRECISION; $i++) $additor = $additor / 10; $AMT_tmp = round($AMT, SALE_VALUE_PRECISION); while ($AMT_tmp < $AMT) $AMT_tmp = round($AMT_tmp + $additor, SALE_VALUE_PRECISION); $AMT = $AMT_tmp; } $AMT = str_replace(",", ".", $AMT); $cardExp = $cardexp1.$cardexp2; $parms = "ACCT=".urlencode($cardnum); // Credit card number $parms .= "&CVV2=".urlencode($cvv2); // CVV2 $parms .= "&AMT=".urlencode($AMT); // Amount (US Dollars) $parms .= "&EXPDATE=".urlencode($cardExp); // Expiration date $parms .= "&PARTNER=".urlencode($PF_PARTNER); // Partner $parms .= "&PWD=".urlencode($PF_PWD); // Password $parms .= "&TENDER=C"; // ... $parms .= "&TRXTYPE=S"; // Kind of transaction: Sale $parms .= "&USER=".urlencode($PF_USER); // Login ID $parms .= "&VENDOR=".urlencode($PF_USER); // Vendor ID $parms .= "&ZIP=".urlencode($zipcode); // Zip $parms .= "&STREET=".urlencode($address1); // Address $parms .= "&COMMENT1=".urlencode($ORDER_ID); $parms .= "&COMMENT2=".urlencode($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DATE_INSERT"]); $ret_com = "$strExePath $PF_HOST $PF_PORT \"$parms\" 30"; putenv("PFPRO_CERT_PATH=".$PFPRO_CERT_PATH); putenv("LD_LIBRARY_PATH=".$strExeDir); exec($ret_com, $arOutput, $ret_var); $strOutput = $arOutput[0]; parse_str($strOutput, $arResult); if (is_array($arResult) && strlen($arResult["RESULT"])>0) { $arFields = array( "PS_STATUS" => (($arResult["RESULT"]==0) ? "Y" : "N"), "PS_STATUS_CODE" => $arResult["RESULT"], "PS_STATUS_DESCRIPTION" => $arResult["RESPMSG"]." - ".$arResult["PREFPSMSG"], "PS_STATUS_MESSAGE" => $arResult["PNREF"], "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))) ); $arResult["RESULT"] = IntVal($arResult["RESULT"]); if ($arResult["RESULT"]==0) { CSaleOrder::PayOrder($ORDER_ID, "Y"); } CSaleOrder::Update($ORDER_ID, $arFields); $arResult["RESULT"] = IntVal($arResult["RESULT"]); if ($arResult["RESULT"]==0) $bNonePay = False; else { if ($arResult["RESULT"]<0) { $strErrorTmp.= "Communication Error: [".$arResult["RESULT"]."] ".$arResult["RESPMSG"]." - ".$arResult["PREFPSMSG"].". "; } elseif ($arPaySysRes_tmp["RESULT"]==125) { $strErrorTmp.= "Your payment is declined by Fraud Service. Please contact us to make payment. "; } elseif ($arResult["RESULT"]==126) { $strErrorTmp.= "Your payment is under review by Fraud Service. We contact you in 48 hours to get more specific information. "; } elseif (is_set($arErrorCodes, $arResult["RESULT"])) { $strErrorTmp.= $arErrorCodes[$arResult["RESULT"]].". "; } else { $strErrorTmp.= "Unknown error. "; } } } else $strErrorTmp.= "Response error. "; } } //*************************************************** //*** END ACTION ********************************** //*************************************************** if (!$bNonePay) { ?> Thank you for purchasing!
You have been billed
0) echo "".$strErrorTmp."
"; $noc_def = htmlspecialcharsbx(CSalePaySystemAction::GetParamValue("NOC")); $address1_def = htmlspecialcharsbx(CSalePaySystemAction::GetParamValue("ADDRESS")); $zipcode_def = htmlspecialcharsbx(CSalePaySystemAction::GetParamValue("ZIP")); ?>
Credit Card Number