mirror of
https://github.com/yawaflua/Lava.NET.git
synced 2025-12-09 20:09:26 +02:00
2.0 KiB
2.0 KiB
Lava.NET
Áèáëèîòåêà äëÿ ðàáîòû ñ API ñàéòà lava.ru. Ïîêà ÷òî âåäåòñÿ ðàáîòà íàä áèçíåñ-÷àñòüþ API
Ñîâåòóåòñÿ ïåðåä èñïîëüçîâàíèåì ïðî÷èòàòü API ñàéòà lava.ru
Ïðèìåðû
Óñòàíîâêà áèáèëîòåêè
dotnet add package Lava.NET
È èñïîëüçëîâàíèå â ïðîåêòå
using Lava.NET;
public class Program
{
public static async Task Main(string[] args)
{
var publicLavaApi = new PublicLavaAPI("[ Âàø òîêåí ]");
// ... Âàøà ëîãèêà
}
}
Ïðèìåð èñïîëüçîâàíèÿ ñ ASP.NET ïðèëîæåíèåì:
// Startup.cs
public void ConfigureServices(IServiceCollection services)
{
var publicLavaApi = new PublicLavaAPI("[ Âàø òîêåí ]");
services.AddControllers();
services
.AddSwaggerGen();
services
// ...Íàñòðîéêà ïðèëîæåíèÿ
.AddSingleton(publicLavaAPI);
}
Ïðèìåð ðàáîòû ñ âåáõóêîì(.NET 8):
// PaymentController.cs
[ApiController]
[Route("/payment/")]
public class PaymentController(PublicLavaAPI lavaAPI) : ControllerBase
{
[HttpPost("lava")]
public async Task<IActionResult> ValidatePaymentLava([FromBody] WebhookResponse webhookResponse)
{
// Âàøà ëîãèêà
return Ok(); // Îáÿçàòåëüíî îòâå÷àòü 200, èíà÷å âåáõóêè áóäóò ïðèõîäèòü ñíîâà è ñíîâà, äî 15 ðàç.
}
}
Ñîçäàíèå ññûëêè íà îïëàòó:
var publicLavaApi = new PublicLavaAPI("[Âàø òîêåí]");
var createdPayment = await publicLavaApi.CreatePaymentAsync(
new (){
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"
}
);
Console.Out.WriteLine(createdPayment.url);
// >>> 'https://p2p.lava.ru/form?id=1ee31634-e3e0-34ce-1423-b5b4cb524c6a'