shippingAmount; } /** * Sets Shipping Amount. * The currency and amount for a financial transaction, such as a balance or payment due. * * @maps shipping_amount */ public function setShippingAmount(?Money $shippingAmount): void { $this->shippingAmount = $shippingAmount; } /** * Returns Duty Amount. * The currency and amount for a financial transaction, such as a balance or payment due. */ public function getDutyAmount(): ?Money { return $this->dutyAmount; } /** * Sets Duty Amount. * The currency and amount for a financial transaction, such as a balance or payment due. * * @maps duty_amount */ public function setDutyAmount(?Money $dutyAmount): void { $this->dutyAmount = $dutyAmount; } /** * Returns Discount Amount. * The currency and amount for a financial transaction, such as a balance or payment due. */ public function getDiscountAmount(): ?Money { return $this->discountAmount; } /** * Sets Discount Amount. * The currency and amount for a financial transaction, such as a balance or payment due. * * @maps discount_amount */ public function setDiscountAmount(?Money $discountAmount): void { $this->discountAmount = $discountAmount; } /** * Returns Shipping Address. * The portable international postal address. Maps to [AddressValidationMetadata](https://github. * com/googlei18n/libaddressinput/wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form * controls: the autocomplete attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form- * controls-the-autocomplete-attribute). */ public function getShippingAddress(): ?Address { return $this->shippingAddress; } /** * Sets Shipping Address. * The portable international postal address. Maps to [AddressValidationMetadata](https://github. * com/googlei18n/libaddressinput/wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form * controls: the autocomplete attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form- * controls-the-autocomplete-attribute). * * @maps shipping_address */ public function setShippingAddress(?Address $shippingAddress): void { $this->shippingAddress = $shippingAddress; } /** * Returns Ships From Postal Code. * Use this field to specify the postal code of the shipping location. */ public function getShipsFromPostalCode(): ?string { return $this->shipsFromPostalCode; } /** * Sets Ships From Postal Code. * Use this field to specify the postal code of the shipping location. * * @maps ships_from_postal_code */ public function setShipsFromPostalCode(?string $shipsFromPostalCode): void { $this->shipsFromPostalCode = $shipsFromPostalCode; } /** * Returns Line Items. * A list of the items that were purchased with this payment. If your merchant account has been * configured for Level 3 processing this field will be passed to the processor on your behalf. * * @return LineItem[]|null */ public function getLineItems(): ?array { return $this->lineItems; } /** * Sets Line Items. * A list of the items that were purchased with this payment. If your merchant account has been * configured for Level 3 processing this field will be passed to the processor on your behalf. * * @maps line_items * * @param LineItem[]|null $lineItems */ public function setLineItems(?array $lineItems): void { $this->lineItems = $lineItems; } /** * 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] // @phan-suppress-current-line PhanUndeclaredClassAttribute for (php < 8.1) public function jsonSerialize(bool $asArrayWhenEmpty = false) { $json = []; if (isset($this->shippingAmount)) { $json['shipping_amount'] = $this->shippingAmount; } if (isset($this->dutyAmount)) { $json['duty_amount'] = $this->dutyAmount; } if (isset($this->discountAmount)) { $json['discount_amount'] = $this->discountAmount; } if (isset($this->shippingAddress)) { $json['shipping_address'] = $this->shippingAddress; } if (isset($this->shipsFromPostalCode)) { $json['ships_from_postal_code'] = $this->shipsFromPostalCode; } if (isset($this->lineItems)) { $json['line_items'] = $this->lineItems; } return (!$asArrayWhenEmpty && empty($json)) ? new stdClass() : $json; } }