forked from Wavyzz/dolibarr
FIX Bad remote ip address when user is using a proxy
This commit is contained in:
@@ -2636,7 +2636,7 @@ function dol_print_ip($ip, $mode = 0)
|
|||||||
* Return the IP of remote user.
|
* Return the IP of remote user.
|
||||||
* Take HTTP_X_FORWARDED_FOR (defined when using proxy)
|
* Take HTTP_X_FORWARDED_FOR (defined when using proxy)
|
||||||
* Then HTTP_CLIENT_IP if defined (rare)
|
* Then HTTP_CLIENT_IP if defined (rare)
|
||||||
* Then REMOTE_ADDR (not way to be modified by user but may be wrong if using proxy)
|
* Then REMOTE_ADDR (no way to be modified by user but may be wrong if user is using a proxy)
|
||||||
*
|
*
|
||||||
* @return string Ip of remote user.
|
* @return string Ip of remote user.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -185,10 +185,12 @@ class Stripe extends CommonObject
|
|||||||
}
|
}
|
||||||
elseif ($createifnotlinkedtostripe)
|
elseif ($createifnotlinkedtostripe)
|
||||||
{
|
{
|
||||||
|
$ipaddress = getUserRemoteIP();
|
||||||
|
|
||||||
$dataforcustomer = array(
|
$dataforcustomer = array(
|
||||||
"email" => $object->email,
|
"email" => $object->email,
|
||||||
"description" => $object->name,
|
"description" => $object->name,
|
||||||
"metadata" => array('dol_id'=>$object->id, 'dol_version'=>DOL_VERSION, 'dol_entity'=>$conf->entity, 'ipaddress'=>(empty($_SERVER['REMOTE_ADDR'])?'':$_SERVER['REMOTE_ADDR']))
|
"metadata" => array('dol_id'=>$object->id, 'dol_version'=>DOL_VERSION, 'dol_entity'=>$conf->entity, 'ipaddress'=>$ipaddress)
|
||||||
);
|
);
|
||||||
|
|
||||||
$vatcleaned = $object->tva_intra ? $object->tva_intra : null;
|
$vatcleaned = $object->tva_intra ? $object->tva_intra : null;
|
||||||
@@ -237,7 +239,7 @@ class Stripe extends CommonObject
|
|||||||
|
|
||||||
return $customer;
|
return $customer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the Stripe payment intent
|
* Get the Stripe payment intent
|
||||||
*
|
*
|
||||||
@@ -305,14 +307,14 @@ class Stripe extends CommonObject
|
|||||||
$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($object->multicurrency_code, $arrayzerounitcurrency)) $stripeamount=$object->multicurrency_total_ttc * 100;
|
if (! in_array($object->multicurrency_code, $arrayzerounitcurrency)) $stripeamount=$object->multicurrency_total_ttc * 100;
|
||||||
else $stripeamount = $object->multicurrency_total_ttc;
|
else $stripeamount = $object->multicurrency_total_ttc;
|
||||||
|
|
||||||
$fee = round(($amount * ($conf->global->STRIPE_APPLICATION_FEE_PERCENT / 100) + $conf->global->STRIPE_APPLICATION_FEE) * 100);
|
$fee = round(($amount * ($conf->global->STRIPE_APPLICATION_FEE_PERCENT / 100) + $conf->global->STRIPE_APPLICATION_FEE) * 100);
|
||||||
if ($fee < ($conf->global->STRIPE_APPLICATION_FEE_MINIMAL * 100)) {
|
if ($fee < ($conf->global->STRIPE_APPLICATION_FEE_MINIMAL * 100)) {
|
||||||
$fee = round($conf->global->STRIPE_APPLICATION_FEE_MINIMAL * 100);
|
$fee = round($conf->global->STRIPE_APPLICATION_FEE_MINIMAL * 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
$description=$object->element.$object->ref;
|
$description=$object->element.$object->ref;
|
||||||
|
|
||||||
$dataforintent = array(
|
$dataforintent = array(
|
||||||
"amount" => $stripeamount,
|
"amount" => $stripeamount,
|
||||||
"currency" => $object->multicurrency_code,
|
"currency" => $object->multicurrency_code,
|
||||||
@@ -321,7 +323,7 @@ class Stripe extends CommonObject
|
|||||||
"statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($mysoc->name), 8, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt
|
"statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($mysoc->name), 8, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt
|
||||||
"metadata" => array('dol_type'=>$object->element, 'dol_id'=>$object->id, 'dol_version'=>DOL_VERSION, 'dol_entity'=>$conf->entity, 'ipaddress'=>(empty($_SERVER['REMOTE_ADDR'])?'':$_SERVER['REMOTE_ADDR']))
|
"metadata" => array('dol_type'=>$object->element, 'dol_id'=>$object->id, 'dol_version'=>DOL_VERSION, 'dol_entity'=>$conf->entity, 'ipaddress'=>(empty($_SERVER['REMOTE_ADDR'])?'':$_SERVER['REMOTE_ADDR']))
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($conf->entity!=$conf->global->STRIPECONNECT_PRINCIPAL && $fee>0)
|
if ($conf->entity!=$conf->global->STRIPECONNECT_PRINCIPAL && $fee>0)
|
||||||
{
|
{
|
||||||
$dataforintent["application_fee"] = $fee;
|
$dataforintent["application_fee"] = $fee;
|
||||||
@@ -364,7 +366,7 @@ class Stripe extends CommonObject
|
|||||||
|
|
||||||
return $paymentintent;
|
return $paymentintent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the Stripe card of a company payment mode (with option to create it on Stripe if not linked yet)
|
* Get the Stripe card of a company payment mode (with option to create it on Stripe if not linked yet)
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user