diff --git a/app/Models/Gateway.php b/app/Models/Gateway.php index 9fde400732e4..f041adac7909 100644 --- a/app/Models/Gateway.php +++ b/app/Models/Gateway.php @@ -193,6 +193,15 @@ class Gateway extends StaticModel case 60: return [ GatewayType::PAYPAL => ['refund' => false, 'token_billing' => false], + GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => false], + GatewayType::VENMO => ['refund' => false, 'token_billing' => false], + GatewayType::SEPA => ['refund' => false, 'token_billing' => false], + GatewayType::BANCONTACT => ['refund' => false, 'token_billing' => false], + GatewayType::EPS => ['refund' => false, 'token_billing' => false], + GatewayType::MYBANK => ['refund' => false, 'token_billing' => false], + GatewayType::PAYLATER => ['refund' => false, 'token_billing' => false], + GatewayType::PRZELEWY24 => ['refund' => false, 'token_billing' => false], + GatewayType::SOFORT => ['refund' => false, 'token_billing' => false], ]; //Paypal default: diff --git a/app/Models/GatewayType.php b/app/Models/GatewayType.php index 2ca4159cd3e1..cdbd079cda51 100644 --- a/app/Models/GatewayType.php +++ b/app/Models/GatewayType.php @@ -29,17 +29,6 @@ namespace App\Models; * @method static \Illuminate\Database\Eloquent\Builder|GatewayType whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|GatewayType whereName($value) * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods - * @property-read \Illuminate\Database\Eloquent\Collection $payment_methods * @mixin \Eloquent */ class GatewayType extends StaticModel @@ -94,6 +83,14 @@ class GatewayType extends StaticModel const BACS = 24; + const VENMO = 25; + + const MERCADOPAGO = 26; + + const MYBANK = 27; + + const PAYLATER = 28; + public function gateway() { return $this->belongsTo(Gateway::class); @@ -153,9 +150,18 @@ class GatewayType extends StaticModel return ctrans('texts.fpx'); case self::KLARNA: return ctrans('texts.klarna'); + case self::VENMO: + return ctrans('texts.payment_type_Venmo'); + case self::MERCADOPAGO: + return ctrans('texts.mercado_pago'); + case self::MYBANK: + return ctrans('texts.mybank'); + case self::PAYLATER: + return ctrans('texts.paypal_paylater'); default: return ' '; break; } } } + diff --git a/app/PaymentDrivers/PayPalRestPaymentDriver.php b/app/PaymentDrivers/PayPalRestPaymentDriver.php index 50925d760ea3..e8b0a3a9897b 100644 --- a/app/PaymentDrivers/PayPalRestPaymentDriver.php +++ b/app/PaymentDrivers/PayPalRestPaymentDriver.php @@ -61,8 +61,8 @@ class PayPalRestPaymentDriver extends BaseDriver public function setPaymentMethod($payment_method_id) { - // PayPal doesn't have multiple ways of paying. - // There's just one, off-site redirect. +// ['paypal', 'card', 'venmo', 'sepa', 'bancontact', 'eps', 'giropay', 'ideal', 'mercadopago', 'mybank', 'paylater', 'p24', 'sofort'] + return $this; } diff --git a/lang/en/texts.php b/lang/en/texts.php index a51ee140b234..3ce8aecb3ed7 100644 --- a/lang/en/texts.php +++ b/lang/en/texts.php @@ -5109,6 +5109,9 @@ $LANG = array( 'add_gateway_help_message' => 'Add a payment gateway (ie. Stripe, WePay or PayPal) to accept online payments', 'lang_Hungarian' => 'Hungarian', 'use_mobile_to_manage_plan' => 'Use your phone subscription settings to manage your plan', + 'mercado_pago' => 'Mercado Pago', + 'mybank' => 'MyBank', + 'paypal_paylater' => 'Pay in 4', ); diff --git a/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php b/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php index 82de6e218bfc..e5a45262f8d7 100644 --- a/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php +++ b/resources/views/portal/ninja2020/gateways/paypal/pay.blade.php @@ -62,12 +62,21 @@ var FUNDING_SOURCES = [ - // paypal.FUNDING.PAYPAL, - paypal.FUNDING.VENMO, - paypal.FUNDING.PAYLATER, - paypal.FUNDING.CREDIT, - paypal.FUNDING.CARD, - ] + paypal.FUNDING.PAYPAL, + paypal.FUNDING.CARD, + paypal.FUNDING.VENMO, + paypal.FUNDING.SEPA, + paypal.FUNDING.BANCONTACT, + paypal.FUNDING.EPS, + paypal.FUNDING.GIROPAY, + paypal.FUNDING.IDEAL, + paypal.FUNDING.MERCADOPAGO, + paypal.FUNDING.MYBANK, + paypal.FUNDING.PAYLATER, + paypal.FUNDING.P24, + paypal.FUNDING.SOFORT, + ]; + // Loop over each funding source FUNDING_SOURCES.forEach(function (fundingSource) { // Initialize the buttons