%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/www/admin1/vendor/square/square/src/Models/ |
Upload File : |
<?php
declare(strict_types=1);
namespace Square\Models;
use stdClass;
/**
* Describes a request to create a payment using
* [CreatePayment]($e/Payments/CreatePayment).
*/
class CreatePaymentRequest implements \JsonSerializable
{
/**
* @var string
*/
private $sourceId;
/**
* @var string
*/
private $idempotencyKey;
/**
* @var Money
*/
private $amountMoney;
/**
* @var Money|null
*/
private $tipMoney;
/**
* @var Money|null
*/
private $appFeeMoney;
/**
* @var string|null
*/
private $delayDuration;
/**
* @var bool|null
*/
private $autocomplete;
/**
* @var string|null
*/
private $orderId;
/**
* @var string|null
*/
private $customerId;
/**
* @var string|null
*/
private $locationId;
/**
* @var string|null
*/
private $teamMemberId;
/**
* @var string|null
*/
private $referenceId;
/**
* @var string|null
*/
private $verificationToken;
/**
* @var bool|null
*/
private $acceptPartialAuthorization;
/**
* @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 CashPaymentDetails|null
*/
private $cashDetails;
/**
* @var ExternalPaymentDetails|null
*/
private $externalDetails;
/**
* @param string $sourceId
* @param string $idempotencyKey
* @param Money $amountMoney
*/
public function __construct(string $sourceId, string $idempotencyKey, Money $amountMoney)
{
$this->sourceId = $sourceId;
$this->idempotencyKey = $idempotencyKey;
$this->amountMoney = $amountMoney;
}
/**
* Returns Source Id.
*
* The ID for the source of funds for this payment. This can be a payment token
* (card nonce) generated by the Square payment form or a card on file made with the
* Customers API. If recording a payment that the seller
* received outside of Square, specify either "CASH" or "EXTERNAL".
* For more information, see
* [Take Payments](https://developer.squareup.com/docs/payments-api/take-payments).
*/
public function getSourceId(): string
{
return $this->sourceId;
}
/**
* Sets Source Id.
*
* The ID for the source of funds for this payment. This can be a payment token
* (card nonce) generated by the Square payment form or a card on file made with the
* Customers API. If recording a payment that the seller
* received outside of Square, specify either "CASH" or "EXTERNAL".
* For more information, see
* [Take Payments](https://developer.squareup.com/docs/payments-api/take-payments).
*
* @required
* @maps source_id
*/
public function setSourceId(string $sourceId): void
{
$this->sourceId = $sourceId;
}
/**
* Returns Idempotency Key.
*
* A unique string that identifies this `CreatePayment` request. Keys can be any valid string
* but must be unique for every `CreatePayment` request.
*
* Max: 45 characters
*
* Note: The number of allowed characters might be less than the stated maximum, if multi-byte
* characters are used.
*
* For more information, see [Idempotency](https://developer.squareup.com/docs/working-with-
* apis/idempotency).
*/
public function getIdempotencyKey(): string
{
return $this->idempotencyKey;
}
/**
* Sets Idempotency Key.
*
* A unique string that identifies this `CreatePayment` request. Keys can be any valid string
* but must be unique for every `CreatePayment` request.
*
* Max: 45 characters
*
* Note: The number of allowed characters might be less than the stated maximum, if multi-byte
* characters are used.
*
* For more information, see [Idempotency](https://developer.squareup.com/docs/working-with-
* apis/idempotency).
*
* @required
* @maps idempotency_key
*/
public function setIdempotencyKey(string $idempotencyKey): void
{
$this->idempotencyKey = $idempotencyKey;
}
/**
* 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 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 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 Delay Duration.
*
* The duration of time after the payment's creation when Square automatically cancels the
* payment. This automatic cancellation applies only to payments that do not reach a terminal state
* (COMPLETED, CANCELED, or FAILED) before the `delay_duration` time period.
*
* This parameter should be specified as a time duration, in RFC 3339 format, with a minimum value
* of 1 minute.
*
* Note: This feature is only supported for card payments. This parameter can only be set for a
* delayed
* capture payment (`autocomplete=false`).
*
* 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 cancels the
* payment. This automatic cancellation applies only to payments that do not reach a terminal state
* (COMPLETED, CANCELED, or FAILED) before the `delay_duration` time period.
*
* This parameter should be specified as a time duration, in RFC 3339 format, with a minimum value
* of 1 minute.
*
* Note: This feature is only supported for card payments. This parameter can only be set for a
* delayed
* capture payment (`autocomplete=false`).
*
* 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 Autocomplete.
*
* If set to `true`, this payment will be completed when possible. If
* set to `false`, this payment is held in an approved state until either
* explicitly completed (captured) or canceled (voided). For more information, see
* [Delayed capture](https://developer.squareup.com/docs/payments-api/take-payments/card-
* payments#delayed-capture-of-a-card-payment).
*
* Default: true
*/
public function getAutocomplete(): ?bool
{
return $this->autocomplete;
}
/**
* Sets Autocomplete.
*
* If set to `true`, this payment will be completed when possible. If
* set to `false`, this payment is held in an approved state until either
* explicitly completed (captured) or canceled (voided). For more information, see
* [Delayed capture](https://developer.squareup.com/docs/payments-api/take-payments/card-
* payments#delayed-capture-of-a-card-payment).
*
* Default: true
*
* @maps autocomplete
*/
public function setAutocomplete(?bool $autocomplete): void
{
$this->autocomplete = $autocomplete;
}
/**
* Returns Order Id.
*
* Associates a previously created order with this payment.
*/
public function getOrderId(): ?string
{
return $this->orderId;
}
/**
* Sets Order Id.
*
* Associates a previously created order with this payment.
*
* @maps order_id
*/
public function setOrderId(?string $orderId): void
{
$this->orderId = $orderId;
}
/**
* Returns Customer Id.
*
* The [Customer]($m/Customer) ID of the customer associated with the payment.
*
* This is required if the `source_id` refers to a card on file created using the Customers API.
*/
public function getCustomerId(): ?string
{
return $this->customerId;
}
/**
* Sets Customer Id.
*
* The [Customer]($m/Customer) ID of the customer associated with the payment.
*
* This is required if the `source_id` refers to a card on file created using the Customers API.
*
* @maps customer_id
*/
public function setCustomerId(?string $customerId): void
{
$this->customerId = $customerId;
}
/**
* Returns Location Id.
*
* The location ID to associate with the payment. If not specified, the default location is
* used.
*/
public function getLocationId(): ?string
{
return $this->locationId;
}
/**
* Sets Location Id.
*
* The location ID to associate with the payment. If not specified, the default location is
* used.
*
* @maps location_id
*/
public function setLocationId(?string $locationId): void
{
$this->locationId = $locationId;
}
/**
* Returns Team Member Id.
*
* An optional [TeamMember]($m/TeamMember) ID to associate with
* this payment.
*/
public function getTeamMemberId(): ?string
{
return $this->teamMemberId;
}
/**
* Sets Team Member Id.
*
* An optional [TeamMember]($m/TeamMember) ID to associate with
* this payment.
*
* @maps team_member_id
*/
public function setTeamMemberId(?string $teamMemberId): void
{
$this->teamMemberId = $teamMemberId;
}
/**
* Returns Reference Id.
*
* A user-defined ID to associate with the payment.
*
* You can use this field to associate the payment to an entity in an external system
* (for example, you might specify an order ID that is generated by a third-party shopping cart).
*
* Limit 40 characters.
*/
public function getReferenceId(): ?string
{
return $this->referenceId;
}
/**
* Sets Reference Id.
*
* A user-defined ID to associate with the payment.
*
* You can use this field to associate the payment to an entity in an external system
* (for example, you might specify an order ID that is generated by a third-party shopping cart).
*
* Limit 40 characters.
*
* @maps reference_id
*/
public function setReferenceId(?string $referenceId): void
{
$this->referenceId = $referenceId;
}
/**
* Returns Verification Token.
*
* An identifying token generated by [payments.verifyBuyer()](https://developer.squareup.
* com/reference/sdks/web/payments/objects/Payments#Payments.verifyBuyer).
* Verification tokens encapsulate customer device information and 3-D Secure
* challenge results to indicate that Square has verified the buyer identity.
*
* For more information, see [SCA Overview](https://developer.squareup.com/docs/sca-overview).
*/
public function getVerificationToken(): ?string
{
return $this->verificationToken;
}
/**
* Sets Verification Token.
*
* An identifying token generated by [payments.verifyBuyer()](https://developer.squareup.
* com/reference/sdks/web/payments/objects/Payments#Payments.verifyBuyer).
* Verification tokens encapsulate customer device information and 3-D Secure
* challenge results to indicate that Square has verified the buyer identity.
*
* For more information, see [SCA Overview](https://developer.squareup.com/docs/sca-overview).
*
* @maps verification_token
*/
public function setVerificationToken(?string $verificationToken): void
{
$this->verificationToken = $verificationToken;
}
/**
* Returns Accept Partial Authorization.
*
* If set to `true` and charging a Square Gift Card, a payment might be returned with
* `amount_money` equal to less than what was requested. For example, a request for $20 when charging
* a Square Gift Card with a balance of $5 results in an APPROVED payment of $5. You might choose
* to prompt the buyer for an additional payment to cover the remainder or cancel the Gift Card
* payment. This field cannot be `true` when `autocomplete = true`.
*
* For more information, see
* [Partial amount with Square Gift Cards](https://developer.squareup.com/docs/payments-api/take-
* payments#partial-payment-gift-card).
*
* Default: false
*/
public function getAcceptPartialAuthorization(): ?bool
{
return $this->acceptPartialAuthorization;
}
/**
* Sets Accept Partial Authorization.
*
* If set to `true` and charging a Square Gift Card, a payment might be returned with
* `amount_money` equal to less than what was requested. For example, a request for $20 when charging
* a Square Gift Card with a balance of $5 results in an APPROVED payment of $5. You might choose
* to prompt the buyer for an additional payment to cover the remainder or cancel the Gift Card
* payment. This field cannot be `true` when `autocomplete = true`.
*
* For more information, see
* [Partial amount with Square Gift Cards](https://developer.squareup.com/docs/payments-api/take-
* payments#partial-payment-gift-card).
*
* Default: false
*
* @maps accept_partial_authorization
*/
public function setAcceptPartialAuthorization(?bool $acceptPartialAuthorization): void
{
$this->acceptPartialAuthorization = $acceptPartialAuthorization;
}
/**
* 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. The address format is based
* on an [open-source library from Google](https://github.com/google/libaddressinput). For more
* information,
* see [AddressValidationMetadata](https://github.
* com/google/libaddressinput/wiki/AddressValidationMetadata).
* This format has dedicated fields for four address components: postal code,
* locality (city), administrative district (state, prefecture, or province), and
* sublocality (town or village). These components have dedicated fields in the
* `Address` object because software sometimes behaves differently based on them.
* For example, sales tax software may charge different amounts of sales tax
* based on the postal code, and some software is only available in
* certain states due to compliance reasons.
*
* For the remaining address components, the `Address` type provides the
* `address_line_1` and `address_line_2` fields for free-form data entry.
* These fields are free-form because the remaining address components have
* too many variations around the world and typical software does not parse
* these components. These fields enable users to enter anything they want.
*
* Note that, in the current implementation, all other `Address` type fields are blank.
* These include `address_line_3`, `sublocality_2`, `sublocality_3`,
* `administrative_district_level_2`, `administrative_district_level_3`,
* `first_name`, `last_name`, and `organization`.
*
* When it comes to localization, the seller's language preferences
* (see [Language preferences](https://developer.squareup.com/docs/locations-api#location-specific-and-
* seller-level-language-preferences))
* are ignored for addresses. Even though Square products (such as Square Point of Sale
* and the Seller Dashboard) mostly use a seller's language preference in
* communication, when it comes to addresses, they will use English for a US address,
* Japanese for an address in Japan, and so on.
*/
public function getBillingAddress(): ?Address
{
return $this->billingAddress;
}
/**
* Sets Billing Address.
*
* Represents a postal address in a country. The address format is based
* on an [open-source library from Google](https://github.com/google/libaddressinput). For more
* information,
* see [AddressValidationMetadata](https://github.
* com/google/libaddressinput/wiki/AddressValidationMetadata).
* This format has dedicated fields for four address components: postal code,
* locality (city), administrative district (state, prefecture, or province), and
* sublocality (town or village). These components have dedicated fields in the
* `Address` object because software sometimes behaves differently based on them.
* For example, sales tax software may charge different amounts of sales tax
* based on the postal code, and some software is only available in
* certain states due to compliance reasons.
*
* For the remaining address components, the `Address` type provides the
* `address_line_1` and `address_line_2` fields for free-form data entry.
* These fields are free-form because the remaining address components have
* too many variations around the world and typical software does not parse
* these components. These fields enable users to enter anything they want.
*
* Note that, in the current implementation, all other `Address` type fields are blank.
* These include `address_line_3`, `sublocality_2`, `sublocality_3`,
* `administrative_district_level_2`, `administrative_district_level_3`,
* `first_name`, `last_name`, and `organization`.
*
* When it comes to localization, the seller's language preferences
* (see [Language preferences](https://developer.squareup.com/docs/locations-api#location-specific-and-
* seller-level-language-preferences))
* are ignored for addresses. Even though Square products (such as Square Point of Sale
* and the Seller Dashboard) mostly use a seller's language preference in
* communication, when it comes to addresses, they will use English for a US address,
* Japanese for an address in Japan, and so on.
*
* @maps billing_address
*/
public function setBillingAddress(?Address $billingAddress): void
{
$this->billingAddress = $billingAddress;
}
/**
* Returns Shipping Address.
*
* Represents a postal address in a country. The address format is based
* on an [open-source library from Google](https://github.com/google/libaddressinput). For more
* information,
* see [AddressValidationMetadata](https://github.
* com/google/libaddressinput/wiki/AddressValidationMetadata).
* This format has dedicated fields for four address components: postal code,
* locality (city), administrative district (state, prefecture, or province), and
* sublocality (town or village). These components have dedicated fields in the
* `Address` object because software sometimes behaves differently based on them.
* For example, sales tax software may charge different amounts of sales tax
* based on the postal code, and some software is only available in
* certain states due to compliance reasons.
*
* For the remaining address components, the `Address` type provides the
* `address_line_1` and `address_line_2` fields for free-form data entry.
* These fields are free-form because the remaining address components have
* too many variations around the world and typical software does not parse
* these components. These fields enable users to enter anything they want.
*
* Note that, in the current implementation, all other `Address` type fields are blank.
* These include `address_line_3`, `sublocality_2`, `sublocality_3`,
* `administrative_district_level_2`, `administrative_district_level_3`,
* `first_name`, `last_name`, and `organization`.
*
* When it comes to localization, the seller's language preferences
* (see [Language preferences](https://developer.squareup.com/docs/locations-api#location-specific-and-
* seller-level-language-preferences))
* are ignored for addresses. Even though Square products (such as Square Point of Sale
* and the Seller Dashboard) mostly use a seller's language preference in
* communication, when it comes to addresses, they will use English for a US address,
* Japanese for an address in Japan, and so on.
*/
public function getShippingAddress(): ?Address
{
return $this->shippingAddress;
}
/**
* Sets Shipping Address.
*
* Represents a postal address in a country. The address format is based
* on an [open-source library from Google](https://github.com/google/libaddressinput). For more
* information,
* see [AddressValidationMetadata](https://github.
* com/google/libaddressinput/wiki/AddressValidationMetadata).
* This format has dedicated fields for four address components: postal code,
* locality (city), administrative district (state, prefecture, or province), and
* sublocality (town or village). These components have dedicated fields in the
* `Address` object because software sometimes behaves differently based on them.
* For example, sales tax software may charge different amounts of sales tax
* based on the postal code, and some software is only available in
* certain states due to compliance reasons.
*
* For the remaining address components, the `Address` type provides the
* `address_line_1` and `address_line_2` fields for free-form data entry.
* These fields are free-form because the remaining address components have
* too many variations around the world and typical software does not parse
* these components. These fields enable users to enter anything they want.
*
* Note that, in the current implementation, all other `Address` type fields are blank.
* These include `address_line_3`, `sublocality_2`, `sublocality_3`,
* `administrative_district_level_2`, `administrative_district_level_3`,
* `first_name`, `last_name`, and `organization`.
*
* When it comes to localization, the seller's language preferences
* (see [Language preferences](https://developer.squareup.com/docs/locations-api#location-specific-and-
* seller-level-language-preferences))
* are ignored for addresses. Even though Square products (such as Square Point of Sale
* and the Seller Dashboard) mostly use a seller's language preference in
* communication, when it comes to addresses, they will use English for a US address,
* Japanese for an address in Japan, and so on.
*
* @maps shipping_address
*/
public function setShippingAddress(?Address $shippingAddress): void
{
$this->shippingAddress = $shippingAddress;
}
/**
* Returns Note.
*
* An optional note to be entered by the developer when creating a payment.
*
* Limit 500 characters.
*/
public function getNote(): ?string
{
return $this->note;
}
/**
* Sets Note.
*
* An optional note to be entered by the developer when creating a payment.
*
* Limit 500 characters.
*
* @maps note
*/
public function setNote(?string $note): void
{
$this->note = $note;
}
/**
* Returns Statement Description Identifier.
*
* Optional additional payment information to include on the customer's card statement
* as part of the statement description. This can be, for example, an invoice number, ticket number,
* or short description that uniquely identifies the purchase.
*
* Note that the `statement_description_identifier` might get truncated on the statement description
* to fit the required information including the Square identifier (SQ *) and name of the
* seller taking the payment.
*/
public function getStatementDescriptionIdentifier(): ?string
{
return $this->statementDescriptionIdentifier;
}
/**
* Sets Statement Description Identifier.
*
* Optional additional payment information to include on the customer's card statement
* as part of the statement description. This can be, for example, an invoice number, ticket number,
* or short description that uniquely identifies the purchase.
*
* Note that the `statement_description_identifier` might get truncated on the statement description
* to fit the required information including the Square identifier (SQ *) and name of the
* seller taking the payment.
*
* @maps statement_description_identifier
*/
public function setStatementDescriptionIdentifier(?string $statementDescriptionIdentifier): void
{
$this->statementDescriptionIdentifier = $statementDescriptionIdentifier;
}
/**
* 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 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;
}
/**
* 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 = [];
$json['source_id'] = $this->sourceId;
$json['idempotency_key'] = $this->idempotencyKey;
$json['amount_money'] = $this->amountMoney;
if (isset($this->tipMoney)) {
$json['tip_money'] = $this->tipMoney;
}
if (isset($this->appFeeMoney)) {
$json['app_fee_money'] = $this->appFeeMoney;
}
if (isset($this->delayDuration)) {
$json['delay_duration'] = $this->delayDuration;
}
if (isset($this->autocomplete)) {
$json['autocomplete'] = $this->autocomplete;
}
if (isset($this->orderId)) {
$json['order_id'] = $this->orderId;
}
if (isset($this->customerId)) {
$json['customer_id'] = $this->customerId;
}
if (isset($this->locationId)) {
$json['location_id'] = $this->locationId;
}
if (isset($this->teamMemberId)) {
$json['team_member_id'] = $this->teamMemberId;
}
if (isset($this->referenceId)) {
$json['reference_id'] = $this->referenceId;
}
if (isset($this->verificationToken)) {
$json['verification_token'] = $this->verificationToken;
}
if (isset($this->acceptPartialAuthorization)) {
$json['accept_partial_authorization'] = $this->acceptPartialAuthorization;
}
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->cashDetails)) {
$json['cash_details'] = $this->cashDetails;
}
if (isset($this->externalDetails)) {
$json['external_details'] = $this->externalDetails;
}
$json = array_filter($json, function ($val) {
return $val !== null;
});
return (!$asArrayWhenEmpty && empty($json)) ? new stdClass() : $json;
}
}