ASSET LINK

Панель мерчанта

Забыли пароль?

Нет аккаунта? Зарегистрироваться

Регистрация

Создайте аккаунт мерчанта для приёма УЦП

Уже есть аккаунт? Войти

Мои магазины

Управление подключёнными магазинами для приёма УЦП

Всего магазинов

0

Активных

0

Транзакций

0

Оборот УЦП

0

Регистрация нового магазина

1
2
3
Основная информация URL-адреса Ключ подписи

PNG, JPG, GIF до 2MB

Магазин активен

Включить приём платежей сразу после создания

Настройки токенов УЦП

Магазин

Показывать:
Токен УЦП
Вкл/Выкл Доп. комиссия Скидка Действие
Показано 0 из 0

Сообщения

Обратная связь с администрацией

Диалоги

Нет диалогов

Выберите диалог или создайте новое обращение

Транзакции

История всех платежей по вашим магазинам

Всего получено

0 ₽

Транзакций

0

Средний чек

0 ₽

За сегодня

0 ₽

Дата и время
Магазин Токен
Сумма
Назначение Статус

Транзакций пока нет

Показано 0-0 из 0

Аналитика

Статистика поступлений по токенам

Общий оборот

0 ₽

+0% к пред. периоду

Количество платежей

0

+0% к пред. периоду

Уникальных токенов

0

Используется в платежах

Динамика поступлений

Распределение по токенам

Сравнение токенов

Детализация по токенам

Токен Транзакций Сумма Средний чек Доля Тренд

API Документация

Интеграция платёжного шлюза AssetLink с вашим магазином

Быстрый старт

Подключите приём токенов УЦП в вашем интернет-магазине за несколько минут

1

Создайте магазин

Получите Store ID и ключ подписи

2

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

Отправьте запрос на создание платежа

3

Обработайте webhook

Получите уведомление о результате

Базовый URL

https://assetlink.ru/api/gateway

Все запросы к API должны выполняться по HTTPS

POST

/payments/create

Создание платежа

Создаёт новый платёж и возвращает URL для перенаправления покупателя на страницу оплаты.

Параметры запроса

Параметр Тип Обязательный Описание
store_id string Да Идентификатор магазина (SHOP00000)
order_id string Да Номер заказа в вашей системе
amount number Да Сумма платежа в рублях
token_symbol string Нет Символ токена (по умолчанию STUDIO)
description string Нет Описание заказа
success_url string Нет URL редиректа при успешной оплате
fail_url string Нет URL редиректа при отмене/ошибке
signature string Да HMAC-SHA256 подпись запроса

Пример запроса

const crypto = require('crypto');

const data = {
  store_id: 'SHOP00001',
  order_id: 'ORDER-12345',
  amount: 1500.00,
  description: 'Оплата заказа #12345',
  success_url: 'https://myshop.ru/success',
  fail_url: 'https://myshop.ru/fail'
};

// Создание подписи
const signString = Object.keys(data)
  .sort()
  .map(key => `${key}=${data[key]}`)
  .join('&');
const signature = crypto
  .createHmac('sha256', 'ВАШ_СЕКРЕТНЫЙ_КЛЮЧ')
  .update(signString)
  .digest('hex');

const response = await fetch('https://assetlink.ru/api/gateway/payments/create', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ ...data, signature })
});

Пример ответа

{
  "success": true,
  "payment_id": "550e8400-e29b-41d4-a716-446655440000",
  "payment_code": "A7B3C9D2E5F1",
  "payment_url": "https://gate.assetlink.ru/pay/A7B3C9D2E5F1",
  "amount": 1500.00,
  "token_symbol": "STUDIO",
  "expires_at": "2026-01-30T15:30:00.000Z"
}
POST

/payments/status

Проверка статуса платежа

Позволяет проверить текущий статус платежа.

Параметры запроса

Параметр Описание
store_id Идентификатор магазина
payment_id ID платежа из ответа create
signature HMAC-SHA256 подпись

Статусы платежа

pending — ожидает оплаты completed — успешно оплачен cancelled — отменён expired — истёк срок

Webhook уведомления

После изменения статуса платежа мы отправим POST-запрос на ваш webhook URL с данными о платеже.

Формат уведомления

{
  "event": "payment.completed",
  "payment_id": "550e8400-e29b-41d4-a716-446655440000",
  "order_id": "ORDER-12345",
  "amount": 1500.00,
  "token_symbol": "STUDIO",
  "token_amount": 1500.00,
  "status": "completed",
  "paid_at": "2026-01-30T15:25:00.000Z"
}

Проверка подписи webhook

Подпись передаётся в заголовке X-AssetLink-Signature

const crypto = require('crypto');

function verifyWebhook(body, signature, webhookSecret) {
  const signString = Object.keys(body)
    .sort()
    .map(key => `${key}=${body[key]}`)
    .join('&');

  const expected = crypto
    .createHmac('sha256', webhookSecret)
    .update(signString)
    .digest('hex');

  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

Формирование подписи

Все запросы к API должны быть подписаны для обеспечения безопасности.

Алгоритм

  1. Отсортируйте параметры по ключу в алфавитном порядке
  2. Соедините пары ключ=значение через &
  3. Вычислите HMAC-SHA256 от полученной строки с вашим секретным ключом
  4. Добавьте результат в параметр signature

Примеры на разных языках

PHP

<?php
$data = [
    'store_id' => 'SHOP00001',
    'order_id' => 'ORDER-12345',
    'amount' => 1500.00
];

ksort($data);
$signString = http_build_query($data);
$signature = hash_hmac('sha256', $signString, $secretKey);

$data['signature'] = $signature;

Python

import hmac
import hashlib
from urllib.parse import urlencode

data = {
    'store_id': 'SHOP00001',
    'order_id': 'ORDER-12345',
    'amount': 1500.00
}

sign_string = urlencode(sorted(data.items()))
signature = hmac.new(
    secret_key.encode(),
    sign_string.encode(),
    hashlib.sha256
).hexdigest()

data['signature'] = signature

Коды ошибок

HTTP код Описание
400 Неверные параметры запроса или подпись
401 Магазин не найден или неактивен
404 Платёж не найден
500 Внутренняя ошибка сервера

Тестирование

Для тестирования интеграции используйте демо-магазин:

Открыть демо-магазин

Примечание: Демо-магазин работает с тестовыми платежами. Для production-интеграции используйте реальные Store ID и ключи.

Нужна помощь?

Наша команда поддержки готова помочь с интеграцией

Каталог проектов

Проекты эмитентов, ищущих агентов для реализации токенов УЦП

Верификация документов

Загрузите документы для прохождения KYC-проверки

Прогресс загрузки обязательных документов 0 из 6
Загрузка...