sushi-market/laravel-uds-sdk
Composer 安装命令:
composer require sushi-market/laravel-uds-sdk
包简介
Laravel SDK for working with the uds.app service API
README 文档
README
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)
Больше примеров можно найти в тестах
sushi-market/laravel-uds-sdk 适用场景与选型建议
sushi-market/laravel-uds-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.2k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2023 年 10 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 sushi-market/laravel-uds-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 sushi-market/laravel-uds-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 4.2k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-10-25