2019-08-22 10:25:30 +10:00
|
|
|
<?php
|
|
|
|
|
/**
|
2020-09-06 19:38:10 +10:00
|
|
|
* Invoice Ninja (https://invoiceninja.com).
|
2019-08-22 10:25:30 +10:00
|
|
|
*
|
|
|
|
|
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
|
|
|
*
|
2023-01-29 09:21:40 +11:00
|
|
|
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com)
|
2019-08-22 10:25:30 +10:00
|
|
|
*
|
2021-06-16 16:58:16 +10:00
|
|
|
* @license https://www.elastic.co/licensing/elastic-license
|
2019-08-22 10:25:30 +10:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
namespace App\Models;
|
|
|
|
|
|
2023-03-08 18:33:42 +11:00
|
|
|
/**
|
|
|
|
|
* App\Models\GatewayType
|
|
|
|
|
*
|
|
|
|
|
* @property int $id
|
|
|
|
|
* @property string|null $alias
|
|
|
|
|
* @property string|null $name
|
|
|
|
|
* @property-read \App\Models\Gateway|null $gateway
|
|
|
|
|
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\PaymentType> $payment_methods
|
|
|
|
|
* @property-read int|null $payment_methods_count
|
|
|
|
|
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
|
|
|
|
|
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
|
|
|
|
|
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType newModelQuery()
|
|
|
|
|
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType newQuery()
|
|
|
|
|
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType query()
|
|
|
|
|
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType whereAlias($value)
|
|
|
|
|
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType whereId($value)
|
|
|
|
|
* @method static \Illuminate\Database\Eloquent\Builder|GatewayType whereName($value)
|
|
|
|
|
* @mixin \Eloquent
|
|
|
|
|
*/
|
2019-09-12 11:28:41 +10:00
|
|
|
class GatewayType extends StaticModel
|
2019-08-22 10:25:30 +10:00
|
|
|
{
|
2019-08-22 11:58:42 +10:00
|
|
|
public $timestamps = false;
|
2019-08-22 10:25:30 +10:00
|
|
|
|
2019-09-08 22:13:55 +10:00
|
|
|
const CREDIT_CARD = 1;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2019-09-08 22:13:55 +10:00
|
|
|
const BANK_TRANSFER = 2;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2019-09-08 22:13:55 +10:00
|
|
|
const PAYPAL = 3;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2019-11-18 21:46:01 +11:00
|
|
|
const CRYPTO = 4;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2020-10-12 07:59:25 +11:00
|
|
|
const CUSTOM = 5;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2020-10-12 07:59:25 +11:00
|
|
|
const ALIPAY = 6;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2020-10-12 07:59:25 +11:00
|
|
|
const SOFORT = 7;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2020-10-12 07:59:25 +11:00
|
|
|
const APPLE_PAY = 8;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2020-10-12 10:21:24 +11:00
|
|
|
const SEPA = 9;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2020-10-15 11:37:16 +11:00
|
|
|
const CREDIT = 10;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-09-24 23:02:17 +02:00
|
|
|
const KBC = 11;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-09-24 23:31:42 +02:00
|
|
|
const BANCONTACT = 12;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-10-04 15:41:39 +02:00
|
|
|
const IDEAL = 13;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-10-07 16:21:49 +02:00
|
|
|
const HOSTED_PAGE = 14; // For gateways that contain multiple methods.
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-10-09 10:09:04 +02:00
|
|
|
const GIROPAY = 15;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-10-09 16:41:43 +02:00
|
|
|
const PRZELEWY24 = 16;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-10-10 06:47:03 +02:00
|
|
|
const EPS = 17;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-10-16 15:29:06 +02:00
|
|
|
const DIRECT_DEBIT = 18;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-10-12 16:32:16 +02:00
|
|
|
const ACSS = 19;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-10-11 18:05:47 +02:00
|
|
|
const BECS = 20;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2021-11-11 15:53:05 +01:00
|
|
|
const INSTANT_BANK_PAY = 21;
|
2022-06-21 09:57:17 +00:00
|
|
|
|
2022-01-20 08:23:06 +01:00
|
|
|
const FPX = 22;
|
2021-10-09 10:09:04 +02:00
|
|
|
|
2022-12-05 08:42:28 +01:00
|
|
|
const KLARNA = 23;
|
|
|
|
|
|
2022-12-16 11:02:49 +01:00
|
|
|
const BACS = 24;
|
|
|
|
|
|
2019-12-31 08:59:12 +11:00
|
|
|
public function gateway()
|
|
|
|
|
{
|
|
|
|
|
return $this->belongsTo(Gateway::class);
|
|
|
|
|
}
|
2020-07-15 15:05:02 +10:00
|
|
|
|
|
|
|
|
public function payment_methods()
|
|
|
|
|
{
|
|
|
|
|
return $this->hasMany(PaymentType::class);
|
|
|
|
|
}
|
2020-10-13 21:32:15 +11:00
|
|
|
|
|
|
|
|
public static function getAlias($type)
|
|
|
|
|
{
|
|
|
|
|
switch ($type) {
|
|
|
|
|
case self::CREDIT_CARD:
|
|
|
|
|
return ctrans('texts.credit_card');
|
|
|
|
|
case self::BANK_TRANSFER:
|
|
|
|
|
return ctrans('texts.bank_transfer');
|
|
|
|
|
case self::PAYPAL:
|
|
|
|
|
return ctrans('texts.paypal');
|
|
|
|
|
case self::CRYPTO:
|
|
|
|
|
return ctrans('texts.crypto');
|
|
|
|
|
case self::CUSTOM:
|
|
|
|
|
return ctrans('texts.custom');
|
|
|
|
|
case self::ALIPAY:
|
|
|
|
|
return ctrans('texts.alipay');
|
|
|
|
|
case self::SOFORT:
|
|
|
|
|
return ctrans('texts.sofort');
|
|
|
|
|
case self::APPLE_PAY:
|
|
|
|
|
return ctrans('texts.apple_pay');
|
|
|
|
|
case self::SEPA:
|
|
|
|
|
return ctrans('texts.sepa');
|
2021-09-26 20:59:32 +02:00
|
|
|
case self::KBC:
|
|
|
|
|
return ctrans('texts.kbc_cbc');
|
2021-09-26 21:10:41 +02:00
|
|
|
case self::BANCONTACT:
|
|
|
|
|
return ctrans('texts.bancontact');
|
2021-10-04 16:11:39 +02:00
|
|
|
case self::IDEAL:
|
|
|
|
|
return ctrans('texts.ideal');
|
2021-10-07 16:37:43 +02:00
|
|
|
case self::HOSTED_PAGE:
|
|
|
|
|
return ctrans('texts.aio_checkout');
|
2021-10-09 16:41:43 +02:00
|
|
|
case self::PRZELEWY24:
|
|
|
|
|
return ctrans('texts.przelewy24');
|
2021-10-09 10:09:04 +02:00
|
|
|
case self::GIROPAY:
|
|
|
|
|
return ctrans('texts.giropay');
|
2021-10-10 06:47:03 +02:00
|
|
|
case self::EPS:
|
2021-10-10 19:13:46 +11:00
|
|
|
return ctrans('texts.eps');
|
2021-10-11 18:05:47 +02:00
|
|
|
case self::BECS:
|
2021-10-25 16:39:05 +11:00
|
|
|
return ctrans('texts.becs');
|
2022-12-16 11:02:49 +01:00
|
|
|
case self::BACS:
|
|
|
|
|
return ctrans('texts.bacs');
|
2021-10-12 16:32:16 +02:00
|
|
|
case self::ACSS:
|
|
|
|
|
return ctrans('texts.acss');
|
2021-10-16 15:58:29 +02:00
|
|
|
case self::DIRECT_DEBIT:
|
|
|
|
|
return ctrans('texts.payment_type_direct_debit');
|
2021-11-11 17:55:22 +01:00
|
|
|
case self::INSTANT_BANK_PAY:
|
|
|
|
|
return ctrans('texts.payment_type_instant_bank_pay');
|
2022-01-20 08:23:06 +01:00
|
|
|
case self::FPX:
|
|
|
|
|
return ctrans('texts.fpx');
|
2022-12-05 08:42:28 +01:00
|
|
|
case self::KLARNA:
|
|
|
|
|
return ctrans('texts.klarna');
|
2020-10-13 21:32:15 +11:00
|
|
|
default:
|
2022-02-09 19:09:41 +11:00
|
|
|
return ' ';
|
2020-10-13 21:32:15 +11:00
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-08-22 10:25:30 +10:00
|
|
|
}
|