mirror of
https://github.com/anthonyaxenov/atol-online.git
synced 2024-11-22 15:04:33 +00:00
Улучшен метод Kkt::registerDocument
+ теперь принимает любой собственного external_id, если пусто - сгенерирует uuid * исправлен недостаток полей компании в тестовом режиме * уточнения phpdoc
This commit is contained in:
parent
ba5166f2cf
commit
e70a65fa44
@ -471,14 +471,19 @@ class Kkt extends Client
|
|||||||
/**
|
/**
|
||||||
* Отправляет документ на регистрацию
|
* Отправляет документ на регистрацию
|
||||||
*
|
*
|
||||||
* @param string $api_method Метод API
|
* @param string $api_method Метод API
|
||||||
* @param string $type Тип документа: receipt, correction
|
* @param string $type Тип документа: receipt, correction
|
||||||
* @param \AtolOnline\Entities\Document $document Объект документа
|
* @param \AtolOnline\Entities\Document $document Объект документа
|
||||||
|
* @param string|null $external_id Уникальный код документа (если не указан, то будет создан UUID)
|
||||||
* @return \AtolOnline\Api\KktResponse
|
* @return \AtolOnline\Api\KktResponse
|
||||||
|
* @throws \AtolOnline\Exceptions\AtolEmailTooLongException
|
||||||
|
* @throws \AtolOnline\Exceptions\AtolEmailValidateException
|
||||||
|
* @throws \AtolOnline\Exceptions\AtolInnWrongLengthException
|
||||||
|
* @throws \AtolOnline\Exceptions\AtolPaymentAddressTooLongException
|
||||||
* @throws \AtolOnline\Exceptions\AtolWrongDocumentTypeException Некорректный тип документа
|
* @throws \AtolOnline\Exceptions\AtolWrongDocumentTypeException Некорректный тип документа
|
||||||
* @throws \Exception
|
* @throws \GuzzleHttp\Exception\GuzzleException
|
||||||
*/
|
*/
|
||||||
protected function registerDocument(string $api_method, string $type, Document $document)
|
protected function registerDocument(string $api_method, string $type, Document $document, ?string $external_id = null)
|
||||||
{
|
{
|
||||||
$type = trim($type);
|
$type = trim($type);
|
||||||
if (!in_array($type, ['receipt', 'correction'])) {
|
if (!in_array($type, ['receipt', 'correction'])) {
|
||||||
@ -489,14 +494,16 @@ class Kkt extends Client
|
|||||||
$document->setCompany((new Company())
|
$document->setCompany((new Company())
|
||||||
->setInn('5544332219')
|
->setInn('5544332219')
|
||||||
->setPaymentAddress('https://v4.online.atol.ru')
|
->setPaymentAddress('https://v4.online.atol.ru')
|
||||||
|
->setEmail('test@example.com')
|
||||||
|
->setSno('osn')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$data = [
|
$data['timestamp'] = date('d.m.y H:i:s');
|
||||||
'timestamp' => date('d.m.y H:i:s'),
|
$data['external_id'] = $external_id ?: Uuid::uuid4()->toString();
|
||||||
'external_id' => Uuid::uuid4()->toString(),
|
$data[$type] = $document;
|
||||||
'service' => ['callback_url' => $this->getCallbackUrl()],
|
if ($this->getCallbackUrl()) {
|
||||||
$type => $document,
|
$data['service'] = ['callback_url' => $this->getCallbackUrl()];
|
||||||
];
|
}
|
||||||
return $this->sendAtolRequest('POST', trim($api_method), $data);
|
return $this->sendAtolRequest('POST', trim($api_method), $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user