<form method="post" action="https://myurl.com/">
<input type="hidden" name="nospam" value="" />
<input type="hidden" name="vads_site_id" value="5932111">
<input type="hidden" name="vads_ctx_mode" value="TEST">
<input type="hidden" name="vads_trans_id" value="170810203408011">
<input type="hidden" name="vads_trans_date" value="10/08/17 20:34:08">
<input type="hidden" name="vads_currency" value="EUR">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE">
<input type="hidden" name="vads_page_action" value="PAYMENT">
<input type="hidden" name="vads_version" value="V2">
<input type="hidden" name="vads_payment_config" value="SINGLE">
<input type="hidden" name="signature" value="[[CalculateSignature]]" />
<label>First name</label>
<input type="text" name="vads_cust_first_name" value="My first name" readonly />
<label>Last name</label>
<input type="text" name="vads_cust_last_name" value="My last name" readonly />
<input type="submit" value="Go" name="go">
</form>
// Function to calculate signature
// ------------------------------
// Key certificat
$key = "1122334455667788";
// $params : array which contain the fields to send by the form
function getSignature($params){
//Initialisation of the variable which contain the string to be encrypted
$contenu_signature = "" ;
// sort the fields by alphabetical order
ksort($params);
foreach ($params as $nom =>$valeur)
{
// Retreive the vads_ fields
if (substr($nom,0,5)=='vads_') {
// Concatenation with "+" separator
$contenu_signature .= $valeur."+";
}
}
// Adding the certificat on the end
$contenu_signature .= $key;
// SHA-1 algorythm application
$signature = sha1($contenu_signature);
return $signature ;
}This question has been answered by multiple community members. See the first response.
$string = "INTERACTIVE+TEST+EUR+PAYMENT+10/08/17 20:34:08+"170810203408011+SINGLE+5932111+V2+1122334455667788";
$signature = sha1($string);
$modx->setPlaceholder('signature', $signature);
[[+signature]]
[[!FormItRetriever]]
<form method="post" action="https://myurl.com/">
<input type="hidden" name="nospam" value="" />
<input type="hidden" name="vads_site_id" value="5932111">
<input type="hidden" name="vads_ctx_mode" value="TEST">
<input type="hidden" name="vads_trans_id" value="170810203408011">
<input type="hidden" name="vads_trans_date" value="10/08/17 20:34:08">
<input type="hidden" name="vads_currency" value="EUR">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE">
<input type="hidden" name="vads_page_action" value="PAYMENT">
<input type="hidden" name="vads_version" value="V2">
<input type="hidden" name="vads_payment_config" value="SINGLE">
<input type="hidden" name="signature" value="[[!CalculateSignature]]" />
<label>First name</label>
<input type="text" name="vads_cust_first_name" value="My first name" readonly />
<label>Last name</label>
<input type="text" name="vads_cust_last_name" value="My last name" readonly />
<input type="submit" value="Go" name="go">
</form>/* CalculateSignature snippet */
//Initialisation of the variable which contain the string to be encrypted
$contenu_signature = "" ;
$params = $modx->getPlaceholders();
// sort the fields by alphabetical order
ksort($params);
foreach ($params as $nom =>$valeur)
{
// Retreive the vads_ fields
if (strpos($nom,'vads_') !== false)) {
// Concatenation with "+" separator
$contenu_signature .= $valeur."+";
}
}
// Adding the certificat on the end
$contenu_signature .= $key;
// SHA-1 algorythm application
$signature = sha1($contenu_signature);
return $signature ;
$params = $modx->placeholders;
$params = $_POST;