From 3c15da9dde802c1c87c7dd9156c47595717f34ca Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Sat, 4 Aug 2018 14:30:52 +0200 Subject: [PATCH 01/10] Fix payment in connect mode I know that it's not an optimal fix but it's functionnal for dolibarr 8.0.0 release --- htdocs/stripe/class/stripe.class.php | 32 +++++++++++++++++----------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index b8472d0b821..bab3fc5f18c 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -425,19 +425,25 @@ class Stripe extends CommonObject $fee = round($conf->global->STRIPE_APPLICATION_FEE_MINIMAL * 100); } - $charge = \Stripe\Charge::create(array( - "amount" => "$stripeamount", - "currency" => "$currency", - // "statement_descriptor" => " ", - "description" => "$description", - "metadata" => $metadata, - "source" => "$source", - "customer" => "$customer", - "application_fee" => "$fee" - ), array( - "idempotency_key" => "$ref", - "stripe_account" => "$account" - )); + $paymentarray = array( + "amount" => "$stripeamount", + "currency" => "$currency", + // "statement_descriptor" => " ", + "description" => "$description", + "metadata" => $metadata, + "source" => "$source", + "customer" => "$customer" + ); + if ($conf->entity>1 && $fee>0) + { + $paymentarray["application_fee"] = $fee; + } + if ($societe->email && $usethirdpartyemailforreceiptemail) + { + $paymentarray["receipt_email"] = $societe->email; + } + + $charge = \Stripe\Charge::create($paymentarray, array("idempotency_key" => "$ref","stripe_account" => "$account")); } if (isset($charge->id)) {} From f6e5b71f215032c547655ae5e77621a9c39e0beb Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Mon, 6 Aug 2018 12:29:38 +0200 Subject: [PATCH 02/10] Fix and compatibility for V8 and connect fix for V8 release and optimal functionnality with connect mode --- htdocs/stripe/class/stripe.class.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index bab3fc5f18c..7055d4442eb 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -367,18 +367,20 @@ class Stripe extends CommonObject $order = new Commande($this->db); $order->fetch($item); $ref = $order->ref; - $description = "ORD=" . $ref . ".CUS=" . $societe->id; + $description = "ORD=" . $ref . ".CUS=" . $societe->id.".PM=stripe"; } elseif ($origin == invoice) { $invoice = new Facture($this->db); $invoice->fetch($item); $ref = $invoice->ref; - $description = "INV=" . $ref . ".CUS=" . $societe->id; + $description = "INV=" . $ref . ".CUS=" . $societe->id.".PM=stripe"; } $metadata = array( "dol_id" => "" . $item . "", "dol_type" => "" . $origin . "", "dol_thirdparty_id" => "" . $societe->id . "", + "FULLTAG" => $description, + 'Recipient' => $societe->name, 'dol_version'=>DOL_VERSION, 'dol_entity'=>$conf->entity, 'ipaddress'=>(empty($_SERVER['REMOTE_ADDR'])?'':$_SERVER['REMOTE_ADDR']) @@ -396,7 +398,9 @@ class Stripe extends CommonObject $charge = \Stripe\Charge::create(array( "amount" => "$stripeamount", "currency" => "$currency", + "capture" => true, // "statement_descriptor" => " ", + "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source" )); @@ -404,8 +408,9 @@ class Stripe extends CommonObject $paymentarray = array( "amount" => "$stripeamount", "currency" => "$currency", + "capture" => true, // "statement_descriptor" => " ", - "description" => "$description", + "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source", "customer" => "$customer" @@ -428,8 +433,9 @@ class Stripe extends CommonObject $paymentarray = array( "amount" => "$stripeamount", "currency" => "$currency", + "capture" => true, // "statement_descriptor" => " ", - "description" => "$description", + "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source", "customer" => "$customer" From 78edd035f8bf72d4d460f0c54dcc425cbd83b592 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Wed, 8 Aug 2018 10:12:25 +0200 Subject: [PATCH 03/10] add statement descriptor as newpayment.php --- htdocs/stripe/class/stripe.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index 7055d4442eb..d596dd4b29b 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -399,7 +399,7 @@ class Stripe extends CommonObject "amount" => "$stripeamount", "currency" => "$currency", "capture" => true, - // "statement_descriptor" => " ", + "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($customer->name), 6, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source" @@ -409,7 +409,7 @@ class Stripe extends CommonObject "amount" => "$stripeamount", "currency" => "$currency", "capture" => true, - // "statement_descriptor" => " ", + "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($customer->name), 6, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source", @@ -434,7 +434,7 @@ class Stripe extends CommonObject "amount" => "$stripeamount", "currency" => "$currency", "capture" => true, - // "statement_descriptor" => " ", + "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($customer->name), 6, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source", From ba943bcbaab90f50704507a777278b250d55ba1b Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Wed, 8 Aug 2018 10:13:28 +0200 Subject: [PATCH 04/10] fix spaces --- htdocs/stripe/class/stripe.class.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index d596dd4b29b..57a0846f755 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -398,9 +398,9 @@ class Stripe extends CommonObject $charge = \Stripe\Charge::create(array( "amount" => "$stripeamount", "currency" => "$currency", - "capture" => true, + "capture" => true, "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($customer->name), 6, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt - "description" => "Stripe payment: ".$description, + "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source" )); @@ -408,9 +408,9 @@ class Stripe extends CommonObject $paymentarray = array( "amount" => "$stripeamount", "currency" => "$currency", - "capture" => true, - "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($customer->name), 6, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt - "description" => "Stripe payment: ".$description, + "capture" => true, + "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($customer->name), 6, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt + "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source", "customer" => "$customer" @@ -433,9 +433,9 @@ class Stripe extends CommonObject $paymentarray = array( "amount" => "$stripeamount", "currency" => "$currency", - "capture" => true, + "capture" => true, "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($customer->name), 6, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt - "description" => "Stripe payment: ".$description, + "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source", "customer" => "$customer" From 719c5c8e2fe113092b97c81673698dd695c93bbd Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 12 Aug 2018 18:34:28 +0200 Subject: [PATCH 05/10] Update stripe.class.php --- htdocs/stripe/class/stripe.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index 57a0846f755..3f330349caa 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -380,7 +380,7 @@ class Stripe extends CommonObject "dol_type" => "" . $origin . "", "dol_thirdparty_id" => "" . $societe->id . "", "FULLTAG" => $description, - 'Recipient' => $societe->name, + 'dol_thirdparty_name' => $societe->name, 'dol_version'=>DOL_VERSION, 'dol_entity'=>$conf->entity, 'ipaddress'=>(empty($_SERVER['REMOTE_ADDR'])?'':$_SERVER['REMOTE_ADDR']) From dd9751c9cf900a4ff40ea39cc1b326fc7fb8fe93 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Sun, 12 Aug 2018 19:36:41 +0200 Subject: [PATCH 06/10] Fix statement descriptor $soc->name --- htdocs/stripe/class/stripe.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index 3f330349caa..b38f487d8ff 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -399,7 +399,7 @@ class Stripe extends CommonObject "amount" => "$stripeamount", "currency" => "$currency", "capture" => true, - "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($customer->name), 6, '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), 6, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source" @@ -409,7 +409,7 @@ class Stripe extends CommonObject "amount" => "$stripeamount", "currency" => "$currency", "capture" => true, - "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($customer->name), 6, '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), 6, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source", @@ -434,7 +434,7 @@ class Stripe extends CommonObject "amount" => "$stripeamount", "currency" => "$currency", "capture" => true, - "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($customer->name), 6, '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), 6, 'right', 'UTF-8', 1).' '.$description, 22, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source", From 4d34725b233a46c3849b4afd75ef66dee976ebdc Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Sun, 12 Aug 2018 19:42:07 +0200 Subject: [PATCH 07/10] Define introduce principal entity define which entity must be use as principal with no fee and everything else (cf stripe API) --- htdocs/stripe/class/stripe.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index b38f487d8ff..d6c6268dc4e 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -440,7 +440,7 @@ class Stripe extends CommonObject "source" => "$source", "customer" => "$customer" ); - if ($conf->entity>1 && $fee>0) + if ($conf->entity!=$conf->global->STRIPECONNECT_PRINCIPAL && $fee>0) { $paymentarray["application_fee"] = $fee; } From 4cca4ce020f2e843f2ae157ba0d18de88649a81d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 2 Sep 2018 17:21:45 +0200 Subject: [PATCH 08/10] Update stripe.class.php --- htdocs/stripe/class/stripe.class.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index d6c6268dc4e..a1a4d58acac 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -379,7 +379,6 @@ class Stripe extends CommonObject "dol_id" => "" . $item . "", "dol_type" => "" . $origin . "", "dol_thirdparty_id" => "" . $societe->id . "", - "FULLTAG" => $description, 'dol_thirdparty_name' => $societe->name, 'dol_version'=>DOL_VERSION, 'dol_entity'=>$conf->entity, From 7ca45cd117b730eac2b4cd38c23f28b44787d73f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 2 Sep 2018 17:22:45 +0200 Subject: [PATCH 09/10] Update stripe.class.php --- htdocs/stripe/class/stripe.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index a1a4d58acac..ebb9fd3e394 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -398,7 +398,7 @@ class Stripe extends CommonObject "amount" => "$stripeamount", "currency" => "$currency", "capture" => true, - "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($mysoc->name), 6, '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 "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source" @@ -408,7 +408,7 @@ class Stripe extends CommonObject "amount" => "$stripeamount", "currency" => "$currency", "capture" => true, - "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($mysoc->name), 6, '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 "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source", From 3cc268c840436f80bafc245eb28da68ab7e9746e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 2 Sep 2018 17:23:38 +0200 Subject: [PATCH 10/10] Update stripe.class.php --- htdocs/stripe/class/stripe.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index ebb9fd3e394..b810f29fcdc 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -433,7 +433,7 @@ class Stripe extends CommonObject "amount" => "$stripeamount", "currency" => "$currency", "capture" => true, - "statement_descriptor" => dol_trunc(dol_trunc(dol_string_unaccent($mysoc->name), 6, '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 "description" => "Stripe payment: ".$description, "metadata" => $metadata, "source" => "$source",