Update README.md

This commit is contained in:
Dima yawaflua Andreev
2024-03-10 21:10:24 +03:00
committed by GitHub
parent a2b48651ec
commit b2f8f457ee

View File

@@ -1,44 +1,44 @@
# Lava.NET
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> API <20><><EFBFBD><EFBFBD><EFBFBD> lava.ru.
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> API
Библиотека для работы с API сайта lava.ru.
Пока что ведется работа над бизнес-частью API
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [API <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> lava.ru](https://dev.lava.ru/)
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
## <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Советуется перед использованием прочитать [API сайта lava.ru](https://dev.lava.ru/)
# Примеры
## Установка бибилотеки
```bash
dotnet add package Lava.NET
```
### <EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
### И использлование в проекте
```cs
using Lava.NET;
public class Program
{
public static async Task Main(string[] args)
{
var publicLavaApi = new PublicLavaAPI("[ <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ]");
// ... <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
var publicLavaApi = new PublicLavaAPI("[ Ваш токен ]");
// ... Ваша логика
}
}
```
## <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ASP.NET <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
## Пример использования с ASP.NET приложением:
```cs
// Startup.cs
public void ConfigureServices(IServiceCollection services)
{
var publicLavaApi = new PublicLavaAPI("[ <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ]");
var publicLavaApi = new PublicLavaAPI("[ Ваш токен ]");
services.AddControllers();
services
.AddSwaggerGen();
services
// ...<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ...Настройка приложения
.AddSingleton(publicLavaAPI);
}
```
## <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(.NET 8):
## Пример работы с вебхуком(.NET 8):
```cs
// PaymentController.cs
@@ -51,24 +51,24 @@ public class PaymentController(PublicLavaAPI lavaAPI) : ControllerBase
[HttpPost("lava")]
public async Task<IActionResult> ValidatePaymentLava([FromBody] WebhookResponse webhookResponse)
{
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// Ваша логика
return Ok(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 200, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> 15 <EFBFBD><EFBFBD><EFBFBD>.
return Ok(); // Обязательно отвечать 200, иначе вебхуки будут приходить снова и снова, до 15 раз.
}
}
```
## <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
## Создание ссылки на оплату:
```cs
var publicLavaApi = new PublicLavaAPI("[<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>]");
var publicLavaApi = new PublicLavaAPI("[Ваш токен]");
var createdPayment = await publicLavaApi.CreatePaymentAsync(
new (){
comment = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Telegram <EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
hook_url = $"https://example.com/api/payment/lava", // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
merchant_id = "AskMeAboutBOT", // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
merchant_name = "AskMeAboutBOT", // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
custom_fields = $"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> webhook", // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
success_url = $"https://example.com/", // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
comment = "Оплата покупки в Telegram боте", // Необ.
hook_url = $"https://example.com/api/payment/lava", // Необ.
merchant_id = "AskMeAboutBOT", // Необ.
merchant_name = "AskMeAboutBOT", // Необ.
custom_fields = $"Любые кастомные данные, передаваемые в webhook", // Необ.
success_url = $"https://example.com/", // Необ.
sum = 39.00f,
wallet_to = "R123123123"
}