Инструменты
SDK и модули
API простое: для большинства задач хватает HTTP-клиента вашего языка. Ниже — минимальные клиенты, которые можно скопировать в проект, и готовые модули для популярных CMS.
Минимальный клиент
import crypto from 'node:crypto';
export class NordPay {
constructor(secretKey, base = 'https://api.nordpay.pro/v1') {
this.key = secretKey;
this.base = base;
}
async request(method, path, body) {
const headers = { Authorization: `Bearer ${this.key}` };
if (body !== undefined) {
headers['Content-Type'] = 'application/json';
headers['Idempotency-Key'] = crypto.randomUUID();
}
const res = await fetch(this.base + path, {
method,
headers,
body: body === undefined ? undefined : JSON.stringify(body),
});
const data = await res.json();
if (!res.ok) throw Object.assign(new Error(data.error.message), data.error);
return data;
}
createPayment(params) { return this.request('POST', '/payments', params); }
getPayment(id) { return this.request('GET', `/payments/${id}`); }
refund(id, params = {}) { return this.request('POST', `/payments/${id}/refunds`, params); }
createLink(params) { return this.request('POST', '/payment_links', params); }
}
const nordpay = new NordPay(process.env.NORDPAY_SECRET_KEY);
const payment = await nordpay.createPayment({
amount: 499000,
currency: 'RUB',
description: 'Заказ №1042',
});Клиент в несколько строк
Клиент слева покрывает основные операции: создание и получение платежа, возврат, ссылку на оплату. Он сам добавляет заголовок авторизации и ключ идемпотентности к POST-запросам и превращает ответы с ошибкой в исключения.
- Node.js 18 и новее — встроенный fetch, без зависимостей.
- PHP 8 — расширение curl.
- Python 3.10 и новее — библиотека requests.
Проверку подписи вебхуков для всех трёх языков смотрите в разделе «Вебхуки».
Модули для CMS
| Платформа | Что умеет |
|---|---|
| WooCommerce | Плагин для WordPress: способы оплаты в корзине, статусы заказов по вебхукам. |
| Tilda | Подключение через приём платежей по ссылке и уведомления о заказах. |
| 1С-Битрикс | Модуль платёжной системы для интернет-магазина на «Битриксе». |
| OpenCart | Расширение оплаты с выбором метода на странице NordPay. |
Как получить модуль.
Модули и инструкцию по установке выдаёт менеджер при подключении — вместе с ключами магазина. Описание всех вариантов интеграции — на странице интеграций. Вопросы по установке: @nyajacky.