takemypay

API takemypay

Интеграция — это обычный REST и один webhook. SDK нет и не требуется: всё, что нужно, — уметь отправить POST и проверить подпись HMAC.

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

  1. Войдите в кабинет по ссылке из письма — пароль не нужен.
  2. Создайте проект и в нём API-ключ. Ключ показывается один раз.
  3. Укажите у проекта адрес, куда слать webhook.
  4. Создайте платёж и отправьте плательщика на checkout_url.
curl
curl -X POST https://takemypay.net/api/v1/payments \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "external_order_id": "order-123",
    "amount": "1000.00",
    "description": "Order #123",
    "return_url": "https://shop.example.com/ok",
    "fail_url":   "https://shop.example.com/fail"
  }'

В ответ придёт адрес страницы оплаты:

200 / 201
{
  "id": "6f1c8f7e-...",
  "checkout_url": "https://takemypay.net/c/8f3a...",
  "status": "pending",
  "expires_at": "2026-05-19T12:30:00Z",
  "warnings": []
}

Дальше — получите ключ и переходите к разделу Создание платежа.

Авторизация

Каждый вызов публичного API авторизуется заголовком Authorization: Bearer ВАШ_КЛЮЧ.

Ключ принадлежит проекту, а не аккаунту. Проект владеет своим адресом webhook и своим набором ключей, поэтому именно ключ определяет, на какой адрес уйдёт уведомление и в чьём пространстве имён живёт external_order_id. Ключи заводятся на странице проектов.

У проекта может быть несколько активных ключей — это штатный способ ротации. Подпись webhook всегда считается новейшим активным ключом проекта, а какой именно использован, сообщает заголовок X-Key-Prefix.

Мы храним только SHA-256-хэш ключа. Восстановить потерянный ключ нельзя — можно только выпустить новый и отозвать старый.

Тестовый режим

Новый аккаунт начинает в тестовом режиме. Ключи работают сразу, но каждый платёж — учебный: вместо формы карты или QR-кода СБП страница оплаты показывает симулятор с кнопками «успех» и «отказ». Ни одна карта не списывается, на баланс ничего не зачисляется.

Тестовые платежи шлют настоящие webhook — поэтому интеграцию можно собрать и проверить целиком, не имея активированного аккаунта. Отличать их следует по полю is_test: платёж с is_test: true — это учение, по нему нельзя отгружать товар и зачислять услугу.

Переключение на приём реальных денег — заявка на активацию из кабинета.

Как считаются деньги

  • Комиссия — 18% с gross-суммы платежа.
  • Рубли конвертируются в доллары в момент успешной оплаты по курсу ЦБ РФ с наценкой 7%. Применённый курс замораживается в платеже и потом не пересчитывается.
  • Выплаты — USDT в сети TRC20, порог $100, сбор $3 за перевод.

По умолчанию комиссию платит мерчант: amount, который вы передаёте, — это сумма к списанию с плательщика, а вам зачисляется остаток. Режим можно переключить так, чтобы комиссию платил плательщик, — тогда amount становится вашей чистой суммой, а с плательщика списывается больше. Подробнее — в разделе Создание платежа.

Дальше

  • Создание платежа — поля запроса, идемпотентность, статусы.
  • Страница оплаты — что видит плательщик и сколько живёт платёж.
  • Webhook — подпись, защита от повтора, расписание ретраев.
  • Ошибки — коды ответов и что с ними делать.