Страница оплаты
Страницу оплаты хостим мы. После создания платежа вы получаете 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 -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 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. Остальное обслуживает страницу.