%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/public_html/admin1/vendor/square/square/src/Models/ |
Upload File : |
<?php
declare(strict_types=1);
namespace Square\Models;
use stdClass;
/**
* Represents the payment details of a card to be used for payments. These
* details are determined by the payment token generated by Web Payments SDK.
*/
class Card implements \JsonSerializable
{
/**
* @var string|null
*/
private $id;
/**
* @var string|null
*/
private $cardBrand;
/**
* @var string|null
*/
private $last4;
/**
* @var int|null
*/
private $expMonth;
/**
* @var int|null
*/
private $expYear;
/**
* @var string|null
*/
private $cardholderName;
/**
* @var Address|null
*/
private $billingAddress;
/**
* @var string|null
*/
private $fingerprint;
/**
* @var string|null
*/
private $customerId;
/**
* @var string|null
*/
private $merchantId;
/**
* @var string|null
*/
private $referenceId;
/**
* @var bool|null
*/
private $enabled;
/**
* @var string|null
*/
private $cardType;
/**
* @var string|null
*/
private $prepaidType;
/**
* @var string|null
*/
private $bin;
/**
* @var int|null
*/
private $version;
/**
* Returns Id.
*
* Unique ID for this card. Generated by Square.
*/
public function getId(): ?string
{
return $this->id;
}
/**
* Sets Id.
*
* Unique ID for this card. Generated by Square.
*
* @maps id
*/
public function setId(?string $id): void
{
$this->id = $id;
}
/**
* Returns Card Brand.
*
* Indicates a card's brand, such as `VISA` or `MASTERCARD`.
*/
public function getCardBrand(): ?string
{
return $this->cardBrand;
}
/**
* Sets Card Brand.
*
* Indicates a card's brand, such as `VISA` or `MASTERCARD`.
*
* @maps card_brand
*/
public function setCardBrand(?string $cardBrand): void
{
$this->cardBrand = $cardBrand;
}
/**
* Returns Last 4.
*
* The last 4 digits of the card number.
*/
public function getLast4(): ?string
{
return $this->last4;
}
/**
* Sets Last 4.
*
* The last 4 digits of the card number.
*
* @maps last_4
*/
public function setLast4(?string $last4): void
{
$this->last4 = $last4;
}
/**
* Returns Exp Month.
*
* The expiration month of the associated card as an integer between 1 and 12.
*/
public function getExpMonth(): ?int
{
return $this->expMonth;
}
/**
* Sets Exp Month.
*
* The expiration month of the associated card as an integer between 1 and 12.
*
* @maps exp_month
*/
public function setExpMonth(?int $expMonth): void
{
$this->expMonth = $expMonth;
}
/**
* Returns Exp Year.
*
* The four-digit year of the card's expiration date.
*/
public function getExpYear(): ?int
{
return $this->expYear;
}
/**
* Sets Exp Year.
*
* The four-digit year of the card's expiration date.
*
* @maps exp_year
*/
public function setExpYear(?int $expYear): void
{
$this->expYear = $expYear;
}
/**
* Returns Cardholder Name.
*
* The name of the cardholder.
*/
public function getCardholderName(): ?string
{
return $this->cardholderName;
}
/**
* Sets Cardholder Name.
*
* The name of the cardholder.
*
* @maps cardholder_name
*/
public function setCardholderName(?string $cardholderName): void
{
$this->cardholderName = $cardholderName;
}
/**
* 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 Fingerprint.
*
* Intended as a Square-assigned identifier, based
* on the card number, to identify the card across multiple locations within a
* single application.
*/
public function getFingerprint(): ?string
{
return $this->fingerprint;
}
/**
* Sets Fingerprint.
*
* Intended as a Square-assigned identifier, based
* on the card number, to identify the card across multiple locations within a
* single application.
*
* @maps fingerprint
*/
public function setFingerprint(?string $fingerprint): void
{
$this->fingerprint = $fingerprint;
}
/**
* Returns Customer Id.
*
* The ID of a customer created using the Customers API to be associated with the card.
*/
public function getCustomerId(): ?string
{
return $this->customerId;
}
/**
* Sets Customer Id.
*
* The ID of a customer created using the Customers API to be associated with the card.
*
* @maps customer_id
*/
public function setCustomerId(?string $customerId): void
{
$this->customerId = $customerId;
}
/**
* Returns Merchant Id.
*
* The ID of the merchant associated with the card.
*/
public function getMerchantId(): ?string
{
return $this->merchantId;
}
/**
* Sets Merchant Id.
*
* The ID of the merchant associated with the card.
*
* @maps merchant_id
*/
public function setMerchantId(?string $merchantId): void
{
$this->merchantId = $merchantId;
}
/**
* Returns Reference Id.
*
* An optional user-defined reference ID that associates this card with
* another entity in an external system. For example, a customer ID from an
* external customer management system.
*/
public function getReferenceId(): ?string
{
return $this->referenceId;
}
/**
* Sets Reference Id.
*
* An optional user-defined reference ID that associates this card with
* another entity in an external system. For example, a customer ID from an
* external customer management system.
*
* @maps reference_id
*/
public function setReferenceId(?string $referenceId): void
{
$this->referenceId = $referenceId;
}
/**
* Returns Enabled.
*
* Indicates whether or not a card can be used for payments.
*/
public function getEnabled(): ?bool
{
return $this->enabled;
}
/**
* Sets Enabled.
*
* Indicates whether or not a card can be used for payments.
*
* @maps enabled
*/
public function setEnabled(?bool $enabled): void
{
$this->enabled = $enabled;
}
/**
* Returns Card Type.
*
* Indicates a card's type, such as `CREDIT` or `DEBIT`.
*/
public function getCardType(): ?string
{
return $this->cardType;
}
/**
* Sets Card Type.
*
* Indicates a card's type, such as `CREDIT` or `DEBIT`.
*
* @maps card_type
*/
public function setCardType(?string $cardType): void
{
$this->cardType = $cardType;
}
/**
* Returns Prepaid Type.
*
* Indicates a card's prepaid type, such as `NOT_PREPAID` or `PREPAID`.
*/
public function getPrepaidType(): ?string
{
return $this->prepaidType;
}
/**
* Sets Prepaid Type.
*
* Indicates a card's prepaid type, such as `NOT_PREPAID` or `PREPAID`.
*
* @maps prepaid_type
*/
public function setPrepaidType(?string $prepaidType): void
{
$this->prepaidType = $prepaidType;
}
/**
* Returns Bin.
*
* The first six digits of the card number, known as the Bank Identification Number (BIN). Only the
* Payments API
* returns this field.
*/
public function getBin(): ?string
{
return $this->bin;
}
/**
* Sets Bin.
*
* The first six digits of the card number, known as the Bank Identification Number (BIN). Only the
* Payments API
* returns this field.
*
* @maps bin
*/
public function setBin(?string $bin): void
{
$this->bin = $bin;
}
/**
* Returns Version.
*
* Current version number of the card. Increments with each card update. Requests to update an
* existing Card object will be rejected unless the version in the request matches the current
* version for the Card.
*/
public function getVersion(): ?int
{
return $this->version;
}
/**
* Sets Version.
*
* Current version number of the card. Increments with each card update. Requests to update an
* existing Card object will be rejected unless the version in the request matches the current
* version for the Card.
*
* @maps version
*/
public function setVersion(?int $version): void
{
$this->version = $version;
}
/**
* 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 = [];
if (isset($this->id)) {
$json['id'] = $this->id;
}
if (isset($this->cardBrand)) {
$json['card_brand'] = $this->cardBrand;
}
if (isset($this->last4)) {
$json['last_4'] = $this->last4;
}
if (isset($this->expMonth)) {
$json['exp_month'] = $this->expMonth;
}
if (isset($this->expYear)) {
$json['exp_year'] = $this->expYear;
}
if (isset($this->cardholderName)) {
$json['cardholder_name'] = $this->cardholderName;
}
if (isset($this->billingAddress)) {
$json['billing_address'] = $this->billingAddress;
}
if (isset($this->fingerprint)) {
$json['fingerprint'] = $this->fingerprint;
}
if (isset($this->customerId)) {
$json['customer_id'] = $this->customerId;
}
if (isset($this->merchantId)) {
$json['merchant_id'] = $this->merchantId;
}
if (isset($this->referenceId)) {
$json['reference_id'] = $this->referenceId;
}
if (isset($this->enabled)) {
$json['enabled'] = $this->enabled;
}
if (isset($this->cardType)) {
$json['card_type'] = $this->cardType;
}
if (isset($this->prepaidType)) {
$json['prepaid_type'] = $this->prepaidType;
}
if (isset($this->bin)) {
$json['bin'] = $this->bin;
}
if (isset($this->version)) {
$json['version'] = $this->version;
}
$json = array_filter($json, function ($val) {
return $val !== null;
});
return (!$asArrayWhenEmpty && empty($json)) ? new stdClass() : $json;
}
}