# Способы возвращения пользователей к веб-сервису {#ru_PP_redirect_modes .concept} статья о вариантах перенаправления пользователей от платёжной формы к веб-сервису по заданным адресам **На уровень выше:**[Управление формой](ru_pp_ux_configuration.md) ## Общая информация {#ru_pp_redirect_modes_overview} После открытия платёжной формы могут быть актуальны разные варианты возвращения пользователя к веб-сервису. При работе с Payment Page эти варианты делятся на три вида: - *предварительное возвращение из платёжной формы* — когда пользователю по какой-либо причине надо вернуться к веб-сервису до подтверждения платежа в платёжной форме, а затем, возможно, назад к форме, чтобы продолжить работу с ней; - *промежуточное возвращение из сторонних сервисов* — когда пользователю по какой-либо причине надо вернуться к веб-сервису после подтверждения платежа в платёжной форме и перенаправления к стороннему сервису, не завершив свои действия там; - *итоговое возвращение* — когда пользователю надо вернуться к веб-сервису после выполнения всех необходимых действий для проведения платежа. Со стороны мерчанта можно предоставлять пользователям различные возможности для возвращения\(используя только необходимые варианты или не используя вовсе никаких\) и сочетать такие возможности с индивидуальным оформлением платёжной формы \([подробнее](ru_PP__design_customisation.md#)\) иразными способами открытия страниц веб-сервиса при перенаправлениях к нему.Это позволяет гибко подстраиваться под специфику бизнеса и разнообразных платёжных сценариев. ## Варианты возвращения {#ru_pp_redirect_modes_options} ### Предварительное возвращение из платёжной формы {#ru_pp_redirect_modes_before_payment} #### Общая информация {#section_wm2_4cw_k5b .section} Для предварительного возвращения пользователей к веб-сервисусо страниц платёжной формы используется ссылка, которая задаётся через параметры вызова и отображается как дополнительный элемент формы. ![](images/ecommpay/ru_pp_redirect_modes_1.svg) Если при вызове Payment Page задаётся возможность предварительного возвращения из формы, то по умолчанию для этого применяются следующие способы: - при открытии Payment Page в отдельной вкладке перенаправление выполняется в этой же вкладке; - при открытии Payment Page в модальном окне это модальное окно закрывается; - при открытии Payment Page в объекте iframe перенаправление не выполняется, при этом на стороне веб-сервиса доступна обработка интерфейсных событий \([подробнее](ru_pp_ui_monitoring.md#)\). Если необходимо задействовать иные способывозвращения, со стороны веб-сервисаможно использовать соответствующие параметры, описанные далее,в разделе [Управление доступностью и способами возвращения](ru_PP_redirect_modes.md#) этой статьи. Также, применяя возможность предварительного возвращениясо страниц платёжной формы, необходимо учитывать следующие особенности: - Пользователь может вернуться к веб-сервису по отображаемой ссылке только до того, как он подтвердит платёж в платёжной форме\(выбрав метод и указав требуемую информацию\). После подтверждения платежа ссылка в форме не отображается, поскольку подтверждение ведёт к проведению платежа в платформе и выбранной платёжной системе и это может требовать участия пользователя. - При ограничении времени работы с платёжной формой\([подробнее](ru_pp_time_limit.md)\) обратный отсчёт начинается с момента первичного открытия формы и не останавливается при возвращении пользователя к веб-сервису. #### Формат запросов {#section_itp_zjw_k5b .section} Адрес для предварительного возвращения к веб-сервису со страниц платёжной формыуказывается в запросах на открытие Payment Page в значении параметра `merchant_return_url`. ```language-json { "project_id": 42, "payment_id": "456789", "payment_currency": "USD", "payment_amount": 131970, "customer_id": "customer_12", // адрес для предварительного возвращения "merchant_return_url": "https://example.com", "signature": "TSzdE5rJZaA9TYAKoGpfXriFf82MxF..." } ``` ### Промежуточное возвращение из сторонних сервисов {#ru_pp_redirect_modes_intermediate} #### Общая информация {#section_vdw_1sr_stb .section} Возвращение к веб-сервису со страниц сторонних сервисов, таких как сервисы банковили платёжных систем, возможно только когда это поддерживается с их стороны. Кроме того, в разных сервисах такая функциональность может реализовываться по-разному и может допускать или не допускать обратных возвращений пользователя. С учётом таких особенностей, а также потенциально негативного влияния на проходимость платежей применение возвращений со страниц сторонних сервисов следует предварительно согласовывать с курирующим менеджером Ecommpay. ![](images/ecommpay/ru_pp_redirect_modes_2.svg) После согласования и подключения такой возможности адреса для возвращения пользователей можно указывать в запросах на открытие Payment Page.Иначе эти адреса игнорируются. #### Формат запросов {#section_dsy_hsr_stb .section} Адрес для промежуточного возвращения к веб-сервису со страниц сторонних сервисовуказывается в запросах на открытие Payment Page в значении параметра `redirect_return_url`. ```language-json { "project_id": 42, "payment_id": "456789", "payment_currency": "USD", "payment_amount": 131970, "customer_id": "customer_12", // адрес для промежуточного возвращения "redirect_return_url": "https://your/bank/example.com", "signature": "TSzdE5rJZaA9TYAKoGpfXriFf82MxF..." } ``` ### Итоговое возвращение {#ru_pp_redirect_modes_final} #### Общая информация {#section_lbc_qtr_stb .section} При работе с Payment Page итоговое возвращение пользователя к веб-сервису — по результатам проведения платежа — может реализовываться с отображением итоговой страницы платёжной формы, содержащей кнопку для возвращения к веб-сервису *по решению пользователя*, и *автоматически*, минуя итоговую страницу платёжной формы и с информированием о результате оплаты сразу на стороне веб-сервиса.При этом автоматическое возвращение не позволяет предоставить пользователю повторные попытки оплаты \([подробнее](ru_PP_Try_Again.md)\). Также, если итоговое возвращение не актуально, можно отображать пользователю итоговую страницу Payment Page без кнопки для возвращения к веб-сервису. ![](images/ecommpay/ru_pp_redirect_modes_3.svg "Итоговое возвращение по решению пользователя") ![](images/ecommpay/ru_pp_redirect_modes_4.svg "Итоговое автоматическое возвращение") ![](images/ecommpay/ru_pp_redirect_modes_5.svg "Вариант работы без возможности возвращения") Адреса и способы итогового возвращения могут задаваться как общие для всех платежей в рамках проекта и частные для отдельных платежей. Для указания общих адресов и способов необходимо использовать интерфейс Dashboard \(и инструменты карточки **Ссылки для перенаправления** в разделе **Проекты**\), для указания частных адресов и способов — параметры запросов на открытие Payment Page \(описанные далее, в пункте [Формат запросов](ru_PP_redirect_modes.md#section_yft_gvr_stb) этого раздела и в разделе [Управление доступностью и способами возвращения](ru_PP_redirect_modes.md#) этой статьи\). По умолчанию в случаях, когда используется итоговое возвращение, для него применяются следующие способы: - *Возвращение по решению пользователя* выполняется в используемой вкладке браузера, с закрытием модального окна, если платёжная форма была открыта в нём. - *Автоматическое возвращение* выполняется в том же элементе интерфейса, в которым была открыта платёжная форма.Так, если форма была открыта в отдельной вкладке браузера, то возвращение выполняется в этой же вкладке, а если форма была открыта в модальном окне или в объекте iframe, то возвращение выполняется в этом же окне или объекте. #### Формат запросов {#section_yft_gvr_stb .section} *Для возвращения по решению пользователя* можно задавать адреса в значениях следующих параметров: - `merchant_success_url` — для возвращения при проведении оплаты, - `merchant_fail_url` — для возвращения при отклонении оплаты. ```language-json { "project_id": 42, "payment_id": "456789", "payment_currency": "USD", "payment_amount": 131970, "customer_id": "customer_12", // адреса для итогового возвращения по решению пользователя "merchant_success_url": "https://example.com/complete-redirect?id=success", "merchant_fail_url": "https://example.com/complete-redirect?id=decline", "signature": "TSzdE5rJZaA9TYAKoGpfXriFf82MxF..." ``` *Для автоматического возвращения* можно задавать адреса в значениях следующих параметров: - `redirect_success_url` — для возвращения при проведении оплаты, - `redirect_fail_url` — для возвращения при отклонении оплаты, - `redirect_tokenize_url` — для возвращения при формировании токена платёжных данных в режиме `card_tokenize` \([подробнее](ru_pp_token.md)\). ```language-json { "project_id": 42, "payment_id": "456789", "payment_currency": "USD", "payment_amount": "131970", "customer_id": "customer_12", // адреса для автоматического итогового возвращения "redirect_success_url": "https://example.com/complete-redirect?id=success", "redirect_fail_url": "https://example.com/complete-redirect?id=decline", "signature": "TSzdE5rJZaA9TYAKoGpfXriFf82MxF..." ``` ## Управление доступностью и способами возвращения {#ru_pp_redirect_modes_opening_pages} При работе с предварительным и итоговым возвращениями пользователейот платёжной формы к веб-сервису можно управлять доступностью и способами этих возвращений в рамках отдельных вызовов Payment Page. Для этого используются параметры групп `enabled` и `mode`. - `merchant_return_enabled` — доступность предварительного возвращениясо страниц платёжной формы, - `merchant_success_enabled` — доступность итогового возвращения при проведении оплаты, - `merchant_fail_enabled` — доступность итогового возвращения при отклонении оплаты. Для каждого из этих параметров допустимы следующие значения: - `0` — отсутствие доступа к возможности возвращения; - `1` — частичная доступность возвращения, в рамках которой при открытии Payment Page в объекте iframe или модальном окне перенаправление к веб-сервису не выполняется, а при открытии Payment Page в отдельной вкладке браузера способ открытия страницы веб-сервиса определяется через параметр группы `mode`; - `2` — полная доступность возвращения, используемая по умолчанию и сочетаемая со способом открытия страницы веб-сервиса, указанным в параметре группы mode. - `merchant_return_redirect_mode` — способ предварительного возвращениясо страниц платёжной формы, - `merchant_success_redirect_mode` — способ итогового возвращения по решению пользователя при проведении оплаты, - `merchant_fail_redirect_mode` — способ итогового возвращения по решению пользователя при отклонении оплаты, - `redirect_success_mode` — способ автоматического итогового возвращения при проведении оплаты, - `redirect_fail_mode` — способ автоматического итогового возвращения при отклонении оплаты. Для каждого из этих параметров допустимы следующие значения: - `iframe` — открытие страницы в объекте iframe \(работающее при открытии платёжной формы в объекте iframe или модальном окне; при открытии платёжной формы в отдельной вкладке этот способ ведёт к перенаправлению в этой же вкладке\); - `parent_page` — открытие страницы в используемой вкладке; - `blank_page` — открытие страницы в новой вкладке. В следующих примерах приведены данные из запросов на открытие Payment Page, согласно которым возвращение к веб-сервису должно выполняться разными способами. ```language-json { "project_id": 42, "payment_id": "456789", "payment_currency": "USD", "payment_amount": 131970, "customer_id": "customer_12", // адрес страницы веб-сервиса "merchant_success_url": "https://example.com/complete-redirect?id=success", "merchant_success_redirect_mode": "blank_page", // способ открытия страницы "merchant_success_enabled": 2, // доступность возвращения "signature": "TSzdE5rJZaA9TYAKoGpfXriFf82MxF..." ``` ```language-json { "project_id": 42, "payment_id": "456789", "payment_currency": "USD", "payment_amount": 131970, "customer_id": "customer_12", // адрес страницы веб-сервиса "merchant_success_url": "https://example.com/complete-redirect?id=success", "merchant_success_redirect_mode": "parent_page", // способ открытия страницы "merchant_success_enabled": 1, // доступность возвращения "signature": "TSzdE5rJZaA9TYAKoGpfXriFf82MxF..." ``` С вопросами о работе с этими параметрами, как и с другими вопросамио способах возвращения пользователей к веб-сервису, можно обращаться к специалистам технической поддержки Ecommpay.