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')
+