diff --git a/htdocs/langs/en_US/paypal.lang b/htdocs/langs/en_US/paypal.lang
index 4bad6039b1f..39b8f13b1a6 100644
--- a/htdocs/langs/en_US/paypal.lang
+++ b/htdocs/langs/en_US/paypal.lang
@@ -18,18 +18,23 @@ PAYPAL_CSS_URL=Optionnal Url of CSS style sheet on payment page
ThisIsTransactionId=This is id of transaction: %s
PaypalTransactionDesc=This options allows you to import Paypal payments in Dolibarr as orders, invoices, etc ...
PaypalEnableThisTool=Enable this functionnality
+Unverified=Unverified
+Unconfirmed=Unconfirmed
+GrossAmount=Gross amount
+FeeAmount=Fee amount
+NetAmount=Net amount
+CustomerDetails=Customer details
# Paypal transaction fields
-PAYERID=
-PAYERSTATUS=
-ADDRESSSTATUS=
-TRANSACTIONID=
-TRANSACTIONTYPE=
-PAYMENTTYPE=
-AMT=
-FEEAMT=
-TAXAMT=
-PAYMENTSTATUS=
+PAYERID=Payer ID
+PAYERSTATUS=Payer status
+ADDRESSSTATUS=Address status
+TRANSACTIONID=Transaction ID
+TRANSACTIONTYPE=Transaction type
+PAYMENTTYPE=Payment type
+PAYMENTSTATUS=Payment status
+SHIPAMOUNT=Ship amount
+
PENDINGREASON=
REASONCODE=
SHIPPINGMETHOD=
diff --git a/htdocs/langs/fr_FR/paypal.lang b/htdocs/langs/fr_FR/paypal.lang
index 509ed3f2780..0a3dea1ddee 100644
--- a/htdocs/langs/fr_FR/paypal.lang
+++ b/htdocs/langs/fr_FR/paypal.lang
@@ -18,18 +18,23 @@ PAYPAL_CSS_URL=Url optionnelle de la feuille de style CSS de la page de paiement
ThisIsTransactionId=Voici l'identifiant de la transaction: %s
PaypalTransactionDesc=Ces options permettent d'importer des paiements Paypal dans Dolibarr en tant que commandes, factures, etc...
PaypalEnableThisTool=Activer ces fonctionnalités
+Unverified=Non vérifié
+Unconfirmed=Non confirmée
+GrossAmount=Montant brut
+FeeAmount=Frais Paypal
+NetAmount=Montant net
+CustomerDetails=Détail du client
# Paypal transaction fields
-PAYERID=
-PAYERSTATUS=
-ADDRESSSTATUS=
-TRANSACTIONID=
-TRANSACTIONTYPE=
-PAYMENTTYPE=
-AMT=
-FEEAMT=
-TAXAMT=
-PAYMENTSTATUS=
+PAYERID=ID du payeur
+PAYERSTATUS=Statut du payeur
+ADDRESSSTATUS=Statut de l'adresse
+TRANSACTIONID=ID de transaction
+TRANSACTIONTYPE=Type de transaction
+PAYMENTTYPE=Type de paiement
+PAYMENTSTATUS=Statut du paiement
+SHIPAMOUNT=Frais de port
+
PENDINGREASON=
REASONCODE=
SHIPPINGMETHOD=
diff --git a/htdocs/paypal/ajaxtransaction.php b/htdocs/paypal/ajaxtransaction.php
index 51e2e07833a..1899a5929e0 100644
--- a/htdocs/paypal/ajaxtransaction.php
+++ b/htdocs/paypal/ajaxtransaction.php
@@ -63,7 +63,7 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
if ($_GET['action'] == 'add')
{
$soc = new Societe($db);
-
+
// Create customer if not exists
$ret = $soc->fetchObjectFromRefExt($soc->table_element,$_SESSION[$_GET['transaction_id']]['PAYERID']);
if ($ret < 0)
@@ -77,7 +77,7 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
}
require_once(DOL_DOCUMENT_ROOT ."/includes/modules/societe/".$module.".php");
$modCodeClient = new $module;
-
+
// Create customer and return rowid
$soc->ref_ext = $_SESSION[$_GET['transaction_id']]['PAYERID'];
$soc->name = empty($conf->global->MAIN_FIRSTNAME_NAME_POSITION)?trim($_SESSION[$_GET['transaction_id']]['FIRSTNAME'].' '.$_SESSION[$_GET['transaction_id']]['LASTNAME']):trim($_SESSION[$_GET['transaction_id']]['LASTNAME'].' '.$_SESSION[$_GET['transaction_id']]['FIRSTNAME']);
@@ -92,7 +92,7 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
$soc->tva_assuj = 1;
$soc->client = 1;
$soc->particulier = 1;
-
+
$db->begin();
$result = $soc->create($user);
if ($result >= 0)
@@ -100,7 +100,7 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
if ($soc->particulier)
{
$contact=new Contact($db);
-
+
$contact->civilite_id = $soc->civilite_id;
$contact->name=$soc->nom_particulier;
$contact->firstname=$soc->prenom;
@@ -114,11 +114,11 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
$contact->status=1;
$contact->email=$soc->email;
$contact->priv=0;
-
+
$result=$contact->create($user);
}
}
-
+
if ($result >= 0)
{
$db->commit();
@@ -131,12 +131,12 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
echo $langs->trans($soc->error);
}
}
-
+
// Add element (order, bill, etc.)
if ($soc->id > 0 && isset($_GET['element']) && ! empty($_GET['element']))
{
$error=0;
-
+
// Parse element/subelement (ex: project_task)
$element = $subelement = $_GET['element'];
if (preg_match('/^([^_]+)_([^_]+)/i',$_GET['element'],$regs))
@@ -151,31 +151,30 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
$classname = ucfirst($subelement);
$object = new $classname($db);
-
+
$object->socid=$soc->id;
$object->fetch_thirdparty();
-
+
$db->begin();
-
+
$object->date = dol_now();
$object->ref_ext = $_SESSION[$_GET['transaction_id']]['SHIPTOCITY'];
-
+
$object_id = $object->create($user);
if ($object_id > 0)
{
$i=0;
-
+
// Add element lines
while (isset($_SESSION[$_GET['transaction_id']]["L_NAME".$i]))
{
$product = new Product($db);
-
$ret = $product->fetch('',$_SESSION[$_GET['transaction_id']]["L_NUMBER".$i]);
if ($ret > 0)
{
$product_type=($product->product_type?$product->product_type:0);
-
+
$result = $object->addline(
$object_id,
$product->description,
@@ -194,17 +193,17 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
'',
$product_type
);
-
+
if ($result < 0)
{
$error++;
break;
}
}
-
+
$i++;
}
-
+
// Insert default contacts
/*
if ($contact->id > 0)
@@ -218,7 +217,7 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
{
$error++;
}
-
+
if ($object_id > 0 && ! $error)
{
$db->commit();
@@ -231,71 +230,82 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
// Return element id
echo $object->getNomUrl(0,0,1);
-
- /*
+/*
foreach ($_SESSION[$_GET['transaction_id']] as $key => $value)
{
echo $key.': '.$value.'
';
}
- */
-
+*/
}
else if ($_GET['action'] == 'showdetails')
{
+ $langs->load('paypal');
+
// For paypal request optimization
if (! isset($_SESSION[$_GET['transaction_id']]) ) $_SESSION[$_GET['transaction_id']] = GetTransactionDetails($_GET['transaction_id']);
-
+
$var=true;
-
+
echo '
';
echo '';
echo '| '.$langs->trans('ThirdParty').' | ';
echo '
';
-
+
$var=!$var;
- echo '| '.$langs->trans('LastName').': | '.$_SESSION[$_GET['transaction_id']]['LASTNAME'].' |
';
+ echo '| '.$langs->trans('LastName').' | '.$_SESSION[$_GET['transaction_id']]['LASTNAME'].' |
';
$var=!$var;
- echo '| '.$langs->trans('FirstName').': | '.$_SESSION[$_GET['transaction_id']]['FIRSTNAME'].' |
';
+ echo '| '.$langs->trans('FirstName').' | '.$_SESSION[$_GET['transaction_id']]['FIRSTNAME'].' |
';
$var=!$var;
- echo '| '.$langs->trans('Address').': | '.$_SESSION[$_GET['transaction_id']]['SHIPTOSTREET'].' |
';
+ echo '| '.$langs->trans('Address').' | '.$_SESSION[$_GET['transaction_id']]['SHIPTOSTREET'].' |
';
$var=!$var;
- echo '| '.$langs->trans('Zip').' / '.$langs->trans('Town').': | '.$_SESSION[$_GET['transaction_id']]['SHIPTOZIP'].' '.$_SESSION[$_GET['transaction_id']]['SHIPTOCITY'].' |
';
+ echo '| '.$langs->trans('Zip').' / '.$langs->trans('Town').' | '.$_SESSION[$_GET['transaction_id']]['SHIPTOZIP'].' '.$_SESSION[$_GET['transaction_id']]['SHIPTOCITY'].' |
';
$var=!$var;
- echo '| '.$langs->trans('Country').': | '.$_SESSION[$_GET['transaction_id']]['SHIPTOCOUNTRYNAME'].' |
';
+ echo '| '.$langs->trans('Country').' | '.$_SESSION[$_GET['transaction_id']]['SHIPTOCOUNTRYNAME'].' |
';
$var=!$var;
- echo '| '.$langs->trans('Email').': | '.$_SESSION[$_GET['transaction_id']]['EMAIL'].' | ';
+ echo '
| '.$langs->trans('Email').' | '.$_SESSION[$_GET['transaction_id']]['EMAIL'].' | ';
$var=!$var;
- echo '
| '.$langs->trans('Date').': | '.dol_print_date(dol_stringtotime($_SESSION[$_GET['transaction_id']]['ORDERTIME']),'dayhour').' | ';
-
+ echo '
| '.$langs->trans('Date').' | '.dol_print_date(dol_stringtotime($_SESSION[$_GET['transaction_id']]['ORDERTIME']),'dayhour').' | ';
+
+ $var=!$var;
+ echo '
| '.$langs->trans('PAYERSTATUS').' | '.$langs->trans(ucfirst($_SESSION[$_GET['transaction_id']]['PAYERSTATUS'])).' | ';
+ $var=!$var;
+ echo '
| '.$langs->trans('ADDRESSSTATUS').' | '.$langs->trans(ucfirst($_SESSION[$_GET['transaction_id']]['ADDRESSSTATUS'])).' | ';
+
+ $shipamount=($_SESSION[$_GET['transaction_id']]['SHIPPINGAMT']?$_SESSION[$_GET['transaction_id']]['SHIPPINGAMT']:$_SESSION[$_GET['transaction_id']]['SHIPAMOUNT']);
+ $var=!$var;
+ echo '
| '.$langs->trans('SHIPAMOUNT').' | '.price($shipamount).' '.$_SESSION[$_GET['transaction_id']]['CURRENCYCODE'].' | ';
+
echo '
';
-
+
$i=0;
-
+
echo '';
-
+
echo '';
echo '| '.$langs->trans('Ref').' | ';
echo ''.$langs->trans('Label').' | ';
echo ''.$langs->trans('Qty').' | ';
echo '
';
-
+
while (isset($_SESSION[$_GET['transaction_id']]["L_NAME".$i]))
{
$var=!$var;
-
+
echo '';
echo '| '.$_SESSION[$_GET['transaction_id']]["L_NUMBER".$i].' | ';
echo ''.$_SESSION[$_GET['transaction_id']]["L_NAME".$i].' | ';
echo ''.$_SESSION[$_GET['transaction_id']]["L_QTY".$i].' | ';
echo '
';
-
+
$i++;
}
-
+
echo '
';
+
/*
echo '
';
+
foreach ($_SESSION[$_GET['transaction_id']] as $key => $value)
{
echo $key.': '.$value.'
';