File "utc.php"

Full Path: /home/analogde/www/SVN/payment/utc.php
File size: 6.67 KB
MIME-type: text/x-php
Charset: utf-8

<?php

	// Vérifier si le formulaire est soumis 
	if ( isset( $_POST['submit'] ) ) 
	{
		echo "Soumis ....";
		echo "<br>";
		echo "0 " .$_POST['vads_action_mode'] ."<br>";
		echo "1 " .$_POST['vads_amount'] ."<br>";
		echo "2 " .$_POST["vads_ctx_mode"] ."<br>";
		echo "3 " .$_POST["vads_currency"] ."<br>";
		echo "4 " .$_POST["vads_page_action"] ."<br>";
		echo "5 " .$_POST["vads_payment_config"] ."<br>";
		echo "6 " .$_POST["vads_site_id"] ."<br>";
		echo "7 " .$_POST["vads_trans_date"] ."<br>";
		echo "8 " .$_POST["vads_trans_id"] ."<br>";
		echo "9 " .$_POST["vads_version"] ."<br>";
		echo "10 " .$_POST["signature"] ."<br>";
	}
	//AAAAMMJJHHMMSS

	$timezone = date_default_timezone_get();
	echo "The current server timezone is: " . $timezone;	
	
	//$date = date('m/d/Y h:i:s a', time());
	//$date = date('Y/m/d/H/i/s');
	$date = date('YmdHis');
	
	echo $date;
	
	$data_form = array();
	
	$data_form_params[0]= "INTERACTIVE"; 	//
	$data_form_params[1]= "5124";  			//
	$data_form_params[2]= "TEST";			//
	$data_form_params[3]= "978"; 			//
	$data_form_params[4]= "PAYMENT"; 		//
	$data_form_params[5]= "SINGLE"; 		//
	$data_form_params[6]= "12345678"; 		//
	$data_form_params[7]= "20170129130025"; // 
	$data_form_params[8]= "123456"; 		//
	$data_form_params[9]= "V2"; 			//

	echo "<pre>";
	print_r($data_form_params);
	echo "</pre>";
	

	
	//$aaa = "INTERACTIVE+5124+TEST+978+PAYMENT+SINGLE+12345678+20170129130025+123456+V2+1122334455667788";
	
	//$params = "INTERACTIVE+5124+TEST+978+PAYMENT+SINGLE+12345678+20170129130025+123456+V2";
	$key = "1122334455667788";
	
	//echo " Key " . getSignature_SHA256 ($data_form_params,$key);
	
	//echo "<br>";
	//echo "<br>";

	
	

	
	$signature_content = "INTERACTIVE+5124+TEST+978+PAYMENT+SINGLE+12345678+20170129130025+123456+V2+1122334455667788";
	
	$signature_sha1 = sha1($signature_content);
	echo " Test 1 :" .$signature_sha1;
	echo "<br>";
	echo "<br>";

	
	$signature_sha256 = base64_encode(hash_hmac('sha256',$signature_content, $key, true));
	echo " Test 2 :" .$signature_sha256;
	echo "<br>";
	echo "<br>";
	
	$algo_sha1 = getSignature_SHA1 ($data_form_params,$key);
	echo " Test 2 :" .$algo_sha1;
	echo "<br>";
	echo "<br>";
	
	$algo_sha256 = getSignature_SHA256 ($data_form_params,$key);
	echo " Test 2 :" .$algo_sha256;
	echo "<br>";
	echo "<br>";
	
	if (strcmp($signature_sha1, $algo_sha1) == 0) 
	{
		echo $signature_sha1 ." OK "; 
		echo "<br>";
	}
	
	if (strcmp($signature_sha256, $algo_sha256) == 0) 
	{
		echo $signature_sha256 ." OK "; 
		echo "<br>";
	}
	
	// calcul     59c96b34c74b9375c332b0b6a32e6deeec87de2b 
	// reference  59c96b34c74b9375c332b0b6a32e6deeec87de2b
	
	// calcul      ycA5Do5tNvsnKdc/eP1bj2xa19z9q3iWPy9/rpesfS0= 
	// reference   ycA5Do5tNvsnKdc/eP1bj2xa19z9q3iWPy9/rpesfS0=
	
	
	
	
	
function getSignature_SHA256($params,$key)
{
	$signature_content = "";
	//sorting fields alphabetically
	//ksort($params);
	foreach($params as $name=>$value)
	{
		//Recovery of vads_ fields
		//if (substr($name,0,5)=='vads_')
		//{
		//Concatenation with "+"
		//$signature_content .= $value."+";
		//}
	
		$signature_content .= $value."+";
	}

	//Adding the key at the end
	$signature_content .= $key;
	
	//Encoding base64 encoded chain with SHA-256 algorithm
	$signature = base64_encode(hash_hmac('sha256',$signature_content, $key, true));
	return $signature;
}

function getSignature_SHA1($params, $key)
{
	$signature_content = "" ;
	//ksort($params);

	foreach ($params as $name =>$value)
	{
		// Recovery of vads_ fields
		//if (substr($name,0,5)=='vads_') 
		//{
		// Concatenation with "+"
		$signature_content .= $value."+";
		//}
	}
	
	// Adding the key at the end
	$signature_content .= $key;
	
	// Applying SHA-1 algorithm
	$signature = sha1($signature_content);
	return $signature ;
}


?>

<?php

// traitement data

	$tarif = 24;
	$amount = $tarif * 100;
	
	$action_mode = "INTERACTIVE"; 
	$amount  =  strval($amount);
	$ctx_mode = "TEST";
	$currency = "978";
	$page_action = "PAYMENT";
	$payment_config = "SINGLE";
	$site_id = "12345678";
	$trans_date = strval(date('YmdHis')); 	//	"20170129130025";
	$trans_id = strval( date("his") ); 		//	"123456";
	$version = "V2";
	
	$data_form_params[0]= $action_mode; 	//
	$data_form_params[1]= $amount; 			//
	$data_form_params[2]= $ctx_mode;		//
	$data_form_params[3]= $currency;		//
	$data_form_params[4]= $page_action;		//
	$data_form_params[5]= $payment_config;	//
	$data_form_params[6]= $site_id; 		//
	$data_form_params[7]= $trans_date;		// 
	$data_form_params[8]= $trans_id; 		//
	$data_form_params[9]= $version; 		//
	
	$key = "1122334455667788";
	
	$algo_sha1 = getSignature_SHA1 ($data_form_params,$key);
	echo " Test 2 :" .$algo_sha1;
	echo "<br>";
	echo "<br>";
	
	$algo_sha256 = getSignature_SHA256 ($data_form_params,$key);
	echo " Test 2 :" .$algo_sha256;
	echo "<br>";
	echo "<br>";
	
	$signature = $algo_sha1;

?>

<!--
<form method="POST" action="https://secure.payzen.eu/vads-payment/">
-->
<form method="POST" action="utc.php">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="<?php echo $amount ?>"/>
<input type="hidden" name="vads_ctx_mode" value="TEST" />
<input type="hidden" name="vads_currency" value="978" />
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="SINGLE" />
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_trans_date" value="<?php echo $trans_date ?>" />
<input type="hidden" name="vads_trans_id" value="<?php echo $trans_id ?>" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="signature" value="<?php echo $signature ?>">
<input type="submit" name="submit" value="Payer"/>
</form>

<!--
<form method="POST" action="utc.php">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="5124" />
<input type="hidden" name="vads_ctx_mode" value="TEST" />
<input type="hidden" name="vads_currency" value="978" />
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="SINGLE" />
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_trans_date" value="20170129130025" />
<input type="hidden" name="vads_trans_id" value="123456" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="signature" value="ycA5Do5tNvsnKdc/eP1bj2xa19z9q3iWPy9/rpesfS0="/>
<input type="submit" name="submit" value="Payer"/>
</form>
-->