File: /var/www/payments-gateway/src/Entity/Payment.php
<?php
namespace App\Entity;
use App\Repository\PaymentRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: PaymentRepository::class)]
class Payment
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(type: 'string', length: 255)]
private string $orderReference;
#[ORM\Column(type: 'string', length: 255)]
private string $studentId;
#[ORM\Column(type: 'integer')]
private int $amount;
#[ORM\Column(type: 'string', length: 255)]
private string $paymentLink;
#[ORM\Column(type: 'string', length: 50)]
private string $status;
#[ORM\Column(type: 'datetime_immutable')]
private \DateTimeImmutable $createdAt;
#[ORM\Column(type: 'datetime_immutable', nullable: true)]
private ?\DateTimeImmutable $paidAt = null;
public function getId(): ?int
{
return $this->id;
}
public function getOrderReference(): string
{
return $this->orderReference;
}
public function setOrderReference(string $orderReference): void
{
$this->orderReference = $orderReference;
}
public function getStudentId(): string
{
return $this->studentId;
}
public function setStudentId(string $studentId): void
{
$this->studentId = $studentId;
}
public function getAmount(): int
{
return $this->amount;
}
public function setAmount(int $amount): void
{
$this->amount = $amount;
}
public function getPaymentLink(): string
{
return $this->paymentLink;
}
public function setPaymentLink(string $paymentLink): void
{
$this->paymentLink = $paymentLink;
}
public function getStatus(): string
{
return $this->status;
}
public function setStatus(string $status): void
{
$this->status = $status;
}
public function getCreatedAt(): \DateTimeImmutable
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeImmutable $createdAt): void
{
$this->createdAt = $createdAt;
}
public function getPaidAt(): ?\DateTimeImmutable
{
return $this->paidAt;
}
public function setPaidAt(?\DateTimeImmutable $paidAt): void
{
$this->paidAt = $paidAt;
}
}