API takemypay
Интеграция — это обычный REST и один webhook. SDK нет и не требуется: всё, что нужно, — уметь отправить POST и проверить подпись HMAC.
Быстрый старт
- Войдите в кабинет по ссылке из письма — пароль не нужен.
- Создайте проект и в нём API-ключ. Ключ показывается один раз.
- Укажите у проекта адрес, куда слать webhook.
- Создайте платёж и отправьте плательщика на
checkout_url.
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"
}' В ответ придёт адрес страницы оплаты:
{
"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 — подпись, защита от повтора, расписание ретраев.
- Ошибки — коды ответов и что с ними делать.