robokaska
v1.0.0
Published
Готовая интеграция для апи сервиса Robokassa. Работает, в отличие от других.
Downloads
5
Maintainers
Readme
Robokaska
Готовая интеграция для апи сервиса Robokassa. Работает, в отличие от других.
Мотивация
Чёто я не смог найти готового модуля, пришлось взять почти готовый, и дописать его самостоятельно в соответствии с документацией.
Преимущества
- Шифрует в md5
- Валидирует ответ
- Работает синхронно
- Работает вообще
Использование
Получаем настройки в личном кабинете РобоКассы. Вносим в конфигурацию.
const config = { shopIdentifier: 'Идентификатор магазина', password1: 'Пароль 1', password2: 'Пароль 2', testMode: true, // Указываем true, если работаем в тестовом режиме }
Создаем экземпляр класса.
const roboKassa = new Robokaska(config);
Получаем URL для оплаты. В метод передается email покупателя, на который отправляется чек.
// Вернёт строку с URL адресом, на который можно отправить пользователя roboKassa.generateUrl(invoiceID, email, outSum, invoiceDescription);
Валидируем данные, полученные в ответ.
// Вернёт true / false roboKassa.checkPay(invoiceID, outSum, SignatureValue);
Использование в Express.js
Пример использования в express.js
app.get('/pay', (req, res) => {
const payURL = roboKassa.generateUrl(invoiceID, email, outSum, invoiceDescription);
res.redirect(payURL);
})
//...
app.get('/pay', (req, res) => {
const {invoiceID, outSum, SignatureValue} = req.body;
const isPaymentValid = roboKassa.checkPay(invoiceID, outSum, SignatureValue);
if (isPaymentValid) {
res.send('okay');
} else {
res.staus(400).send('NOT okay');
}
})