diff --git a/app/PaymentDrivers/PayFast/CreditCard.php b/app/PaymentDrivers/PayFast/CreditCard.php index eb430ff78ec2..ae5968eddda7 100644 --- a/app/PaymentDrivers/PayFast/CreditCard.php +++ b/app/PaymentDrivers/PayFast/CreditCard.php @@ -101,7 +101,6 @@ class CreditCard ]; $data['signature'] = $this->payfast->generateSignature($data); - nlog($data['signature']); $data['gateway'] = $this->payfast; $data['payment_endpoint_url'] = $this->payfast->endpointUrl(); @@ -155,14 +154,35 @@ class CreditCard $token = $this->payfast->storeGatewayToken($cgt, []); - nlog($token); - - return response()->json([], 200); + return response()->json([], 200); } + public function paymentView($data) + { + $data = [ + 'merchant_id' => $this->payfast->company_gateway->getConfigField('merchantId'), + 'merchant_key' => $this->payfast->company_gateway->getConfigField('merchantKey'), + 'return_url' => route('client.payment_methods.index'), + 'cancel_url' => route('client.payment_methods.index'), + 'notify_url' => $this->payfast->genericWebhookUrl(), + 'm_payment_id' => $data['hash'], + 'amount' => $data['amount_with_fee'], + 'item_name' => 'purchase', + 'item_description' => ctrans('texts.invoices') . ': ' . collect($data['invoices'])->pluck('invoice_number'), + 'subscription_type' => 2, + 'passphrase' => $this->payfast->company_gateway->getConfigField('passphrase'), + ]; + + $data['signature'] = $this->payfast->generateSignature($data); + $data['gateway'] = $this->payfast; + $data['payment_endpoint_url'] = $this->payfast->endpointUrl(); + + return render('gateways.payfast.authorize', $data); + + } } diff --git a/app/PaymentDrivers/PayFastPaymentDriver.php b/app/PaymentDrivers/PayFastPaymentDriver.php index 07e6c0e55ada..3f93ced230dd 100644 --- a/app/PaymentDrivers/PayFastPaymentDriver.php +++ b/app/PaymentDrivers/PayFastPaymentDriver.php @@ -95,12 +95,12 @@ class PayFastPaymentDriver extends BaseDriver public function authorizeView(array $data) { - return $this->payment_method->authorizeView($data); //this is your custom implementation from here + return $this->payment_method->authorizeView($data); } public function authorizeResponse($request) { - return $this->payment_method->authorizeResponse($request); //this is your custom implementation from here + return $this->payment_method->authorizeResponse($request); } public function processPaymentView(array $data) @@ -180,17 +180,13 @@ class PayFastPaymentDriver extends BaseDriver } } - nlog(md5(http_build_query($fields))); - return md5(http_build_query($fields)); } public function processWebhookRequest(Request $request, Payment $payment = null) { - // $this->init(); - nlog($request->all()); $data = $request->all(); if(array_key_exists('m_payment_id', $data)) diff --git a/app/PaymentDrivers/WePay/CreditCard.php b/app/PaymentDrivers/WePay/CreditCard.php index a943800e4a28..8e6a155ddc43 100644 --- a/app/PaymentDrivers/WePay/CreditCard.php +++ b/app/PaymentDrivers/WePay/CreditCard.php @@ -117,7 +117,6 @@ use WePayCommon; nlog("authorize the card first!"); $response = $this->wepay_payment_driver->wepay->request('credit_card/authorize', array( - // 'callback_uri' => route('payment_webhook', ['company_key' => $this->wepay_payment_driver->company_gateway->company->company_key, 'company_gateway_id' => $this->wepay_payment_driver->company_gateway->hashed_id]), 'client_id' => config('ninja.wepay.client_id'), 'client_secret' => config('ninja.wepay.client_secret'), 'credit_card_id' => (int)$request->input('credit_card_id'), diff --git a/resources/views/portal/ninja2020/gateways/payfast/pay.blade.php b/resources/views/portal/ninja2020/gateways/payfast/pay.blade.php new file mode 100644 index 000000000000..5cde9b5fca75 --- /dev/null +++ b/resources/views/portal/ninja2020/gateways/payfast/pay.blade.php @@ -0,0 +1,72 @@ +@extends('portal.ninja2020.layout.payments', ['gateway_title' => ctrans('texts.credit_card'), 'card_title' => ctrans('texts.credit_card')]) + +@section('gateway_head') + + +@endsection + +@section('gateway_content') +
+ + + + + + + + + + + + + + + @if(!Request::isSecure()) +

{{ ctrans('texts.https_required') }}

+ @endif + + + + @component('portal.ninja2020.components.general.card-element', ['title' => ctrans('texts.method')]) + {{ ctrans('texts.credit_card') }} + @endcomponent + + @include('portal.ninja2020.gateways.includes.payment_details') + + @component('portal.ninja2020.components.general.card-element', ['title' => ctrans('texts.pay_with')]) + @if(count($tokens) > 0) + @foreach($tokens as $token) + + @endforeach + @endisset + + + @endcomponent + + @include('portal.ninja2020.gateways.includes.save_card') + + @include('portal.ninja2020.gateways.wepay.includes.credit_card') + + @include('portal.ninja2020.gateways.includes.pay_now') + +
+@endsection + +@section('gateway_footer') + +@endsection