From a6c044bf4fb12ec9262ffc53fc7c72a2b9930bc0 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 2 Nov 2023 12:46:03 +1100 Subject: [PATCH] Improvements for stripe statementdescriptor --- app/PaymentDrivers/BaseDriver.php | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/app/PaymentDrivers/BaseDriver.php b/app/PaymentDrivers/BaseDriver.php index 9631b3b97c66..d1e2eddc6ec3 100644 --- a/app/PaymentDrivers/BaseDriver.php +++ b/app/PaymentDrivers/BaseDriver.php @@ -743,12 +743,26 @@ class BaseDriver extends AbstractPaymentDriver } $invoices_string = str_replace(["*","<",">","'",'"'], "-", $invoices_string); + // $invoices_string = "I-".$invoices_string; + // $invoices_string = substr($invoices_string, 0, 22); - $invoices_string = "I-".$invoices_string; +// 2023-11-02 - improve the statement descriptor for string +$company_name = $this->client->company->present()->name(); - $invoices_string = substr($invoices_string, 0, 22); - - $invoices_string = str_pad($invoices_string, 5, ctrans('texts.invoice'), STR_PAD_LEFT); +if(ctype_digit(substr($company_name, 0, 1))) + $company_name = "X" . $company_name; + +$suffix = strlen($invoices_string) + 1; + +$length = 22 - $suffix; + +$company_name = substr($company_name, 0, $length); + +$descriptor = "{$company_name} {$invoices_string}"; + +$invoices_string = str_pad($descriptor, 5, ctrans('texts.invoice'), STR_PAD_RIGHT); + + // $invoices_string = str_pad($invoices_string, 5, ctrans('texts.invoice'), STR_PAD_LEFT); return $invoices_string;