????JFIF??x?x????'
Server IP : 104.21.48.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/cwd/wp-content/plugins/wpforms-lite/vendor_prefixed/square/square/src/Models/ |
Upload File : |
<?php declare (strict_types=1); namespace WPForms\Vendor\Square\Models; use stdClass; /** * Represents a payment processed by the Square API. */ class Payment implements \JsonSerializable { /** * @var string|null */ private $id; /** * @var string|null */ private $createdAt; /** * @var string|null */ private $updatedAt; /** * @var Money|null */ private $amountMoney; /** * @var Money|null */ private $tipMoney; /** * @var Money|null */ private $totalMoney; /** * @var Money|null */ private $appFeeMoney; /** * @var Money|null */ private $approvedMoney; /** * @var ProcessingFee[]|null */ private $processingFee; /** * @var Money|null */ private $refundedMoney; /** * @var string|null */ private $status; /** * @var string|null */ private $delayDuration; /** * @var array */ private $delayAction = []; /** * @var string|null */ private $delayedUntil; /** * @var string|null */ private $sourceType; /** * @var CardPaymentDetails|null */ private $cardDetails; /** * @var CashPaymentDetails|null */ private $cashDetails; /** * @var BankAccountPaymentDetails|null */ private $bankAccountDetails; /** * @var ExternalPaymentDetails|null */ private $externalDetails; /** * @var DigitalWalletDetails|null */ private $walletDetails; /** * @var BuyNowPayLaterDetails|null */ private $buyNowPayLaterDetails; /** * @var SquareAccountDetails|null */ private $squareAccountDetails; /** * @var string|null */ private $locationId; /** * @var string|null */ private $orderId; /** * @var string|null */ private $referenceId; /** * @var string|null */ private $customerId; /** * @var string|null */ private $employeeId; /** * @var array */ private $teamMemberId = []; /** * @var string[]|null */ private $refundIds; /** * @var RiskEvaluation|null */ private $riskEvaluation; /** * @var string|null */ private $terminalCheckoutId; /** * @var string|null */ private $buyerEmailAddress; /** * @var Address|null */ private $billingAddress; /** * @var Address|null */ private $shippingAddress; /** * @var string|null */ private $note; /** * @var string|null */ private $statementDescriptionIdentifier; /** * @var string[]|null */ private $capabilities; /** * @var string|null */ private $receiptNumber; /** * @var string|null */ private $receiptUrl; /** * @var DeviceDetails|null */ private $deviceDetails; /** * @var ApplicationDetails|null */ private $applicationDetails; /** * @var bool|null */ private $isOfflinePayment; /** * @var OfflinePaymentDetails|null */ private $offlinePaymentDetails; /** * @var array */ private $versionToken = []; /** * Returns Id. * A unique ID for the payment. */ public function getId() : ?string { return $this->id; } /** * Sets Id. * A unique ID for the payment. * * @maps id */ public function setId(?string $id) : void { $this->id = $id; } /** * Returns Created At. * The timestamp of when the payment was created, in RFC 3339 format. */ public function getCreatedAt() : ?string { return $this->createdAt; } /** * Sets Created At. * The timestamp of when the payment was created, in RFC 3339 format. * * @maps created_at */ public function setCreatedAt(?string $createdAt) : void { $this->createdAt = $createdAt; } /** * Returns Updated At. * The timestamp of when the payment was last updated, in RFC 3339 format. */ public function getUpdatedAt() : ?string { return $this->updatedAt; } /** * Sets Updated At. * The timestamp of when the payment was last updated, in RFC 3339 format. * * @maps updated_at */ public function setUpdatedAt(?string $updatedAt) : void { $this->updatedAt = $updatedAt; } /** * 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. * * @maps amount_money */ public function setAmountMoney(?Money $amountMoney) : void { $this->amountMoney = $amountMoney; } /** * Returns Tip 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 getTipMoney() : ?Money { return $this->tipMoney; } /** * Sets Tip 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. * * @maps tip_money */ public function setTipMoney(?Money $tipMoney) : void { $this->tipMoney = $tipMoney; } /** * Returns Total 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 getTotalMoney() : ?Money { return $this->totalMoney; } /** * Sets Total 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. * * @maps total_money */ public function setTotalMoney(?Money $totalMoney) : void { $this->totalMoney = $totalMoney; } /** * Returns App Fee 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 getAppFeeMoney() : ?Money { return $this->appFeeMoney; } /** * Sets App Fee 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. * * @maps app_fee_money */ public function setAppFeeMoney(?Money $appFeeMoney) : void { $this->appFeeMoney = $appFeeMoney; } /** * Returns Approved 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 getApprovedMoney() : ?Money { return $this->approvedMoney; } /** * Sets Approved 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. * * @maps approved_money */ public function setApprovedMoney(?Money $approvedMoney) : void { $this->approvedMoney = $approvedMoney; } /** * Returns Processing Fee. * The processing fees and fee adjustments assessed by Square for this payment. * * @return ProcessingFee[]|null */ public function getProcessingFee() : ?array { return $this->processingFee; } /** * Sets Processing Fee. * The processing fees and fee adjustments assessed by Square for this payment. * * @maps processing_fee * * @param ProcessingFee[]|null $processingFee */ public function setProcessingFee(?array $processingFee) : void { $this->processingFee = $processingFee; } /** * Returns Refunded 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 getRefundedMoney() : ?Money { return $this->refundedMoney; } /** * Sets Refunded 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. * * @maps refunded_money */ public function setRefundedMoney(?Money $refundedMoney) : void { $this->refundedMoney = $refundedMoney; } /** * Returns Status. * Indicates whether the payment is APPROVED, PENDING, COMPLETED, CANCELED, or FAILED. */ public function getStatus() : ?string { return $this->status; } /** * Sets Status. * Indicates whether the payment is APPROVED, PENDING, COMPLETED, CANCELED, or FAILED. * * @maps status */ public function setStatus(?string $status) : void { $this->status = $status; } /** * Returns Delay Duration. * The duration of time after the payment's creation when Square automatically applies the * `delay_action` to the payment. This automatic `delay_action` applies only to payments that * do not reach a terminal state (COMPLETED, CANCELED, or FAILED) before the `delay_duration` * time period. * * This field is specified as a time duration, in RFC 3339 format. * * Notes: * This feature is only supported for card payments. * * Default: * * - Card-present payments: "PT36H" (36 hours) from the creation time. * - Card-not-present payments: "P7D" (7 days) from the creation time. */ public function getDelayDuration() : ?string { return $this->delayDuration; } /** * Sets Delay Duration. * The duration of time after the payment's creation when Square automatically applies the * `delay_action` to the payment. This automatic `delay_action` applies only to payments that * do not reach a terminal state (COMPLETED, CANCELED, or FAILED) before the `delay_duration` * time period. * * This field is specified as a time duration, in RFC 3339 format. * * Notes: * This feature is only supported for card payments. * * Default: * * - Card-present payments: "PT36H" (36 hours) from the creation time. * - Card-not-present payments: "P7D" (7 days) from the creation time. * * @maps delay_duration */ public function setDelayDuration(?string $delayDuration) : void { $this->delayDuration = $delayDuration; } /** * Returns Delay Action. * The action to be applied to the payment when the `delay_duration` has elapsed. * * Current values include `CANCEL` and `COMPLETE`. */ public function getDelayAction() : ?string { if (\count($this->delayAction) == 0) { return null; } return $this->delayAction['value']; } /** * Sets Delay Action. * The action to be applied to the payment when the `delay_duration` has elapsed. * * Current values include `CANCEL` and `COMPLETE`. * * @maps delay_action */ public function setDelayAction(?string $delayAction) : void { $this->delayAction['value'] = $delayAction; } /** * Unsets Delay Action. * The action to be applied to the payment when the `delay_duration` has elapsed. * * Current values include `CANCEL` and `COMPLETE`. */ public function unsetDelayAction() : void { $this->delayAction = []; } /** * Returns Delayed Until. * The read-only timestamp of when the `delay_action` is automatically applied, * in RFC 3339 format. * * Note that this field is calculated by summing the payment's `delay_duration` and `created_at` * fields. The `created_at` field is generated by Square and might not exactly match the * time on your local machine. */ public function getDelayedUntil() : ?string { return $this->delayedUntil; } /** * Sets Delayed Until. * The read-only timestamp of when the `delay_action` is automatically applied, * in RFC 3339 format. * * Note that this field is calculated by summing the payment's `delay_duration` and `created_at` * fields. The `created_at` field is generated by Square and might not exactly match the * time on your local machine. * * @maps delayed_until */ public function setDelayedUntil(?string $delayedUntil) : void { $this->delayedUntil = $delayedUntil; } /** * Returns Source Type. * The source type for this payment. * * Current values include `CARD`, `BANK_ACCOUNT`, `WALLET`, `BUY_NOW_PAY_LATER`, `SQUARE_ACCOUNT`, * `CASH` and `EXTERNAL`. For information about these payment source types, * see [Take Payments](https://developer.squareup.com/docs/payments-api/take-payments). */ public function getSourceType() : ?string { return $this->sourceType; } /** * Sets Source Type. * The source type for this payment. * * Current values include `CARD`, `BANK_ACCOUNT`, `WALLET`, `BUY_NOW_PAY_LATER`, `SQUARE_ACCOUNT`, * `CASH` and `EXTERNAL`. For information about these payment source types, * see [Take Payments](https://developer.squareup.com/docs/payments-api/take-payments). * * @maps source_type */ public function setSourceType(?string $sourceType) : void { $this->sourceType = $sourceType; } /** * Returns Card Details. * Reflects the current status of a card payment. Contains only non-confidential information. */ public function getCardDetails() : ?CardPaymentDetails { return $this->cardDetails; } /** * Sets Card Details. * Reflects the current status of a card payment. Contains only non-confidential information. * * @maps card_details */ public function setCardDetails(?CardPaymentDetails $cardDetails) : void { $this->cardDetails = $cardDetails; } /** * Returns Cash Details. * Stores details about a cash payment. Contains only non-confidential information. For more * information, see * [Take Cash Payments](https://developer.squareup.com/docs/payments-api/take-payments/cash-payments). */ public function getCashDetails() : ?CashPaymentDetails { return $this->cashDetails; } /** * Sets Cash Details. * Stores details about a cash payment. Contains only non-confidential information. For more * information, see * [Take Cash Payments](https://developer.squareup.com/docs/payments-api/take-payments/cash-payments). * * @maps cash_details */ public function setCashDetails(?CashPaymentDetails $cashDetails) : void { $this->cashDetails = $cashDetails; } /** * Returns Bank Account Details. * Additional details about BANK_ACCOUNT type payments. */ public function getBankAccountDetails() : ?BankAccountPaymentDetails { return $this->bankAccountDetails; } /** * Sets Bank Account Details. * Additional details about BANK_ACCOUNT type payments. * * @maps bank_account_details */ public function setBankAccountDetails(?BankAccountPaymentDetails $bankAccountDetails) : void { $this->bankAccountDetails = $bankAccountDetails; } /** * Returns External Details. * Stores details about an external payment. Contains only non-confidential information. * For more information, see * [Take External Payments](https://developer.squareup.com/docs/payments-api/take-payments/external- * payments). */ public function getExternalDetails() : ?ExternalPaymentDetails { return $this->externalDetails; } /** * Sets External Details. * Stores details about an external payment. Contains only non-confidential information. * For more information, see * [Take External Payments](https://developer.squareup.com/docs/payments-api/take-payments/external- * payments). * * @maps external_details */ public function setExternalDetails(?ExternalPaymentDetails $externalDetails) : void { $this->externalDetails = $externalDetails; } /** * Returns Wallet Details. * Additional details about `WALLET` type payments. Contains only non-confidential information. */ public function getWalletDetails() : ?DigitalWalletDetails { return $this->walletDetails; } /** * Sets Wallet Details. * Additional details about `WALLET` type payments. Contains only non-confidential information. * * @maps wallet_details */ public function setWalletDetails(?DigitalWalletDetails $walletDetails) : void { $this->walletDetails = $walletDetails; } /** * Returns Buy Now Pay Later Details. * Additional details about a Buy Now Pay Later payment type. */ public function getBuyNowPayLaterDetails() : ?BuyNowPayLaterDetails { return $this->buyNowPayLaterDetails; } /** * Sets Buy Now Pay Later Details. * Additional details about a Buy Now Pay Later payment type. * * @maps buy_now_pay_later_details */ public function setBuyNowPayLaterDetails(?BuyNowPayLaterDetails $buyNowPayLaterDetails) : void { $this->buyNowPayLaterDetails = $buyNowPayLaterDetails; } /** * Returns Square Account Details. * Additional details about Square Account payments. */ public function getSquareAccountDetails() : ?SquareAccountDetails { return $this->squareAccountDetails; } /** * Sets Square Account Details. * Additional details about Square Account payments. * * @maps square_account_details */ public function setSquareAccountDetails(?SquareAccountDetails $squareAccountDetails) : void { $this->squareAccountDetails = $squareAccountDetails; } /** * Returns Location Id. * The ID of the location associated with the payment. */ public function getLocationId() : ?string { return $this->locationId; } /** * Sets Location Id. * The ID of the location associated with the payment. * * @maps location_id */ public function setLocationId(?string $locationId) : void { $this->locationId = $locationId; } /** * Returns Order Id. * The ID of the order associated with the payment. */ public function getOrderId() : ?string { return $this->orderId; } /** * Sets Order Id. * The ID of the order associated with the payment. * * @maps order_id */ public function setOrderId(?string $orderId) : void { $this->orderId = $orderId; } /** * Returns Reference Id. * An optional ID that associates the payment with an entity in * another system. */ public function getReferenceId() : ?string { return $this->referenceId; } /** * Sets Reference Id. * An optional ID that associates the payment with an entity in * another system. * * @maps reference_id */ public function setReferenceId(?string $referenceId) : void { $this->referenceId = $referenceId; } /** * Returns Customer Id. * The ID of the customer associated with the payment. If the ID is * not provided in the `CreatePayment` request that was used to create the `Payment`, * Square may use information in the request * (such as the billing and shipping address, email address, and payment source) * to identify a matching customer profile in the Customer Directory. * If found, the profile ID is used. If a profile is not found, the * API attempts to create an * [instant profile](https://developer.squareup.com/docs/customers-api/what-it-does#instant-profiles). * If the API cannot create an * instant profile (either because the seller has disabled it or the * seller's region prevents creating it), this field remains unset. Note that * this process is asynchronous and it may take some time before a * customer ID is added to the payment. */ public function getCustomerId() : ?string { return $this->customerId; } /** * Sets Customer Id. * The ID of the customer associated with the payment. If the ID is * not provided in the `CreatePayment` request that was used to create the `Payment`, * Square may use information in the request * (such as the billing and shipping address, email address, and payment source) * to identify a matching customer profile in the Customer Directory. * If found, the profile ID is used. If a profile is not found, the * API attempts to create an * [instant profile](https://developer.squareup.com/docs/customers-api/what-it-does#instant-profiles). * If the API cannot create an * instant profile (either because the seller has disabled it or the * seller's region prevents creating it), this field remains unset. Note that * this process is asynchronous and it may take some time before a * customer ID is added to the payment. * * @maps customer_id */ public function setCustomerId(?string $customerId) : void { $this->customerId = $customerId; } /** * Returns Employee Id. * __Deprecated__: Use `Payment.team_member_id` instead. * * An optional ID of the employee associated with taking the payment. */ public function getEmployeeId() : ?string { return $this->employeeId; } /** * Sets Employee Id. * __Deprecated__: Use `Payment.team_member_id` instead. * * An optional ID of the employee associated with taking the payment. * * @maps employee_id */ public function setEmployeeId(?string $employeeId) : void { $this->employeeId = $employeeId; } /** * Returns Team Member Id. * An optional ID of the [TeamMember](entity:TeamMember) associated with taking the payment. */ public function getTeamMemberId() : ?string { if (\count($this->teamMemberId) == 0) { return null; } return $this->teamMemberId['value']; } /** * Sets Team Member Id. * An optional ID of the [TeamMember](entity:TeamMember) associated with taking the payment. * * @maps team_member_id */ public function setTeamMemberId(?string $teamMemberId) : void { $this->teamMemberId['value'] = $teamMemberId; } /** * Unsets Team Member Id. * An optional ID of the [TeamMember](entity:TeamMember) associated with taking the payment. */ public function unsetTeamMemberId() : void { $this->teamMemberId = []; } /** * Returns Refund Ids. * A list of `refund_id`s identifying refunds for the payment. * * @return string[]|null */ public function getRefundIds() : ?array { return $this->refundIds; } /** * Sets Refund Ids. * A list of `refund_id`s identifying refunds for the payment. * * @maps refund_ids * * @param string[]|null $refundIds */ public function setRefundIds(?array $refundIds) : void { $this->refundIds = $refundIds; } /** * Returns Risk Evaluation. * Represents fraud risk information for the associated payment. * * When you take a payment through Square's Payments API (using the `CreatePayment` * endpoint), Square evaluates it and assigns a risk level to the payment. Sellers * can use this information to determine the course of action (for example, * provide the goods/services or refund the payment). */ public function getRiskEvaluation() : ?RiskEvaluation { return $this->riskEvaluation; } /** * Sets Risk Evaluation. * Represents fraud risk information for the associated payment. * * When you take a payment through Square's Payments API (using the `CreatePayment` * endpoint), Square evaluates it and assigns a risk level to the payment. Sellers * can use this information to determine the course of action (for example, * provide the goods/services or refund the payment). * * @maps risk_evaluation */ public function setRiskEvaluation(?RiskEvaluation $riskEvaluation) : void { $this->riskEvaluation = $riskEvaluation; } /** * Returns Terminal Checkout Id. * An optional ID for a Terminal checkout that is associated with the payment. */ public function getTerminalCheckoutId() : ?string { return $this->terminalCheckoutId; } /** * Sets Terminal Checkout Id. * An optional ID for a Terminal checkout that is associated with the payment. * * @maps terminal_checkout_id */ public function setTerminalCheckoutId(?string $terminalCheckoutId) : void { $this->terminalCheckoutId = $terminalCheckoutId; } /** * Returns Buyer Email Address. * The buyer's email address. */ public function getBuyerEmailAddress() : ?string { return $this->buyerEmailAddress; } /** * Sets Buyer Email Address. * The buyer's email address. * * @maps buyer_email_address */ public function setBuyerEmailAddress(?string $buyerEmailAddress) : void { $this->buyerEmailAddress = $buyerEmailAddress; } /** * Returns Billing Address. * Represents a postal address in a country. * For more information, see [Working with Addresses](https://developer.squareup.com/docs/build- * basics/working-with-addresses). */ public function getBillingAddress() : ?Address { return $this->billingAddress; } /** * Sets Billing Address. * Represents a postal address in a country. * For more information, see [Working with Addresses](https://developer.squareup.com/docs/build- * basics/working-with-addresses). * * @maps billing_address */ public function setBillingAddress(?Address $billingAddress) : void { $this->billingAddress = $billingAddress; } /** * Returns Shipping Address. * Represents a postal address in a country. * For more information, see [Working with Addresses](https://developer.squareup.com/docs/build- * basics/working-with-addresses). */ public function getShippingAddress() : ?Address { return $this->shippingAddress; } /** * Sets Shipping Address. * Represents a postal address in a country. * For more information, see [Working with Addresses](https://developer.squareup.com/docs/build- * basics/working-with-addresses). * * @maps shipping_address */ public function setShippingAddress(?Address $shippingAddress) : void { $this->shippingAddress = $shippingAddress; } /** * Returns Note. * An optional note to include when creating a payment. */ public function getNote() : ?string { return $this->note; } /** * Sets Note. * An optional note to include when creating a payment. * * @maps note */ public function setNote(?string $note) : void { $this->note = $note; } /** * Returns Statement Description Identifier. * Additional payment information that gets added to the customer's card statement * as part of the statement description. * * Note that the `statement_description_identifier` might get truncated on the statement description * to fit the required information including the Square identifier (SQ *) and the name of the * seller taking the payment. */ public function getStatementDescriptionIdentifier() : ?string { return $this->statementDescriptionIdentifier; } /** * Sets Statement Description Identifier. * Additional payment information that gets added to the customer's card statement * as part of the statement description. * * Note that the `statement_description_identifier` might get truncated on the statement description * to fit the required information including the Square identifier (SQ *) and the name of the * seller taking the payment. * * @maps statement_description_identifier */ public function setStatementDescriptionIdentifier(?string $statementDescriptionIdentifier) : void { $this->statementDescriptionIdentifier = $statementDescriptionIdentifier; } /** * Returns Capabilities. * Actions that can be performed on this payment: * - `EDIT_AMOUNT_UP` - The payment amount can be edited up. * - `EDIT_AMOUNT_DOWN` - The payment amount can be edited down. * - `EDIT_TIP_AMOUNT_UP` - The tip amount can be edited up. * - `EDIT_TIP_AMOUNT_DOWN` - The tip amount can be edited down. * - `EDIT_DELAY_ACTION` - The delay_action can be edited. * * @return string[]|null */ public function getCapabilities() : ?array { return $this->capabilities; } /** * Sets Capabilities. * Actions that can be performed on this payment: * - `EDIT_AMOUNT_UP` - The payment amount can be edited up. * - `EDIT_AMOUNT_DOWN` - The payment amount can be edited down. * - `EDIT_TIP_AMOUNT_UP` - The tip amount can be edited up. * - `EDIT_TIP_AMOUNT_DOWN` - The tip amount can be edited down. * - `EDIT_DELAY_ACTION` - The delay_action can be edited. * * @maps capabilities * * @param string[]|null $capabilities */ public function setCapabilities(?array $capabilities) : void { $this->capabilities = $capabilities; } /** * Returns Receipt Number. * The payment's receipt number. * The field is missing if a payment is canceled. */ public function getReceiptNumber() : ?string { return $this->receiptNumber; } /** * Sets Receipt Number. * The payment's receipt number. * The field is missing if a payment is canceled. * * @maps receipt_number */ public function setReceiptNumber(?string $receiptNumber) : void { $this->receiptNumber = $receiptNumber; } /** * Returns Receipt Url. * The URL for the payment's receipt. * The field is only populated for COMPLETED payments. */ public function getReceiptUrl() : ?string { return $this->receiptUrl; } /** * Sets Receipt Url. * The URL for the payment's receipt. * The field is only populated for COMPLETED payments. * * @maps receipt_url */ public function setReceiptUrl(?string $receiptUrl) : void { $this->receiptUrl = $receiptUrl; } /** * Returns Device Details. * Details about the device that took the payment. */ public function getDeviceDetails() : ?DeviceDetails { return $this->deviceDetails; } /** * Sets Device Details. * Details about the device that took the payment. * * @maps device_details */ public function setDeviceDetails(?DeviceDetails $deviceDetails) : void { $this->deviceDetails = $deviceDetails; } /** * Returns Application Details. * Details about the application that took the payment. */ public function getApplicationDetails() : ?ApplicationDetails { return $this->applicationDetails; } /** * Sets Application Details. * Details about the application that took the payment. * * @maps application_details */ public function setApplicationDetails(?ApplicationDetails $applicationDetails) : void { $this->applicationDetails = $applicationDetails; } /** * Returns Is Offline Payment. * Whether or not this payment was taken offline. */ public function getIsOfflinePayment() : ?bool { return $this->isOfflinePayment; } /** * Sets Is Offline Payment. * Whether or not this payment was taken offline. * * @maps is_offline_payment */ public function setIsOfflinePayment(?bool $isOfflinePayment) : void { $this->isOfflinePayment = $isOfflinePayment; } /** * Returns Offline Payment Details. * Details specific to offline payments. */ public function getOfflinePaymentDetails() : ?OfflinePaymentDetails { return $this->offlinePaymentDetails; } /** * Sets Offline Payment Details. * Details specific to offline payments. * * @maps offline_payment_details */ public function setOfflinePaymentDetails(?OfflinePaymentDetails $offlinePaymentDetails) : void { $this->offlinePaymentDetails = $offlinePaymentDetails; } /** * Returns Version Token. * Used for optimistic concurrency. This opaque token identifies a specific version of the * `Payment` object. */ public function getVersionToken() : ?string { if (\count($this->versionToken) == 0) { return null; } return $this->versionToken['value']; } /** * Sets Version Token. * Used for optimistic concurrency. This opaque token identifies a specific version of the * `Payment` object. * * @maps version_token */ public function setVersionToken(?string $versionToken) : void { $this->versionToken['value'] = $versionToken; } /** * Unsets Version Token. * Used for optimistic concurrency. This opaque token identifies a specific version of the * `Payment` object. */ public function unsetVersionToken() : void { $this->versionToken = []; } /** * Encode this object to JSON * * @param bool $asArrayWhenEmpty Whether to serialize this model as an array whenever no fields * are set. (default: false) * * @return array|stdClass */ #[\ReturnTypeWillChange] public function jsonSerialize(bool $asArrayWhenEmpty = \false) { $json = []; if (isset($this->id)) { $json['id'] = $this->id; } if (isset($this->createdAt)) { $json['created_at'] = $this->createdAt; } if (isset($this->updatedAt)) { $json['updated_at'] = $this->updatedAt; } if (isset($this->amountMoney)) { $json['amount_money'] = $this->amountMoney; } if (isset($this->tipMoney)) { $json['tip_money'] = $this->tipMoney; } if (isset($this->totalMoney)) { $json['total_money'] = $this->totalMoney; } if (isset($this->appFeeMoney)) { $json['app_fee_money'] = $this->appFeeMoney; } if (isset($this->approvedMoney)) { $json['approved_money'] = $this->approvedMoney; } if (isset($this->processingFee)) { $json['processing_fee'] = $this->processingFee; } if (isset($this->refundedMoney)) { $json['refunded_money'] = $this->refundedMoney; } if (isset($this->status)) { $json['status'] = $this->status; } if (isset($this->delayDuration)) { $json['delay_duration'] = $this->delayDuration; } if (!empty($this->delayAction)) { $json['delay_action'] = $this->delayAction['value']; } if (isset($this->delayedUntil)) { $json['delayed_until'] = $this->delayedUntil; } if (isset($this->sourceType)) { $json['source_type'] = $this->sourceType; } if (isset($this->cardDetails)) { $json['card_details'] = $this->cardDetails; } if (isset($this->cashDetails)) { $json['cash_details'] = $this->cashDetails; } if (isset($this->bankAccountDetails)) { $json['bank_account_details'] = $this->bankAccountDetails; } if (isset($this->externalDetails)) { $json['external_details'] = $this->externalDetails; } if (isset($this->walletDetails)) { $json['wallet_details'] = $this->walletDetails; } if (isset($this->buyNowPayLaterDetails)) { $json['buy_now_pay_later_details'] = $this->buyNowPayLaterDetails; } if (isset($this->squareAccountDetails)) { $json['square_account_details'] = $this->squareAccountDetails; } if (isset($this->locationId)) { $json['location_id'] = $this->locationId; } if (isset($this->orderId)) { $json['order_id'] = $this->orderId; } if (isset($this->referenceId)) { $json['reference_id'] = $this->referenceId; } if (isset($this->customerId)) { $json['customer_id'] = $this->customerId; } if (isset($this->employeeId)) { $json['employee_id'] = $this->employeeId; } if (!empty($this->teamMemberId)) { $json['team_member_id'] = $this->teamMemberId['value']; } if (isset($this->refundIds)) { $json['refund_ids'] = $this->refundIds; } if (isset($this->riskEvaluation)) { $json['risk_evaluation'] = $this->riskEvaluation; } if (isset($this->terminalCheckoutId)) { $json['terminal_checkout_id'] = $this->terminalCheckoutId; } if (isset($this->buyerEmailAddress)) { $json['buyer_email_address'] = $this->buyerEmailAddress; } if (isset($this->billingAddress)) { $json['billing_address'] = $this->billingAddress; } if (isset($this->shippingAddress)) { $json['shipping_address'] = $this->shippingAddress; } if (isset($this->note)) { $json['note'] = $this->note; } if (isset($this->statementDescriptionIdentifier)) { $json['statement_description_identifier'] = $this->statementDescriptionIdentifier; } if (isset($this->capabilities)) { $json['capabilities'] = $this->capabilities; } if (isset($this->receiptNumber)) { $json['receipt_number'] = $this->receiptNumber; } if (isset($this->receiptUrl)) { $json['receipt_url'] = $this->receiptUrl; } if (isset($this->deviceDetails)) { $json['device_details'] = $this->deviceDetails; } if (isset($this->applicationDetails)) { $json['application_details'] = $this->applicationDetails; } if (isset($this->isOfflinePayment)) { $json['is_offline_payment'] = $this->isOfflinePayment; } if (isset($this->offlinePaymentDetails)) { $json['offline_payment_details'] = $this->offlinePaymentDetails; } if (!empty($this->versionToken)) { $json['version_token'] = $this->versionToken['value']; } $json = \array_filter($json, function ($val) { return $val !== null; }); return !$asArrayWhenEmpty && empty($json) ? new stdClass() : $json; } }