| Server IP : 54.94.228.101 / 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/Recipient/Request/ |
Upload File : |
<?php
namespace PagarMe\Sdk\Recipient\Request;
use PagarMe\Sdk\RequestInterface;
use PagarMe\Sdk\BankAccount\BankAccount;
class RecipientCreate implements RequestInterface
{
/**
* @var BankAccount
*/
private $bankAccount;
/**
* @var string
*/
private $transferInterval;
/**
* @var int
*/
private $transferDay;
/**
* @var null|bool
*/
private $transferEnabled;
/**
* @var null|bool
*/
private $automaticAnticipationEnabled;
/**
* @var int
*/
private $anticipatableVolumePercentage;
/**
* @param BankAccount $bankAccount
* @param string $transferInterval
* @param int $transferDay
* @param null|bool $transferEnabled
* @param null|bool $automaticAnticipationEnabled
* @param int $anticipatableVolumePercentage
*/
public function __construct(
BankAccount $bankAccount,
$transferInterval,
$transferDay,
$transferEnabled,
$automaticAnticipationEnabled,
$anticipatableVolumePercentage
) {
$this->bankAccount = $bankAccount;
$this->transferInterval = $transferInterval;
$this->transferDay = $transferDay;
$this->transferEnabled = $transferEnabled;
$this->automaticAnticipationEnabled = $automaticAnticipationEnabled;
$this->anticipatableVolumePercentage = $anticipatableVolumePercentage;
}
/**
* @return array
*/
public function getPayload()
{
$payload = [
'transfer_interval' => $this->transferInterval,
'transfer_day' => $this->transferDay,
'transfer_enabled' => $this->transferEnabled,
'automatic_anticipation_enabled' => $this->automaticAnticipationEnabled,
'anticipatable_volume_percentage' => $this->anticipatableVolumePercentage,
];
return array_merge($payload, $this->getBankAccountData());
}
/**
* @return string
*/
public function getPath()
{
return 'recipients';
}
/**
* @return string
*/
public function getMethod()
{
return self::HTTP_POST;
}
/**
* @return array
*/
protected function getBankAccountData()
{
$bankAccount = $this->bankAccount;
if (!is_null($bankAccount->getId())) {
return ['bank_account_id' => $bankAccount->getId()];
}
return [
'bank_account' =>[
'bank_code' => $bankAccount->getBankCode(),
'agencia' => $bankAccount->getAgencia(),
'conta' => $bankAccount->getConta(),
'conta_dv' => $bankAccount->getContaDv(),
'document_number' => $bankAccount->getDocumentNumber(),
'legal_name' => $bankAccount->getLegalName()
]
];
}
}