41 global $conf, $langs, $db;
43 dol_syslog(
"Paybox.lib::print_paybox_redirect", LOG_DEBUG);
46 $PBX_IDENTIFIANT =
"2";
47 if (!empty($conf->global->PAYBOX_PBX_IDENTIFIANT)) $PBX_IDENTIFIANT = $conf->global->PAYBOX_PBX_IDENTIFIANT;
48 $IBS_SITE =
"1999888";
49 if (!empty($conf->global->PAYBOX_IBS_SITE)) $IBS_SITE = $conf->global->PAYBOX_IBS_SITE;
51 if (!empty($conf->global->PAYBOX_IBS_RANG)) $IBS_RANG = $conf->global->PAYBOX_IBS_RANG;
53 if ($CURRENCY ==
'EUR') $IBS_DEVISE =
"978";
54 if ($CURRENCY ==
'USD') $IBS_DEVISE =
"840";
57 if ($conf->global->PAYBOX_CGI_URL_V1) $URLPAYBOX = $conf->global->PAYBOX_CGI_URL_V1;
58 if ($conf->global->PAYBOX_CGI_URL_V2) $URLPAYBOX = $conf->global->PAYBOX_CGI_URL_V2;
60 if (empty($IBS_DEVISE))
62 dol_print_error(
'',
"Paybox setup param PAYBOX_IBS_DEVISE not defined");
65 if (empty($URLPAYBOX))
67 dol_print_error(
'',
"Paybox setup param PAYBOX_CGI_URL_V1 and PAYBOX_CGI_URL_V2 undefined");
81 $conf->global->PAYBOX_HASH =
'sha512';
85 $IBS_TOTAL = $PRICE * 100;
87 $IBS_PORTEUR = $EMAIL;
88 $IBS_RETOUR =
"montant:M;ref:R;auto:A;trans:T";
90 $IBS_EFFECTUE = $urlok;
93 $IBS_BKGD =
"#FFFFFF";
96 if (preg_match(
'/^FR/i', $langs->defaultlang)) $IBS_LANG =
"FRA";
97 if (preg_match(
'/^ES/i', $langs->defaultlang)) $IBS_LANG =
"ESP";
98 if (preg_match(
'/^IT/i', $langs->defaultlang)) $IBS_LANG =
"ITA";
99 if (preg_match(
'/^DE/i', $langs->defaultlang)) $IBS_LANG =
"DEU";
100 if (preg_match(
'/^NL/i', $langs->defaultlang)) $IBS_LANG =
"NLD";
101 if (preg_match(
'/^SE/i', $langs->defaultlang)) $IBS_LANG =
"SWE";
103 $PBX_SOURCE =
'HTML';
104 $PBX_TYPEPAIEMENT =
'CARTE';
105 $PBX_HASH = $conf->global->PAYBOX_HASH;
108 $msg =
"PBX_IDENTIFIANT=".$PBX_IDENTIFIANT.
109 "&PBX_MODE=".$IBS_MODE.
110 "&PBX_SITE=".$IBS_SITE.
111 "&PBX_RANG=".$IBS_RANG.
112 "&PBX_TOTAL=".$IBS_TOTAL.
113 "&PBX_DEVISE=".$IBS_DEVISE.
114 "&PBX_CMD=".$IBS_CMD.
115 "&PBX_PORTEUR=".$IBS_PORTEUR.
116 "&PBX_RETOUR=".$IBS_RETOUR.
117 "&PBX_EFFECTUE=".$IBS_EFFECTUE.
118 "&PBX_ANNULE=".$IBS_ANNULE.
119 "&PBX_REFUSE=".$IBS_REFUSE.
120 "&PBX_TXT=".$IBS_TXT.
121 "&PBX_BKGD=".$IBS_BKGD.
122 "&PBX_WAIT=".$IBS_WAIT.
123 "&PBX_LANGUE=".$IBS_LANG.
124 "&PBX_OUTPUT=".$IBS_OUTPUT.
125 "&PBX_SOURCE=".$PBX_SOURCE.
126 "&PBX_TYPEPAIEMENT=".$PBX_TYPEPAIEMENT;
127 "&PBX_HASH=".$PBX_HASH;
128 "&PBX_TIME=".$PBX_TIME;
130 $binKey = pack(
"H*",
dol_decode($conf->global->PAYBOX_HMAC_KEY));
132 $hmac = strtoupper(hash_hmac($PBX_HASH, $msg, $binKey));
139 dol_syslog(
"IBS_TOTAL: $IBS_TOTAL", LOG_DEBUG);
140 dol_syslog(
"IBS_DEVISE: $IBS_DEVISE", LOG_DEBUG);
142 dol_syslog(
"IBS_PORTEUR: $IBS_PORTEUR", LOG_DEBUG);
143 dol_syslog(
"IBS_RETOUR: $IBS_RETOUR", LOG_DEBUG);
144 dol_syslog(
"IBS_EFFECTUE: $IBS_EFFECTUE", LOG_DEBUG);
145 dol_syslog(
"IBS_ANNULE: $IBS_ANNULE", LOG_DEBUG);
146 dol_syslog(
"IBS_REFUSE: $IBS_REFUSE", LOG_DEBUG);
150 dol_syslog(
"IBS_OUTPUT: $IBS_OUTPUT", LOG_DEBUG);
151 dol_syslog(
"PBX_IDENTIFIANT: $PBX_IDENTIFIANT", LOG_DEBUG);
152 dol_syslog(
"PBX_SOURCE: $PBX_SOURCE", LOG_DEBUG);
153 dol_syslog(
"PBX_TYPEPAIEMENT: $PBX_TYPEPAIEMENT", LOG_DEBUG);
157 header(
"Content-type: text/html; charset=".$conf->file->character_set_client);
158 header(
"X-Content-Type-Options: nosniff");
162 print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$conf->file->character_set_client.
"\">\n";
163 print '</head>'.
"\n";
168 print '<form action="'.$URLPAYBOX.
'" NAME="Submit" method="POST">'.
"\n";
171 print '<!-- Param for Paybox v2 -->'.
"\n";
172 print '<input type="hidden" name="PBX_IDENTIFIANT" value="'.$PBX_IDENTIFIANT.
'">'.
"\n";
173 print '<input type="hidden" name="PBX_MODE" value="'.$IBS_MODE.
'">'.
"\n";
174 print '<input type="hidden" name="PBX_SITE" value="'.$IBS_SITE.
'">'.
"\n";
175 print '<input type="hidden" name="PBX_RANG" value="'.$IBS_RANG.
'">'.
"\n";
176 print '<input type="hidden" name="PBX_TOTAL" value="'.$IBS_TOTAL.
'">'.
"\n";
177 print '<input type="hidden" name="PBX_DEVISE" value="'.$IBS_DEVISE.
'">'.
"\n";
178 print '<input type="hidden" name="PBX_CMD" value="'.$IBS_CMD.
'">'.
"\n";
179 print '<input type="hidden" name="PBX_PORTEUR" value="'.$IBS_PORTEUR.
'">'.
"\n";
180 print '<input type="hidden" name="PBX_RETOUR" value="'.$IBS_RETOUR.
'">'.
"\n";
181 print '<input type="hidden" name="PBX_EFFECTUE" value="'.$IBS_EFFECTUE.
'">'.
"\n";
182 print '<input type="hidden" name="PBX_ANNULE" value="'.$IBS_ANNULE.
'">'.
"\n";
183 print '<input type="hidden" name="PBX_REFUSE" value="'.$IBS_REFUSE.
'">'.
"\n";
184 print '<input type="hidden" name="PBX_TXT" value="'.$IBS_TXT.
'">'.
"\n";
185 print '<input type="hidden" name="PBX_BKGD" value="'.$IBS_BKGD.
'">'.
"\n";
186 print '<input type="hidden" name="PBX_WAIT" value="'.$IBS_WAIT.
'">'.
"\n";
187 print '<input type="hidden" name="PBX_LANGUE" value="'.$IBS_LANG.
'">'.
"\n";
188 print '<input type="hidden" name="PBX_OUTPUT" value="'.$IBS_OUTPUT.
'">'.
"\n";
189 print '<input type="hidden" name="PBX_SOURCE" value="'.$PBX_SOURCE.
'">'.
"\n";
190 print '<input type="hidden" name="PBX_TYPEPAIEMENT" value="'.$PBX_TYPEPAIEMENT.
'">'.
"\n";
191 print '<input type="hidden" name="PBX_HASH" value="'.$PBX_HASH.
'">'.
"\n";
192 print '<input type="hidden" name="PBX_TIME" value="'.$PBX_TIME.
'">'.
"\n";
194 print '<input type="hidden" name="PBX_HMAC" value="'.$hmac.
'">'.
"\n";
195 print '</form>'.
"\n";
199 print '<script type="text/javascript" language="javascript">'.
"\n";
200 print ' document.Submit.submit();'.
"\n";
201 print '</script>'.
"\n";
203 print '</body></html>'.
"\n";
dol_decode($chain, $key= '1')
Decode a base 64 encoded + specific delta change.
dol_now($mode= 'auto')
Return date for now.
print_paybox_redirect($PRICE, $CURRENCY, $EMAIL, $urlok, $urlko, $TAG)
Create a redirect form to paybox form.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename= '', $restricttologhandler= '', $logcontext=null)
Write log message into outputs.
print
Draft customers invoices.
dol_print_date($time, $format= '', $tzoutput= 'auto', $outputlangs= '', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
dol_print_error($db= '', $error= '', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...