Инструменты

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.
Все интеграции