Spoleto.VirtualKassa.MultiBank
2.0.4
See the version list below for details.
dotnet add package Spoleto.VirtualKassa.MultiBank --version 2.0.4
NuGet\Install-Package Spoleto.VirtualKassa.MultiBank -Version 2.0.4
<PackageReference Include="Spoleto.VirtualKassa.MultiBank" Version="2.0.4" />
<PackageVersion Include="Spoleto.VirtualKassa.MultiBank" Version="2.0.4" />
<PackageReference Include="Spoleto.VirtualKassa.MultiBank" />
paket add Spoleto.VirtualKassa.MultiBank --version 2.0.4
#r "nuget: Spoleto.VirtualKassa.MultiBank, 2.0.4"
#:package Spoleto.VirtualKassa.MultiBank@2.0.4
#addin nuget:?package=Spoleto.VirtualKassa.MultiBank&version=2.0.4
#tool nuget:?package=Spoleto.VirtualKassa.MultiBank&version=2.0.4
Spoleto.VirtualKassa.MultiBank
C# SDK для интеграции с хостом Мульти-Банка (Узбекистан) для передачи информации об оплатах покупок.
The project for integration with MultiBank host.
Быстрый старт
Клиент написан на C# .NET 7.0, .NET 8.0
Установка Nuget пакета:
Для использования этого SDK необходимо установить Nuget пакет Spoleto.VirtualKassa.MultiBank:
https://www.nuget.org/packages/Spoleto.VirtualKassa.MultiBank
Install-Package Spoleto.VirtualKassa.MultiBank -ProjectName StoreApplication
MultiBankProvider
Для создания экземпляра MultiBankProvider рекомендуется использовать Spoleto.VirtualKassa.MultiBank.MultiBankProviderFactory:
var factory = new MultiBankProviderFactory();
var provider = factory.Build();
// Либо с передачей экземпляра HttpClient:
var httpClient = new HttpClient();
var factory = new MultiBankProviderFactory()
.WithHttpClient(httpClient);
var provider = factory.Build();
Dependency Injection
Чтобы интегрировать Spoleto.VirtualKassa.MultiBank в Microsoft Dependency injection следует использовать NuGet пакет Spoleto.VirtualKassa.MultiBank.Extensions. Этот пакет предоставляет методы-расширения для интерфейса IServiceCollection, которые регистрируют MultiBankProvider как transient сервис.
using Microsoft.Extensions.DependencyInjection;
using Spoleto.VirtualKassa.MultiBank.Extensions;
using Spoleto.VirtualKassa.MultiBank.Models;
// Set up the dependency injection container
var services = new ServiceCollection();
// Register your dependencies here
services.AddMultiBank();
// Build the service provider
var serviceProvider = services.BuildServiceProvider();
Внедрение службы MultiBankProvider в ваши классы
После регистрации Spoleto.VirtualKassa.MultiBank в вашем фреймворке Dependency Injection вы можете внедрить MultiBankProvider в любой класс вашего приложения.
Для этого внедрите интерфейс IMultiBankProvider в конструкторы классов, в которых вы хотите использовать функциональность MultiBankProvider:
public class YourMultiBankClass
{
private readonly ILogger<YourMultiBankClass> _logger;
private readonly IMultiBankProvider _multiBankProvider;
public YourMultiBankClass(ILogger<YourMultiBankClass> logger, IMultiBankProvider multiBankProvider)
{
_logger = logger;
_multiBankProvider = multiBankProvider;
}
public async Task Sell(MultiBankOption settings, SaleSlip slip)
{
var result = await _multiBankProvider.SellAsync(settings, saleSlip);
// log the result:
_logger.LogInformation("Sold {slip} with result: {result}", slip, result);
}
}
Примеры вызовов методов API
Открытие смены
var settings = new MultiBankOption { ServiceUrl = "http://localhost:8080/" };
var openShiftInfo = new OpenShiftRequest(DateTime.UtcNow, "Иванов Иван");
await multiBankProvider.OpenShiftAsync(settings, openShiftInfo);
Закрытие смены
var settings = new MultiBankOption { ServiceUrl = "http://localhost:8080/" };
var closeShiftInfo = new CloseShiftRequest(DateTime.UtcNow, "Иванов Иван");
await multiBankProvider.CloseShiftAsync(settings, closeShiftInfo);
Продажа
var settings = new MultiBankOption { ServiceUrl = "http://localhost:8080/" };
var multiBankProvider = serviceProvider.GetService<IMultiBankProvider>()!;
var saleSlip = new SaleSlip
{
Items = new List<SlipItem>
{
new SlipItem
{
ProductName = "Свитер" ,
ProductLabel = "4780019900571",
ProductBarcode = "4780019900571",
Count = 1,
ProductPrice = 1000,
TotalProductPrice = 1000,
ClassifierClassCode = "01902001009030001"
}
},
ReceiptCashierName = "Иванов Иван",
ReceiptGnkReceivedCash = 1000,
ReceiptSum=1000,
ReceiptGnkTime = DateTime.UtcNow,
Location = new Location { Latitude = 45.29671408606234, Longitude = 79.21787478269367 }
};
// Act
var result = await multiBankProvider.SellAsync(settings, saleSlip);
Возврат
var saleDate = DateTime.Parse("2023-08-03T12:13:10");
var returnSlip = new ReturnSlip
{
Items = new List<SlipItem>
{
new SlipItem
{
ProductName = "Свитер" ,
ProductLabel = "4780019900571",
ProductBarcode = "4780019900571",
Count = 1,
ProductPrice = 1000,
TotalProductPrice = 1000,
ClassifierClassCode = "01902001009030001"
}
},
ReceiptCashierName = "Иванов Иван",
ReceiptGnkReceivedCash = 1000,
ReceiptSum=1000,
ReceiptGnkTime = DateTime.UtcNow,
RefundInfo = new()
{
TerminalID = "UZ191211502326",
ReceiptSeq = "1013",
DateTime = saleDate,
FiscalSign = "146130134900"
},
Location = new Location { Latitude = 45.29671408606234, Longitude = 79.21787478269367 }
};
// Act
var result = await multiBankProvider.ReturnAsync(settings, returnSlip);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net7.0
- Microsoft.Extensions.Http (>= 8.0.0)
- Spoleto.Common (>= 2.3.22.1303)
-
net8.0
- Microsoft.Extensions.Http (>= 8.0.0)
- Spoleto.Common (>= 2.3.22.1303)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Spoleto.VirtualKassa.MultiBank:
| Package | Downloads |
|---|---|
|
Spoleto.VirtualKassa.MultiBank.Extensions
Расширения для работы с Microsoft Dependency injection фреймворком для C# SDK для интеграции с хостом Мульти-Банка (Узбекистан) для передачи информации об оплатах покупок. The extensions for Microsoft Dependency injection framework for the project for integration with MultiBank host. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.9 | 255 | 11/27/2025 |
| 2.0.8 | 309 | 9/20/2024 |
| 2.0.7 | 240 | 9/6/2024 |
| 2.0.6 | 245 | 9/5/2024 |
| 2.0.5 | 238 | 7/18/2024 |
| 2.0.4 | 539 | 4/26/2024 |
| 2.0.3 | 295 | 4/2/2024 |
| 2.0.2 | 249 | 4/1/2024 |
| 2.0.1 | 252 | 3/29/2024 |
| 2.0.0 | 247 | 3/29/2024 |
| 1.12.6.1732 | 276 | 12/6/2023 |
| 1.12.6.1730 | 215 | 12/6/2023 |
| 1.12.6.1622 | 234 | 12/6/2023 |
| 1.11.28.1250 | 225 | 11/28/2023 |
| 1.11.28.1235 | 225 | 11/28/2023 |
| 1.11.17.2106 | 226 | 11/17/2023 |
| 1.11.17.1209 | 222 | 11/17/2023 |
| 1.11.16.1614 | 207 | 11/16/2023 |
| 1.11.2.1248 | 229 | 11/2/2023 |
| 1.10.30.1628 | 202 | 10/30/2023 |