Перейти к содержимому

Онлайн-оплата через платёжного провайдера

Текущая реализация поддерживает Paysera, но наличие кода провайдера не означает, что оплата включена в каждой установке. Доступность подтверждается по runtime конфигурации конкретного владельца.

Для платежа бронирования одновременно требуются:

  1. провайдер зарегистрирован и разрешён в установке;
  2. валюта входит в разрешённый список;
  3. текущий тариф включает OnlinePaymentsEnabled;
  4. владелец включил провайдера и сохранил корректные защищённые credentials;
  5. настроен внешний HTTPS PaymentPublicBaseUrl;
  6. для предоплаты задан процент больше 0 и не больше 100;
  7. существует бронирование с положительным остатком.

Отсутствие любого уровня должно отображаться как недоступность или ошибка конфигурации. Не обходите её прямым созданием финансовых записей.

Откройте Настройки → Платежи и тариф → Онлайн-платежи. Страница доступна только при поддержке тарифа.

  1. Выберите разрешённого провайдера.
  2. Введите данные проекта и credentials.
  3. Укажите публичную HTTPS-базу для return и callback.
  4. Проверьте отображаемую валюту.
  5. При необходимости задайте процент предоплаты.
  6. Сохраните и выполните разрешённую тестовую процедуру провайдера.
  7. Включите онлайн-платежи владельца.

Секреты после сохранения должны отображаться только в скрытом или сокращённом виде. Не передавайте их support.

После успешного создания бронирования гость может выбрать:

  • настроенную предоплату;
  • полный непогашенный остаток.

FormiBook создаёт транзакцию для конкретного бронирования и переводит гостя на страницу провайдера. Сумму и callback определяет сервер; браузер не задаёт их произвольно.

Возврат в браузер не доказывает оплату. Платёж учитывается только после проверенного финального callback провайдера. Повторный callback не должен создавать повторный платёж.

Платёж гостя имеет purpose ReservationPayment. Оплата тарифа FormiBook использует отдельные платформенные настройки и purpose TariffPayment. Успешная операция одного типа не создаёт запись другого.

  • Не заявляется выбор произвольного провайдера: текущая реализация — Paysera.
  • Автоматический polling статуса провайдера не подтверждён.
  • Отрицательная запись или удаление в фолио не отправляют refund провайдеру.
  • Автоматический gateway refund workflow не подтверждён.
  • PaymentPublicBaseUrl не подменяется ссылкой Public Booking или текущим адресом браузера.

Онлайн-оплата доступна только при выполнении всех условий установки, тарифа, владельца и провайдера.