Задача: Магазин хочет, чтобы platron не было видно, и клиент вводил все платежные данные и выбирал платежные способы, никуда не переходя.
Решение: Магазин включает настройку использования iframe в настройках магазина в административной панели platron. Выводит iframe на стороне магазина.
<iframe src=”https://www.platron.ru/payment_params.php?набор_параметров”></iframe>
При использовании iframe есть возможность открывать в родительском окне страницу прохождения 3ds. При таком способе оплаты человек больше доверяет при вводе одноразового кода подтверждения. Так же есть возможность чтобы человек проходил 3ds в том же iframe, где он вводил данные. В этом случае после завершения окна в родительское окно магазин получит сообщение с помощью Window.postMessage()
За выбор из этих вариантов отвечает настройка в личном кабинете магазина.
При этом есть несколько важных рекомендаций:
1. Сайт должен быть открыт по https://, чтобы у клиента не возникло впечатление, что номер карты он вводит на небезопасном сайте (хотя на самом деле ввод данных и отправка происходит на https://www.platron.ru)
2. Ссылка для размещения должна быть получена запросом на init_payment.php и сохранена в БД магазина, чтобы при каждом обновлении пользователем страницы с iFrame, в системе Platron не создавался новый заказ.
3. Если пункт 2 вызывает сложности – то нужно хотя бы минимизировать создание транзакций на стороне Платрон. Т.е. если в iframe стоит ссылка на payment.php для создания транзакций, то страница оплаты должна быть последней при оформлении.