Как подключить оплату на сайте через Paycryp: понятный план
Сайт создаёт заказ, сервер обращается к Merchant API Paycryp, покупатель открывает готовую платёжную страницу. После подтверждения ваш сервер меняет статус заказа и запускает выдачу.
Что подготовить до API
Нужны каталог или услуга с понятной ценой, собственный номер заказа и механизм выдачи. Если сайт пока состоит из одной рекламной страницы, сначала решите, где будут храниться покупки и кто поможет клиенту.
В кабинете Paycryp для интеграции используется онлайн-терминал. Его настройки определяют платёжный сценарий, а ключ даёт серверу проекта доступ к API этого терминала.
Создайте заказ у себя
До обращения к платёжному сервису сохраните товар, цену и пользователя в своей базе. Не собирайте стоимость из параметров, которые прислал браузер без проверки.
Суммы API передаются целыми числами в минорных единицах. Например, для рублёвого заказа на 1 250 ₽ значение составляет 125000. Пример иллюстрирует формат, а не размер комиссии.
Запросите платёжную страницу
Сервер создаёт платёж и передаёт orderId. В ответе есть paymentUrl — адрес, который открывает покупатель. Этот адрес лучше брать из ответа, а не конструировать самостоятельно по внутреннему идентификатору.
Ключ API хранится на сервере. Его нельзя вставлять в JavaScript страницы, мобильный клиент или публичный репозиторий. Если ключ стал известен посторонним, его перевыпускают.
Получите подтверждение
Настройте Webhook URL и проверку подписи. Дополнительно предусмотрите сверку статуса через GET, если событие задержалось или ваш обработчик временно не работал.
Перед выдачей сравните orderId, валюту и baseAmount с исходным заказом. Итог amount может включать чаевые или долю комиссии покупателя. Такая разница сама по себе не означает ошибку оплаты.
Подготовьте страницы результата
Страница успеха показывает статус, номер заказа и следующий шаг. Если подтверждение ещё не пришло, напишите «Проверяем оплату» и обновляйте данные с сервера.
Страница ошибки должна позволять вернуться к существующему заказу. Не заставляйте клиента собирать корзину заново, если он просто закрыл банковское приложение.
Чек-лист запуска
- Ключ хранится только на сервере.
- Повторный запрос не создаёт дубль заказа.
- Подпись вебхука проверяется по исходному телу.
- Выдача выполняется один раз.
- Успех, отмена и истечение срока понятны покупателю.
- Поддержка может найти заказ по номеру.
Полный контракт и актуальные примеры находятся в документации Paycryp. Блог помогает увидеть общую схему; перед реализацией сверяйте конкретные параметры с API-справкой.