Используйте учётные данные: test@gmail.com / qwerty
Это мок — никакая информация не отправляется на сервер (всё в localStorage).
| ID | Сумма | Статус | Примечание |
|---|
Здесь можно сымитировать приход IPN от платежной системы или найти пример server-side обработчика для реального IPN.
// Express пример (server.js)
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
// Простая имитация БД
const users = { 'test@gmail.com': { balance: 0 } };
const invoices = {}; // invoiceId -> {email, amount, status}
// Эндпоинт, куда платёжка пришлёт IPN (POST)
app.post('/ipn', (req, res) => {
// В реальном мире: проверяете подпись/хэш от платёжки
const { invoiceId, status, amount } = req.body;
if (!invoiceId || !status) return res.status(400).send('bad request');
const inv = invoices[invoiceId];
if (!inv) return res.status(404).send('invoice not found');
if (status === 'success'){
inv.status = 'paid';
users[inv.email].balance += Number(amount || inv.amount);
}
// Ответ платёжке
res.send('OK');
});
app.listen(3000, ()=>console.log('IPN server listening on 3000'));
Вам нужно разместить такой endpoint на сервере (например /ipn). Платёжная система будет делать POST с invoiceId и статусом. После получения и верификации подписи — обновляйте баланс.