Быстрый старт: протестируйте интеграцию платежей за 5 минут

Team 2 min read 46 views

Протестируйте вашу интеграцию за 5 минут

Используйте нашу публичную песочницу API Playground с общими тестовыми учетными данными. Реальные средства не списываются — заказы никогда не доходят до реальных платежных провайдеров.

Шаг 1: Получите тестовые учетные данные

Откройте /sandbox. Скопируйте App ID, API Key (для подписи) и Query Key (для поиска заказов).

Шаг 2: Создайте тестовый заказ

Используйте форму Playground или отправьте подписанный POST-запрос на /api/createorder:

curl -X POST "https://your-domain.com/api/createorder" \
  -H "Content-Type: application/json" \
  -d '{
    "appid": "YOUR_SANDBOX_APPID",
    "action": "createorder",
    "clientip": "127.0.0.1",
    "amount": "9.99",
    "currency": "USD",
    "paymentMethod": "alipay",
    "description": "Test order",
    "notify_url": "https://your-domain.com/api/sandbox/webhook-receiver",
    "sign_type": "MD5",
    "sign": "CALCULATED_MD5_SIGN"
  }'

Playground вычисляет MD5-подпись за вас. Алгоритм описан в документации API — Подпись.

Шаг 3: Имитация оплаты

Откройте redirectUrl из ответа на создание заказа (или используйте Симуляцию оплаты в Playground). Нажмите Симулировать успех. Шлюз ставит в очередь вебхук на ваш notify_url.

Шаг 4: Проверка подписи вебхука

Колбэки отправляются методом GET с параметрами запроса, включающими sign и sign_type=MD5. Проверка выполняется по тому же алгоритму, что и при создании заказа, с использованием вашего API-ключа.

// Пример на Node.js (концептуальный)
const crypto = require('crypto');
function verifyCallback(params, apiKey) {
  const copy = { ...params };
  delete copy.sign;
  delete copy.sign_type;
  const keys = Object.keys(copy).filter(k => copy[k] != null).sort();
  const str = keys.map(k => k + '=' + copy[k]).join('&') + apiKey;
  const expected = crypto.createHash('md5').update(str).digest('hex');
  return expected === params.sign;
}

Ваш сервер должен отвечать простым текстом success (без учета регистра).

Шаг 5: Запрос статуса заказа

GET /api/order?action=order&appid=APPID&key=QUERY_KEY&paymentId=ORDER_ID

Или опрашивайте публичную конечную точку: GET /api/order/status/:orderId

Переход к промышленной эксплуатации

Полная документация: API документация · Живое тестирование: Песочница

Теги: api, sandbox, integration, webhook

← Все записи