dolibarr/htdocs/paypal/admin/paypal.php

332 lines
13 KiB
PHP
Raw Normal View History

2010-10-03 02:12:54 +02:00
<?php
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2013 Laurent Destailleur <eldy@users.sourceforge.org>
2018-10-27 14:43:12 +02:00
* Copyright (C) 2011-2012 Regis Houssin <regis.houssin@inodbox.com>
2012-04-05 17:20:37 +02:00
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
2010-10-03 02:12:54 +02:00
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
2010-10-03 02:12:54 +02:00
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
2011-08-01 01:19:04 +02:00
* along with this program. If not, see <http://www.gnu.org/licenses/>.
2010-10-03 02:12:54 +02:00
*/
/**
* \file htdocs/paypal/admin/paypal.php
* \ingroup paypal
* \brief Page to setup paypal module
2010-10-03 02:12:54 +02:00
*/
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/paypal/lib/paypal.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
2010-10-03 02:12:54 +02:00
$servicename='PayPal';
2018-05-26 17:57:30 +02:00
// Load translation files required by the page
$langs->loadLangs(array('admin', 'other', 'paypal', 'paybox'));
2010-10-03 02:12:54 +02:00
2012-07-04 10:29:17 +02:00
if (! $user->admin) accessforbidden();
2010-10-03 02:12:54 +02:00
2012-04-05 17:20:37 +02:00
$action = GETPOST('action','alpha');
2010-10-03 02:12:54 +02:00
2011-09-06 11:25:32 +02:00
if ($action == 'setvalue' && $user->admin)
2010-10-03 02:12:54 +02:00
{
2011-09-06 11:33:24 +02:00
$db->begin();
2012-04-05 17:20:37 +02:00
$result=dolibarr_set_const($db, "PAYPAL_API_USER",GETPOST('PAYPAL_API_USER','alpha'),'chaine',0,'',$conf->entity);
2011-09-06 11:25:32 +02:00
if (! $result > 0) $error++;
2012-04-05 17:20:37 +02:00
$result=dolibarr_set_const($db, "PAYPAL_API_PASSWORD",GETPOST('PAYPAL_API_PASSWORD','alpha'),'chaine',0,'',$conf->entity);
2011-09-06 11:25:32 +02:00
if (! $result > 0) $error++;
2012-04-05 17:20:37 +02:00
$result=dolibarr_set_const($db, "PAYPAL_API_SIGNATURE",GETPOST('PAYPAL_API_SIGNATURE','alpha'),'chaine',0,'',$conf->entity);
2011-09-06 11:25:32 +02:00
if (! $result > 0) $error++;
2015-12-10 16:49:55 +01:00
$result=dolibarr_set_const($db, "PAYPAL_SSLVERSION",GETPOST('PAYPAL_SSLVERSION','alpha'),'chaine',0,'',$conf->entity);
if (! $result > 0) $error++;
$result=dolibarr_set_const($db, "ONLINE_PAYMENT_CREDITOR",GETPOST('ONLINE_PAYMENT_CREDITOR','alpha'),'chaine',0,'',$conf->entity);
2011-09-06 11:25:32 +02:00
if (! $result > 0) $error++;
$result=dolibarr_set_const($db, "PAYPAL_BANK_ACCOUNT_FOR_PAYMENTS",GETPOST('PAYPAL_BANK_ACCOUNT_FOR_PAYMENTS','int'),'chaine',0,'',$conf->entity);
if (! $result > 0) $error++;
2012-04-05 17:20:37 +02:00
$result=dolibarr_set_const($db, "PAYPAL_API_INTEGRAL_OR_PAYPALONLY",GETPOST('PAYPAL_API_INTEGRAL_OR_PAYPALONLY','alpha'),'chaine',0,'',$conf->entity);
2011-09-06 11:25:32 +02:00
if (! $result > 0) $error++;
$result=dolibarr_set_const($db, "ONLINE_PAYMENT_CSS_URL",GETPOST('ONLINE_PAYMENT_CSS_URL','alpha'),'chaine',0,'',$conf->entity);
2011-09-06 11:25:32 +02:00
if (! $result > 0) $error++;
2012-04-05 17:20:37 +02:00
$result=dolibarr_set_const($db, "PAYPAL_ADD_PAYMENT_URL",GETPOST('PAYPAL_ADD_PAYMENT_URL','alpha'),'chaine',0,'',$conf->entity);
2011-09-06 11:25:32 +02:00
if (! $result > 0) $error++;
2017-09-09 09:54:42 +02:00
$result=dolibarr_set_const($db, "ONLINE_PAYMENT_MESSAGE_FORM",GETPOST('ONLINE_PAYMENT_MESSAGE_FORM'),'chaine',0,'',$conf->entity);
if (! $result > 0) $error++;
$result=dolibarr_set_const($db, "ONLINE_PAYMENT_MESSAGE_OK",GETPOST('ONLINE_PAYMENT_MESSAGE_OK'),'chaine',0,'',$conf->entity);
2011-09-06 11:25:32 +02:00
if (! $result > 0) $error++;
$result=dolibarr_set_const($db, "ONLINE_PAYMENT_MESSAGE_KO",GETPOST('ONLINE_PAYMENT_MESSAGE_KO'),'chaine',0,'',$conf->entity);
2011-09-06 11:25:32 +02:00
if (! $result > 0) $error++;
$result=dolibarr_set_const($db, "ONLINE_PAYMENT_SENDEMAIL",GETPOST('ONLINE_PAYMENT_SENDEMAIL'),'chaine',0,'',$conf->entity);
2013-06-26 16:45:42 +02:00
if (! $result > 0) $error++;
// Payment token for URL
$result=dolibarr_set_const($db, "PAYMENT_SECURITY_TOKEN",GETPOST('PAYMENT_SECURITY_TOKEN','alpha'),'chaine',0,'',$conf->entity);
if (! $result > 0) $error++;
$result=dolibarr_set_const($db, "PAYMENT_SECURITY_TOKEN_UNIQUE",GETPOST('PAYMENT_SECURITY_TOKEN_UNIQUE','alpha'),'chaine',0,'',$conf->entity);
if (! $result > 0) $error++;
2011-09-06 11:25:32 +02:00
if (! $error)
2010-10-03 02:12:54 +02:00
{
2011-09-06 11:25:32 +02:00
$db->commit();
2015-12-12 10:59:02 +01:00
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
2010-10-03 02:12:54 +02:00
}
else
{
2011-09-06 11:25:32 +02:00
$db->rollback();
2010-10-03 02:12:54 +02:00
dol_print_error($db);
}
}
if ($action=="setlive")
{
$liveenable = GETPOST('value','int')?0:1;
$res = dolibarr_set_const($db, "PAYPAL_API_SANDBOX", $liveenable,'yesno',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
}
else
{
setEventMessages($langs->trans("Error"), null, 'errors');
}
}
2010-10-03 02:12:54 +02:00
/*
* View
*/
$form=new Form($db);
llxHeader('',$langs->trans("PaypalSetup"));
2010-10-03 02:12:54 +02:00
2010-10-10 21:14:08 +02:00
2018-02-26 09:20:05 +01:00
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans("BackToModuleList").'</a>';
print load_fiche_titre($langs->trans("ModuleSetup").' PayPal',$linkback);
$head=paypaladmin_prepare_head();
2015-08-31 12:13:23 +02:00
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="setvalue">';
2017-05-13 15:19:35 +02:00
dol_fiche_head($head, 'paypalaccount', '', -1);
2010-10-03 02:12:54 +02:00
print $langs->trans("PaypalDesc")."<br>\n";
2012-07-04 10:29:17 +02:00
// Test if php curl exist
2012-07-06 11:35:03 +02:00
if (! function_exists('curl_version'))
2012-07-04 10:29:17 +02:00
{
$langs->load("errors");
2015-12-12 10:59:02 +01:00
setEventMessages($langs->trans("ErrorPhpCurlNotInstalled"), null, 'errors');
2012-07-04 10:29:17 +02:00
}
2010-10-03 02:12:54 +02:00
print '<br>';
print '<table class="noborder" width="100%">';
2010-10-10 21:14:08 +02:00
2015-12-10 16:29:35 +01:00
// Account Parameters
2010-10-03 02:12:54 +02:00
print '<tr class="liste_titre">';
2010-10-10 23:40:02 +02:00
print '<td>'.$langs->trans("AccountParameter").'</td>';
2010-10-03 02:12:54 +02:00
print '<td>'.$langs->trans("Value").'</td>';
print "</tr>\n";
print '<tr class="oddeven">';
print '<td class="titlefield">';
print $langs->trans("PaypalLiveEnabled").'</td><td>';
if (empty($conf->global->PAYPAL_API_SANDBOX))
{
print '<a href="'.$_SERVER['PHP_SELF'].'?action=setlive&value=0">';
print img_picto($langs->trans("Activated"),'switch_on');
}
else
{
print '<a href="'.$_SERVER['PHP_SELF'].'?action=setlive&value=1">';
print img_picto($langs->trans("Disabled"),'switch_off');
}
2010-10-10 21:14:08 +02:00
print '</td></tr>';
print '<tr class="oddeven"><td class="fieldrequired">';
2010-10-10 21:14:08 +02:00
print $langs->trans("PAYPAL_API_USER").'</td><td>';
2010-10-03 02:12:54 +02:00
print '<input size="32" type="text" name="PAYPAL_API_USER" value="'.$conf->global->PAYPAL_API_USER.'">';
2017-05-13 15:19:35 +02:00
print ' &nbsp; '.$langs->trans("Example").': admin-facilitator_api1.example.com, paypal_api1.mywebsite.com';
2010-10-03 02:12:54 +02:00
print '</td></tr>';
print '<tr class="oddeven"><td class="fieldrequired">';
2010-10-10 21:14:08 +02:00
print $langs->trans("PAYPAL_API_PASSWORD").'</td><td>';
2010-10-03 02:12:54 +02:00
print '<input size="32" type="text" name="PAYPAL_API_PASSWORD" value="'.$conf->global->PAYPAL_API_PASSWORD.'">';
print '</td></tr>';
print '<tr class="oddeven"><td class="fieldrequired">';
2010-10-10 21:14:08 +02:00
print $langs->trans("PAYPAL_API_SIGNATURE").'</td><td>';
2010-10-03 02:12:54 +02:00
print '<input size="64" type="text" name="PAYPAL_API_SIGNATURE" value="'.$conf->global->PAYPAL_API_SIGNATURE.'">';
print '<br>'.$langs->trans("Example").': ASsqXEmw4KzmX-CPChWSVDNCNfd.A3YNR7uz-VncXXAERFDFDFDF';
print '</td></tr>';
2017-05-15 10:39:14 +02:00
print '<tr class="oddeven"><td>';
2015-12-10 16:29:35 +01:00
print $langs->trans("PAYPAL_SSLVERSION").'</td><td>';
print $form->selectarray("PAYPAL_SSLVERSION",array('1'=> $langs->trans('TLSv1'),'6'=> $langs->trans('TLSv1.2')),$conf->global->PAYPAL_SSLVERSION);
2015-12-10 16:29:35 +01:00
print '</td></tr>';
// Usage Parameters
2010-10-10 21:14:08 +02:00
print '<tr class="liste_titre">';
2010-10-10 23:40:02 +02:00
print '<td>'.$langs->trans("UsageParameter").'</td>';
2010-10-10 21:14:08 +02:00
print '<td>'.$langs->trans("Value").'</td>';
print "</tr>\n";
2017-05-15 10:39:14 +02:00
print '<tr class="oddeven"><td>';
2010-10-10 21:14:08 +02:00
print $langs->trans("PAYPAL_API_INTEGRAL_OR_PAYPALONLY").'</td><td>';
print $form->selectarray("PAYPAL_API_INTEGRAL_OR_PAYPALONLY",array('integral'=> $langs->trans('PaypalModeIntegral'),'paypalonly'=> $langs->trans('PaypalModeOnlyPaypal')),$conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY);
2010-10-03 02:12:54 +02:00
print '</td></tr>';
/*
print '<tr class="oddeven"><td>';
2010-10-03 02:12:54 +02:00
print '<span class="fieldrequired">'.$langs->trans("PAYPAL_API_EXPRESS").'</span></td><td>';
print $form->selectyesno("PAYPAL_API_EXPRESS",$conf->global->PAYPAL_API_EXPRESS);
2010-10-03 02:12:54 +02:00
print '</td></tr>';
2010-10-10 21:14:08 +02:00
*/
2010-10-03 02:12:54 +02:00
print '<tr class="oddeven"><td>';
2010-10-31 14:29:33 +01:00
print $langs->trans("VendorName").'</td><td>';
2017-08-31 03:41:04 +02:00
print '<input size="64" type="text" name="ONLINE_PAYMENT_CREDITOR" value="'.$conf->global->ONLINE_PAYMENT_CREDITOR.'">';
2011-05-02 19:08:50 +02:00
print ' &nbsp; '.$langs->trans("Example").': '.$mysoc->name;
2010-10-31 14:29:33 +01:00
print '</td></tr>';
if (! empty($conf->banque->enabled))
{
print '<tr class="oddeven"><td>';
print $langs->trans("BankAccount").'</td><td>';
print $form->select_comptes($conf->global->PAYPAL_BANK_ACCOUNT_FOR_PAYMENTS, 'PAYPAL_BANK_ACCOUNT_FOR_PAYMENTS', 0, '', 1);
print '</td></tr>';
}
print '<tr class="oddeven"><td>';
2010-10-31 14:29:33 +01:00
print $langs->trans("CSSUrlForPaymentForm").'</td><td>';
print '<input size="64" type="text" name="ONLINE_PAYMENT_CSS_URL" value="'.$conf->global->ONLINE_PAYMENT_CSS_URL.'">';
2011-05-02 19:08:50 +02:00
print ' &nbsp; '.$langs->trans("Example").': http://mysite/mycss.css';
print '</td></tr>';
print '<tr class="oddeven"><td>';
print $langs->trans("PAYPAL_ADD_PAYMENT_URL").'</td><td>';
print $form->selectyesno("PAYPAL_ADD_PAYMENT_URL",$conf->global->PAYPAL_ADD_PAYMENT_URL,1);
print '</td></tr>';
2017-09-09 09:54:42 +02:00
print '<tr class="oddeven"><td>';
print $langs->trans("MessageForm").'</td><td>';
$doleditor=new DolEditor('ONLINE_PAYMENT_MESSAGE_FORM',$conf->global->ONLINE_PAYMENT_MESSAGE_FORM,'',100,'dolibarr_details','In',false,true,true,ROWS_4,'90%');
$doleditor->Create();
print '</td></tr>';
print '<tr class="oddeven"><td>';
2010-11-01 13:41:32 +01:00
print $langs->trans("MessageOK").'</td><td>';
$doleditor=new DolEditor('ONLINE_PAYMENT_MESSAGE_OK',$conf->global->ONLINE_PAYMENT_MESSAGE_OK,'',100,'dolibarr_details','In',false,true,true,ROWS_4,'90%');
2010-11-01 13:41:32 +01:00
$doleditor->Create();
print '</td></tr>';
print '<tr class="oddeven"><td>';
2010-11-01 13:41:32 +01:00
print $langs->trans("MessageKO").'</td><td>';
$doleditor=new DolEditor('ONLINE_PAYMENT_MESSAGE_KO',$conf->global->ONLINE_PAYMENT_MESSAGE_KO,'',100,'dolibarr_details','In',false,true,true,ROWS_4,'90%');
2010-11-01 13:41:32 +01:00
$doleditor->Create();
print '</td></tr>';
2010-10-03 02:12:54 +02:00
print '<tr class="oddeven"><td>';
print $langs->trans("ONLINE_PAYMENT_SENDEMAIL").'</td><td>';
2018-09-01 17:48:35 +02:00
print '<input size="32" type="text" name="ONLINE_PAYMENT_SENDEMAIL" value="'.$conf->global->ONLINE_PAYMENT_SENDEMAIL.'">';
2018-09-01 17:50:13 +02:00
print ' &nbsp; '.$langs->trans("Example").': myemail@myserver.com, Payment service &lt;myemail2@myserver2.com&gt;';
2013-06-26 16:45:42 +02:00
print '</td></tr>';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("UrlGenerationParameters").'</td>';
print '<td>'.$langs->trans("Value").'</td>';
print "</tr>\n";
// Payment token for URL
print '<tr class="oddeven"><td>';
print $langs->trans("SecurityToken").'</td><td>';
print '<input size="48" type="text" id="PAYMENT_SECURITY_TOKEN" name="PAYMENT_SECURITY_TOKEN" value="'.$conf->global->PAYMENT_SECURITY_TOKEN.'">';
if (! empty($conf->use_javascript_ajax))
print '&nbsp;'.img_picto($langs->trans('Generate'), 'refresh', 'id="generate_token" class="linkobject"');
print '</td></tr>';
print '<tr class="oddeven"><td>';
print $langs->trans("SecurityTokenIsUnique").'</td><td>';
print $form->selectyesno("PAYMENT_SECURITY_TOKEN_UNIQUE",(empty($conf->global->PAYMENT_SECURITY_TOKEN)?0:$conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE),1);
print '</td></tr>';
print '</table>';
2015-08-31 12:13:23 +02:00
dol_fiche_end();
print '<div class="center"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></div>';
print '</form>';
2010-10-03 02:12:54 +02:00
print '<br><br>';
2010-10-10 21:14:08 +02:00
// Help doc
print '<u>'.$langs->trans("InformationToFindParameters","Paypal").'</u>:<br>';
if (! empty($conf->use_javascript_ajax))
print '<a href="#" class="reposition" id="apidoca">'.$langs->trans("ClickHere").'...</a>';
2010-10-10 21:14:08 +02:00
2010-10-30 01:00:45 +02:00
$realpaypalurl='www.paypal.com';
$sandboxpaypalurl='developer.paypal.com';
2010-10-10 21:14:08 +02:00
print '<div id="apidoc">';
print 'Your API authentication information can be found with following steps. We recommend that you open a separate Web browser session when carrying out this procedure.<br>
2013-07-09 00:35:55 +02:00
1. Log in to your PayPal account (on real paypal <a href="https://'.$realpaypalurl.'" target="_blank">'.$realpaypalurl.'</a> (or sandbox <a href="https://'.$sandboxpaypalurl.'" target="_blank">'.$sandboxpaypalurl.'</a>).<br>
2. Click the "Profile" or "Preferencies" subtab located under the My Account heading.<br>
3. Click the link "API Access".<br>
2010-10-10 21:14:08 +02:00
4. Click the View API Certificate link in the right column.<br>
5. Click the Request API signature radio button on the Request API Credentials page.<br>
6. Complete the Request API Credential Request form by clicking the agreement checkbox and clicking Submit.<br>
7. Save the values for API Username, Password and Signature (make sure this long character signature is copied).<br>
8. Click the "Modify" button after copying your API Username, Password, and Signature.
';
print '</div>';
if (! empty($conf->use_javascript_ajax))
{
print "\n".'<script type="text/javascript">';
print '$(document).ready(function () {
$("#apidoc").hide();
$("#apidoca").click(function() {
$("#apidoc").show();
2015-08-31 12:13:23 +02:00
$("#apidoca").hide();
})
});';
print '</script>';
}
print '<br><br>';
$token='';
include DOL_DOCUMENT_ROOT.'/core/tpl/onlinepaymentlinks.tpl.php';
2018-08-14 09:55:58 +02:00
// End of page
llxFooter();
2012-05-09 02:39:30 +02:00
$db->close();