Add a better error message when payment link is not valid.
This commit is contained in:
parent
b4f1df03de
commit
5c58ed8ca7
@ -3235,15 +3235,19 @@ function dol_print_error($db='',$error='',$errors=null)
|
|||||||
* Show a public email and error code to contact if technical error
|
* Show a public email and error code to contact if technical error
|
||||||
*
|
*
|
||||||
* @param string $prefixcode Prefix of public error code
|
* @param string $prefixcode Prefix of public error code
|
||||||
|
* @param string $errormessage Complete error message
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function dol_print_error_email($prefixcode)
|
function dol_print_error_email($prefixcode, $errormessage='')
|
||||||
{
|
{
|
||||||
global $langs,$conf;
|
global $langs,$conf;
|
||||||
|
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
$now=dol_now();
|
$now=dol_now();
|
||||||
print '<br><div class="error">'.$langs->trans("ErrorContactEMail", $conf->global->MAIN_INFO_SOCIETE_MAIL, $prefixcode.dol_print_date($now,'%Y%m%d')).'</div>';
|
print '<br><div class="center login_main_message"><div class="error">';
|
||||||
|
print $langs->trans("ErrorContactEMail", $conf->global->MAIN_INFO_SOCIETE_MAIL, $prefixcode.dol_print_date($now,'%Y%m%d'));
|
||||||
|
if ($errormessage) print '<br><br>'.$errormessage;
|
||||||
|
print '</div></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -190,6 +190,7 @@ ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong
|
|||||||
ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (<strong>%s</strong>) does not match expected name syntax: <strong>%s</strong>
|
ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (<strong>%s</strong>) does not match expected name syntax: <strong>%s</strong>
|
||||||
ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s.
|
ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s.
|
||||||
ErrorNoWarehouseDefined=Error, no warehouses defined.
|
ErrorNoWarehouseDefined=Error, no warehouses defined.
|
||||||
|
ErrorBadLinkSourceSetButBadValueForRef=The link you use is not valid. A 'source' for payment is defined, but value for 'ref' is not valid.
|
||||||
|
|
||||||
# Warnings
|
# Warnings
|
||||||
WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user.
|
WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user.
|
||||||
|
|||||||
@ -185,7 +185,7 @@ ProjectsStatistics=Statistics on projects/leads
|
|||||||
TaskAssignedToEnterTime=Task assigned. Entering time on this task should be possible.
|
TaskAssignedToEnterTime=Task assigned. Entering time on this task should be possible.
|
||||||
IdTaskTime=Id task time
|
IdTaskTime=Id task time
|
||||||
YouCanCompleteRef=If you want to complete the ref with some information (to use it as search filters), it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-ABC. You may also prefer to add search keys into label. But best practice may be to add a dedicated field, also called complementary attributes.
|
YouCanCompleteRef=If you want to complete the ref with some information (to use it as search filters), it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-ABC. You may also prefer to add search keys into label. But best practice may be to add a dedicated field, also called complementary attributes.
|
||||||
OpenedProjectsByThirdparties=Open projects by thirdparties
|
OpenedProjectsByThirdparties=Open projects by third parties
|
||||||
OnlyOpportunitiesShort=Only opportunities
|
OnlyOpportunitiesShort=Only opportunities
|
||||||
OpenedOpportunitiesShort=Open opportunities
|
OpenedOpportunitiesShort=Open opportunities
|
||||||
NotAnOpportunityShort=Not an opportunity
|
NotAnOpportunityShort=Not an opportunity
|
||||||
|
|||||||
@ -135,7 +135,7 @@ if (GETPOST('action','aZ09') == 'dopayment')
|
|||||||
$email=GETPOST("email");
|
$email=GETPOST("email");
|
||||||
|
|
||||||
$origfulltag=GETPOST("fulltag",'alpha');
|
$origfulltag=GETPOST("fulltag",'alpha');
|
||||||
|
|
||||||
$mesg='';
|
$mesg='';
|
||||||
if (empty($PRICE) || ! is_numeric($PRICE)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Amount"));
|
if (empty($PRICE) || ! is_numeric($PRICE)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Amount"));
|
||||||
elseif (empty($email)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("YourEMail"));
|
elseif (empty($email)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("YourEMail"));
|
||||||
@ -143,7 +143,7 @@ if (GETPOST('action','aZ09') == 'dopayment')
|
|||||||
elseif (! $origfulltag) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("PaymentCode"));
|
elseif (! $origfulltag) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("PaymentCode"));
|
||||||
elseif (dol_strlen($urlok) > 150) $mesg='Error urlok too long '.$urlok;
|
elseif (dol_strlen($urlok) > 150) $mesg='Error urlok too long '.$urlok;
|
||||||
elseif (dol_strlen($urlko) > 150) $mesg='Error urlko too long '.$urlko;
|
elseif (dol_strlen($urlko) > 150) $mesg='Error urlko too long '.$urlko;
|
||||||
|
|
||||||
if (empty($mesg))
|
if (empty($mesg))
|
||||||
{
|
{
|
||||||
dol_syslog("newpayment.php call paybox api and do redirect", LOG_DEBUG);
|
dol_syslog("newpayment.php call paybox api and do redirect", LOG_DEBUG);
|
||||||
@ -169,13 +169,22 @@ $conf->dol_hide_leftmenu=1;
|
|||||||
|
|
||||||
llxHeader($head, $langs->trans("PaymentForm"), '', '', 0, 0, '', '', '', 'onlinepaymentbody');
|
llxHeader($head, $langs->trans("PaymentForm"), '', '', 0, 0, '', '', '', 'onlinepaymentbody');
|
||||||
|
|
||||||
|
|
||||||
// Common variables
|
// Common variables
|
||||||
$creditor=$mysoc->name;
|
$creditor=$mysoc->name;
|
||||||
$paramcreditor='PAYBOX_CREDITOR_'.$suffix;
|
$paramcreditor='PAYBOX_CREDITOR_'.$suffix;
|
||||||
if (! empty($conf->global->$paramcreditor)) $creditor=$conf->global->$paramcreditor;
|
if (! empty($conf->global->$paramcreditor)) $creditor=$conf->global->$paramcreditor;
|
||||||
else if (! empty($conf->global->PAYBOX_CREDITOR)) $creditor=$conf->global->PAYBOX_CREDITOR;
|
else if (! empty($conf->global->PAYBOX_CREDITOR)) $creditor=$conf->global->PAYBOX_CREDITOR;
|
||||||
|
|
||||||
|
// Check link validity
|
||||||
|
if (! empty($SOURCE) && in_array($ref, array('member_ref', 'contractline_ref', 'invoice_ref', 'order_ref', '')))
|
||||||
|
{
|
||||||
|
$langs->load("errors");
|
||||||
|
dol_print_error_email('BADREFINPAYMENTFORM', $langs->trans("ErrorBadLinkSourceSetButBadValueForRef", $SOURCE, $ref));
|
||||||
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
print '<span id="dolpaymentspan"></span>'."\n";
|
print '<span id="dolpaymentspan"></span>'."\n";
|
||||||
print '<div class="center">';
|
print '<div class="center">';
|
||||||
print '<form id="dolpaymentform" class="center" name="paymentform" action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
print '<form id="dolpaymentform" class="center" name="paymentform" action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||||
@ -258,14 +267,14 @@ if (! GETPOST("source") && $valid)
|
|||||||
$fulltag=$tag;
|
$fulltag=$tag;
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -286,7 +295,7 @@ if (! GETPOST("source") && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -294,7 +303,7 @@ if (! GETPOST("source") && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// EMail
|
// EMail
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("YourEMail");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("YourEMail");
|
||||||
print ' ('.$langs->trans("ToComplete").')';
|
print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><input class="flat" type="text" name="email" size="48" value="'.GETPOST("email").'"></td></tr>'."\n";
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><input class="flat" type="text" name="email" size="48" value="'.GETPOST("email").'"></td></tr>'."\n";
|
||||||
@ -331,19 +340,19 @@ if (GETPOST("source") == 'order' && $valid)
|
|||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$order->thirdparty->name.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$order->thirdparty->name.'</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentOrderRef",$order->ref).'</b>';
|
$text='<b>'.$langs->trans("PaymentOrderRef",$order->ref).'</b>';
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
||||||
@ -352,7 +361,7 @@ if (GETPOST("source") == 'order' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -372,7 +381,7 @@ if (GETPOST("source") == 'order' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -380,7 +389,7 @@ if (GETPOST("source") == 'order' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// EMail
|
// EMail
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("YourEMail");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("YourEMail");
|
||||||
print ' ('.$langs->trans("ToComplete").')';
|
print ' ('.$langs->trans("ToComplete").')';
|
||||||
$email=$order->thirdparty->email;
|
$email=$order->thirdparty->email;
|
||||||
@ -419,19 +428,19 @@ if (GETPOST("source") == 'invoice' && $valid)
|
|||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$invoice->thirdparty->name.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$invoice->thirdparty->name.'</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentInvoiceRef",$invoice->ref).'</b>';
|
$text='<b>'.$langs->trans("PaymentInvoiceRef",$invoice->ref).'</b>';
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
||||||
@ -440,7 +449,7 @@ if (GETPOST("source") == 'invoice' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -460,7 +469,7 @@ if (GETPOST("source") == 'invoice' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -468,7 +477,7 @@ if (GETPOST("source") == 'invoice' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// EMail
|
// EMail
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("YourEMail");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("YourEMail");
|
||||||
print ' ('.$langs->trans("ToComplete").')';
|
print ' ('.$langs->trans("ToComplete").')';
|
||||||
$email=$invoice->thirdparty->email;
|
$email=$invoice->thirdparty->email;
|
||||||
@ -553,19 +562,19 @@ if (GETPOST("source") == 'contractline' && $valid)
|
|||||||
if (GETPOST('qty')) $qty=GETPOST('qty');
|
if (GETPOST('qty')) $qty=GETPOST('qty');
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$contract->thirdparty->name.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$contract->thirdparty->name.'</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentRenewContractId",$contract->ref,$contractline->ref).'</b>';
|
$text='<b>'.$langs->trans("PaymentRenewContractId",$contract->ref,$contractline->ref).'</b>';
|
||||||
if ($contractline->fk_product)
|
if ($contractline->fk_product)
|
||||||
{
|
{
|
||||||
@ -588,7 +597,7 @@ if (GETPOST("source") == 'contractline' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Quantity
|
// Quantity
|
||||||
|
|
||||||
$label=$langs->trans("Quantity");
|
$label=$langs->trans("Quantity");
|
||||||
$qty=1;
|
$qty=1;
|
||||||
$duration='';
|
$duration='';
|
||||||
@ -616,7 +625,7 @@ if (GETPOST("source") == 'contractline' && $valid)
|
|||||||
print '</b></td></tr>'."\n";
|
print '</b></td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -636,7 +645,7 @@ if (GETPOST("source") == 'contractline' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -644,7 +653,7 @@ if (GETPOST("source") == 'contractline' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// EMail
|
// EMail
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("YourEMail");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("YourEMail");
|
||||||
print ' ('.$langs->trans("ToComplete").')';
|
print ' ('.$langs->trans("ToComplete").')';
|
||||||
$email=$contract->thirdparty->email;
|
$email=$contract->thirdparty->email;
|
||||||
@ -684,14 +693,14 @@ if (GETPOST("source") == 'membersubscription' && $valid)
|
|||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Member");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Member");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>';
|
||||||
if ($member->morphy == 'mor' && ! empty($member->societe)) print $member->societe;
|
if ($member->morphy == 'mor' && ! empty($member->societe)) print $member->societe;
|
||||||
@ -699,7 +708,7 @@ if (GETPOST("source") == 'membersubscription' && $valid)
|
|||||||
print '</b>';
|
print '</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentSubscription").'</b>';
|
$text='<b>'.$langs->trans("PaymentSubscription").'</b>';
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
||||||
@ -710,13 +719,13 @@ if (GETPOST("source") == 'membersubscription' && $valid)
|
|||||||
if ($member->last_subscription_date || $member->last_subscription_amount)
|
if ($member->last_subscription_date || $member->last_subscription_amount)
|
||||||
{
|
{
|
||||||
// Last subscription date
|
// Last subscription date
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionDate");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionDate");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.dol_print_date($member->last_subscription_date,'day');
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.dol_print_date($member->last_subscription_date,'day');
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Last subscription amount
|
// Last subscription amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionAmount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionAmount");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.price($member->last_subscription_amount);
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.price($member->last_subscription_amount);
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
@ -725,7 +734,7 @@ if (GETPOST("source") == 'membersubscription' && $valid)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -749,7 +758,7 @@ if (GETPOST("source") == 'membersubscription' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -757,7 +766,7 @@ if (GETPOST("source") == 'membersubscription' && $valid)
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// EMail
|
// EMail
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("YourEMail");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("YourEMail");
|
||||||
$email=$member->email;
|
$email=$member->email;
|
||||||
$email=(GETPOST("email")?GETPOST("email"):(isValidEmail($email)?$email:''));
|
$email=(GETPOST("email")?GETPOST("email"):(isValidEmail($email)?$email:''));
|
||||||
|
|||||||
@ -156,10 +156,10 @@ $urlko=preg_replace('/&$/','',$urlko); // Remove last &
|
|||||||
if (! empty($conf->paypal->enabled))
|
if (! empty($conf->paypal->enabled))
|
||||||
{
|
{
|
||||||
$langs->load("paypal");
|
$langs->load("paypal");
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/paypal/lib/paypal.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/paypal/lib/paypal.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/paypal/lib/paypalfunctions.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/paypal/lib/paypalfunctions.lib.php';
|
||||||
|
|
||||||
$PAYPAL_API_OK="";
|
$PAYPAL_API_OK="";
|
||||||
if ($urlok) $PAYPAL_API_OK=$urlok;
|
if ($urlok) $PAYPAL_API_OK=$urlok;
|
||||||
$PAYPAL_API_KO="";
|
$PAYPAL_API_KO="";
|
||||||
@ -194,7 +194,7 @@ if (! empty($conf->paypal->enabled))
|
|||||||
$token = $conf->global->PAYPAL_SECURITY_TOKEN;
|
$token = $conf->global->PAYPAL_SECURITY_TOKEN;
|
||||||
}
|
}
|
||||||
if ($SECUREKEY != $token) $valid=false;
|
if ($SECUREKEY != $token) $valid=false;
|
||||||
|
|
||||||
if (! $valid)
|
if (! $valid)
|
||||||
{
|
{
|
||||||
print '<div class="error">Bad value for key.</div>';
|
print '<div class="error">Bad value for key.</div>';
|
||||||
@ -202,16 +202,16 @@ if (! empty($conf->paypal->enabled))
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$validpaymentmethod['paypal']='valid';
|
$validpaymentmethod['paypal']='valid';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! empty($conf->paybox->enabled))
|
if (! empty($conf->paybox->enabled))
|
||||||
{
|
{
|
||||||
$langs->load("paybox");
|
$langs->load("paybox");
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
|
|
||||||
$validpaymentmethod['paybox']='valid';
|
$validpaymentmethod['paybox']='valid';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -256,10 +256,10 @@ if (empty($validpaymentmethod)) accessforbidden('', 0, 0, 1);
|
|||||||
if ($action == 'dopayment')
|
if ($action == 'dopayment')
|
||||||
{
|
{
|
||||||
if ($paymentmethod == 'paypal')
|
if ($paymentmethod == 'paypal')
|
||||||
{
|
{
|
||||||
$PAYPAL_API_PRICE=price2num(GETPOST("newamount"),'MT');
|
$PAYPAL_API_PRICE=price2num(GETPOST("newamount"),'MT');
|
||||||
$PAYPAL_PAYMENT_TYPE='Sale';
|
$PAYPAL_PAYMENT_TYPE='Sale';
|
||||||
|
|
||||||
$origfulltag=GETPOST("fulltag",'alpha');
|
$origfulltag=GETPOST("fulltag",'alpha');
|
||||||
$shipToName=GETPOST("shipToName");
|
$shipToName=GETPOST("shipToName");
|
||||||
$shipToStreet=GETPOST("shipToStreet");
|
$shipToStreet=GETPOST("shipToStreet");
|
||||||
@ -271,24 +271,24 @@ if ($action == 'dopayment')
|
|||||||
$phoneNum=GETPOST("phoneNum");
|
$phoneNum=GETPOST("phoneNum");
|
||||||
$email=GETPOST("email");
|
$email=GETPOST("email");
|
||||||
$desc=GETPOST("desc");
|
$desc=GETPOST("desc");
|
||||||
|
|
||||||
$mesg='';
|
$mesg='';
|
||||||
if (empty($PAYPAL_API_PRICE) || ! is_numeric($PAYPAL_API_PRICE)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Amount"));
|
if (empty($PAYPAL_API_PRICE) || ! is_numeric($PAYPAL_API_PRICE)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Amount"));
|
||||||
//elseif (empty($EMAIL)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("YourEMail"));
|
//elseif (empty($EMAIL)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("YourEMail"));
|
||||||
//elseif (! isValidEMail($EMAIL)) $mesg=$langs->trans("ErrorBadEMail",$EMAIL);
|
//elseif (! isValidEMail($EMAIL)) $mesg=$langs->trans("ErrorBadEMail",$EMAIL);
|
||||||
elseif (! $origfulltag) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("PaymentCode"));
|
elseif (! $origfulltag) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("PaymentCode"));
|
||||||
|
|
||||||
//var_dump($_POST);
|
//var_dump($_POST);
|
||||||
if (empty($mesg))
|
if (empty($mesg))
|
||||||
{
|
{
|
||||||
dol_syslog("newpayment.php call paypal api and do redirect", LOG_DEBUG);
|
dol_syslog("newpayment.php call paypal api and do redirect", LOG_DEBUG);
|
||||||
|
|
||||||
// Other
|
// Other
|
||||||
$PAYPAL_API_DEVISE="USD";
|
$PAYPAL_API_DEVISE="USD";
|
||||||
//if ($currency == 'EUR') $PAYPAL_API_DEVISE="EUR";
|
//if ($currency == 'EUR') $PAYPAL_API_DEVISE="EUR";
|
||||||
//if ($currency == 'USD') $PAYPAL_API_DEVISE="USD";
|
//if ($currency == 'USD') $PAYPAL_API_DEVISE="USD";
|
||||||
if (! empty($currency)) $PAYPAL_API_DEVISE=$currency;
|
if (! empty($currency)) $PAYPAL_API_DEVISE=$currency;
|
||||||
|
|
||||||
dol_syslog("Submit Paypal form", LOG_DEBUG);
|
dol_syslog("Submit Paypal form", LOG_DEBUG);
|
||||||
dol_syslog("PAYPAL_API_USER: $PAYPAL_API_USER", LOG_DEBUG);
|
dol_syslog("PAYPAL_API_USER: $PAYPAL_API_USER", LOG_DEBUG);
|
||||||
//dol_syslog("PAYPAL_API_PASSWORD: $PAYPAL_API_PASSWORD", LOG_DEBUG); // No password into log files
|
//dol_syslog("PAYPAL_API_PASSWORD: $PAYPAL_API_PASSWORD", LOG_DEBUG); // No password into log files
|
||||||
@ -308,15 +308,15 @@ if ($action == 'dopayment')
|
|||||||
dol_syslog("phoneNum: $phoneNum", LOG_DEBUG);
|
dol_syslog("phoneNum: $phoneNum", LOG_DEBUG);
|
||||||
dol_syslog("email: $email", LOG_DEBUG);
|
dol_syslog("email: $email", LOG_DEBUG);
|
||||||
dol_syslog("desc: $desc", LOG_DEBUG);
|
dol_syslog("desc: $desc", LOG_DEBUG);
|
||||||
|
|
||||||
dol_syslog("SCRIPT_URI: ".(empty($_SERVER["SCRIPT_URI"])?'':$_SERVER["SCRIPT_URI"]), LOG_DEBUG); // If defined script uri must match domain of PAYPAL_API_OK and PAYPAL_API_KO
|
dol_syslog("SCRIPT_URI: ".(empty($_SERVER["SCRIPT_URI"])?'':$_SERVER["SCRIPT_URI"]), LOG_DEBUG); // If defined script uri must match domain of PAYPAL_API_OK and PAYPAL_API_KO
|
||||||
//$_SESSION["PaymentType"]=$PAYPAL_PAYMENT_TYPE;
|
//$_SESSION["PaymentType"]=$PAYPAL_PAYMENT_TYPE;
|
||||||
//$_SESSION["currencyCodeType"]=$PAYPAL_API_DEVISE;
|
//$_SESSION["currencyCodeType"]=$PAYPAL_API_DEVISE;
|
||||||
//$_SESSION["Payment_Amount"]=$PAYPAL_API_PRICE;
|
//$_SESSION["Payment_Amount"]=$PAYPAL_API_PRICE;
|
||||||
|
|
||||||
// A redirect is added if API call successfull
|
// A redirect is added if API call successfull
|
||||||
print_paypal_redirect($PAYPAL_API_PRICE,$PAYPAL_API_DEVISE,$PAYPAL_PAYMENT_TYPE,$PAYPAL_API_OK,$PAYPAL_API_KO, $FULLTAG);
|
print_paypal_redirect($PAYPAL_API_PRICE,$PAYPAL_API_DEVISE,$PAYPAL_PAYMENT_TYPE,$PAYPAL_API_OK,$PAYPAL_API_KO, $FULLTAG);
|
||||||
|
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -335,19 +335,28 @@ $conf->dol_hide_leftmenu=1;
|
|||||||
|
|
||||||
llxHeader($head, $langs->trans("PaymentForm"), '', '', 0, 0, '', '', '', 'onlinepaymentbody');
|
llxHeader($head, $langs->trans("PaymentForm"), '', '', 0, 0, '', '', '', 'onlinepaymentbody');
|
||||||
|
|
||||||
|
// Check link validity
|
||||||
|
if (! empty($SOURCE) && in_array($ref, array('member_ref', 'contractline_ref', 'invoice_ref', 'order_ref', '')))
|
||||||
|
{
|
||||||
|
$langs->load("errors");
|
||||||
|
dol_print_error_email('BADREFINPAYMENTFORM', $langs->trans("ErrorBadLinkSourceSetButBadValueForRef", $SOURCE, $ref));
|
||||||
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
if (! empty($conf->paypal->enabled))
|
if (! empty($conf->paypal->enabled))
|
||||||
{
|
{
|
||||||
if (! empty($PAYPAL_API_SANDBOX))
|
|
||||||
{
|
|
||||||
dol_htmloutput_mesg($langs->trans('YouAreCurrentlyInSandboxMode'),'','warning');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Common variables
|
// Common variables
|
||||||
$creditor=$mysoc->name;
|
$creditor=$mysoc->name;
|
||||||
$paramcreditor='PAYPAL_CREDITOR_'.$suffix;
|
$paramcreditor='PAYPAL_CREDITOR_'.$suffix;
|
||||||
if (! empty($conf->global->$paramcreditor)) $creditor=$conf->global->$paramcreditor;
|
if (! empty($conf->global->$paramcreditor)) $creditor=$conf->global->$paramcreditor;
|
||||||
else if (! empty($conf->global->PAYPAL_CREDITOR)) $creditor=$conf->global->PAYPAL_CREDITOR;
|
else if (! empty($conf->global->PAYPAL_CREDITOR)) $creditor=$conf->global->PAYPAL_CREDITOR;
|
||||||
|
|
||||||
|
if (! empty($PAYPAL_API_SANDBOX))
|
||||||
|
{
|
||||||
|
dol_htmloutput_mesg($langs->trans('YouAreCurrentlyInSandboxMode'),'','warning');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<span id="dolpaymentspan"></span>'."\n";
|
print '<span id="dolpaymentspan"></span>'."\n";
|
||||||
@ -442,14 +451,14 @@ if (! GETPOST("source"))
|
|||||||
$fulltag=$tag;
|
$fulltag=$tag;
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -469,7 +478,7 @@ if (! GETPOST("source"))
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -507,26 +516,26 @@ if (GETPOST("source") == 'order')
|
|||||||
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
||||||
$amount=price2num($amount);
|
$amount=price2num($amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fulltag='ORD='.$order->ref.'.CUS='.$order->thirdparty->id;
|
$fulltag='ORD='.$order->ref.'.CUS='.$order->thirdparty->id;
|
||||||
//$fulltag.='.NAM='.strtr($order->thirdparty->name,"-"," ");
|
//$fulltag.='.NAM='.strtr($order->thirdparty->name,"-"," ");
|
||||||
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$order->thirdparty->name.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$order->thirdparty->name.'</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentOrderRef",$order->ref).'</b>';
|
$text='<b>'.$langs->trans("PaymentOrderRef",$order->ref).'</b>';
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
||||||
@ -535,7 +544,7 @@ if (GETPOST("source") == 'order')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -555,7 +564,7 @@ if (GETPOST("source") == 'order')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -617,26 +626,26 @@ if (GETPOST("source") == 'invoice')
|
|||||||
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
||||||
$amount=price2num($amount);
|
$amount=price2num($amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fulltag='INV='.$invoice->ref.'.CUS='.$invoice->thirdparty->id;
|
$fulltag='INV='.$invoice->ref.'.CUS='.$invoice->thirdparty->id;
|
||||||
//$fulltag.='.NAM='.strtr($invoice->thirdparty->name,"-"," ");
|
//$fulltag.='.NAM='.strtr($invoice->thirdparty->name,"-"," ");
|
||||||
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$invoice->thirdparty->name.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$invoice->thirdparty->name.'</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentInvoiceRef",$invoice->ref).'</b>';
|
$text='<b>'.$langs->trans("PaymentInvoiceRef",$invoice->ref).'</b>';
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
||||||
@ -645,7 +654,7 @@ if (GETPOST("source") == 'invoice')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -665,7 +674,7 @@ if (GETPOST("source") == 'invoice')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -745,7 +754,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
{
|
{
|
||||||
$product=new Product($db);
|
$product=new Product($db);
|
||||||
$result=$product->fetch($contractline->fk_product);
|
$result=$product->fetch($contractline->fk_product);
|
||||||
|
|
||||||
// We define price for product (TODO Put this in a method in product class)
|
// We define price for product (TODO Put this in a method in product class)
|
||||||
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||||
{
|
{
|
||||||
@ -759,7 +768,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
$pu_ttc = $product->price_ttc;
|
$pu_ttc = $product->price_ttc;
|
||||||
$price_base_type = $product->price_base_type;
|
$price_base_type = $product->price_base_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
$amount=$pu_ttc;
|
$amount=$pu_ttc;
|
||||||
if (empty($amount))
|
if (empty($amount))
|
||||||
{
|
{
|
||||||
@ -780,19 +789,19 @@ if (GETPOST("source") == 'contractline')
|
|||||||
if (GETPOST('qty')) $qty=GETPOST('qty');
|
if (GETPOST('qty')) $qty=GETPOST('qty');
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$contract->thirdparty->name.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$contract->thirdparty->name.'</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentRenewContractId",$contract->ref,$contractline->ref).'</b>';
|
$text='<b>'.$langs->trans("PaymentRenewContractId",$contract->ref,$contractline->ref).'</b>';
|
||||||
if ($contractline->fk_product)
|
if ($contractline->fk_product)
|
||||||
{
|
{
|
||||||
@ -815,7 +824,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Quantity
|
// Quantity
|
||||||
|
|
||||||
$label=$langs->trans("Quantity");
|
$label=$langs->trans("Quantity");
|
||||||
$qty=1;
|
$qty=1;
|
||||||
$duration='';
|
$duration='';
|
||||||
@ -843,7 +852,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
print '</b></td></tr>'."\n";
|
print '</b></td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -863,7 +872,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -925,20 +934,20 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
||||||
$amount=price2num($amount);
|
$amount=price2num($amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fulltag='MEM='.$member->id.'.DAT='.dol_print_date(dol_now(),'%Y%m%d%H%M');
|
$fulltag='MEM='.$member->id.'.DAT='.dol_print_date(dol_now(),'%Y%m%d%H%M');
|
||||||
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Member");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Member");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>';
|
||||||
if ($member->morphy == 'mor' && ! empty($member->societe)) print $member->societe;
|
if ($member->morphy == 'mor' && ! empty($member->societe)) print $member->societe;
|
||||||
@ -946,7 +955,7 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
print '</b>';
|
print '</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentSubscription").'</b>';
|
$text='<b>'.$langs->trans("PaymentSubscription").'</b>';
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
||||||
@ -957,13 +966,13 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
if ($member->last_subscription_date || $member->last_subscription_amount)
|
if ($member->last_subscription_date || $member->last_subscription_amount)
|
||||||
{
|
{
|
||||||
// Last subscription date
|
// Last subscription date
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionDate");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionDate");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.dol_print_date($member->last_subscription_date,'day');
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.dol_print_date($member->last_subscription_date,'day');
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Last subscription amount
|
// Last subscription amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionAmount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionAmount");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.price($member->last_subscription_amount);
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.price($member->last_subscription_amount);
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
@ -972,7 +981,7 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount))
|
if (empty($amount))
|
||||||
{
|
{
|
||||||
@ -1001,7 +1010,7 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -1051,11 +1060,11 @@ if ($action != 'dopayment')
|
|||||||
if ($found && ! $error) // We are in a management option and no error
|
if ($found && ! $error) // We are in a management option and no error
|
||||||
{
|
{
|
||||||
// Buttons for all payments registration methods
|
// Buttons for all payments registration methods
|
||||||
|
|
||||||
if (! empty($conf->paypal->enabled))
|
if (! empty($conf->paypal->enabled))
|
||||||
{
|
{
|
||||||
if (empty($conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY)) $conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY='integral';
|
if (empty($conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY)) $conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY='integral';
|
||||||
|
|
||||||
if ($conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY == 'integral')
|
if ($conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY == 'integral')
|
||||||
{
|
{
|
||||||
print '<br><input class="button" type="submit" name="dopayment_paypal" value="'.$langs->trans("PaypalOrCBDoPayment").'">';
|
print '<br><input class="button" type="submit" name="dopayment_paypal" value="'.$langs->trans("PaypalOrCBDoPayment").'">';
|
||||||
@ -1065,13 +1074,13 @@ if ($action != 'dopayment')
|
|||||||
print '<br><input class="button" type="submit" name="dopayment_paypal" value="'.$langs->trans("PaypalDoPayment").'">';
|
print '<br><input class="button" type="submit" name="dopayment_paypal" value="'.$langs->trans("PaypalDoPayment").'">';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! empty($conf->paybox->enabled))
|
if (! empty($conf->paybox->enabled))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO Other methods
|
// TODO Other methods
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -265,17 +265,27 @@ $conf->dol_hide_leftmenu=1;
|
|||||||
|
|
||||||
llxHeader($head, $langs->trans("PaymentForm"), '', '', 0, 0, '', '', '', 'onlinepaymentbody');
|
llxHeader($head, $langs->trans("PaymentForm"), '', '', 0, 0, '', '', '', 'onlinepaymentbody');
|
||||||
|
|
||||||
if (! empty($conf->global->PAYPAL_API_SANDBOX))
|
|
||||||
{
|
|
||||||
dol_htmloutput_mesg($langs->trans('YouAreCurrentlyInSandboxMode'),'','warning');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Common variables
|
// Common variables
|
||||||
$creditor=$mysoc->name;
|
$creditor=$mysoc->name;
|
||||||
$paramcreditor='PAYPAL_CREDITOR_'.$suffix;
|
$paramcreditor='PAYPAL_CREDITOR_'.$suffix;
|
||||||
if (! empty($conf->global->$paramcreditor)) $creditor=$conf->global->$paramcreditor;
|
if (! empty($conf->global->$paramcreditor)) $creditor=$conf->global->$paramcreditor;
|
||||||
else if (! empty($conf->global->PAYPAL_CREDITOR)) $creditor=$conf->global->PAYPAL_CREDITOR;
|
else if (! empty($conf->global->PAYPAL_CREDITOR)) $creditor=$conf->global->PAYPAL_CREDITOR;
|
||||||
|
|
||||||
|
// Check link validity
|
||||||
|
if (! empty($SOURCE) && in_array($ref, array('member_ref', 'contractline_ref', 'invoice_ref', 'order_ref', '')))
|
||||||
|
{
|
||||||
|
$langs->load("errors");
|
||||||
|
dol_print_error_email('BADREFINPAYMENTFORM', $langs->trans("ErrorBadLinkSourceSetButBadValueForRef", $SOURCE, $ref));
|
||||||
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! empty($conf->global->PAYPAL_API_SANDBOX))
|
||||||
|
{
|
||||||
|
dol_htmloutput_mesg($langs->trans('YouAreCurrentlyInSandboxMode'),'','warning');
|
||||||
|
}
|
||||||
|
|
||||||
print '<span id="dopaymentspan"></span>'."\n";
|
print '<span id="dopaymentspan"></span>'."\n";
|
||||||
print '<div class="center">'."\n";
|
print '<div class="center">'."\n";
|
||||||
print '<form id="dolpaymentform" class="center" name="paymentform" action="'.$_SERVER["PHP_SELF"].'" method="POST">'."\n";
|
print '<form id="dolpaymentform" class="center" name="paymentform" action="'.$_SERVER["PHP_SELF"].'" method="POST">'."\n";
|
||||||
@ -359,14 +369,14 @@ if (! GETPOST("source"))
|
|||||||
$fulltag=$tag;
|
$fulltag=$tag;
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -386,7 +396,7 @@ if (! GETPOST("source"))
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -424,26 +434,26 @@ if (GETPOST("source") == 'order')
|
|||||||
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
||||||
$amount=price2num($amount);
|
$amount=price2num($amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fulltag='ORD='.$order->ref.'.CUS='.$order->thirdparty->id;
|
$fulltag='ORD='.$order->ref.'.CUS='.$order->thirdparty->id;
|
||||||
//$fulltag.='.NAM='.strtr($order->thirdparty->name,"-"," ");
|
//$fulltag.='.NAM='.strtr($order->thirdparty->name,"-"," ");
|
||||||
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$order->thirdparty->name.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$order->thirdparty->name.'</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentOrderRef",$order->ref).'</b>';
|
$text='<b>'.$langs->trans("PaymentOrderRef",$order->ref).'</b>';
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
||||||
@ -452,7 +462,7 @@ if (GETPOST("source") == 'order')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -472,7 +482,7 @@ if (GETPOST("source") == 'order')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -534,26 +544,26 @@ if (GETPOST("source") == 'invoice')
|
|||||||
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
||||||
$amount=price2num($amount);
|
$amount=price2num($amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fulltag='INV='.$invoice->ref.'.CUS='.$invoice->thirdparty->id;
|
$fulltag='INV='.$invoice->ref.'.CUS='.$invoice->thirdparty->id;
|
||||||
//$fulltag.='.NAM='.strtr($invoice->thirdparty->name,"-"," ");
|
//$fulltag.='.NAM='.strtr($invoice->thirdparty->name,"-"," ");
|
||||||
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$invoice->thirdparty->name.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$invoice->thirdparty->name.'</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentInvoiceRef",$invoice->ref).'</b>';
|
$text='<b>'.$langs->trans("PaymentInvoiceRef",$invoice->ref).'</b>';
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
||||||
@ -562,7 +572,7 @@ if (GETPOST("source") == 'invoice')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -582,7 +592,7 @@ if (GETPOST("source") == 'invoice')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -662,7 +672,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
{
|
{
|
||||||
$product=new Product($db);
|
$product=new Product($db);
|
||||||
$result=$product->fetch($contractline->fk_product);
|
$result=$product->fetch($contractline->fk_product);
|
||||||
|
|
||||||
// We define price for product (TODO Put this in a method in product class)
|
// We define price for product (TODO Put this in a method in product class)
|
||||||
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||||
{
|
{
|
||||||
@ -676,7 +686,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
$pu_ttc = $product->price_ttc;
|
$pu_ttc = $product->price_ttc;
|
||||||
$price_base_type = $product->price_base_type;
|
$price_base_type = $product->price_base_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
$amount=$pu_ttc;
|
$amount=$pu_ttc;
|
||||||
if (empty($amount))
|
if (empty($amount))
|
||||||
{
|
{
|
||||||
@ -697,19 +707,19 @@ if (GETPOST("source") == 'contractline')
|
|||||||
if (GETPOST('qty')) $qty=GETPOST('qty');
|
if (GETPOST('qty')) $qty=GETPOST('qty');
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("ThirdParty");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$contract->thirdparty->name.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$contract->thirdparty->name.'</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentRenewContractId",$contract->ref,$contractline->ref).'</b>';
|
$text='<b>'.$langs->trans("PaymentRenewContractId",$contract->ref,$contractline->ref).'</b>';
|
||||||
if ($contractline->fk_product)
|
if ($contractline->fk_product)
|
||||||
{
|
{
|
||||||
@ -732,7 +742,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Quantity
|
// Quantity
|
||||||
|
|
||||||
$label=$langs->trans("Quantity");
|
$label=$langs->trans("Quantity");
|
||||||
$qty=1;
|
$qty=1;
|
||||||
$duration='';
|
$duration='';
|
||||||
@ -760,7 +770,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
print '</b></td></tr>'."\n";
|
print '</b></td></tr>'."\n";
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
if (empty($amount)) print ' ('.$langs->trans("ToComplete").')';
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
@ -780,7 +790,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
@ -824,6 +834,7 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/adherents/class/subscription.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/adherents/class/subscription.class.php';
|
||||||
|
|
||||||
|
|
||||||
$member=new Adherent($db);
|
$member=new Adherent($db);
|
||||||
$result=$member->fetch('',$ref);
|
$result=$member->fetch('',$ref);
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
@ -842,20 +853,20 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
||||||
$amount=price2num($amount);
|
$amount=price2num($amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fulltag='MEM='.$member->id.'.DAT='.dol_print_date(dol_now(),'%Y%m%d%H%M');
|
$fulltag='MEM='.$member->id.'.DAT='.dol_print_date(dol_now(),'%Y%m%d%H%M');
|
||||||
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Debitor
|
// Debitor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Member");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Member");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>';
|
||||||
if ($member->morphy == 'mor' && ! empty($member->societe)) print $member->societe;
|
if ($member->morphy == 'mor' && ! empty($member->societe)) print $member->societe;
|
||||||
@ -863,7 +874,7 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
print '</b>';
|
print '</b>';
|
||||||
|
|
||||||
// Object
|
// Object
|
||||||
|
|
||||||
$text='<b>'.$langs->trans("PaymentSubscription").'</b>';
|
$text='<b>'.$langs->trans("PaymentSubscription").'</b>';
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
||||||
@ -874,13 +885,13 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
if ($member->last_subscription_date || $member->last_subscription_amount)
|
if ($member->last_subscription_date || $member->last_subscription_amount)
|
||||||
{
|
{
|
||||||
// Last subscription date
|
// Last subscription date
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionDate");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionDate");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.dol_print_date($member->last_subscription_date,'day');
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.dol_print_date($member->last_subscription_date,'day');
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Last subscription amount
|
// Last subscription amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionAmount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("LastSubscriptionAmount");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'">'.price($member->last_subscription_amount);
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.price($member->last_subscription_amount);
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
@ -889,7 +900,7 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
if (empty($amount))
|
if (empty($amount))
|
||||||
{
|
{
|
||||||
@ -918,7 +929,7 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
// Tag
|
// Tag
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$fulltag.'</b>';
|
||||||
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
|
|||||||
@ -196,7 +196,7 @@ else if (! empty($conf->global->STRIPE_CREDITOR)) $creditor=$conf->global->STRIP
|
|||||||
if ($action == 'dopayment') // We click on button Create payment
|
if ($action == 'dopayment') // We click on button Create payment
|
||||||
{
|
{
|
||||||
if (GETPOST('newamount')) $amount = GETPOST('newamount');
|
if (GETPOST('newamount')) $amount = GETPOST('newamount');
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors');
|
||||||
$action = '';
|
$action = '';
|
||||||
@ -209,18 +209,18 @@ if ($action == 'charge')
|
|||||||
// See https://support.stripe.com/questions/which-zero-decimal-currencies-does-stripe-support
|
// See https://support.stripe.com/questions/which-zero-decimal-currencies-does-stripe-support
|
||||||
$arrayzerounitcurrency=array('BIF', 'CLP', 'DJF', 'GNF', 'JPY', 'KMF', 'KRW', 'MGA', 'PYG', 'RWF', 'VND', 'VUV', 'XAF', 'XOF', 'XPF');
|
$arrayzerounitcurrency=array('BIF', 'CLP', 'DJF', 'GNF', 'JPY', 'KMF', 'KRW', 'MGA', 'PYG', 'RWF', 'VND', 'VUV', 'XAF', 'XOF', 'XPF');
|
||||||
if (! in_array($currency, $arrayzerounitcurrency)) $amount=$amount * 100;
|
if (! in_array($currency, $arrayzerounitcurrency)) $amount=$amount * 100;
|
||||||
|
|
||||||
dol_syslog("POST keys : ".join(',', array_keys($_POST)), LOG_DEBUG, 0, '_stripe');
|
dol_syslog("POST keys : ".join(',', array_keys($_POST)), LOG_DEBUG, 0, '_stripe');
|
||||||
dol_syslog("POST values: ".join(',', $_POST), LOG_DEBUG, 0, '_stripe');
|
dol_syslog("POST values: ".join(',', $_POST), LOG_DEBUG, 0, '_stripe');
|
||||||
|
|
||||||
$stripeToken = GETPOST("stripeToken",'alpha');
|
$stripeToken = GETPOST("stripeToken",'alpha');
|
||||||
$email = GETPOST("stripeEmail",'alpha');
|
$email = GETPOST("stripeEmail",'alpha');
|
||||||
|
|
||||||
dol_syslog("stripeToken = ".$stripeToken, LOG_DEBUG, 0, '_stripe');
|
dol_syslog("stripeToken = ".$stripeToken, LOG_DEBUG, 0, '_stripe');
|
||||||
dol_syslog("stripeEmail = ".$stripeEmail, LOG_DEBUG, 0, '_stripe');
|
dol_syslog("stripeEmail = ".$stripeEmail, LOG_DEBUG, 0, '_stripe');
|
||||||
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
dol_syslog("Create customer", LOG_DEBUG, 0, '_stripe');
|
dol_syslog("Create customer", LOG_DEBUG, 0, '_stripe');
|
||||||
$customer = \Stripe\Customer::create(array(
|
$customer = \Stripe\Customer::create(array(
|
||||||
@ -230,7 +230,7 @@ if ($action == 'charge')
|
|||||||
'source' => $stripeToken // source can be a token OR array('object'=>'card', 'exp_month'=>xx, 'exp_year'=>xxxx, 'number'=>xxxxxxx, 'cvc'=>xxx, 'name'=>'Cardholder's full name', zip ?)
|
'source' => $stripeToken // source can be a token OR array('object'=>'card', 'exp_month'=>xx, 'exp_year'=>xxxx, 'number'=>xxxxxxx, 'cvc'=>xxx, 'name'=>'Cardholder's full name', zip ?)
|
||||||
));
|
));
|
||||||
// TODO Add 'business_vat_id' ?
|
// TODO Add 'business_vat_id' ?
|
||||||
|
|
||||||
dol_syslog("Create charge", LOG_DEBUG, 0, '_stripe');
|
dol_syslog("Create charge", LOG_DEBUG, 0, '_stripe');
|
||||||
$charge = \Stripe\Charge::create(array(
|
$charge = \Stripe\Charge::create(array(
|
||||||
'customer' => $customer->id,
|
'customer' => $customer->id,
|
||||||
@ -244,14 +244,14 @@ if ($action == 'charge')
|
|||||||
// Since it's a decline, \Stripe\Error\Card will be caught
|
// Since it's a decline, \Stripe\Error\Card will be caught
|
||||||
$body = $e->getJsonBody();
|
$body = $e->getJsonBody();
|
||||||
$err = $body['error'];
|
$err = $body['error'];
|
||||||
|
|
||||||
print('Status is:' . $e->getHttpStatus() . "\n");
|
print('Status is:' . $e->getHttpStatus() . "\n");
|
||||||
print('Type is:' . $err['type'] . "\n");
|
print('Type is:' . $err['type'] . "\n");
|
||||||
print('Code is:' . $err['code'] . "\n");
|
print('Code is:' . $err['code'] . "\n");
|
||||||
// param is '' in this case
|
// param is '' in this case
|
||||||
print('Param is:' . $err['param'] . "\n");
|
print('Param is:' . $err['param'] . "\n");
|
||||||
print('Message is:' . $err['message'] . "\n");
|
print('Message is:' . $err['message'] . "\n");
|
||||||
|
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages($e->getMessage(), null, 'errors');
|
setEventMessages($e->getMessage(), null, 'errors');
|
||||||
dol_syslog($e->getMessage(), LOG_WARNING, 0, '_stripe');
|
dol_syslog($e->getMessage(), LOG_WARNING, 0, '_stripe');
|
||||||
@ -295,7 +295,7 @@ if ($action == 'charge')
|
|||||||
setEventMessages($e->getMessage(), null, 'errors');
|
setEventMessages($e->getMessage(), null, 'errors');
|
||||||
$action='';
|
$action='';
|
||||||
}
|
}
|
||||||
|
|
||||||
$_SESSION["onlinetoken"] = $stripeToken;
|
$_SESSION["onlinetoken"] = $stripeToken;
|
||||||
$_SESSION["FinalPaymentAmt"] = $amount;
|
$_SESSION["FinalPaymentAmt"] = $amount;
|
||||||
$_SESSION["currencyCodeType"] = $currency;
|
$_SESSION["currencyCodeType"] = $currency;
|
||||||
@ -303,12 +303,12 @@ if ($action == 'charge')
|
|||||||
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR']; // Payer ip
|
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR']; // Payer ip
|
||||||
$_SESSION['payerID'] = is_object($customer)?$customer->id:'';
|
$_SESSION['payerID'] = is_object($customer)?$customer->id:'';
|
||||||
$_SESSION['TRANSACTIONID'] = is_object($charge)?$charge->id:'';
|
$_SESSION['TRANSACTIONID'] = is_object($charge)?$charge->id:'';
|
||||||
|
|
||||||
dol_syslog("Action charge stripe result=".$error." ip=".$_SESSION['ipaddress'], LOG_DEBUG, 0, '_stripe');
|
dol_syslog("Action charge stripe result=".$error." ip=".$_SESSION['ipaddress'], LOG_DEBUG, 0, '_stripe');
|
||||||
dol_syslog("onlinetoken=".$_SESSION["onlinetoken"]." FinalPaymentAmt=".$_SESSION["FinalPaymentAmt"]." currencyCodeType=".$_SESSION["currencyCodeType"]." payerID=".$_SESSION['payerID']." TRANSACTIONID=".$_SESSION['TRANSACTIONID'], LOG_DEBUG, 0, '_stripe');
|
dol_syslog("onlinetoken=".$_SESSION["onlinetoken"]." FinalPaymentAmt=".$_SESSION["FinalPaymentAmt"]." currencyCodeType=".$_SESSION["currencyCodeType"]." payerID=".$_SESSION['payerID']." TRANSACTIONID=".$_SESSION['TRANSACTIONID'], LOG_DEBUG, 0, '_stripe');
|
||||||
dol_syslog("FULLTAG=".$FULLTAG, LOG_DEBUG, 0, '_stripe');
|
dol_syslog("FULLTAG=".$FULLTAG, LOG_DEBUG, 0, '_stripe');
|
||||||
dol_syslog("Now call the redirect to paymentok or paymentko", LOG_DEBUG, 0, '_stripe');
|
dol_syslog("Now call the redirect to paymentok or paymentko", LOG_DEBUG, 0, '_stripe');
|
||||||
|
|
||||||
if ($error)
|
if ($error)
|
||||||
{
|
{
|
||||||
header("Location: ".$urlko);
|
header("Location: ".$urlko);
|
||||||
@ -319,7 +319,7 @@ if ($action == 'charge')
|
|||||||
header("Location: ".$urlok);
|
header("Location: ".$urlok);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -335,6 +335,16 @@ $conf->dol_hide_leftmenu=1;
|
|||||||
|
|
||||||
llxHeader($head, $langs->trans("PaymentForm"), '', '', 0, 0, '', '', '', 'onlinepaymentbody');
|
llxHeader($head, $langs->trans("PaymentForm"), '', '', 0, 0, '', '', '', 'onlinepaymentbody');
|
||||||
|
|
||||||
|
// Check link validity
|
||||||
|
if (! empty($SOURCE) && in_array($ref, array('member_ref', 'contractline_ref', 'invoice_ref', 'order_ref', '')))
|
||||||
|
{
|
||||||
|
$langs->load("errors");
|
||||||
|
dol_print_error_email('BADREFINPAYMENTFORM', $langs->trans("ErrorBadLinkSourceSetButBadValueForRef", $SOURCE, $ref));
|
||||||
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
if (empty($conf->global->STRIPE_LIVE))
|
if (empty($conf->global->STRIPE_LIVE))
|
||||||
{
|
{
|
||||||
dol_htmloutput_mesg($langs->trans('YouAreCurrentlyInSandboxMode'),'','warning');
|
dol_htmloutput_mesg($langs->trans('YouAreCurrentlyInSandboxMode'),'','warning');
|
||||||
@ -420,7 +430,7 @@ if (! GETPOST("source"))
|
|||||||
$found=true;
|
$found=true;
|
||||||
$tag=GETPOST("tag");
|
$tag=GETPOST("tag");
|
||||||
$fulltag=$tag;
|
$fulltag=$tag;
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
@ -485,7 +495,7 @@ if (GETPOST("source") == 'order')
|
|||||||
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
||||||
$amount=price2num($amount);
|
$amount=price2num($amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fulltag='ORD='.$order->ref.'.CUS='.$order->thirdparty->id;
|
$fulltag='ORD='.$order->ref.'.CUS='.$order->thirdparty->id;
|
||||||
//$fulltag.='.NAM='.strtr($order->thirdparty->name,"-"," ");
|
//$fulltag.='.NAM='.strtr($order->thirdparty->name,"-"," ");
|
||||||
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
@ -600,7 +610,7 @@ if (GETPOST("source") == 'invoice')
|
|||||||
//$fulltag.='.NAM='.strtr($invoice->thirdparty->name,"-"," ");
|
//$fulltag.='.NAM='.strtr($invoice->thirdparty->name,"-"," ");
|
||||||
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
// Creditor
|
// Creditor
|
||||||
|
|
||||||
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
@ -723,7 +733,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
{
|
{
|
||||||
$product=new Product($db);
|
$product=new Product($db);
|
||||||
$result=$product->fetch($contractline->fk_product);
|
$result=$product->fetch($contractline->fk_product);
|
||||||
|
|
||||||
// We define price for product (TODO Put this in a method in product class)
|
// We define price for product (TODO Put this in a method in product class)
|
||||||
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||||
{
|
{
|
||||||
@ -737,7 +747,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
$pu_ttc = $product->price_ttc;
|
$pu_ttc = $product->price_ttc;
|
||||||
$price_base_type = $product->price_base_type;
|
$price_base_type = $product->price_base_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
$amount=$pu_ttc;
|
$amount=$pu_ttc;
|
||||||
if (empty($amount))
|
if (empty($amount))
|
||||||
{
|
{
|
||||||
@ -749,7 +759,7 @@ if (GETPOST("source") == 'contractline')
|
|||||||
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
||||||
$amount=price2num($amount);
|
$amount=price2num($amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fulltag='COL='.$contractline->ref.'.CON='.$contract->ref.'.CUS='.$contract->thirdparty->id.'.DAT='.dol_print_date(dol_now(),'%Y%m%d%H%M');
|
$fulltag='COL='.$contractline->ref.'.CON='.$contract->ref.'.CUS='.$contract->thirdparty->id.'.DAT='.dol_print_date(dol_now(),'%Y%m%d%H%M');
|
||||||
//$fulltag.='.NAM='.strtr($contract->thirdparty->name,"-"," ");
|
//$fulltag.='.NAM='.strtr($contract->thirdparty->name,"-"," ");
|
||||||
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
@ -904,7 +914,7 @@ if (GETPOST("source") == 'membersubscription')
|
|||||||
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
||||||
$amount=price2num($amount);
|
$amount=price2num($amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fulltag='MEM='.$member->id.'.DAT='.dol_print_date(dol_now(),'%Y%m%d%H%M');
|
$fulltag='MEM='.$member->id.'.DAT='.dol_print_date(dol_now(),'%Y%m%d%H%M');
|
||||||
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
$fulltag=dol_string_unaccent($fulltag);
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
@ -1059,7 +1069,7 @@ if (preg_match('/^dopayment/',$action))
|
|||||||
data-description="'.$ref.'">
|
data-description="'.$ref.'">
|
||||||
</script>';
|
</script>';
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Personalized checkout
|
// Personalized checkout
|
||||||
print '<style>
|
print '<style>
|
||||||
/**
|
/**
|
||||||
@ -1075,22 +1085,22 @@ if (preg_match('/^dopayment/',$action))
|
|||||||
-webkit-transition: box-shadow 150ms ease;
|
-webkit-transition: box-shadow 150ms ease;
|
||||||
transition: box-shadow 150ms ease;
|
transition: box-shadow 150ms ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.StripeElement--focus {
|
.StripeElement--focus {
|
||||||
box-shadow: 0 1px 3px 0 #cfd7df;
|
box-shadow: 0 1px 3px 0 #cfd7df;
|
||||||
}
|
}
|
||||||
|
|
||||||
.StripeElement--invalid {
|
.StripeElement--invalid {
|
||||||
border-color: #fa755a;
|
border-color: #fa755a;
|
||||||
}
|
}
|
||||||
|
|
||||||
.StripeElement--webkit-autofill {
|
.StripeElement--webkit-autofill {
|
||||||
background-color: #fefde5 !important;
|
background-color: #fefde5 !important;
|
||||||
}
|
}
|
||||||
</style>';
|
</style>';
|
||||||
|
|
||||||
print '
|
print '
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<form action="'.$_SERVER['REQUEST_URI'].'" method="POST" id="payment-form">';
|
<form action="'.$_SERVER['REQUEST_URI'].'" method="POST" id="payment-form">';
|
||||||
|
|
||||||
@ -1106,11 +1116,11 @@ if (preg_match('/^dopayment/',$action))
|
|||||||
print '<input type="hidden" name="entity" value="'.$entity.'" />';
|
print '<input type="hidden" name="entity" value="'.$entity.'" />';
|
||||||
print '<input type="hidden" name="amount" value="'.$amount.'">'."\n";
|
print '<input type="hidden" name="amount" value="'.$amount.'">'."\n";
|
||||||
print '<input type="hidden" name="currency" value="'.$currency.'">'."\n";
|
print '<input type="hidden" name="currency" value="'.$currency.'">'."\n";
|
||||||
|
|
||||||
print '
|
print '
|
||||||
<table id="dolpaymenttable" summary="Payment form" class="center">
|
<table id="dolpaymenttable" summary="Payment form" class="center">
|
||||||
<tbody><tr><td class="textpublicpayment">
|
<tbody><tr><td class="textpublicpayment">
|
||||||
|
|
||||||
<div class="form-row left">
|
<div class="form-row left">
|
||||||
<label for="card-element">
|
<label for="card-element">
|
||||||
Credit or debit card
|
Credit or debit card
|
||||||
@ -1118,7 +1128,7 @@ if (preg_match('/^dopayment/',$action))
|
|||||||
<div id="card-element">
|
<div id="card-element">
|
||||||
<!-- a Stripe Element will be inserted here. -->
|
<!-- a Stripe Element will be inserted here. -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Used to display form errors -->
|
<!-- Used to display form errors -->
|
||||||
<div id="card-errors" role="alert"></div>
|
<div id="card-errors" role="alert"></div>
|
||||||
</div>
|
</div>
|
||||||
@ -1126,22 +1136,22 @@ if (preg_match('/^dopayment/',$action))
|
|||||||
<button class="button" id="buttontopay">'.$langs->trans("ToPay").'</button>
|
<button class="button" id="buttontopay">'.$langs->trans("ToPay").'</button>
|
||||||
<img id="hourglasstopay" class="hidden" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/working.gif'.'">
|
<img id="hourglasstopay" class="hidden" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/working.gif'.'">
|
||||||
</td></tr></tbody></table>
|
</td></tr></tbody></table>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
||||||
<script src="https://js.stripe.com/v2/"></script>
|
<script src="https://js.stripe.com/v2/"></script>
|
||||||
<script src="https://js.stripe.com/v3/"></script>
|
<script src="https://js.stripe.com/v3/"></script>
|
||||||
|
|
||||||
<script type="text/javascript" language="javascript">';
|
<script type="text/javascript" language="javascript">';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
// Create a Stripe client
|
// Create a Stripe client
|
||||||
var stripe = Stripe('<?php echo $stripe['publishable_key']; ?>');
|
var stripe = Stripe('<?php echo $stripe['publishable_key']; ?>');
|
||||||
|
|
||||||
// Create an instance of Elements
|
// Create an instance of Elements
|
||||||
var elements = stripe.elements();
|
var elements = stripe.elements();
|
||||||
|
|
||||||
// Custom styling can be passed to options when creating an Element.
|
// Custom styling can be passed to options when creating an Element.
|
||||||
// (Note that this demo uses a wider set of styles than the guide below.)
|
// (Note that this demo uses a wider set of styles than the guide below.)
|
||||||
var style = {
|
var style = {
|
||||||
@ -1160,13 +1170,13 @@ if (preg_match('/^dopayment/',$action))
|
|||||||
iconColor: '#fa755a'
|
iconColor: '#fa755a'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Create an instance of the card Element
|
// Create an instance of the card Element
|
||||||
var card = elements.create('card', {style: style});
|
var card = elements.create('card', {style: style});
|
||||||
|
|
||||||
// Add an instance of the card Element into the `card-element` <div>
|
// Add an instance of the card Element into the `card-element` <div>
|
||||||
card.mount('#card-element');
|
card.mount('#card-element');
|
||||||
|
|
||||||
// Handle real-time validation errors from the card Element.
|
// Handle real-time validation errors from the card Element.
|
||||||
card.addEventListener('change', function(event) {
|
card.addEventListener('change', function(event) {
|
||||||
var displayError = document.getElementById('card-errors');
|
var displayError = document.getElementById('card-errors');
|
||||||
@ -1176,13 +1186,13 @@ if (preg_match('/^dopayment/',$action))
|
|||||||
displayError.textContent = '';
|
displayError.textContent = '';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Handle form submission
|
// Handle form submission
|
||||||
var form = document.getElementById('payment-form');
|
var form = document.getElementById('payment-form');
|
||||||
console.log(form);
|
console.log(form);
|
||||||
form.addEventListener('submit', function(event) {
|
form.addEventListener('submit', function(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
stripe.createToken(card).then(function(result) {
|
stripe.createToken(card).then(function(result) {
|
||||||
if (result.error) {
|
if (result.error) {
|
||||||
// Inform the user if there was an error
|
// Inform the user if there was an error
|
||||||
@ -1194,7 +1204,7 @@ if (preg_match('/^dopayment/',$action))
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function stripeTokenHandler(token) {
|
function stripeTokenHandler(token) {
|
||||||
// Insert the token ID into the form so it gets submitted to the server
|
// Insert the token ID into the form so it gets submitted to the server
|
||||||
var form = document.getElementById('payment-form');
|
var form = document.getElementById('payment-form');
|
||||||
@ -1203,16 +1213,16 @@ if (preg_match('/^dopayment/',$action))
|
|||||||
hiddenInput.setAttribute('name', 'stripeToken');
|
hiddenInput.setAttribute('name', 'stripeToken');
|
||||||
hiddenInput.setAttribute('value', token.id);
|
hiddenInput.setAttribute('value', token.id);
|
||||||
form.appendChild(hiddenInput);
|
form.appendChild(hiddenInput);
|
||||||
|
|
||||||
// Submit the form
|
// Submit the form
|
||||||
jQuery('#buttontopay').hide();
|
jQuery('#buttontopay').hide();
|
||||||
jQuery('#hourglasstopay').show();
|
jQuery('#hourglasstopay').show();
|
||||||
console.log("submit");
|
console.log("submit");
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
print '</script>';
|
print '</script>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user