Пополнения и кредиты
Продавайте кредиты пакетами или на сумму, которую выбирает пользователь, в заданных вами пределах. Сколько кредитов начислить, придёт на ваш сервер в вебхуке (поле credits).
Пополнения, подписки и разовые покупки. Мы выступаем продавцом (merchant of record): принимаем платёж, берём на себя НДС ЕС и выплачиваем деньги вам.
Ваш сервер получает это после оплаты
{
"event": "order.paid",
"clientReference": "acc_10294",
"credits": 100,
"creditsUnit": "credits"
}Продавайте кредиты пакетами или на сумму, которую выбирает пользователь, в заданных вами пределах. Сколько кредитов начислить, придёт на ваш сервер в вебхуке (поле credits).
Периоды списания — от суток до года. Один запрос покажет вашему серверу, оплачен ли доступ пользователя и до какого числа.
Создайте платёж одним вызовом API, отправьте пользователя сразу на страницу оплаты и верните его в ваше приложение.
Для вашего агента
Ваш агент читает llms.txt — оглавление документации — и переходит по ссылкам. Подсказка ниже ставит ему задачу.
Подсказка для ИИ-агента: скопируйте и вставьте в Cursor или Claude Code
You are connecting my application to Norelio. Norelio is the merchant of record: it takes the payment and pays me out.
1. Read https://docs.norelio.eu/llms.txt and the pages it links to. The OpenAPI document is https://docs.norelio.eu/openapi.json.
2. Ask me for the Norelio API key and the productId of each product. Keep the key on the server, in the environment variable NORELIO_API_KEY. Never put it in client code or logs.
3. When a user presses "Pay", create the payment from my server: POST https://app.norelio.eu/api/v1/checkouts with the header Authorization: Bearer <key> and the fields productId and clientReference (my id for that user). For a top-up product also send packageId or amount. Redirect the user's browser to the url in the response; it works once, so do not log it.
4. If the answer is 403 direct_checkout_not_enabled, stop and tell me: creating payments from my server has to be enabled for my account first.
5. Add a webhook endpoint and tell me its address: I save it in the Norelio cabinet. Verify the signature over the raw request body, deduplicate on paymentId + event, and on order.paid credit the account named in clientReference (for a top-up, add the credits field). Handle refunds. For subscriptions, call the access check whenever the user comes back.
6. Tell me what you changed and how to test it with the test webhook from the Norelio cabinet.Node.js
app.post("/pay", async (req, res) => {
const response = await fetch("https://app.norelio.eu/api/v1/checkouts", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.NORELIO_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
productId: "prod_1a2b3c", clientReference: req.user.id
})
});
if (!response.ok) return res.sendStatus(502);
const { url } = await response.json();
res.redirect(url);
});Три шага
Добавьте в кабинете Norelio разовую покупку, подписку или пополнение.
Вызовите API с id товара и id вашего пользователя. Отправьте пользователя на полученный адрес оплаты.
Norelio отправляет на ваш сервер подписанный вебхук order.paid. Проверьте подпись и начислите кредиты или откройте доступ.
Вопросы
Norelio. Мы выступаем продавцом (merchant of record): договор с покупателем, чек, возврат и спор — на стороне Norelio, а не вашей. Ваше приложение не работает с платёжными данными покупателя.
При оплате картой покупатели из ЕС платят НДС сверх вашей цены — его считает, собирает и перечисляет Norelio. Покупателям вне ЕС НДС не начисляется.
Norelio выплачивает деньги на ваших условиях. Суммы и историю выплат вы видите в кабинете.
Откройте документацию на docs.norelio.eu или дайте вашему ИИ-агенту подсказку выше. Чтобы начать, напишите на info@norelio.eu. Создание платежей с вашего сервера включается для вашего аккаунта после того, как Norelio проверит ваши условия покупки.