diff --git a/app/Http/Controllers/ClientPortal/InvitationController.php b/app/Http/Controllers/ClientPortal/InvitationController.php
index 7a7296cae..39425b865 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 713dacd71..953c5a3cc 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 519b858d9..2b85e8a84 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()));