diff --git a/app/Console/Commands/CreateSingleAccount.php b/app/Console/Commands/CreateSingleAccount.php index 626b1d29249e..9d83e6b8f086 100644 --- a/app/Console/Commands/CreateSingleAccount.php +++ b/app/Console/Commands/CreateSingleAccount.php @@ -711,6 +711,29 @@ class CreateSingleAccount extends Command $cg->save(); } + if (config('ninja.testvars.paypal_rest') && ($this->gateway == 'all' || $this->gateway == 'paypal_rest')) { + $cg = new CompanyGateway; + $cg->company_id = $company->id; + $cg->user_id = $user->id; + $cg->gateway_key = '80af24a6a691230bbec33e930ab40665'; + $cg->require_cvv = true; + $cg->require_billing_address = true; + $cg->require_shipping_address = true; + $cg->update_details = true; + $cg->config = encrypt(config('ninja.testvars.paypal_rest')); + $cg->save(); + + $gateway_types = $cg->driver()->gatewayTypes(); + + $fees_and_limits = new stdClass; + $fees_and_limits->{$gateway_types[0]} = new FeesAndLimits; + + $cg->fees_and_limits = $fees_and_limits; + $cg->save(); + } + + + if (config('ninja.testvars.checkout') && ($this->gateway == 'all' || $this->gateway == 'checkout')) { $cg = new CompanyGateway; $cg->company_id = $company->id; diff --git a/app/PaymentDrivers/PayPalRestPaymentDriver.php b/app/PaymentDrivers/PayPalRestPaymentDriver.php index e8b0a3a9897b..25b141c7a764 100644 --- a/app/PaymentDrivers/PayPalRestPaymentDriver.php +++ b/app/PaymentDrivers/PayPalRestPaymentDriver.php @@ -93,11 +93,17 @@ class PayPalRestPaymentDriver extends BaseDriver $data['client_id'] = $this->company_gateway->getConfigField('clientId'); $data['token'] = $this->getClientToken(); $data['order_id'] = $this->createOrder($data); + $data['funding_options'] = $this->getFundingOptions(); return render('gateways.paypal.pay', $data); } + private function getFundingOptions():string + { + + } + public function processPaymentResponse($request) { @@ -152,6 +158,21 @@ class PayPalRestPaymentDriver extends BaseDriver $order = [ "intent" => "CAPTURE", + "payer" => [ + "name" => [ + "given_name" => $this->client->present()->first_name(), + "surname" => $this->client->present()->last_name(), + ], + "email_address" => $this->client->present()->email(), + "address" => [ + "address_line_1" => $this->client->address1, + "address_line_2" => $this->client->address2, + "admin_area_1" => $this->client->city, + "admin_area_2" => $this->client->state, + "postal_code" => $this->client->postal_code, + "country_code" => $this->client->country->iso_3166_2, + ] + ], "purchase_units" => [ [ "description" =>ctrans('texts.invoice_number').'# '.$invoice->number, diff --git a/config/ninja.php b/config/ninja.php index 77cf14b0d32d..aff82f1a9cdd 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -84,6 +84,7 @@ return [ 'password' => 'password', 'stripe' => env('STRIPE_KEYS', ''), 'paypal' => env('PAYPAL_KEYS', ''), + 'paypal_rest' => env('PAYPAL_REST_KEYS', ''), 'authorize' => env('AUTHORIZE_KEYS', ''), 'checkout' => env('CHECKOUT_KEYS', ''), 'travis' => env('TRAVIS', false), diff --git a/lang/en/texts.php b/lang/en/texts.php index 3ce8aecb3ed7..e3ee2134067c 100644 --- a/lang/en/texts.php +++ b/lang/en/texts.php @@ -5112,6 +5112,7 @@ $LANG = array( 'mercado_pago' => 'Mercado Pago', 'mybank' => 'MyBank', 'paypal_paylater' => 'Pay in 4', + 'paid_date' => 'Paid Date', ); diff --git a/phpstan.neon b/phpstan.neon index 8bbf3a89f08a..0012887ccc40 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -7,11 +7,11 @@ parameters: - '#Call to an undefined method .*badMethod\(\)#' - '#Call to an undefined method Illuminate\Database\Eloquent\Builder::exclude#' parallel: - maximumNumberOfProcesses: 8 + maximumNumberOfProcesses: 1 level: 4 paths: - 'app/' excludePaths: - 'vendor/' universalObjectCratesClasses: - - App\DataMapper\Tax\RuleInterface \ No newline at end of file + - App\DataMapper\Tax\RuleInterface diff --git a/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php b/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php index e5a45262f8d7..c86f619d5c1b 100644 --- a/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php +++ b/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php @@ -1,4 +1,4 @@ -@extends('portal.ninja2020.layout.payments', ['gateway_title' => ctrans('texts.payment_type_credit_card'), 'card_title' => ctrans('texts.payment_type_credit_card')]) +@extends('portal.ninja2020.layout.payments', ['gateway_title' => ctrans('texts.payment_type_credit_card'), 'card_title' => 'PayPal']) @section('gateway_head') +