Клиент для работы с API сервиса "Мой налог" от ФНС РФ для самозанятых. Позволяет автоматизировать регистрацию и аннулирование чеков.
- Установите пакет:
dotnet add package MyTaxClient- Зарегистрируйте клиент (Program.cs):
using MyTaxClient;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddMyTaxClient(builder.Configuration);- Сконфигурируйте (appsettings.json):
{
"MyTax": {
"Username": "ВАШ_ИНН",
"Password": "ВАШ_ПАРОЛЬ",
"DeviceIdPrefix": "test_", // Опционально
"ApiUrl": "https://lknpd.nalog.ru/api/v1/" // Опционально
}
}Или через переменные окружения:
MyTax__Username=ВАШ_ИНН
MyTax__Password=ВАШ_ПАРОЛЬ
Все параметры конфигурации (MyTaxClientOptions):
| Параметр | Описание |
|---|---|
| Username | ИНН самозанятого (обязательный) |
| Password | Пароль от сервиса "Мой налог" (обязательный) |
| DeviceIdPrefix | Префикс для генерации DeviceId (по умолчанию пустая строка) |
| ApiUrl | URL API сервиса (по умолчанию https://lknpd.nalog.ru/api/v1/) |
Пример ручной настройки без IConfiguration:
builder.Services.AddMyTaxClient(configure: options =>
{
options.Username = "ВАШ_ИНН";
options.Password = "ВАШ_ПАРОЛЬ";
});var myTaxClient = services.GetRequiredService<MyTaxReceiptsClient>();
await myTaxClient.ApproveReceipt(new ApproveReceiptRequest
{
Services = [ new Service(Name: "Услуга1", Quantity: 1, Amount: 100.00M) ],
PaymentTime = DateTimeOffset.UtcNow
});var myTaxClient = services.GetRequiredService<MyTaxReceiptsClient>();
await myTaxClient.CancelReceipt(new CancelReceiptRequest
{
ReceiptUuid = "tv8aiukhu3"
CancellationTime = DateTimeOffset.UtcNow
});