Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rodion-m/kitonline-net
API-клиент для взаимодействия с сервисом аренды онлайн касс KitOnline на .NET Standard
https://github.com/rodion-m/kitonline-net
Last synced: 3 days ago
JSON representation
API-клиент для взаимодействия с сервисом аренды онлайн касс KitOnline на .NET Standard
- Host: GitHub
- URL: https://github.com/rodion-m/kitonline-net
- Owner: rodion-m
- License: mit
- Created: 2020-02-07T13:40:21.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-07-17T23:20:57.000Z (over 2 years ago)
- Last Synced: 2024-12-15T05:19:50.815Z (24 days ago)
- Language: C#
- Homepage: https://online.kit-invest.ru/
- Size: 49.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KitOnline-NET
[![Nuget](https://img.shields.io/nuget/v/KitOnline.NET?style=for-the-badge)](https://www.nuget.org/packages/KitOnline.NET)API-клиент для взаимодействия с сервисом аренды онлайн касс KitOnline на .NET Standard 2.0 (.NET Core 2.1+, ASP.NET Core 2.1+, .NET Framework 4.6.1+). Null Safety.
# Установка
Добавить к проекту NuGet пакет KitOnline.NET: `Install-Package KitOnline.NET` или `dotnet add package KitOnline.NET`# Использование
Создайте клиент:
```csharp
var authorization = new KitOnlineAuthorization(login, password, companyId);
client = new KitOnlineClient(authorization, requireLink: true);
```
`requireLink` означает, что при каждой отправке чека у сервиса будет запрошена ссылка на этот чек.Для отправки чека и получения результата рекомендуется использовать метод `SendCheckAndWaitResult`:
```csharp
//1. Создаем позиции чека:
var subjects = Subject.ListOf(
TaxTypeEnum.NoTax /* Ставка НДС */, PayAttributeTypeEnum.FullPayment, GoodsAttributeTypeEnum.Commodity,
("Хлеб", 35m, 2m),
("Сахар", 21m, 0.5m),
("Маракуйя", 230.50m, 1m)
).ToList());//2. Создаем чек:
return new Check(
Guid.NewGuid().ToString(),
sumRub: 286.50m,
pay: new Pay(cashRub: 286.50m),
email: "[email protected]",
phone: null,
calculationType: CalculationTypeEnum.Incoming,
taxSystemType: TaxSystemTypeEnum.OSN, //Ваша СНО
subjects: subjects
);
//3. Отправляем чек и дожидаемся результата:
var response = await client.SendCheckAndWaitResult(check);
if(response.Succeeded)
{
var checkUri = response.StateCheckResponse.Link;
Console.WriteLine($"Ссылка на чек: {checkUri}");
}
else
{
Console.WriteLine("Ошибка при отправке чека: " +
response.Exception?.Message
?? response.SendCheckResponse?.ErrorMessage
?? response.StateCheckResponse?.ErrorMessage
);
}
```
Больше примеров доступно в тестах: https://github.com/rodion-m/KitOnline-NET/blob/master/KitOnline.Test/Tests.cs