%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/admin1/vendor/square/square/src/Models/ |
Upload File : |
<?php
declare(strict_types=1);
namespace Square\Models;
use stdClass;
class TerminalCheckout implements \JsonSerializable
{
/**
* @var string|null
*/
private $id;
/**
* @var Money
*/
private $amountMoney;
/**
* @var string|null
*/
private $referenceId;
/**
* @var string|null
*/
private $note;
/**
* @var DeviceCheckoutOptions
*/
private $deviceOptions;
/**
* @var string|null
*/
private $deadlineDuration;
/**
* @var string|null
*/
private $status;
/**
* @var string|null
*/
private $cancelReason;
/**
* @var string[]|null
*/
private $paymentIds;
/**
* @var string|null
*/
private $createdAt;
/**
* @var string|null
*/
private $updatedAt;
/**
* @var string|null
*/
private $appId;
/**
* @var string|null
*/
private $locationId;
/**
* @var string|null
*/
private $paymentType;
/**
* @var string|null
*/
private $customerId;
/**
* @param Money $amountMoney
* @param DeviceCheckoutOptions $deviceOptions
*/
public function __construct(Money $amountMoney, DeviceCheckoutOptions $deviceOptions)
{
$this->amountMoney = $amountMoney;
$this->deviceOptions = $deviceOptions;
}
/**
* Returns Id.
*
* A unique ID for this `TerminalCheckout`.
*/
public function getId(): ?string
{
return $this->id;
}
/**
* Sets Id.
*
* A unique ID for this `TerminalCheckout`.
*
* @maps id
*/
public function setId(?string $id): void
{
$this->id = $id;
}
/**
* Returns Amount Money.
*
* Represents an amount of money. `Money` fields can be signed or unsigned.
* Fields that do not explicitly define whether they are signed or unsigned are
* considered unsigned and can only hold positive amounts. For signed fields, the
* sign of the value indicates the purpose of the money transfer. See
* [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-
* monetary-amounts)
* for more information.
*/
public function getAmountMoney(): Money
{
return $this->amountMoney;
}
/**
* Sets Amount Money.
*
* Represents an amount of money. `Money` fields can be signed or unsigned.
* Fields that do not explicitly define whether they are signed or unsigned are
* considered unsigned and can only hold positive amounts. For signed fields, the
* sign of the value indicates the purpose of the money transfer. See
* [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-
* monetary-amounts)
* for more information.
*
* @required
* @maps amount_money
*/
public function setAmountMoney(Money $amountMoney): void
{
$this->amountMoney = $amountMoney;
}
/**
* Returns Reference Id.
*
* An optional user-defined reference ID that can be used to associate
* this `TerminalCheckout` to another entity in an external system. For example, an order
* ID generated by a third-party shopping cart. The ID is also associated with any payments
* used to complete the checkout.
*/
public function getReferenceId(): ?string
{
return $this->referenceId;
}
/**
* Sets Reference Id.
*
* An optional user-defined reference ID that can be used to associate
* this `TerminalCheckout` to another entity in an external system. For example, an order
* ID generated by a third-party shopping cart. The ID is also associated with any payments
* used to complete the checkout.
*
* @maps reference_id
*/
public function setReferenceId(?string $referenceId): void
{
$this->referenceId = $referenceId;
}
/**
* Returns Note.
*
* An optional note to associate with the checkout, as well as with any payments used to complete the
* checkout.
*/
public function getNote(): ?string
{
return $this->note;
}
/**
* Sets Note.
*
* An optional note to associate with the checkout, as well as with any payments used to complete the
* checkout.
*
* @maps note
*/
public function setNote(?string $note): void
{
$this->note = $note;
}
/**
* Returns Device Options.
*/
public function getDeviceOptions(): DeviceCheckoutOptions
{
return $this->deviceOptions;
}
/**
* Sets Device Options.
*
* @required
* @maps device_options
*/
public function setDeviceOptions(DeviceCheckoutOptions $deviceOptions): void
{
$this->deviceOptions = $deviceOptions;
}
/**
* Returns Deadline Duration.
*
* An RFC 3339 duration, after which the checkout is automatically canceled.
* A `TerminalCheckout` that is `PENDING` is automatically `CANCELED` and has a cancellation reason
* of `TIMED_OUT`.
*
* Default: 5 minutes from creation
*
* Maximum: 5 minutes
*/
public function getDeadlineDuration(): ?string
{
return $this->deadlineDuration;
}
/**
* Sets Deadline Duration.
*
* An RFC 3339 duration, after which the checkout is automatically canceled.
* A `TerminalCheckout` that is `PENDING` is automatically `CANCELED` and has a cancellation reason
* of `TIMED_OUT`.
*
* Default: 5 minutes from creation
*
* Maximum: 5 minutes
*
* @maps deadline_duration
*/
public function setDeadlineDuration(?string $deadlineDuration): void
{
$this->deadlineDuration = $deadlineDuration;
}
/**
* Returns Status.
*
* The status of the `TerminalCheckout`.
* Options: `PENDING`, `IN_PROGRESS`, `CANCEL_REQUESTED`, `CANCELED`, `COMPLETED`
*/
public function getStatus(): ?string
{
return $this->status;
}
/**
* Sets Status.
*
* The status of the `TerminalCheckout`.
* Options: `PENDING`, `IN_PROGRESS`, `CANCEL_REQUESTED`, `CANCELED`, `COMPLETED`
*
* @maps status
*/
public function setStatus(?string $status): void
{
$this->status = $status;
}
/**
* Returns Cancel Reason.
*/
public function getCancelReason(): ?string
{
return $this->cancelReason;
}
/**
* Sets Cancel Reason.
*
* @maps cancel_reason
*/
public function setCancelReason(?string $cancelReason): void
{
$this->cancelReason = $cancelReason;
}
/**
* Returns Payment Ids.
*
* A list of IDs for payments created by this `TerminalCheckout`.
*
* @return string[]|null
*/
public function getPaymentIds(): ?array
{
return $this->paymentIds;
}
/**
* Sets Payment Ids.
*
* A list of IDs for payments created by this `TerminalCheckout`.
*
* @maps payment_ids
*
* @param string[]|null $paymentIds
*/
public function setPaymentIds(?array $paymentIds): void
{
$this->paymentIds = $paymentIds;
}
/**
* Returns Created At.
*
* The time when the `TerminalCheckout` was created, as an RFC 3339 timestamp.
*/
public function getCreatedAt(): ?string
{
return $this->createdAt;
}
/**
* Sets Created At.
*
* The time when the `TerminalCheckout` was created, as an RFC 3339 timestamp.
*
* @maps created_at
*/
public function setCreatedAt(?string $createdAt): void
{
$this->createdAt = $createdAt;
}
/**
* Returns Updated At.
*
* The time when the `TerminalCheckout` was last updated, as an RFC 3339 timestamp.
*/
public function getUpdatedAt(): ?string
{
return $this->updatedAt;
}
/**
* Sets Updated At.
*
* The time when the `TerminalCheckout` was last updated, as an RFC 3339 timestamp.
*
* @maps updated_at
*/
public function setUpdatedAt(?string $updatedAt): void
{
$this->updatedAt = $updatedAt;
}
/**
* Returns App Id.
*
* The ID of the application that created the checkout.
*/
public function getAppId(): ?string
{
return $this->appId;
}
/**
* Sets App Id.
*
* The ID of the application that created the checkout.
*
* @maps app_id
*/
public function setAppId(?string $appId): void
{
$this->appId = $appId;
}
/**
* Returns Location Id.
*
* The location of the device where the `TerminalCheckout` was directed.
*/
public function getLocationId(): ?string
{
return $this->locationId;
}
/**
* Sets Location Id.
*
* The location of the device where the `TerminalCheckout` was directed.
*
* @maps location_id
*/
public function setLocationId(?string $locationId): void
{
$this->locationId = $locationId;
}
/**
* Returns Payment Type.
*/
public function getPaymentType(): ?string
{
return $this->paymentType;
}
/**
* Sets Payment Type.
*
* @maps payment_type
*/
public function setPaymentType(?string $paymentType): void
{
$this->paymentType = $paymentType;
}
/**
* Returns Customer Id.
*
* An optional ID of the customer associated with the checkout.
*/
public function getCustomerId(): ?string
{
return $this->customerId;
}
/**
* Sets Customer Id.
*
* An optional ID of the customer associated with the checkout.
*
* @maps customer_id
*/
public function setCustomerId(?string $customerId): void
{
$this->customerId = $customerId;
}
/**
* Encode this object to JSON
*
* @param bool $asArrayWhenEmpty Whether to serialize this model as an array whenever no fields
* are set. (default: false)
*
* @return mixed
*/
public function jsonSerialize(bool $asArrayWhenEmpty = false)
{
$json = [];
if (isset($this->id)) {
$json['id'] = $this->id;
}
$json['amount_money'] = $this->amountMoney;
if (isset($this->referenceId)) {
$json['reference_id'] = $this->referenceId;
}
if (isset($this->note)) {
$json['note'] = $this->note;
}
$json['device_options'] = $this->deviceOptions;
if (isset($this->deadlineDuration)) {
$json['deadline_duration'] = $this->deadlineDuration;
}
if (isset($this->status)) {
$json['status'] = $this->status;
}
if (isset($this->cancelReason)) {
$json['cancel_reason'] = $this->cancelReason;
}
if (isset($this->paymentIds)) {
$json['payment_ids'] = $this->paymentIds;
}
if (isset($this->createdAt)) {
$json['created_at'] = $this->createdAt;
}
if (isset($this->updatedAt)) {
$json['updated_at'] = $this->updatedAt;
}
if (isset($this->appId)) {
$json['app_id'] = $this->appId;
}
if (isset($this->locationId)) {
$json['location_id'] = $this->locationId;
}
if (isset($this->paymentType)) {
$json['payment_type'] = $this->paymentType;
}
if (isset($this->customerId)) {
$json['customer_id'] = $this->customerId;
}
$json = array_filter($json, function ($val) {
return $val !== null;
});
return (!$asArrayWhenEmpty && empty($json)) ? new stdClass() : $json;
}
}