<?php
namespace App\Entity\System;
use App\Application\DTO\ControlPanel\Api\Payment\PaymentMethodAttributes;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* PaymentMethod
*
* @ORM\Table(name="ps_payment_method")
*
* @ORM\Entity(repositoryClass="App\Repository\System\PaymentMethodRepository")
*/
class PaymentMethod
{
public const PAYMENT_METHOD_MONEYBOX = 'monedero';
public const PAYMENT_METHOD_BANKWIRE = 'transferencia';
public const PAYMENT_METHOD_PAYPAL = 'paypal';
public const PAYMENT_METHOD_CREDIT_CARD = 'credit-card';
public const PAYMENT_METHOD_PAYCOMET = 'paycomet';
public const PAYMENT_METHOD_PAYPAL_REVIEW = 'paypal-revisando';
public const PAYMENT_METHOD_CREDIT_SERVICE = 'credit_service';
public const PAYMENT_METHOD_CREDIT = 'credito';
public const PAYMENT_CASH_ON_DELIVERY = 'contrarrembolso';
public const PAYMENT_FLEXIBLE_PAYMENT = 'pago_flexible';
public const PAYMENT_METHOD_BRAINTREE = 'Braintree';
public const PAYMENT_METHOD_CONFIRMING = 'confirming';
public const PAYMENT_METHOD_SOFORT = 'sofort';
public const PAYMENT_METHOD_ADYEN = 'adyen';
public const PAYMENT_METHOD_STRIPE = 'stripe';
public const CASH_ON_DELIVERY_METHOD_ID = 1;
public const PAYPAL_PAYMENT_METHOD_ID = 2;
public const FLEXIBLE_PAYMENT_METHOD_ID = 3;
public const MONEYBOX_PAYMENT_METHOD_ID = 4;
public const TRANSFER_PAYMENT_METHOD_ID = 5;
public const BRAINTREE_METHOD_ID = 6;
public const CREDIT_PAYMENT_METHOD_ID = 7;
public const CONFIRMING_PAYMENT_METHOD_ID = 8;
public const SOFORT_PAYMENT_METHOD_ID = 9;
public const ADYEN_AMERICAN_EXPRESS_PAYMENT_METHOD_ID = 10;
public const ADYEN_IDEAL_PAYMENT_METHOD_ID = 11;
public const ADYEN_MASTERCARD_PAYMENT_METHOD_ID = 12;
public const ADYEN_VISA_PAYMENT_METHOD_ID = 13;
public const PAYPAL_CREDIT_CARD_PAYMENT_METHOD_ID = 14;
public const ADYEN_BANK_TRANSFER_PAYMENT_METHOD_ID = 15;
public const ADYEN_BANKCONTACT_PAYMENT_METHOD_ID = 16;
public const ADYEN_CARTE_BANCAIRE_PAYMENT_METHOD_ID = 17;
public const ADYEN_ELECTRONIC_PAYMENT_METHOD_ID = 18;
public const ADYEN_MBWAY_PAYMENT_METHOD_ID = 19;
public const ADYEN_TRUSTLY_PAYMENT_METHOD_ID = 20;
public const ADYEN_ONLINE_BANKING_PAYMENT_METHOD_ID = 21;
public const ADYEN_BUYNOW_PAYLATER_PAYMENT_METHOD_ID = 22;
public const ADYEN_GOOGLE_PAY_PAYMENT_METHOD_ID = 23;
public const ADYEN_FINISH_EBANKING_PAYMENT_METHOD_ID = 24;
public const STRIPE_CARD_PAYMENT_METHOD_ID = 25;
public const STRIPE_GOOGLE_PAY_PAYMENT_METHOD_ID = 26;
public const STRIPE_APPLE_PAY_PAYMENT_METHOD_ID = 27;
public const STRIPE_LINK_PAYMENT_METHOD_ID = 28;
public const STRIPE_REVOLUT_PAY_PAYMENT_METHOD_ID = 29;
public const STRIPE_BANCONTACT_PAYMENT_METHOD_ID = 30;
public const STRIPE_CARTES_BANCAIRES_PAYMENT_METHOD_ID = 31;
public const STRIPE_KLARNA_PAYMENT_METHOD_ID = 32;
public const STRIPE_SEPA_DIRECT_DEBIT_PAYMENT_METHOD_ID = 33;
public const STRIPE_IDEAL_PAYMENT_METHOD_ID = 34;
public const STRIPE_PAYPAL_PAYMENT_METHOD_ID = 35;
// STRIPE
public const STRIPE_REVOLUT_PAY_SLUG = 'revolut_pay';
public const STRIPE_BANCONTACT_SLUG = 'bancontact';
public const STRIPE_CARTEBANCAIRE_SLUG = 'cartebancaire';
public const STRIPE_KLARNA_SLUG = 'klarna';
public const STRIPE_SEPA_DEBIT_SLUG = 'sepa_debit';
public const STRIPE_IDEAL_SLUG = 'ideal';
// Payment Method Slugs
public const PAYMENT_METHOD_SLUG_CASH_ON_DELIVERY = 'contrarrembolso';
public const PAYMENT_METHOD_SLUG_PAYPAL_COMPOSED = 'paypal_paypal';
public const PAYMENT_METHOD_SLUG_PAYPAL = 'paypal';
public const PAYMENT_METHOD_SLUG_FLEXIBLE_PAYMENT = 'pago_flexible';
public const PAYMENT_METHOD_SLUG_MONEYBOX = 'monedero';
public const PAYMENT_METHOD_SLUG_MONEYBOX_COMPOSED = 'monedero_wallet';
public const PAYMENT_METHOD_SLUG_BANKWIRE_COMPOSED = 'transferencia_bankwire';
public const PAYMENT_METHOD_SLUG_BANKWIRE = 'transferencia';
public const PAYMENT_METHOD_SLUG_BRAINTREE = 'Braintree';
public const PAYMENT_METHOD_SLUG_CREDIT = 'credito';
public const PAYMENT_METHOD_SLUG_CONFIRMING = 'confirming';
public const PAYMENT_METHOD_SLUG_SOFORT = 'sofort';
public const PAYMENT_METHOD_SLUG_ADYEN_AMEX = 'adyen_amex';
public const PAYMENT_METHOD_SLUG_ADYEN_IDEAL = 'adyen_ideal';
public const PAYMENT_METHOD_SLUG_ADYEN_MC = 'adyen_mc';
public const PAYMENT_METHOD_SLUG_ADYEN_VISA = 'adyen_visa';
public const PAYMENT_METHOD_SLUG_CREDIT_CARD = 'credit-card_credit-card';
public const PAYMENT_METHOD_SLUG_ADYEN_PAYBYBANK = 'adyen_paybybank';
public const PAYMENT_METHOD_SLUG_ADYEN_BCMC = 'adyen_bcmc';
public const PAYMENT_METHOD_SLUG_ADYEN_CARTEBANCAIRE = 'adyen_cartebancaire';
public const PAYMENT_METHOD_SLUG_ADYEN_EPS = 'adyen_eps';
public const PAYMENT_METHOD_SLUG_ADYEN_MBWAY = 'adyen_mbway';
public const PAYMENT_METHOD_SLUG_ADYEN_TRUSTLY = 'adyen_trustly';
public const PAYMENT_METHOD_SLUG_ADYEN_ONLINE_BANKING_PL = 'adyen_onlineBanking_PL';
public const PAYMENT_METHOD_SLUG_ADYEN_KLARNA_B2B = 'adyen_klarna_b2b';
public const PAYMENT_METHOD_SLUG_ADYEN_GOOGLEPAY = 'adyen_googlepay';
public const PAYMENT_METHOD_SLUG_ADYEN_EBANKING_FI = 'adyen_ebanking_FI';
public const PAYMENT_METHOD_SLUG_STRIPE_CARD = 'stripe_card';
public const PAYMENT_METHOD_SLUG_STRIPE_GOOGLE_PAY = 'stripe_google_pay';
public const PAYMENT_METHOD_SLUG_STRIPE_APPLE_PAY = 'stripe_apple_pay';
public const PAYMENT_METHOD_SLUG_STRIPE_LINK = 'stripe_link';
public const PAYMENT_METHOD_SLUG_STRIPE_REVOLUT_PAY = 'stripe_revolut_pay';
public const PAYMENT_METHOD_SLUG_STRIPE_BANCONTACT = 'stripe_bancontact';
public const PAYMENT_METHOD_SLUG_STRIPE_CARTEBANCAIRE = 'stripe_cartebancaire';
public const PAYMENT_METHOD_SLUG_STRIPE_KLARNA = 'stripe_klarna';
public const PAYMENT_METHOD_SLUG_STRIPE_SEPA_DEBIT = 'stripe_sepa_debit';
public const PAYMENT_METHOD_SLUG_STRIPE_IDEAL = 'stripe_ideal';
public const PAYMENT_METHOD_SLUG_STRIPE_PAYPAL = 'stripe_paypal';
public const PAYMENT_METHOD_IDS_INDEXED_BY_PAYMENT_METHOD_COMPOSED_SLUGS = [
self::PAYMENT_METHOD_SLUG_CASH_ON_DELIVERY => self::CASH_ON_DELIVERY_METHOD_ID,
self::PAYMENT_METHOD_SLUG_PAYPAL_COMPOSED => self::PAYPAL_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_PAYPAL => self::PAYPAL_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_FLEXIBLE_PAYMENT => self::FLEXIBLE_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_MONEYBOX_COMPOSED => self::MONEYBOX_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_MONEYBOX => self::MONEYBOX_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_BANKWIRE_COMPOSED => self::TRANSFER_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_BANKWIRE => self::TRANSFER_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_BRAINTREE => self::BRAINTREE_METHOD_ID,
self::PAYMENT_METHOD_SLUG_CREDIT => self::CREDIT_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_CONFIRMING => self::CONFIRMING_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_SOFORT => self::SOFORT_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_AMEX => self::ADYEN_AMERICAN_EXPRESS_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_IDEAL => self::ADYEN_IDEAL_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_MC => self::ADYEN_MASTERCARD_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_VISA => self::ADYEN_VISA_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_CREDIT_CARD => self::PAYPAL_CREDIT_CARD_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_PAYBYBANK => self::ADYEN_BANK_TRANSFER_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_BCMC => self::ADYEN_BANKCONTACT_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_CARTEBANCAIRE => self::ADYEN_CARTE_BANCAIRE_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_EPS => self::ADYEN_ELECTRONIC_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_MBWAY => self::ADYEN_MBWAY_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_TRUSTLY => self::ADYEN_TRUSTLY_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_ONLINE_BANKING_PL => self::ADYEN_ONLINE_BANKING_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_KLARNA_B2B => self::ADYEN_BUYNOW_PAYLATER_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_GOOGLEPAY => self::ADYEN_GOOGLE_PAY_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_ADYEN_EBANKING_FI => self::ADYEN_FINISH_EBANKING_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_CARD => self::STRIPE_CARD_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_GOOGLE_PAY => self::STRIPE_GOOGLE_PAY_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_APPLE_PAY => self::STRIPE_APPLE_PAY_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_LINK => self::STRIPE_LINK_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_REVOLUT_PAY => self::STRIPE_REVOLUT_PAY_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_BANCONTACT => self::STRIPE_BANCONTACT_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_CARTEBANCAIRE => self::STRIPE_CARTES_BANCAIRES_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_KLARNA => self::STRIPE_KLARNA_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_SEPA_DEBIT => self::STRIPE_SEPA_DIRECT_DEBIT_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_IDEAL => self::STRIPE_IDEAL_PAYMENT_METHOD_ID,
self::PAYMENT_METHOD_SLUG_STRIPE_PAYPAL => self::STRIPE_PAYPAL_PAYMENT_METHOD_ID,
];
public const PAYMENT_METHOD_ATTRIBUTE_NAMES_INDEXED_BY_ID = [
self::CASH_ON_DELIVERY_METHOD_ID => PaymentMethodAttributes::KEY_ON_DELIVERY,
self::PAYPAL_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_PAYPAL,
self::FLEXIBLE_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_FLEXIBLE,
self::MONEYBOX_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_WALLET,
self::TRANSFER_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_BANKWIRE,
self::BRAINTREE_METHOD_ID => PaymentMethodAttributes::KEY_BRAINTREE,
self::CREDIT_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ON_CREDIT,
self::CONFIRMING_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_PAYPAL_REVIEW,
self::SOFORT_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_PAYPAL_REVIEW,
self::ADYEN_AMERICAN_EXPRESS_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_AMERICAN_EXPRESS,
self::ADYEN_IDEAL_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_IDEAL,
self::ADYEN_MASTERCARD_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_MASTERCARD,
self::ADYEN_VISA_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_VISA,
self::PAYPAL_CREDIT_CARD_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_CREDIT_CARD,
self::ADYEN_BANK_TRANSFER_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_BANK_TRANSFER,
self::ADYEN_BANKCONTACT_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_BANKCONTACT,
self::ADYEN_ELECTRONIC_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_ELECTRONIC,
self::ADYEN_MBWAY_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_MBWAY,
self::ADYEN_TRUSTLY_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_TRUSTLY,
self::ADYEN_ONLINE_BANKING_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_ONLINE_BANKING,
self::ADYEN_BUYNOW_PAYLATER_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_BUYNOW_PAYLATER,
self::ADYEN_GOOGLE_PAY_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_GOOGLE_PAY,
self::ADYEN_FINISH_EBANKING_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_FINISH_EBANKING,
self::ADYEN_CARTE_BANCAIRE_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_ADYEN_CARTE_BANCAIRES,
self::STRIPE_CARD_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_CARD,
self::STRIPE_GOOGLE_PAY_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_GOOGLE_PAY,
self::STRIPE_APPLE_PAY_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_APPLE_PAY,
self::STRIPE_LINK_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_LINK,
self::STRIPE_REVOLUT_PAY_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_REVOLUT_PAY,
self::STRIPE_BANCONTACT_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_BANCONTACT,
self::STRIPE_CARTES_BANCAIRES_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_CARTES_BANCAIRES,
self::STRIPE_KLARNA_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_KLARNA,
self::STRIPE_SEPA_DIRECT_DEBIT_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_SEPA_DIRECT_DEBIT,
self::STRIPE_IDEAL_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_IDEAL,
self::STRIPE_PAYPAL_PAYMENT_METHOD_ID => PaymentMethodAttributes::KEY_STRIPE_PAYPAL,
];
public const ENABLED_COUNTRY_IDS_INDEXED_BY_STRIPE_PAYMENT_METHOD_SLUG = [
self::STRIPE_REVOLUT_PAY_SLUG => [Country::UNITED_KINGDOM_CODE],
self::STRIPE_BANCONTACT_SLUG => [Country::BELGIUM_CODE],
self::STRIPE_CARTEBANCAIRE_SLUG => [Country::FRANCE_CODE],
self::STRIPE_KLARNA_SLUG => [Country::UNITED_STATES],
self::STRIPE_IDEAL_SLUG => [Country::NETHERLANDS_CODE],
];
public const ENABLED_ZONE_IDS_INDEXED_BY_STRIPE_PAYMENT_METHOD_SLUG = [
self::STRIPE_REVOLUT_PAY_SLUG => [Zone::ZONE_EU],
self::STRIPE_KLARNA_SLUG => [Zone::ZONE_EU],
self::STRIPE_SEPA_DEBIT_SLUG => [Zone::ZONE_EU],
];
/**
* @ORM\Id()
*
* @ORM\GeneratedValue()
*
* @ORM\Column(type="integer", name="id_payment_method")
*/
private $id;
/**
* @var string
*
* @ORM\Column(type="string", length=255, name="id_text")
*/
private $payment;
/**
* @var string
*
* @ORM\Column(type="string", length=128, name="title")
*/
private $title;
/**
* @var string|null
*
* @ORM\Column(type="string", length=128, name="subtitle", nullable=true)
*/
private $subtitle;
/**
* @var string
*
* @ORM\Column(type="string", length=512, name="image_url")
*/
private $imageUrl;
/**
* @var string
*
* @ORM\Column(type="string", length=64, name="slug")
*/
private $slug;
/**
* @var string|null
*
* @ORM\Column(type="string", length=64, name="base_slug", nullable=true)
*/
private ?string $baseSlug = null;
/**
* @var bool
*
* @ORM\Column(type="boolean", name="recurring", options={"default" : 0})
*/
private $recurring;
/**
* @var float
*
* @ORM\Column(type="float", options={"default" : 0})
*/
private $fixedRate;
/**
* @var float
*
* @ORM\Column(type="float", options={"default" : 0})
*/
private $variableRate;
/**
* @var bool
*
* @ORM\Column(type="boolean", name="active", options={"default" : 0})
*/
private $active;
/**
* @var bool
*
* @ORM\Column(type="boolean", name="moneybox", options={"default" : 0})
*/
private $moneybox;
/**
* @var bool
*
* @ORM\Column(type="boolean", name="csv", options={"default" : 0})
*/
private $csv;
/**
* @var bool
*
* @ORM\Column(type="boolean", name="activeByRole", options={"default" : 0})
*/
private $activeByRole;
/**
* @var ArrayCollection<int, Cart>|Cart[]
*
* @ORM\OneToMany(targetEntity="App\Entity\System\Cart", mappedBy="packPaymentMethod")
*/
private $packCarts;
/**
* @var ArrayCollection<int, Cart>|Cart[]
*
* @ORM\OneToMany(targetEntity="App\Entity\System\Cart", mappedBy="servicesPaymentMethod")
*/
private $servicesCarts;
public function __construct(string $type, string $name)
{
$this->active = false;
$this->moneybox = false;
$this->activeByRole = false;
$this->slug = $type;
$this->title = $name;
$this->payment = self::PAYMENT_METHOD_ADYEN;
$this->subtitle = $type;
$this->imageUrl = $type.'.svg';
$this->recurring = false;
$this->fixedRate = 0;
$this->variableRate = 0;
$this->csv = false;
}
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
*
* @return PaymentMethod
*/
public function setId(int $id): PaymentMethod
{
$this->id = $id;
return $this;
}
/**
* @return string
*/
public function getPayment(): string
{
return $this->payment;
}
/**
* @param string $payment
*
* @return PaymentMethod
*/
public function setPayment(string $payment): PaymentMethod
{
$this->payment = $payment;
return $this;
}
/**
* @return string
*/
public function getTitle(): string
{
return $this->title;
}
/**
* @param string $title
*
* @return PaymentMethod
*/
public function setTitle(string $title): self
{
$this->title = $title;
return $this;
}
/**
* @return string|null
*/
public function getSubtitle(): ?string
{
return $this->subtitle;
}
/**
* @param string|null $subtitle
*
* @return PaymentMethod
*/
public function setSubtitle(?string $subtitle): self
{
$this->subtitle = $subtitle;
return $this;
}
/**
* @return string
*/
public function getImageUrl(): string
{
return $this->imageUrl;
}
/**
* @param string $imageUrl
*
* @return PaymentMethod
*/
public function setImageUrl(string $imageUrl): self
{
$this->imageUrl = $imageUrl;
return $this;
}
/**
* @return string
*/
public function getSlug(): string
{
return $this->slug;
}
/**
* @param string $slug
*
* @return PaymentMethod
*/
public function setSlug(string $slug): self
{
$this->slug = $slug;
return $this;
}
/**
* @return string|null
*/
public function getBaseSlug(): ?string
{
return $this->baseSlug;
}
/**
* @param string|null $baseSlug
*
* @return PaymentMethod
*/
public function setBaseSlug(?string $baseSlug): self
{
$this->baseSlug = $baseSlug;
return $this;
}
/**
* @return bool
*/
public function isRecurring(): bool
{
return $this->recurring;
}
/**
* @param bool $recurring
*
* @return PaymentMethod
*/
public function setRecurring(bool $recurring): self
{
$this->recurring = $recurring;
return $this;
}
/**
* @return float
*/
public function getFixedRate(): float
{
return $this->fixedRate;
}
/**
* @param float $fixedRate
*
* @return PaymentMethod
*/
public function setFixedRate(float $fixedRate): self
{
$this->fixedRate = $fixedRate;
return $this;
}
/**
* @return float
*/
public function getVariableRate(): float
{
return $this->variableRate;
}
/**
* @param float $variableRate
*
* @return PaymentMethod
*/
public function setVariableRate(float $variableRate): self
{
$this->variableRate = $variableRate;
return $this;
}
/**
* @return bool
*/
public function isActive(): bool
{
return $this->active;
}
/**
* @param bool $active
*
* @return PaymentMethod
*/
public function setActive(bool $active): self
{
$this->active = $active;
return $this;
}
public function isMoneybox(): bool
{
return $this->moneybox;
}
public function setMoneybox(bool $moneybox): self
{
$this->moneybox = $moneybox;
return $this;
}
public function isCsv(): bool
{
return $this->csv;
}
public function setCsv(bool $csv): PaymentMethod
{
$this->csv = $csv;
return $this;
}
/**
* @return string
*/
public function getNameToShow(): string
{
if (strtolower($this->title) === 'credit card') {
return $this->subtitle;
}
return $this->title;
}
public function isActiveByRole(): bool
{
return $this->activeByRole;
}
public function setActiveByRole(bool $activeByRole): PaymentMethod
{
$this->activeByRole = $activeByRole;
return $this;
}
public function getAdyenRole(): string
{
return 'ROLE_ADYEN_PAYMENT_METHOD_'.strtoupper($this->slug);
}
public function getStripeRole(): string
{
return 'ROLE_STRIPE_PAYMENT_METHOD_'.strtoupper($this->slug);
}
/**
* @return Cart[]|ArrayCollection<int, Cart>
*/
public function getPackCarts()
{
return $this->packCarts;
}
/**
* @param Cart[]|ArrayCollection<int, Cart> $packCarts
*/
public function setPackCarts($packCarts): PaymentMethod
{
$this->packCarts = $packCarts;
return $this;
}
/**
* @return Cart[]|ArrayCollection<int, Cart>
*/
public function getServicesCarts()
{
return $this->servicesCarts;
}
/**
* @param Cart[]|ArrayCollection<int, Cart> $servicesCarts
*/
public function setServicesCarts($servicesCarts): PaymentMethod
{
$this->servicesCarts = $servicesCarts;
return $this;
}
}