takemypay

Страница оплаты

Страницу оплаты хостим мы. После создания платежа вы получаете checkout_url вида https://takemypay.net/c/<token> и отправляете плательщика туда — редиректом или ссылкой в письме, как удобнее.

Что видит плательщик

Список доступных способов оплаты, сумму и ваше описание заказа. Способ выбирает плательщик, а не вы: набор способов настраивается на стороне шлюза и может меняться без правок в вашей интеграции.

  • СБП — QR-код НСПК, который сканируется приложением банка.
  • Карты Мир и международные Visa/Mastercard — форма ввода карты, при необходимости 3-D Secure.
  • Криптовалюта — адрес для перевода USDT в сети TRC20.

После завершения плательщик уходит на return_url или fail_url, если вы их передали. Возврат на эти адреса — не подтверждение оплаты. Подтверждение — только webhook: плательщик может закрыть вкладку до редиректа, а оплата всё равно пройдёт.

Сколько живёт платёж

30 минут с момента создания, для криптовалюты — 60 минут с момента выбора этого способа. Актуальное значение всегда лежит в expires_at. По истечении платёж переходит в expired и оплатить его уже нельзя — нужно создать новый.

Симулятор для тестового режима

Пока аккаунт не активирован, страница оплаты вместо настоящих способов показывает симулятор с кнопками «успех» и «отказ». Тот же результат можно получить запросом — это и есть способ прогнать интеграцию в автотестах, без человека у браузера:

curl
curl -X POST https://takemypay.net/api/v1/checkout/PUBLIC_TOKEN/test/complete \
  -H "Content-Type: application/json" \
  -d '{"outcome": "succeeded"}'

Поле outcome принимает succeeded или declined. В обоих случаях уходит настоящий webhook, поэтому проверить можно всю цепочку целиком — включая разбор подписи на вашей стороне.

Запрос отвечает ошибкой, если платёж не тестовый, уже не в статусе pending или истёк.

Опрос состояния

Страница оплаты сама опрашивает состояние платежа, пока плательщик на ней находится:

curl
curl https://takemypay.net/api/v1/checkout/PUBLIC_TOKEN/status

Этот адрес не требует авторизации и работает по публичному токену из checkout_url. Для серверной сверки он не предназначен — используйте GET /api/v1/payments/{id} с вашим ключом.

Остальные адреса чекаута

Под префиксом /api/v1/checkout/{token} живут ещё несколько адресов — получение сведений о платеже, запуск оплаты выбранным способом (/initiate), обновление (/refresh), приём данных карты (/card/submit) и форма 3-D Secure (/card/3ds-form). Их вызывает наша страница оплаты; вашей интеграции они не нужны, и мы не гарантируем их формат между релизами.

Из всего чекаута стабильный контракт для вас — это checkout_url и /test/complete. Остальное обслуживает страницу.