From eb7de25e64d083df2ed7d6210f6541d19b2310d5 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 6 Oct 2021 15:05:16 +1100 Subject: [PATCH] payment links --- .../Controllers/ClientPortal/InvitationController.php | 3 +-- app/Utils/HtmlEngine.php | 7 +++++-- app/Utils/Traits/Inviteable.php | 11 +++++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/ClientPortal/InvitationController.php b/app/Http/Controllers/ClientPortal/InvitationController.php index 7a7296cae120..39425b8650e2 100644 --- a/app/Http/Controllers/ClientPortal/InvitationController.php +++ b/app/Http/Controllers/ClientPortal/InvitationController.php @@ -206,7 +206,6 @@ class InvitationController extends Controller else $amount = round($invoice->balance, (int)$invoice->client->currency()->precision); - $gateways = $invitation->contact->client->service()->getPaymentMethods($amount); if(is_array($gateways)) @@ -226,6 +225,6 @@ class InvitationController extends Controller return (new InstantPayment($request))->run(); } - + abort(404, "Invoice not found"); } } diff --git a/app/Utils/HtmlEngine.php b/app/Utils/HtmlEngine.php index 713dacd71cbb..953c5a3cccbc 100644 --- a/app/Utils/HtmlEngine.php +++ b/app/Utils/HtmlEngine.php @@ -129,6 +129,9 @@ class HtmlEngine $data['$invoice.datetime'] = &$data['$entity.datetime']; $data['$quote.datetime'] = &$data['$entity.datetime']; $data['$credit.datetime'] = &$data['$entity.datetime']; + $data['$payment_button'] = ['value' => ''.ctrans('texts.pay_now').'', 'label' => ctrans('texts.pay_now')]; + $data['$payment_link'] = ['value' => $this->invitation->getPaymentLink(), 'label' => ctrans('texts.pay_now')]; + if ($this->entity_string == 'invoice' || $this->entity_string == 'recurring_invoice') { $data['$entity'] = ['value' => '', 'label' => ctrans('texts.invoice')]; @@ -140,7 +143,7 @@ class HtmlEngine $data['$viewLink'] = &$data['$view_link']; $data['$viewButton'] = &$data['$view_link']; $data['$view_button'] = &$data['$view_link']; - $data['$paymentButton'] = &$data['$view_link']; + $data['$paymentButton'] = &$data['$payment_button']; $data['$view_url'] = ['value' => $this->invitation->getLink(), 'label' => ctrans('texts.view_invoice')]; $data['$date'] = ['value' => $this->translateDate($this->entity->date, $this->entity->client->date_format(), $this->entity->client->locale()) ?: ' ', 'label' => ctrans('texts.invoice_date')]; @@ -457,7 +460,7 @@ class HtmlEngine $data['$auto_bill'] = &$data['$autoBill']; /*Payment Aliases*/ - $data['$paymentLink'] = ['value' => ''.ctrans('texts.view_payment').'', 'label' => ctrans('texts.view_payment')]; + $data['$paymentLink'] = &$data['$payment_link']; $data['$portalButton'] = &$data['$paymentLink']; $data['$dir'] = ['value' => optional($this->client->language())->locale === 'ar' ? 'rtl' : 'ltr', 'label' => '']; diff --git a/app/Utils/Traits/Inviteable.php b/app/Utils/Traits/Inviteable.php index 519b858d95c0..2b85e8a84264 100644 --- a/app/Utils/Traits/Inviteable.php +++ b/app/Utils/Traits/Inviteable.php @@ -43,6 +43,17 @@ trait Inviteable return $status; } + public function getPaymentLink() + { + if(Ninja::isHosted()){ + $domain = $this->company->domain(); + } + else + $domain = config('ninja.app_url'); + + return $domain.'/client/pay/'.$this->key; + } + public function getLink() :string { $entity_type = Str::snake(class_basename($this->entityType()));