Документация для разработчиков

Создано для разработчиков

Один REST API. Все армянские процессоры. Запуск за 5 минут.

REST + JSON HMAC-подпись JS SDK
REST API
JSON-запросы / ответы
JS SDK
Inline, модальное окно, редирект
Вебхуки
Подписаны HMAC-SHA256
OpenAPI
Автоматически генерируемая документация
Быстрый старт

Четыре шага до запуска

1

Зарегистрируйтесь и получите API-ключ

Создайте аккаунт, добавьте домен и создайте API-ключ в панели управления. Ключ показывается один раз - сохраните его в надёжном месте. Тестовые ключи работают сразу; для реальных ключей и реальных платежей нужна верификация бизнеса.

auth-header
# Your API key header
X-Paynet-Key: sk_live_a1b2c3d4e5f6...
2

Создайте платёж через API

Отправьте POST на /api/v1/payments с суммой, ID вашего заказа и URL возврата. В ответе получите checkout_url. Суммы указываются в целых AMD.

create-payment.sh
curl -X POST https://paynet.am/api/v1/payments \
  -H "X-Paynet-Key: sk_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 15000,
    "order_id": "ORD-2024-001",
    "domain": "shop.am",
    "return_url": "https://shop.am/thanks",
    "callback_url": "https://shop.am/webhooks/paynet"
  }'
3

Перенаправьте покупателя на страницу оплаты

Используйте checkout_url из ответа для редиректа или встройте inline с помощью JS SDK.

Ответ · 201 Created
response.json
{
  "uuid": "018e7b2c-...",
  "checkout_url": "https://paynet.am/pay/018e7b2c-...",
  "status": "pending"
}
4

Получите вебхук по завершении

Paynet отправляет подписанный вебхук на ваш callback_url при изменении статуса платежа. Проверьте подпись HMAC-SHA256 и обновите статус заказа.

REST API

Создавайте платежи одним запросом

Передайте сумму, ID вашего заказа и URL возврата; покупатель выбирает способ оплаты на размещённой странице оплаты. Указывайте процессор только если хотите предварительно выбрать конкретный. Мы берём на себя протокол каждого провайдера, учётные данные и верификацию коллбэков.

JSON-запросы / ответы
Аутентификация по API-ключу (хэш SHA-256)
Автоматически генерируемая документация OpenAPI
Идемпотентные запросы через заголовок Idempotency-Key (окно 24 часа)
Идентификаторы транзакций на основе UUID
Смотреть полную документацию API OpenAPI-спецификация (JSON) для Postman или кодогенерации AI-подсказка (llms.txt): вставьте её в ChatGPT, Claude или Cursor, и она соберёт интеграцию Коллекция Postman (импортируется также в Insomnia и Bruno): каждый запрос уже составлен, ключ - всего одна переменная
create-payment.sh
# Create a payment
curl -X POST https://paynet.am/api/v1/payments \
  -H "X-Paynet-Key: sk_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 15000,
    "order_id": "ORD-2024-001",
    "domain": "shop.am",
    "return_url": "https://shop.am/thanks",
    "callback_url": "https://shop.am/webhooks/paynet",
    "processor": "idram"
  }'

# Response: 201 Created
{
  "uuid": "018e7b2c-...",
  "checkout_url": "https://paynet.am/pay/018e7b2c-...",
  "status": "pending"
}
Вебхуки

Уведомления о платежах в реальном времени

Paynet отправляет подписанный вебхук на ваш эндпоинт каждый раз, когда платёж достигает финального статуса, а также при возвратах. Неудачные доставки повторяются три раза (через 1, 5 и 30 минут). Относитесь к этому как к сигналу: прежде чем действовать, запросите платёж повторно.

Полезные нагрузки с подписью HMAC-SHA256
Повтор через 1, 5 и 30 минут
Журналы доставки в панели управления
Идемпотентные идентификаторы доставки

Проверьте заголовок X-Paynet-Signature с помощью HMAC-SHA256 и вашего секрета вебхука.

webhook-payload.sh
# Webhook delivery
POST https://shop.am/webhooks/paynet
X-Paynet-Signature: 3f1a9c...  # hex HMAC-SHA256 of the raw body, keyed with your webhook secret

{
  "delivery_id": "9b1d6f0e-...",
  "event": "transaction.status.updated",
  "livemode": true,
  "timestamp": 1787400000,
  "transaction": {
    "uuid": "018e7b2c-...",
    "order_id": "ORD-2024-001",
    "status": "completed",
    "amount": 15000,
    "refunded_amount": 0,
    "currency": "AMD",
    "processor": "idram",
    "completed_at": "2026-08-22T10:00:00+00:00"
  },
  "refund": null,
  "receipt": null
}
# Then confirm before you act: GET /api/v1/orders/ORD-2024-001/payment
Тестовый режим

Разрабатывайте в полноценной песочнице

Создайте API-ключ со средой Test (sk_test_...), либо установите провайдера Sandbox и отправляйте "processor": "sandbox" - это также работает внутри CMS-плагинов. В любом случае банк не вызывается, деньги не перемещаются и ничего не учитывается. Тестовые платежи отображаются во вкладке Test в панели управления.

Отдельные тестовые API-ключи
Фиктивный процессор - мгновенные результаты
Магические номера карт для каждого исхода
Переключатель Live/Test в панели управления
Магические тестовые карты
# Одобрено
4111 1111 1111 1111
# Отклонено банком
4000 0000 0000 0002
# Недостаточно средств
4000 0000 0000 0069
# Тайм-аут процессора
4000 0000 0000 0119
# Ошибка 3-D Secure
4000 0000 0000 0101
# Превышен лимит суммы
4000 0000 0000 0127
# Дублирующая транзакция
4000 0000 0000 0200
# Срок транзакции истёк
4000 0000 0000 0259
# Процессор недоступен
4000 0000 0000 0309
# Общая ошибка
4000 0000 0000 0341
JavaScript SDK

Встройте оплату на свой сайт

Создайте платёж на своём сервере, затем передайте URL оплаты нашему лёгкому JS SDK, чтобы открыть его inline, в виде модального окна или полностраничного редиректа. Три режима, один тег script, а ваш секретный ключ никогда не покидает ваш сервер.

Inline
Встраивается в контейнер div на странице
Модальное окно
Всплывающее окно без ухода со страницы
Редирект
Полностраничный переход на размещённую страницу оплаты
checkout.js
<!-- Load the SDK -->
<script src="https://paynet.am/sdk/v1/paynet.js">
</script>

<!-- Container for inline mode -->
<div id="paynet-container"></div>

<script>
Paynet.open({
  checkoutUrl: "{{ checkout_url }}",
  mode: "inline",
  container: "#paynet-container",
  onSuccess: function(data) {
    console.log("Paid:", data.order_id);
  },
  onError: function(error) {
    console.error("Failed:", error.message);
  }
});
</script>
Плагины для платформ

Интеграция без кода

Не хотите писать код? Установите готовый плагин для вашей платформы.

Пошаговые инструкции по установке · Нужна интеграция с Magento или кастомная интеграция? Свяжитесь с нами.

Начните разработку

Готовы к интеграции?

Получите API-ключ и начните принимать платежи менее чем за 5 минут.