sushi-market / laravel-uds-sdk
Laravel SDK for working with the uds.app service API
Installs: 1 119
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
Open Issues: 1
Requires
- php: >=8.1|8.2
- guzzlehttp/guzzle: ^7.8.0
- laravel/framework: ^10.0
Requires (Dev)
- orchestra/testbench: ^8.13.0
- phpunit/phpunit: ^10.4.0
README
UDS Laravel Package - PHP SDK Laravel пакет для взаимодействия с API uds.app от sushi-market
Требования
- PHP 8.1, 8.2
- Laravel 10.0
- guzzlehttp/guzzle 7.8
Установка
Вы можете установить пакет через composer:
composer require sushi-market/laravel-uds-sdk
Немного о UDS
SDK использует api.uds.app/partner/v2 Всю информацию по ответам и параметрам можно найти в документации UDS
Методы
- Настройки
- Операции
Настройки
Получение настроек компании
getSettings
- Получение настроек компании, способа предоставления скидки и промокода для вступления в компанию. Способ предоставления скидки настраивается в UDS.
Операции
Рассчитать информацию по операции [UDS документация]
calculateTransaction
- Информация о доступных бонусных баллах для списания или размере скидки (в зависимости от настроек бонусной программы), сумме к оплате после применения скидок / бонусов и о количестве бонусных баллов, которые будут начислены после выполнения операции.
Параметры функции:
- array $receipt - Информация о чеке. Ключи соответствуют документации UDS
- string $code - Платёжный код
- array $participant - Информация о клиенте. Должен содержать идентификатор клиента в UDS или номер телефона
calculateTransactionByCode
- Информация о доступных бонусных баллах по платёжному коду для списания или размере скидки (в зависимости от настроек бонусной программы), сумме к оплате после применения скидок / бонусов и о количестве бонусных баллов, которые будут начислены после выполнения операции.
Параметры функции:
- string $code - Платёжный код
- array $receipt - Информация о чеке. Ключи соответствуют документации UDS
calculateTransactionByPhone
- Информация о доступных бонусных баллах по номеру телефона для списания или размере скидки (в зависимости от настроек бонусной программы), сумме к оплате после применения скидок / бонусов и о количестве бонусных баллов, которые будут начислены после выполнения операции.
Параметры функции:
- string $phone - Номер телефона клиента
- array $receipt - Информация о чеке. Ключи соответствуют документации UDS
calculateTransactionByUid
- Информация о доступных бонусных баллах по идентификатору клиента для списания или размере скидки (в зависимости от настроек бонусной программы), сумме к оплате после применения скидок / бонусов и о количестве бонусных баллов, которые будут начислены после выполнения операции.
Параметры функции:
- string $uid - Идентификатор клиента
- array $receipt - Информация о чеке. Ключи соответствуют документации UDS
Проведение операции [UDS документация]
createTransaction
- Проведение операции в UDS. После успешного завершения операция отобразится в списке операций в UDS, а администратор и клиент получат push-уведомление о покупке.
Параметры функции:
- array $receipt - Информация о чеке. Ключи соответствуют документации UDS
- ExternalCashier $cashier - Информация о сотруднике. (externalId, name)
- array $tags - Массив идентификаторов тегов, назначаемых клиенту при проведении операции
- Nonce $nonce - Уникальный идентификатор операции. Генерируется автоматически при создании экземпляра класса
- string $code - Платёжный код
- array $participant - Информация о клиенте. Должен содержать идентификатор клиента в UDS или номер телефона
createTransactionByCode
- Проведение операции в UDS по платёжному коду
Параметры функции:
- string $code - Платёжный код
- array $receipt - Информация о чеке. Ключи соответствуют документации UDS
- ExternalCashier $cashier - Информация о сотруднике. (externalId, name)
- array $tags - Массив идентификаторов тегов, назначаемых клиенту при проведении операции
- Nonce $nonce - Уникальный идентификатор операции. Генерируется автоматически при создании экземпляра класса
createTransactionByPhone
- Проведение операции в UDS по номеру телефона
Параметры функции:
- string $phone - Номер телефона клиента
- array $receipt - Информация о чеке. Ключи соответствуют документации UDS
- ExternalCashier $cashier - Информация о сотруднике. (externalId, name)
- array $tags - Массив идентификаторов тегов, назначаемых клиенту при проведении операции
- Nonce $nonce - Уникальный идентификатор операции. Генерируется автоматически при создании экземпляра класса
createTransactionByUid
- Проведение операции в UDS по идентификатору клиента
Параметры функции:
- string $uid - Идентификатор клиента
- array $receipt - Информация о чеке. Ключи соответствуют документации UDS
- ExternalCashier $cashier - Информация о сотруднике. (externalId, name)
- array $tags - Массив идентификаторов тегов, назначаемых клиенту при проведении операции
- Nonce $nonce - Уникальный идентификатор операции. Генерируется автоматически при создании экземпляра класса
Операция возврата [UDS документация]
refundTransaction
- Возврат операции по ее идентификатору. Если указан параметр partialAmount, то возврат будет частичным, иначе - полным
Параметры функции:
- int $id - Идентификатор возвращаемой операции
- float $partialAmount - сумма возврата
Хелпер-функции
testCredentials
- Проверяет $companyId и $apiKey на доступность, возвращает true в случае успеха, false в случае ошибки.
Примеры
Создание транзакции
app(Uds::class, [ 'companyId' => 123456789, 'apiKey' => 'xxxxxxxxxxxxxxx', ])->createTransactionByCode('123456', [ 'total' => 1000, 'cash' => 1000, 'points' => 0, 'number' => '123456', 'skipLoyaltyTotal' => null, 'unredeemableTotal' => null, ])
Полный возврат транзакции
app(Uds::class, [ 'companyId' => 123456789, 'apiKey' => 'xxxxxxxxxxxxxxx', ])->refundTransaction(123456789)
Частичный возврат транзакции
app(Uds::class, [ 'companyId' => 123456789, 'apiKey' => 'xxxxxxxxxxxxxxx', ])->refundTransaction(123456789, 100)