forked from LiveCarta/PayPal-PHP-Server-SDK
Beta Release 0.7.0 including: - Bug fixes - Updated model/function names - Updated models to reflect changes in APIs
271 lines
7.2 KiB
PHP
271 lines
7.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 PaypalServerSdkLib\ApiHelper;
|
|
use stdClass;
|
|
|
|
class Payer implements \JsonSerializable
|
|
{
|
|
/**
|
|
* @var string|null
|
|
*/
|
|
private $emailAddress;
|
|
|
|
/**
|
|
* @var string|null
|
|
*/
|
|
private $payerId;
|
|
|
|
/**
|
|
* @var Name|null
|
|
*/
|
|
private $name;
|
|
|
|
/**
|
|
* @var PhoneWithType|null
|
|
*/
|
|
private $phone;
|
|
|
|
/**
|
|
* @var string|null
|
|
*/
|
|
private $birthDate;
|
|
|
|
/**
|
|
* @var TaxInfo|null
|
|
*/
|
|
private $taxInfo;
|
|
|
|
/**
|
|
* @var Address|null
|
|
*/
|
|
private $address;
|
|
|
|
/**
|
|
* Returns Email Address.
|
|
* The internationalized email address. Note: Up to 64 characters are allowed before and 255 characters
|
|
* are allowed after the @ sign. However, the generally accepted maximum length for an email address is
|
|
* 254 characters. The pattern verifies that an unquoted @ sign exists.
|
|
*/
|
|
public function getEmailAddress(): ?string
|
|
{
|
|
return $this->emailAddress;
|
|
}
|
|
|
|
/**
|
|
* Sets Email Address.
|
|
* The internationalized email address. Note: Up to 64 characters are allowed before and 255 characters
|
|
* are allowed after the @ sign. However, the generally accepted maximum length for an email address is
|
|
* 254 characters. The pattern verifies that an unquoted @ sign exists.
|
|
*
|
|
* @maps email_address
|
|
*/
|
|
public function setEmailAddress(?string $emailAddress): void
|
|
{
|
|
$this->emailAddress = $emailAddress;
|
|
}
|
|
|
|
/**
|
|
* Returns Payer Id.
|
|
* The account identifier for a PayPal account.
|
|
*/
|
|
public function getPayerId(): ?string
|
|
{
|
|
return $this->payerId;
|
|
}
|
|
|
|
/**
|
|
* Sets Payer Id.
|
|
* The account identifier for a PayPal account.
|
|
*
|
|
* @maps payer_id
|
|
*/
|
|
public function setPayerId(?string $payerId): void
|
|
{
|
|
$this->payerId = $payerId;
|
|
}
|
|
|
|
/**
|
|
* Returns Name.
|
|
* The name of the party.
|
|
*/
|
|
public function getName(): ?Name
|
|
{
|
|
return $this->name;
|
|
}
|
|
|
|
/**
|
|
* Sets Name.
|
|
* The name of the party.
|
|
*
|
|
* @maps name
|
|
*/
|
|
public function setName(?Name $name): void
|
|
{
|
|
$this->name = $name;
|
|
}
|
|
|
|
/**
|
|
* Returns Phone.
|
|
* The phone information.
|
|
*/
|
|
public function getPhone(): ?PhoneWithType
|
|
{
|
|
return $this->phone;
|
|
}
|
|
|
|
/**
|
|
* Sets Phone.
|
|
* The phone information.
|
|
*
|
|
* @maps phone
|
|
*/
|
|
public function setPhone(?PhoneWithType $phone): void
|
|
{
|
|
$this->phone = $phone;
|
|
}
|
|
|
|
/**
|
|
* Returns Birth Date.
|
|
* The stand-alone date, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-
|
|
* 5.6). To represent special legal values, such as a date of birth, you should use dates with no
|
|
* associated time or time-zone data. Whenever possible, use the standard `date_time` type. This
|
|
* regular expression does not validate all dates. For example, February 31 is valid and nothing is
|
|
* known about leap years.
|
|
*/
|
|
public function getBirthDate(): ?string
|
|
{
|
|
return $this->birthDate;
|
|
}
|
|
|
|
/**
|
|
* Sets Birth Date.
|
|
* The stand-alone date, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-
|
|
* 5.6). To represent special legal values, such as a date of birth, you should use dates with no
|
|
* associated time or time-zone data. Whenever possible, use the standard `date_time` type. This
|
|
* regular expression does not validate all dates. For example, February 31 is valid and nothing is
|
|
* known about leap years.
|
|
*
|
|
* @maps birth_date
|
|
*/
|
|
public function setBirthDate(?string $birthDate): void
|
|
{
|
|
$this->birthDate = $birthDate;
|
|
}
|
|
|
|
/**
|
|
* Returns Tax Info.
|
|
* The tax ID of the customer. The customer is also known as the payer. Both `tax_id` and `tax_id_type`
|
|
* are required.
|
|
*/
|
|
public function getTaxInfo(): ?TaxInfo
|
|
{
|
|
return $this->taxInfo;
|
|
}
|
|
|
|
/**
|
|
* Sets Tax Info.
|
|
* The tax ID of the customer. The customer is also known as the payer. Both `tax_id` and `tax_id_type`
|
|
* are required.
|
|
*
|
|
* @maps tax_info
|
|
*/
|
|
public function setTaxInfo(?TaxInfo $taxInfo): void
|
|
{
|
|
$this->taxInfo = $taxInfo;
|
|
}
|
|
|
|
/**
|
|
* 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;
|
|
}
|
|
|
|
/**
|
|
* Converts the Payer object to a human-readable string representation.
|
|
*
|
|
* @return string The string representation of the Payer object.
|
|
*/
|
|
public function __toString(): string
|
|
{
|
|
return ApiHelper::stringify(
|
|
'Payer',
|
|
[
|
|
'emailAddress' => $this->emailAddress,
|
|
'payerId' => $this->payerId,
|
|
'name' => $this->name,
|
|
'phone' => $this->phone,
|
|
'birthDate' => $this->birthDate,
|
|
'taxInfo' => $this->taxInfo,
|
|
'address' => $this->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->emailAddress)) {
|
|
$json['email_address'] = $this->emailAddress;
|
|
}
|
|
if (isset($this->payerId)) {
|
|
$json['payer_id'] = $this->payerId;
|
|
}
|
|
if (isset($this->name)) {
|
|
$json['name'] = $this->name;
|
|
}
|
|
if (isset($this->phone)) {
|
|
$json['phone'] = $this->phone;
|
|
}
|
|
if (isset($this->birthDate)) {
|
|
$json['birth_date'] = $this->birthDate;
|
|
}
|
|
if (isset($this->taxInfo)) {
|
|
$json['tax_info'] = $this->taxInfo;
|
|
}
|
|
if (isset($this->address)) {
|
|
$json['address'] = $this->address;
|
|
}
|
|
|
|
return (!$asArrayWhenEmpty && empty($json)) ? new stdClass() : $json;
|
|
}
|
|
}
|