1.0.2 • Published 4 years ago
swiftpay v1.0.2
NodeJS SwiftPay API
Документация по API
- Документация на русском языке,
- Documentation on English
Начало работы с библиотекой
Установка
Запустите команду npm install swiftpay
Авторизация запросов
Для авторизации запросов выполните следующие шаги:
Зарегистрируйтесь и авторизуйтесь на сайте
Перейдите в раздел настройки
Скопируйте API ключ, предварительно нажав кнопку
Показать
Теперь вы можете отсылать запросы на API с использованием библиотеки
swiftpay
var SwiftPay = require('swiftpay');
var apiSwift = new SwiftPay('<ВАШ API КЛЮЧ>');
apiSwift.account(function(error, response, body){
console.log(error, response);
});
P.S. Для усиления безопасности рекомендуем хранить ваш API ключ в переменной среды:
1. Перейдите в папку с проектом: cd /путь/к/корню/проекта
2. В CMD Windows: SET swiftpay=ВАШ API КЛЮЧ
В Linux: export swiftpay=ВАШ API ключ
3. Получить токен
var apiSwift = new SwiftPay(process.env.swiftpay);
Валидация уведомления при успешной оплате на примере Express
router.post('/your/notification/link', (req, res) => {
if(!apiSwift.validateSign(req.body)){
res.status(500).send('Sign validation error');
return;
}
// ... остальной код для обработки платежа, возвращающий статус 200 при успешном выполнении
})
Полный список доступных методов с примерами
Создание ссылки для оплаты
apiSwift.createOrder({ shop_id: 1, // ID мерчанта, order_id: 1, // номер заказа в системе мерчанта. Должен быть уникальным!!! amount: 10, // сумма desc: 'Описание', // необязательный параметр, data: { // необязательный параметр. После успешной оплаты этот объект будет отправлен на ссылку уведомления. Макс. кол-во полей: 5 field: value } }, function(err, response, body){ console.log(err, response); // данная функция будет вызвана после завершения запроса })
Создание выплаты
apiSwift.createPayout({ system_id: 1, // id системы amount: 100, // сумма вывода wallet: '79001234567' // кошелек для вывода }, function(err, response, body){ console.log(err, response); })
Получение информации об аккаунте
apiSwift.account(function(error, response, body){ console.log(error, response); });
- Получение статистики аккаунта
apiSwift.stats(function(error, response, body){ console.log(error, response); });
- Получение списка созданных мерчантов
apiSwift.shops(function(error, response, body){ console.log(error, response); });
- Получение информации о конкретном мерчанте
apiSwift.shop({ id: 1 // ID мерчанта }, function(error, response, body){ console.log(error, response); });
- Включение мерчанта
apiSwift.shopActivate({ id: 1 // ID мерчанта }, function(error, response, body){ console.log(error, response); });
- Отключение мерчанта
apiSwift.shopDeactivate({ id: 1 // ID мерчанта }, function(error, response, body){ console.log(error, response); });
- Удаление мерчанта
apiSwift.shopDelete({ id: 1 // ID мерчанта }, function(error, response, body){ console.log(error, response); });
Получение списка пополнений аккаунта с фильтрами.
- Доступные поля для сортировки:
id
,amount
,order_id
,created_at
,paid_at
,shop_id
. - Доступные поля для поиска:
id
,amount
,order_id
,created_at
,paid_at
,shop_id
,email
,status
. - Доступные операторы поиска:
=
,>
,<
,>=
,<=
,!=
.
apiSwift.orders({ sort: 'id', // поле, по которому будет выполнена сортировка. См. п. 1 sortType: 'DESC', // ASC - по возрастанию, DESC - по убыванию data: [{ // Если нужно отобразить записи без фильтра, то передайте пустой массив - data: [], field: 'created_at', type: '>', value: '2020-01-19' }, { field: 'amount', type: '=', value: '100' },], // Отобразит только те записи, где дата создания была позже 19.01.2020 и сумма равной 100. limit: 25, // Число записей (от 25 до 250) offset: 0 // Смещение по записям. При limit = 25, offset = 25 будет второй страницей, offset = 50 будет третьей и т.д. }, function(error, response, body){ console.log(error, response); });
- Доступные поля для сортировки:
Получение списка выводов аккаунта с фильтрами:
- Доступные поля для сортировки:
id
,amount
,system_id
,wallet
,created_at
,paid_at
,api
. - Доступные поля для поиска:
id
,amount
,system_id
,wallet
,created_at
,paid_at
,api
,status
. - Доступные операторы поиска:
=
,>
,<
,>=
,<=
,!=
.
apiSwift.payouts({ sort: 'id', // поле, по которому будет выполнена сортировка. См. п. 1 sortType: 'DESC', // ASC - по возрастанию, DESC - по убыванию data: [{ // Если нужно отобразить записи без фильтра, то передайте пустой массив - data: [], field: 'created_at', type: '>', value: '2020-01-19' }, { field: 'amount', type: '=', value: '100' },], // Отобразит только те записи, где дата создания была позже 19.01.2020 и сумма равной 100. limit: 25, // Число записей (от 25 до 250) offset: 0 // Смещение по записям. При limit = 25, offset = 25 будет второй страницей, offset = 50 будет третьей и т.д. }, function(error, response, body){ console.log(error, response); });
- Доступные поля для сортировки:
- Получение информации о выводе
apiSwift.payout({ id: 1 // ID выплаты }, function(error, response, body){ console.log(error, response); });
- Подтверждение выплаты (если в настройках аккаунта автовыплаты отключены)
apiSwift.payoutAccept({ id: 1 // ID выплаты }, function(error, response, body){ console.log(error, response); });
- Отклонение оплаты (если в настройках аккаунта автовыплаты отключены)
apiSwift.payoutDecline({ id: 1 // ID выплаты }, function(error, response, body){ console.log(error, response); });
- Получение списка активных систем и их комиссий
apiSwift.systems(function(error, response, body){ console.log(error, response); });
- Получение информации о заказе
apiSwift.orderById({ id: 1 // ID заказа }, function(error, response, body){ console.log(error, response); });
Заметки
- Каждый API запрос возвращает
callback
функцию с параметрамиerr
,response
иbody
. Еслиerr
неnull
, то запрос был произведен с ошибкой, указанной вerr
. Еслиerr
=null
, то запрос успешно завершен и информация о нем лежит в следующем параметреresponse
.