sushi-market/laravel-uds-sdk
UDS Laravel Package - PHP SDK Laravel пакет для взаимодействия с API uds.app от sushi-market
Требования
- PHP 8.2
- Laravel 10.0 - 12.0
Установка
Вы можете установить пакет через 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)
Больше примеров можно найти в тестах
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.