Библиотека для взаимодействия с API Elycart.
import { Elycart } from "@elycart/api";
const elycart = new Elycart(process.env.TOKEN, process.env.SECRET_KEY);
const payment = await elycart.createInvoice({
title: "Покупка донат-кейса",
username: "elycart",
price: 10, // рублей
});
console.log(payment.url);
- Генерируется исходя из OpenAPI спецификации
- Очень удобная работа с нотификацией (webhook) с умными фильтрами
- Имеет в себе webhook адаптеры для самых популярных фреймворков
- Отличная документация кода с помощью JSDoc (сгенерировано из OpenAPI)
- Современная и с умнейшими типами
- 0 зависимостей
Пример использования webhook с фреймворком Hono
import { Hono } from "hono";
import { Elycart, webhookHandler } from "@elycart/api";
const elycart = new Elycart(process.env.TOKEN, process.env.SECRET_KEY);
elycart.on(({ data }) => {});
const app = new Hono();
app.post("/", webhookHandler(elycart, "hono"));
export default app;
или любой другой фреймворк
// a non-existing framework for the example
import { App } from "some-http-framework";
import { Elycart } from "@elycart/api";
const elycart = new Elycart(process.env.TOKEN, process.env.SECRET_KEY);
const app = new App().post("/t-kassa", async (req) => {
// req.body must be json equivalent to Webhook notification body
await elycart.emit(req.body);
});
app.listen(80);