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