TBankNet.B2BQr
1.0.1
dotnet add package TBankNet.B2BQr --version 1.0.1
NuGet\Install-Package TBankNet.B2BQr -Version 1.0.1
<PackageReference Include="TBankNet.B2BQr" Version="1.0.1" />
<PackageVersion Include="TBankNet.B2BQr" Version="1.0.1" />
<PackageReference Include="TBankNet.B2BQr" />
paket add TBankNet.B2BQr --version 1.0.1
#r "nuget: TBankNet.B2BQr, 1.0.1"
#:package TBankNet.B2BQr@1.0.1
#addin nuget:?package=TBankNet.B2BQr&version=1.0.1
#tool nuget:?package=TBankNet.B2BQr&version=1.0.1
TBankNet.B2BQr
Неофициальный .NET SDK для методов T-API T-Bank «Выставление ссылок через СБП» (B2B QR).
Поддерживает netstandard2.0, net8.0 и net10.0 (.NET Framework 4.6.2+, .NET Core 2.0+, Mono, Unity).
Проект не аффилирован с T-Bank. «T-Bank» и связанные названия принадлежат их правообладателям.
Установка
dotnet add package TBankNet.B2BQr
Поддерживаемые методы
| Метод T-API | API клиента | HTTP |
|---|---|---|
| Выставить одноразовую ссылку | CreateOneTimeAsync |
POST /api/v1/b2b/qr/onetime |
| Выставить многоразовую ссылку | CreateReusableAsync |
POST /api/v1/b2b/qr/reusable |
| Получить информацию о ссылке | GetAsync |
GET /api/v1/b2b/qr/{qrId}/info |
Быстрый старт
using TBankNet.B2BQr;
using var httpClient = new HttpClient();
var client = new TBankB2BQrClient(httpClient, new TBankB2BQrClientOptions
{
ApiToken = "YOUR_API_TOKEN",
Environment = TBankB2BQrEnvironment.Sandbox // или Production
});
var link = await client.CreateOneTimeAsync(new TBankB2BQrOneTimeRequest
{
AccountNumber = "40802810000000144655",
Sum = 12345.67m,
Purpose = "Оплата услуг по договору",
Ttl = 30,
Vat = TBankB2BQrVat.Vat22,
RedirectUrl = new Uri("https://example.com")
});
Console.WriteLine(link.QrId);
Console.WriteLine(link.PaymentUrl); // ссылка на оплату
Авторизация выполняется по Bearer API-токену. Для каждого запроса генерируется заголовок
X-Request-Id (его можно задать явно параметром requestId), а значение доступно в link.Metadata.RequestId.
Обработка ошибок
Ответы со статусом вне диапазона 2xx приводят к TBankB2BQrApiException с разобранным телом ошибки:
try
{
var link = await client.GetAsync(qrId, withImage: true);
}
catch (TBankB2BQrApiException ex)
{
Console.WriteLine($"HTTP {(int)ex.HttpStatusCode}: {ex.ErrorCode} — {ex.Error?.ErrorMessage}");
}
TBankB2BQrValidationException— локальная валидация запроса (пустой счет, недопустимая сумма/НДС).TBankB2BQrApiException— ошибка API T-Bank (статус вне 2xx) с теломerrorCode/errorId/errorMessage.TBankB2BQrTransportException— ответ не получен (сеть, DNS, TLS).TBankB2BQrProtocolException— ответ получен, но не разбирается как ожидаемая модель.
Репозиторий
Исходный код и полная документация:
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. 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 is compatible. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Net.Http.Json (>= 8.0.1)
- System.Text.Json (>= 8.0.6)
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.