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; } }