| Server IP : 54.233.248.239 / Your IP : 172.28.1.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/vendor/pagarme/pagarme-php/lib/Customer/Request/ |
Upload File : |
<?php
namespace PagarMe\Sdk\Customer\Request;
use PagarMe\Sdk\RequestInterface;
use PagarMe\Sdk\Customer\Address;
use PagarMe\Sdk\Customer\Phone;
class CustomerCreate implements RequestInterface
{
/**
* @var string | Nome ou razão social do comprador
*/
private $name;
/**
* @var string | E-mail do comprador
*/
private $email;
/**
* @var int | Número do CPF ou CNPJ do cliente
*/
private $documentNumber;
/**
* @var Address | Endereço do comprador
*/
private $address;
/**
* @var Phone | Telefone do comprador
*/
private $phone;
/**
* @var string | Data de nascimento ex: '13121988'
*/
private $bornAt;
/**
* @var string | Gênero
*/
private $gender;
/**
* @param string $name
* @param string $email
* @param int $documentNumber
* @param Address $address
* @param Phone $phone
* @param string $bornAt
* @param string $gender
*/
public function __construct(
$name,
$email,
$documentNumber,
Address $address,
Phone $phone,
$bornAt,
$gender
) {
$this->name = $name;
$this->email = $email;
$this->documentNumber = $documentNumber;
$this->address = $address;
$this->phone = $phone;
$this->bornAt = $bornAt;
$this->gender = $gender;
}
/**
* @return array
*/
public function getPayload()
{
return [
'name' => $this->name,
'email' => $this->email,
'document_number' => $this->documentNumber,
'address' => $this->getAddresssData(),
'phone' => $this->getPhoneData(),
'born_at' => $this->bornAt,
'gender' => $this->gender
];
}
/**
* @return string
*/
public function getPath()
{
return 'customers';
}
/**
* @return string
*/
public function getMethod()
{
return self::HTTP_POST;
}
/**
* @return array
*/
private function getAddresssData()
{
$addressData = [
'street' => $this->address->getStreet(),
'street_number' => $this->address->getStreetNumber(),
'neighborhood' => $this->address->getNeighborhood(),
'zipcode' => $this->address->getZipcode()
];
if (!is_null($this->address->getComplementary())) {
$addressData['complementary'] = $this->address->getComplementary();
}
if (!is_null($this->address->getCity())) {
$addressData['city'] = $this->address->getCity();
}
if (!is_null($this->address->getState())) {
$addressData['state'] = $this->address->getState();
}
if (!is_null($this->address->getCountry())) {
$addressData['country'] = $this->address->getCountry();
}
return $addressData;
}
/**
* @return array
*/
private function getPhoneData()
{
$phoneData = [
'ddd' => $this->phone->getDdd(),
'number' => $this->phone->getNumber()
];
if (!is_null($this->phone->getDdi())) {
$phoneData['ddi'] = $this->phone->getDdi();
}
return $phoneData;
}
}