diff --git a/app/View/Components/PaymentMethod.php b/app/View/Components/PaymentMethod.php
new file mode 100644
index 000000000..0583628a7
--- /dev/null
+++ b/app/View/Components/PaymentMethod.php
@@ -0,0 +1,81 @@
+code = $code;
+ $this->method = $method;
+ $this->type = $type;
+
+ $this->payment_methods = $this->getPaymentMethods($payment_methods, $type);
+ $this->payment_method = $this->getPaymentMethod($payment_method, $code);
+ }
+
+ /**
+ * Get the view / contents that represent the component.
+ *
+ * @return \Illuminate\Contracts\View\View|string
+ */
+ public function render()
+ {
+ return view('components.payment_method');
+ }
+
+ protected function getPaymentMethods($payment_methods, $type)
+ {
+ if (! empty($payment_methods)) {
+ return $payment_methods;
+ }
+
+ // check here protal or admin panel..
+ if (empty($type)) {
+ $type = Str::contains(request()->route()->getName(), 'portal') ? 'customer' : 'all';
+ }
+
+ $payment_methods = Modules::getPaymentMethods($type);
+
+ return $payment_methods;
+ }
+
+ protected function getPaymentMethod($payment_method, $code)
+ {
+ if (! empty($payment_methods)) {
+ return $payment_methods;
+ }
+
+ if (! empty($this->payment_methods[$code])) {
+ return $this->payment_methods[$code];
+ }
+
+ if (! empty($this->payment_methods[$this->method])) {
+ return $this->payment_methods[$this->method];
+ }
+
+ if (! empty($this->payment_methods[$payment_method])) {
+ return $this->payment_methods[$payment_method];
+ }
+
+ return false;
+ }
+}
diff --git a/resources/views/components/payment_method.blade.php b/resources/views/components/payment_method.blade.php
new file mode 100644
index 000000000..de8778155
--- /dev/null
+++ b/resources/views/components/payment_method.blade.php
@@ -0,0 +1,5 @@
+@if (! empty($payment_method))
+ {!! $payment_method !!}
+@else
+