Фискализация чека для Дримкас-Ф для PHP 7.4
Для более старых версий PHP придётся править код на предмет типов у функций.
composer require studservis/php-dreamkas
<?phpuseStudServis\Dreamkas\Api;
useStudServis\Dreamkas\CustomerAttributes;
useStudServis\Dreamkas\exceptions\ValidationException;
useStudServis\Dreamkas\Payment;
useStudServis\Dreamkas\Position;
useStudServis\Dreamkas\Receipt;
useStudServis\Dreamkas\TaxMode;
useGuzzleHttp\Exception\ClientException;
useGuzzleHttp\Client;
/** * $accessToken - ACCESS_TOKEN из профиля * $deviceId - ID кассы */$api = newApi(
$accessToken,
$deviceId,
newClient([
'base_uri' => Api::PRODUCTION_URL,
])
);
$receipt = newReceipt();
$receipt->taxMode = TaxMode::MODE_SIMPLE;
$receipt->positions[] = newPosition([
'name' => 'Билет - тест',
'quantity' => 2,
'price' => 210000, // цена в копейках за 1 шт. или 1 грамм
]);
$receipt->payments[] = newPayment([
'sum' => 420000, // стоимость оплаты по чеку
]);
$receipt->attributes = newCustomerAttributes([
'email' => 'foobar@example.com', // почта покупателя'phone' => '+70000000000', // телефон покупателя
]);
// Можно посчитать сумму автоматом// $receipt->calculateSum();// А можно завалидировать чек// $receipt->validate();$response = [];
try {
$response = $api->postReceipt($receipt);
} catch (ValidationException$e) {
// Это исключение кидается, когда информация в чеке не правильная
} catch (ClientException$e) {
echo$e->getResponse()->getBody();
// Это исключение кидается, когда при передачи чека в Дрикас произошла ошибка. Лучше отправить чек ещё раз// Если будут дубли - потом отменяйте через $receipt->type = Receipt::TYPE_REFUND;
}Made by DevGroup.ru - Создание интернет-магазинов.