forked from LiveCarta/PayPal-PHP-Server-SDK
128 lines
3.2 KiB
PHP
128 lines
3.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/*
|
|
* PaypalServerSdkLib
|
|
*
|
|
* This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
*/
|
|
|
|
namespace PaypalServerSdkLib\Models;
|
|
|
|
use stdClass;
|
|
|
|
/**
|
|
* The shipping details.
|
|
*/
|
|
class VaultedDigitalWalletShippingDetails implements \JsonSerializable
|
|
{
|
|
/**
|
|
* @var ShippingName|null
|
|
*/
|
|
private $name;
|
|
|
|
/**
|
|
* @var string|null
|
|
*/
|
|
private $type;
|
|
|
|
/**
|
|
* @var Address|null
|
|
*/
|
|
private $address;
|
|
|
|
/**
|
|
* Returns Name.
|
|
* The name of the party.
|
|
*/
|
|
public function getName(): ?ShippingName
|
|
{
|
|
return $this->name;
|
|
}
|
|
|
|
/**
|
|
* Sets Name.
|
|
* The name of the party.
|
|
*
|
|
* @maps name
|
|
*/
|
|
public function setName(?ShippingName $name): void
|
|
{
|
|
$this->name = $name;
|
|
}
|
|
|
|
/**
|
|
* Returns Type.
|
|
* A classification for the method of purchase fulfillment (e.g shipping, in-store pickup, etc). Either
|
|
* `type` or `options` may be present, but not both.
|
|
*/
|
|
public function getType(): ?string
|
|
{
|
|
return $this->type;
|
|
}
|
|
|
|
/**
|
|
* Sets Type.
|
|
* A classification for the method of purchase fulfillment (e.g shipping, in-store pickup, etc). Either
|
|
* `type` or `options` may be present, but not both.
|
|
*
|
|
* @maps type
|
|
*/
|
|
public function setType(?string $type): void
|
|
{
|
|
$this->type = $type;
|
|
}
|
|
|
|
/**
|
|
* Returns 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 getAddress(): ?Address
|
|
{
|
|
return $this->address;
|
|
}
|
|
|
|
/**
|
|
* Sets 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 address
|
|
*/
|
|
public function setAddress(?Address $address): void
|
|
{
|
|
$this->address = $address;
|
|
}
|
|
|
|
/**
|
|
* 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->name)) {
|
|
$json['name'] = $this->name;
|
|
}
|
|
if (isset($this->type)) {
|
|
$json['type'] = FullfillmentType::checkValue($this->type);
|
|
}
|
|
if (isset($this->address)) {
|
|
$json['address'] = $this->address;
|
|
}
|
|
|
|
return (!$asArrayWhenEmpty && empty($json)) ? new stdClass() : $json;
|
|
}
|
|
}
|