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>
-->