src/Entity/Payment.php line 12
<?phpnamespace App\Entity;use App\Repository\PaymentRepository;use App\Traits\Timestamps;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;#[ORM\Entity(repositoryClass: PaymentRepository::class)]#[ORM\HasLifecycleCallbacks]class Payment{use Timestamps;/*** Statuts possibles pour un paiement (identiques aux statuts des commandes)*/public const STATUS_PENDING = 'pending';public const STATUS_CONFIRMED = 'confirmed';public const STATUS_CANCELLED = 'cancelled';public const STATUS_UNPAID = 'unpaid';/*** Liste des statuts disponibles*/public const STATUSES = ['En attente' => self::STATUS_PENDING,'Confirmé' => self::STATUS_CONFIRMED,'Annulé' => self::STATUS_CANCELLED,'Impayé' => self::STATUS_UNPAID];#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[ORM\Column(length: 255, unique: true)]private ?string $konnectPaymentId = null;#[ORM\Column(length: 20)]private ?string $status = self::STATUS_PENDING;#[ORM\Column(type: Types::DECIMAL, precision: 10, scale: 2, nullable: true)]private ?string $amount = null;#[ORM\Column(length: 3, nullable: true)]private ?string $currency = 'EUR';#[ORM\ManyToOne(inversedBy: 'payments')]#[ORM\JoinColumn(nullable: false)]private ?Order $order = null;public function getId(): ?int{return $this->id;}public function getKonnectPaymentId(): ?string{return $this->konnectPaymentId;}public function setKonnectPaymentId(string $konnectPaymentId): static{$this->konnectPaymentId = $konnectPaymentId;return $this;}public function getStatus(): ?string{return $this->status;}public function setStatus(string $status): static{if (!in_array($status, [self::STATUS_PENDING, self::STATUS_CONFIRMED, self::STATUS_CANCELLED, self::STATUS_UNPAID])) {throw new \InvalidArgumentException(sprintf('Statut invalide "%s". Les statuts autorisés sont : %s',$status,implode(', ', [self::STATUS_PENDING, self::STATUS_CONFIRMED, self::STATUS_CANCELLED, self::STATUS_UNPAID])));}$this->status = $status;return $this;}public function getAmount(): ?string{return $this->amount;}public function setAmount(?string $amount): static{$this->amount = $amount;return $this;}public function getCurrency(): ?string{return $this->currency;}public function setCurrency(?string $currency): static{$this->currency = $currency;return $this;}public function getOrder(): ?Order{return $this->order;}public function setOrder(?Order $order): static{$this->order = $order;return $this;}/*** @return bool*/public function isPending(): bool{return $this->status === self::STATUS_PENDING;}/*** @return bool*/public function isConfirmed(): bool{return $this->status === self::STATUS_CONFIRMED;}/*** @return bool*/public function isCancelled(): bool{return $this->status === self::STATUS_CANCELLED;}/*** @return bool*/public function isUnpaid(): bool{return $this->status === self::STATUS_UNPAID;}}