Paybox Update : include Paybox HMAC key in process in order to keep

the module working with Paybox.
This commit is contained in:
aplose 2018-10-21 18:28:05 +02:00
parent 8ee7a48583
commit 263b53bf63
2 changed files with 45 additions and 11 deletions

View File

@ -71,6 +71,9 @@ if ($action == 'setvalue' && $user->admin)
if (! $result > 0) $error++; if (! $result > 0) $error++;
$result=dolibarr_set_const($db, "PAYMENT_SECURITY_TOKEN_UNIQUE",GETPOST('PAYMENT_SECURITY_TOKEN_UNIQUE','alpha'),'chaine',0,'',$conf->entity); $result=dolibarr_set_const($db, "PAYMENT_SECURITY_TOKEN_UNIQUE",GETPOST('PAYMENT_SECURITY_TOKEN_UNIQUE','alpha'),'chaine',0,'',$conf->entity);
if (! $result > 0) $error++; if (! $result > 0) $error++;
$result=dolibarr_set_const($db, "PAYBOX_HMAC_KEY", dol_encode(GETPOST('PAYBOX_HMAC_KEY','alpha')),'chaine',0,'',$conf->entity);
if (! $result > 0) $error++;
if (! $error) if (! $error)
{ {
@ -145,6 +148,12 @@ print '<input size="32" type="text" name="PAYBOX_PBX_IDENTIFIANT" value="'.$conf
print '<br>'.$langs->trans("Example").': 2 ('.$langs->trans("Test").')'; print '<br>'.$langs->trans("Example").': 2 ('.$langs->trans("Test").')';
print '</td></tr>'; print '</td></tr>';
print '<tr class="oddeven"><td>';
print '<span class="fieldrequired">'.$langs->trans("PAYBOX_HMAC_KEY").'</span></td><td>';
print '<input size="100" type="text" name="PAYBOX_HMAC_KEY" value="'.dol_decode($conf->global->PAYBOX_HMAC_KEY).'">';
print '<br>'.$langs->trans("Example").': 2 ('.$langs->trans("Test").')';
print '</td></tr>';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("UsageParameter").'</td>'; print '<td>'.$langs->trans("UsageParameter").'</td>';
print '<td>'.$langs->trans("Value").'</td>'; print '<td>'.$langs->trans("Value").'</td>';

View File

@ -103,6 +103,31 @@ function print_paybox_redirect($PRICE,$CURRENCY,$EMAIL,$urlok,$urlko,$TAG)
$PBX_SOURCE='HTML'; $PBX_SOURCE='HTML';
$PBX_TYPEPAIEMENT='CARTE'; $PBX_TYPEPAIEMENT='CARTE';
$msg = "PBX_IDENTIFIANT=".$PBX_IDENTIFIANT.
"&PBX_MODE=".$IBS_MODE.
"&PBX_SITE=".$IBS_SITE.
"&PBX_RANG=".$IBS_RANG.
"&PBX_TOTAL=".$IBS_TOTAL.
"&PBX_DEVISE=".$IBS_DEVISE.
"&PBX_CMD=".$IBS_CMD.
"&PBX_PORTEUR=".$IBS_PORTEUR.
"&PBX_RETOUR=".$IBS_RETOUR.
"&PBX_EFFECTUE=".$IBS_EFFECTUE.
"&PBX_ANNULE=".$IBS_ANNULE.
"&PBX_REFUSE=".$IBS_REFUSE.
"&PBX_TXT=".$IBS_TXT.
"&PBX_BKGD=".$IBS_BKGD.
"&PBX_WAIT=".$IBS_WAIT.
"&PBX_LANGUE=".$IBS_LANG.
"&PBX_OUTPUT=".$IBS_OUTPUT.
"&PBX_SOURCE=".$PBX_SOURCE.
"&PBX_TYPEPAIEMENT=".$PBX_TYPEPAIEMENT;
$binKey = pack("H*", dol_decode($conf->global->PAYBOX_HMAC_KEY));
$hmac = strtoupper(hash_hmac('sha512', $msg, $binKey));
dol_syslog("Soumission Paybox", LOG_DEBUG); dol_syslog("Soumission Paybox", LOG_DEBUG);
dol_syslog("IBS_MODE: $IBS_MODE", LOG_DEBUG); dol_syslog("IBS_MODE: $IBS_MODE", LOG_DEBUG);
dol_syslog("IBS_SITE: $IBS_SITE", LOG_DEBUG); dol_syslog("IBS_SITE: $IBS_SITE", LOG_DEBUG);
@ -157,7 +182,7 @@ function print_paybox_redirect($PRICE,$CURRENCY,$EMAIL,$urlok,$urlko,$TAG)
print '<input type="hidden" name="PBX_OUTPUT" value="'.$IBS_OUTPUT.'">'."\n"; print '<input type="hidden" name="PBX_OUTPUT" value="'.$IBS_OUTPUT.'">'."\n";
print '<input type="hidden" name="PBX_SOURCE" value="'.$PBX_SOURCE.'">'."\n"; print '<input type="hidden" name="PBX_SOURCE" value="'.$PBX_SOURCE.'">'."\n";
print '<input type="hidden" name="PBX_TYPEPAIEMENT" value="'.$PBX_TYPEPAIEMENT.'">'."\n"; print '<input type="hidden" name="PBX_TYPEPAIEMENT" value="'.$PBX_TYPEPAIEMENT.'">'."\n";
print '<input type="hidden" name="PBX_HMAC" value="'.$hmac.'">'."\n";
print '</form>'."\n"; print '</form>'."\n";