# Открытие в виде отдельной HTML-страницы {#ru_PP_method_NewTab .concept}
статья о порядке открытия платёжной формы Payment Page в виде отдельной HTML-страницы с использованием JavaScript-библиотеки Ecommpay и собственных решений
**На уровень выше:**[Способы открытия платёжной формы](ru_PP_Integration.md)
## Общая информация {#ru_pp_opening_html_overview}
При открытии в виде отдельной HTML-страницы платёжная форма Payment Page отображается в отдельной вкладке браузера.С учётом того, как настроена работа браузера, это может быть уже использовавшаяся для веб-сервиса или новая вкладка, но в любом из этих случаев взаимодействие пользователя с веб-сервисом прерывается и он перенаправляется к другой странице, которая фокусирует его на оплате. При этом по завершении оплаты пользователь может быть снова перенаправлен от платёжной формы к веб-сервису \([подробнее](ru_PP_redirect_modes.md#)\).

Чтобы открывать платёжную форму таким способом, на стороне веб-сервиса следует:
1. Определить события, при наступлении которых должна открываться платёжная форма\(например, переход по кнопке оплаты\).
2. Обеспечить вызов платёжной формы по требуемым событиям, с использованием собственных решений или JavaScript-библиотеки от Ecommpay, расположенной по адресу `https://paymentpage.ecommpay.com/shared/merchant.js`. Помимо прочего, эта библиотека позволяет использовать автоматическое открытие Payment Page в виде отдельной страницы на мобильных устройствах и открытие одним из других способов на других устройствах.
## Вызов с использованием собственных решений {#ru_pp_opening_html_via_in_house_solutions}
Для открытия Payment Page в виде отдельной HTML-страницы достаточно перенаправить пользователя по ссылке следующего формата:
```
https://paymentpage.ecommpay.com/payment?
```
В этой ссылке `` представляет собой строку данных в виде пар названий и значений параметров \(в том числе подписи\) со знаком `&` в качестве разделителя. Информация о применяемых параметрах и их подписывании представлена в отдельных статьях: [Спецификация Payment Page API](ru_PP_Parameters.md) и [Работа с подписью к данным](ru_platform_signature.md#).
```
https://paymentpage.ecommpay.com/payment?project_id=42&customer_id=123&payment_id=4438&payment_amount=1000&payment_currency=EUR&signature=AE5hmtzdP0Dt7qGTg...
```
## Вызов с использованием JavaScript-библиотеки Ecommpay {#ru_pp_opening_html_via_javascript_library}
Предоставляемая Ecommpay JavaScript-библиотека, прежде всего, призвана упрощать открытие платёжной формы [в модальном окне](ru_PP_method_ModalWindow.md#) и [в элементе iframe](ru_PP_method_Embedded.md#). Вместе с тем, она может использоваться и для открытия формы в виде отдельной HTML-страницы. Например, это может быть актуально для открытия формы в виде отдельной страницы на мобильных устройствах и в модальном окне на любых других.
Для открытия Payment Page в виде отдельной страницы с использованием JavaScript-библиотеки `merchant.js` от Ecommpay необходимо подключить эту библиотеку в клиентской части веб-сервиса и использовать соответствующие обращения к объекту `EPayWidget`. Кроме того, если планируется использовать JavaScript-библиотеку `merchant.js` и для других способов открытия Payment Page, следует подключить также CSS-библиотеку, расположенную по адресу `https://paymentpage.ecommpay.com/shared/merchant.css`.
**Внимание:** Следует учитывать, что для корректной работы платёжной формы CSS- и JavaScript-библиотеки от Ecommpay должны подключаться через сеть доставки содержимого \(Content Delivery Network, CDN\); локальное хранение этих библиотек не допускается.
При обращениях к объекту `EPayWidget` в объекте `configObj` должен указываться один из следующих параметров:
- `redirect_on_mobile` со значением `true` — для открытия платёжной формы в виде отдельной HTML-страницы только на мобильных устройствах;
- `redirect` со значением `true` — для открытия платёжной формы в виде отдельной HTML-страницы на всех устройствах.
Если эти параметры не указываются или неприменимы для используемого устройства, платёжная форма открывается иным способом: в модальном окне или в элементе iframe \(если это задано через соответствующий параметр `target_element`\).
**Прим.:** При одновременном использовании в параметрах вызова платёжной формы указателей на открытие в отдельной вкладке и в элементе iframe более приоритетным считается открытие в отдельной вкладке.
В остальном работа с объектом `EPayWidget` для открытия Payment Page в отдельной вкладке соответствует общим условиям, актуальным и для других способов открытия:
1. Каждое обращение может осуществляться одним из двух методов:
- `bind` \(`EPayWidget.bind`\) — если платёжную форму необходимо открывать по щелчку кнопки \(с указанием её идентификатора, ``\);
- `run` \(`EPayWidget.run`\) — если платёжную форму необходимо открывать по какому-либо другому событию в пользовательском интерфейсе.
2. В каждом обращении должен указываться JavaScript-объект `configObj`с параметрами вызова платёжной формы и с подписью к ним.
Информация о применяемых параметрах и их подписывании представлена в отдельных статьях: [Спецификация Payment Page API](ru_PP_Parameters.md) и [Работа с подписью к данным](ru_platform_signature.md#).
3. При необходимости в любом обращении может также указываться HTTP-метод отправки запроса \(`method`\)— POST или GET. Если он не указывается, по умолчанию применяется метод GET.
4. Дополнительно в любом обращении могут указываться функции-обработчики для сбора информации о действиях пользователя.
Информация о таких функциях представлена в статье [Контроль интерфейсных событий](ru_pp_ui_monitoring.md#).
```language-javascript
EPayWidget.bind('', configObj, method);
EPayWidget.run(configObj, method);
```
```language-javascript
EPayWidget.bind('pay_button_id', // Идентификатор кнопки
{ project_id: 42, // Идентификатор проекта
customer_id: '17008', // Идентификатор пользователя
payment_id: '18641868', // Идентификатор платежа
payment_amount: 8855, // Сумма платежа
payment_currency: 'USD', // Код валюты платежа
redirect_on_mobile: true, // Указатель открытия в виде отдельной HTML-страницы
// на мобильных устройствах
signature: 'YWb6Z20ByxpQ30hfTI' }, // Подпись
'post')
```
```language-javascript
EPayWidget.run(
{ project_id: 42, // Идентификатор проекта
customer_id: '17008', // Идентификатор пользователя
payment_id: '18641868', // Идентификатор платежа
payment_amount: 8855, // Сумма платежа
payment_currency: 'USD', // Код валюты платежа
redirect_on_mobile: true, // Указатель открытия в виде отдельной HTML-страницы
// на мобильных устройствах
signature: 'YWb6Z20ByxpQ30hfTI' }, // Подпись
'post')
```
HTML-код страницы веб-сервиса при этом может выглядеть следующим образом.
```language-xml
```