diff --git a/app/Models/PaymentType.php b/app/Models/PaymentType.php index 12e716ca0034..85210d94dd9c 100644 --- a/app/Models/PaymentType.php +++ b/app/Models/PaymentType.php @@ -76,6 +76,7 @@ class PaymentType extends StaticModel const BACS = 49; const STRIPE_BANK_TRANSFER = 50; const CASH_APP = 51; + const VENMO = 25; public array $type_names = [ self::CREDIT => 'payment_type_Credit', @@ -119,6 +120,7 @@ class PaymentType extends StaticModel self::Interac_E_Transfer => 'payment_type_Interac E Transfer', self::STRIPE_BANK_TRANSFER => 'bank_transfer', self::CASH_APP => 'payment_type_Cash App', + self::VENMO => 'payment_type_Venmo', ]; public static function parseCardType($cardName) diff --git a/app/PaymentDrivers/PayPalProPaymentDriver.php b/app/PaymentDrivers/PayPalProPaymentDriver.php index 66ea31b572b3..bdfd64eb2421 100644 --- a/app/PaymentDrivers/PayPalProPaymentDriver.php +++ b/app/PaymentDrivers/PayPalProPaymentDriver.php @@ -12,15 +12,16 @@ namespace App\PaymentDrivers; -use App\Exceptions\PaymentFailed; -use App\Jobs\Util\SystemLogger; -use App\Models\GatewayType; -use App\Models\Invoice; -use App\Models\PaymentType; -use App\Models\SystemLog; -use App\Utils\Traits\MakesHash; -use Omnipay\Common\Item; use Omnipay\Omnipay; +use App\Models\Invoice; +use Omnipay\Common\Item; +use App\Models\SystemLog; +use App\Models\GatewayType; +use App\Models\PaymentType; +use App\Jobs\Util\SystemLogger; +use App\Utils\Traits\MakesHash; +use App\Exceptions\PaymentFailed; +use Illuminate\Support\Facades\Http; class PayPalProPaymentDriver extends BaseDriver { @@ -53,13 +54,23 @@ class PayPalProPaymentDriver extends BaseDriver * * @return void */ - private function initializeOmnipayGateway(): void + private function initializeOmnipayGateway(): self { $this->omnipay_gateway = Omnipay::create( $this->company_gateway->gateway->provider ); - $this->omnipay_gateway->initialize((array) $this->company_gateway->getConfig()); + $this->omnipay_gateway = Omnipay::create('PayPal_Rest'); + + // Initialise the gateway + $this->omnipay_gateway->initialize(array( + 'clientId' => 'AdRZZt44vJYAtXirmzMjnvUMoFIloN9kpuSgshQB7SJqLHbgtMP_rcmhy83FYY4a-c3R-_e4wZC8E3oG', + 'secret' => 'ENPRXSxr6Jy1YQWhh87eN4fSlNVj5uFT2PDmBqPs_QYJD8MXGcsvJATgR8Xc5sOb6T0q1AHCwfmv9B7n', + 'testMode' => true, // Or false when you are ready for live transactions + )); + + return $this; + // $this->omnipay_gateway->initialize((array) $this->company_gateway->getConfig()); } public function setPaymentMethod($payment_method_id) @@ -93,32 +104,19 @@ class PayPalProPaymentDriver extends BaseDriver $this->payment_hash->data = array_merge((array) $this->payment_hash->data, ['amount' => $data['total']['amount_with_fee']]); $this->payment_hash->save(); - // $response = $this->omnipay_gateway - // ->purchase($this->generatePaymentDetails($data)) - // ->setItems($this->generatePaymentItems($data)) - // ->send(); + // $data['token'] = base64_decode($this->omnipay_gateway->getToken()); - // if ($response->isRedirect()) { - // return $response->redirect(); - // } + $access_token = $this->omnipay_gateway->getToken(); - // $this->sendFailureMail($response->getMessage() ?: ''); + // $r = Http::withToken($access_token) + // ->withHeaders(['Accept-Language' => 'en_US'])->post("https://api-m.sandbox.paypal.com/v1/identity/generate-token",[]); - // $message = [ - // 'server_response' => $response->getMessage(), - // 'data' => $this->payment_hash->data, - // ]; + $r = Http:: + withToken($access_token) + ->post('https://api-m.sandbox.paypal.com/v1/identity/generate-token'); - // SystemLogger::dispatch( - // $message, - // SystemLog::CATEGORY_GATEWAY_RESPONSE, - // SystemLog::EVENT_GATEWAY_FAILURE, - // SystemLog::TYPE_PAYPAL, - // $this->client, - // $this->client->company, - // ); - - // throw new PaymentFailed($response->getMessage(), $response->getCode()); + dd($r); + nlog($r->body()); return render('gateways.paypal.pay', $data); diff --git a/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php b/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php index 65349257889e..087ab12fe563 100644 --- a/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php +++ b/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php @@ -2,55 +2,268 @@ @section('gateway_head') + + + @endsection @section('gateway_content') - -
- - @component('portal.ninja2020.components.general.card-element', ['title' => ctrans('texts.payment_type')]) - {{ ctrans('texts.credit_card') }} - @endcomponent - - @include('portal.ninja2020.gateways.includes.payment_details') - - @component('portal.ninja2020.components.general.card-element', ['title' => ctrans('texts.pay_with')]) - - - - @endcomponent - - @include('portal.ninja2020.gateways.includes.save_card') - - @include('portal.ninja2020.gateways.includes.pay_now') + + +