invoiceninja/app/Models/GatewayType.php

150 lines
4.2 KiB
PHP
Raw Permalink Normal View History

2019-08-22 10:25:30 +10:00
<?php
/**
* 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
*/
class GatewayType extends StaticModel
2019-08-22 10:25:30 +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;
2019-09-08 22:13:55 +10:00
const BANK_TRANSFER = 2;
2019-09-08 22:13:55 +10:00
const PAYPAL = 3;
const CRYPTO = 4;
2020-10-12 07:59:25 +11:00
const CUSTOM = 5;
2020-10-12 07:59:25 +11:00
const ALIPAY = 6;
2020-10-12 07:59:25 +11:00
const SOFORT = 7;
2020-10-12 07:59:25 +11:00
const APPLE_PAY = 8;
2020-10-12 10:21:24 +11:00
const SEPA = 9;
2020-10-15 11:37:16 +11:00
const CREDIT = 10;
2021-09-24 23:02:17 +02:00
const KBC = 11;
2021-09-24 23:31:42 +02:00
const BANCONTACT = 12;
2021-10-04 15:41:39 +02:00
const IDEAL = 13;
2021-10-07 16:21:49 +02:00
const HOSTED_PAGE = 14; // For gateways that contain multiple methods.
2021-10-09 10:09:04 +02:00
const GIROPAY = 15;
2021-10-09 16:41:43 +02:00
const PRZELEWY24 = 16;
2021-10-10 06:47:03 +02:00
const EPS = 17;
2021-10-16 15:29:06 +02:00
const DIRECT_DEBIT = 18;
2021-10-12 16:32:16 +02:00
const ACSS = 19;
2021-10-11 18:05:47 +02:00
const BECS = 20;
2021-11-11 15:53:05 +01:00
const INSTANT_BANK_PAY = 21;
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;
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);
}
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');
default:
2022-02-09 19:09:41 +11:00
return ' ';
break;
}
}
2019-08-22 10:25:30 +10:00
}