FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
ameliabooking
/
src
/
Domain
/
Entity
/
Payment
Edit File: Payment.php
<?php /** * @copyright © TMS-Plugins. All rights reserved. * @licence See LICENCE.md for license details. */ namespace AmeliaBooking\Domain\Entity\Payment; use AmeliaBooking\Domain\ValueObjects\BooleanValueObject; use AmeliaBooking\Domain\ValueObjects\DateTime\DateTimeValue; use AmeliaBooking\Domain\ValueObjects\Json; use AmeliaBooking\Domain\ValueObjects\Number\Float\Price; use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id; use AmeliaBooking\Domain\ValueObjects\String\Name; use AmeliaBooking\Domain\ValueObjects\String\PaymentStatus; use AmeliaBooking\Domain\ValueObjects\String\PaymentData; use AmeliaBooking\Domain\ValueObjects\String\Url; /** * Class Payment * * @package AmeliaBooking\Domain\Entity\Payment */ class Payment { /** @var Id */ private $id; /** @var Id */ private $customerBookingId; /** @var Id */ private $packageCustomerId; /** @var Id */ private $parentId; /** @var Id */ private $invoiceNumber; /** @var Price */ private $amount; /** @var DateTimeValue */ private $dateTime; /** @var PaymentStatus */ private $status; /** @var PaymentGateway */ private $gateway; /** @var Name */ private $gatewayTitle; /** @var PaymentData */ private $data; /** @var DateTimeValue */ private $created; /** @var Name */ private $entity; /** @var BooleanValueObject */ private $actionsCompleted; /** @var BooleanValueObject */ private $triggeredActions; /** @var Id */ private $wcOrderId; /** @var Id */ private $wcOrderItemId; /** @var Url */ private $wcOrderUrl; /** @var Price */ private $wcItemCouponValue; /** @var Price */ private $wcItemTaxValue; /** @var string */ private $transactionId; /** @var Json */ private $transfers; /** @var array */ private $paymentLinks; /** * Payment constructor. * * @param Price $amount * @param DateTimeValue $dateTime * @param PaymentStatus $status * @param PaymentGateway $gateway * @param PaymentData $data */ public function __construct( Price $amount, DateTimeValue $dateTime, PaymentStatus $status, PaymentGateway $gateway, PaymentData $data ) { $this->amount = $amount; $this->dateTime = $dateTime; $this->status = $status; $this->gateway = $gateway; $this->data = $data; } /** * @return Id */ public function getId() { return $this->id; } /** * @param Id $id */ public function setId($id) { $this->id = $id; } /** * @return Id */ public function getCustomerBookingId() { return $this->customerBookingId; } /** * @param Id $customerBookingId */ public function setCustomerBookingId($customerBookingId) { $this->customerBookingId = $customerBookingId; } /** * @return Id */ public function getPackageCustomerId() { return $this->packageCustomerId; } /** * @param Id $packageCustomerId */ public function setPackageCustomerId($packageCustomerId) { $this->packageCustomerId = $packageCustomerId; } /** * @return Id */ public function getParentId() { return $this->parentId; } /** * @param Id $parentId */ public function setParentId($parentId) { $this->parentId = $parentId; } /** * @return Id */ public function getInvoiceNumber() { return $this->invoiceNumber; } /** * @param Id $invoiceNumber */ public function setInvoiceNumber($invoiceNumber) { $this->invoiceNumber = $invoiceNumber; } /** * @return Price */ public function getAmount() { return $this->amount; } /** * @param Price $amount */ public function setAmount($amount) { $this->amount = $amount; } /** * @return DateTimeValue */ public function getDateTime() { return $this->dateTime; } /** * @param DateTimeValue $dateTime */ public function setDateTime($dateTime) { $this->dateTime = $dateTime; } /** * @return PaymentStatus */ public function getStatus() { return $this->status; } /** * @param PaymentStatus $status */ public function setStatus($status) { $this->status = $status; } /** * @return PaymentGateway */ public function getGateway() { return $this->gateway; } /** * @param PaymentGateway $gateway */ public function setGateway($gateway) { $this->gateway = $gateway; } /** * @return Name */ public function getGatewayTitle() { return $this->gatewayTitle; } /** * @param Name $gatewayTitle */ public function setGatewayTitle($gatewayTitle) { $this->gatewayTitle = $gatewayTitle; } /** * @return PaymentData */ public function getData() { return $this->data; } /** * @param PaymentData $data */ public function setData($data) { $this->data = $data; } /** * @return DateTimeValue */ public function getCreated() { return $this->created; } /** * @param DateTimeValue $created */ public function setCreated($created) { $this->created = $created; } /** * @return Name */ public function getEntity() { return $this->entity; } /** * @param Name $entity */ public function setEntity($entity) { $this->entity = $entity; } /** * @return BooleanValueObject */ public function getActionsCompleted() { return $this->actionsCompleted; } /** * @param BooleanValueObject $actionsCompleted */ public function setActionsCompleted($actionsCompleted) { $this->actionsCompleted = $actionsCompleted; } /** * @return BooleanValueObject */ public function getTriggeredActions() { return $this->triggeredActions; } /** * @param BooleanValueObject $triggeredActions */ public function setTriggeredActions($triggeredActions) { $this->triggeredActions = $triggeredActions; } /** * @return Id */ public function getWcOrderId() { return $this->wcOrderId; } /** * @param Id $wcOrderId */ public function setWcOrderId($wcOrderId) { $this->wcOrderId = $wcOrderId; } /** * @return Id */ public function getWcOrderItemId() { return $this->wcOrderItemId; } /** * @param Id $wcOrderItemId */ public function setWcOrderItemId($wcOrderItemId) { $this->wcOrderItemId = $wcOrderItemId; } /** * @return Url */ public function getWcOrderUrl() { return $this->wcOrderUrl; } /** * @param Url $wcOrderUrl */ public function setWcOrderUrl($wcOrderUrl) { $this->wcOrderUrl = $wcOrderUrl; } /** * @return Price */ public function getWcItemCouponValue() { return $this->wcItemCouponValue; } /** * @param Price $wcItemCouponValue */ public function setWcItemCouponValue($wcItemCouponValue) { $this->wcItemCouponValue = $wcItemCouponValue; } /** * @return Price */ public function getWcItemTaxValue() { return $this->wcItemTaxValue; } /** * @param Price $wcItemTaxValue */ public function setWcItemTaxValue($wcItemTaxValue) { $this->wcItemTaxValue = $wcItemTaxValue; } /** * @return string|null */ public function getTransactionId() { return $this->transactionId; } /** * @param string|null $transactionId */ public function setTransactionId($transactionId) { $this->transactionId = $transactionId; } /** * @return Json */ public function getTransfers() { return $this->transfers; } /** * @param Json $transfers */ public function setTransfers($transfers) { $this->transfers = $transfers; } /** * @return array */ public function getPaymentLinks() { return $this->paymentLinks; } /** * @param array $paymentLinks */ public function setPaymentLinks($paymentLinks) { $this->paymentLinks = $paymentLinks; } /** * @return array */ public function toArray() { return [ 'id' => null !== $this->getId() ? $this->getId()->getValue() : null, 'customerBookingId' => $this->customerBookingId ? $this->customerBookingId->getValue() : null, 'packageCustomerId' => $this->packageCustomerId ? $this->packageCustomerId->getValue() : null, 'parentId' => $this->getParentId() ? $this->getParentId()->getValue() : null, 'amount' => $this->amount->getValue(), 'gateway' => $this->gateway->getName()->getValue(), 'gatewayTitle' => null !== $this->getGatewayTitle() ? $this->getGatewayTitle()->getValue() : '', 'dateTime' => null !== $this->dateTime ? $this->dateTime->getValue()->format('Y-m-d H:i:s') : null, 'status' => $this->status->getValue(), 'data' => $this->data->getValue(), 'entity' => $this->getEntity() ? $this->getEntity()->getValue() : null, 'created' => $this->getCreated() ? $this->getCreated()->getValue()->format('Y-m-d H:i:s') : null, 'actionsCompleted' => $this->getActionsCompleted() ? $this->getActionsCompleted()->getValue() : null, 'triggeredActions' => $this->getTriggeredActions() ? $this->getTriggeredActions()->getValue() : null, 'wcOrderId' => $this->getWcOrderId() ? $this->getWcOrderId()->getValue() : null, 'wcOrderItemId' => $this->getWcOrderItemId() ? $this->getWcOrderItemId()->getValue() : null, 'wcOrderUrl' => $this->getWcOrderUrl() ? $this->getWcOrderUrl()->getValue() : null, 'wcItemCouponValue' => $this->getWcItemCouponValue() ? $this->getWcItemCouponValue()->getValue() : null, 'wcItemTaxValue' => $this->getWcItemTaxValue() ? $this->getWcItemTaxValue()->getValue() : null, 'transactionId' => $this->getTransactionId(), 'transfers' => $this->getTransfers() ? $this->getTransfers()->getValue() : null, 'invoiceNumber' => $this->getInvoiceNumber() ? $this->getInvoiceNumber()->getValue() : null, 'paymentLinks' => $this->getPaymentLinks() ?: null, ]; } }
Save
Back