File: /var/www/vhost/disk-apps/demo.sports-crowd.com/app/Core/Payment/Entities/Payment.php
<?php
declare(strict_types=1);
namespace App\Core\Payment\Entities;
class Payment
{
    private $id;
    private $pin;
    private $reference;
    private $description;
    private $amount;
    private $customer;
    private $paymentGatewayId;
    private $paymentGatewayTxId;
    private $paymentGatewayStatus;
    private $academyUserId;
    private $student;
    public function __construct(
        int $id,
        string $pin,
        string $reference,
        string $description,
        Amount $amount,
        Customer $customer
    ) {
        $this->id = $id;
        $this->pin = $pin;
        $this->reference = $reference;
        $this->description = $description;
        $this->amount = $amount;
        $this->customer = $customer;
        $this->academyUserId = null;
        $this->student = null;
    }
    public function id(): int
    {
        return $this->id;
    }
    public function pin(): string
    {
        return $this->pin;
    }
    public function reference(): string
    {
        return $this->reference;
    }
    public function description(): string
    {
        return $this->description;
    }
    public function amount(): Amount
    {
        return $this->amount;
    }
    public function customer(): Customer
    {
        return $this->customer;
    }
    public function paymentGatewayId(): ?int
    {
        return $this->paymentGatewayId;
    }
    public function setPaymentGatewayId($paymentGatewayId): void
    {
        $this->paymentGatewayId = $paymentGatewayId;
    }
    public function paymentGatewayTxId(): ?string
    {
        return $this->paymentGatewayTxId;
    }
    public function setPaymentGatewayTxId(?string $paymentGatewayTxId): void
    {
        $this->paymentGatewayTxId = $paymentGatewayTxId;
    }
    public function paymentGatewayStatus(): ?string
    {
        return $this->paymentGatewayStatus;
    }
    public function setPaymentGatewayStatus(?string $paymentGatewayStatus): void
    {
        $this->paymentGatewayStatus = $paymentGatewayStatus;
    }
    public function academyUserId(): ?int
    {
        return $this->academyUserId;
    }
    public function setAcademyUserId($academyUserId): void
    {
        $this->academyUserId = $academyUserId;
    }
    public function student(): ?Student
    {
        return $this->student;
    }
    public function setStudent(Student $student): void
    {
        $this->student = $student;
    }
}