# Формирование токенов {#ru_pp_token} статья о порядке вызова платёжной формы для регистрации платёжных данных и формирования их токенов ## Общая информация {#section_vpr_b1h_nlb .section} При работе с Payment Page можно формировать токены, которые в дальнейшем хранятся на стороне веб-сервиса мерчанта и могут использоваться при проведении оплат через Payment Pageи [Gate](ru_Gate_Token.md#section_tz1_wrs_5bb), а также выплат через [Gate](ru_Gate_payout.md). *Токен* — это идентификатор, представляющий собой случайную последовательность из 64 символов и ассоциированный в рамках платёжной платформы с определённой платёжной картой. Формирование токенов выполняется на основании данных платёжных карт пользователей \(таких как номер карты, имя и фамилия её держателя и дата окончания срока действия этой карты\) и возможно в следующих случаях: - при выполнении запроса на открытие Payment Page в режиме Card Tokenize; - при проведении первой успешной оплаты с сохранением платёжных данных карты в режиме Purchase, если такая настройка доступна для проекта мерчанта; - при проведении первой успешной оплатыили выплаты с использованием платёжной карты, если такая настройка доступна для проекта мерчанта. По вопросам добавления возможности автоматической генерации токенов следует обращаться к специалистам технической поддержки — [support@ecommpay.com](mailto:support@ecommpay.com). В каждом из этих случаев для отдельной платёжной карты формируется один токен со сроком действия, соответствующим сроку действия этой карты, и этому токену присваивается статус `active`. При истечении срока действия токена этот статус изменяется на статус `expiry`, а при удалении токена по запросу со стороны веб-сервиса — на статус `revoke`. И в обоих случаях проведение платежей по этому токену становится недоступным. Процедуры удаления токена, а также получения реквизитов платёжной карты по токену выполняются через интерфейс Gateи представлены в разделе [Использование токенов](ru_Gate_Token.md). Базовыми действиями пользователя при формировании токенов с использованием Payment Page могут быть указание реквизитов платёжной карты и ожидание уведомления о результате. После успешного формирования токена данные платёжной карты, с которой он ассоциирован, отображаются пользователю на странице выбора способа оплаты в общем списке сохранённых инструментов. ![](images/ecommpay/ru_pp_token.svg) В этом разделе представлена информация о формировании токенов с использованием Payment Page в режиме Card Tokenize. Информация о формировании токенов при проведении оплаты представлена в разделе [Проведение оплат](ru_pp_purchase.md). ## Схема работы {#section_uh2_dgh_nlb .section} Для формирования токена через Payment Page со стороны веб-сервиса необходимо: 1. Сформировать и отправить в платёжную платформу запрос на открытие Payment Page. 2. Принять оповещение о результате выполнения запроса со стороны платёжной платформы. ## Формат запросов {#section_rgv_yr2_plb .section} Формат запроса на открытие Payment Page для формирования токена соответствует описанному в разделе [Формат запроса](ru_pp_interaction_organisation.md#). При формировании такого запроса необходимо учитывать следующее: 1. В запросе должны использоваться следующие обязательные параметры: - `mode` — индикатор режима работы Payment Page, для которого необходимо передавать значение `card_tokenize`. - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `customer_id` — идентификатор пользователя в веб-сервисе мерчанта; - `signature` — подпись запроса, составленная после указания целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\). 2. Для отображения пользователю платёжной страницы на заданном языке в запросе дополнительно необходимо использовать параметр `language_code` — код языка в формате ISO 639-1 alpha-2. Если этот параметр не передан, платёжная страница отображается на языке, определённом автоматически \(по языку браузера или по умолчанию; [подробнее](ru_PP_WigetLanguages.md)\). 3. Дополнительно в запросах могут использоваться любые другие параметры, используемые для работы Payment Page в режиме Card Tokenize. Полный список параметров вызова Payment Page представлен в разделе [Спецификация Payment Page API](ru_PP_Parameters.md). Таким образом, корректный запрос на формирование токена должен содержать индикатор режима работы Payment Page, идентификатор проекта, подпись, а таже идентификатор пользователя. ```language-json { "mode": "card_tokenize", "project_id": 112, "customer_id": "cust_123", "signature": "TSzdE5rJZaA9VyJtnfRI362oGpfXriFf82MxF..." } ``` ```language-json https://paymentpage.ecommpay.com/payment?signature=A%2Fqqxsl59tRrtACreixy8sieSfxR%2BC...&mode=card_tokenize&project_id=112&customer_id=cust_123®ion_code=GB&language_code=en ``` ## Формат оповещений {#section_x3c_5zd_plb .section} Для оповещения о формировании токена используется стандартный формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере содержится информация о том, что в рамках проекта `112` для пользователя `cust_123` сформирован токен \(`token`\). Также для этого токена указаны дата и время его создания \(`token_created_at`\) и текущий статус \(`token_status`\). ```language-json { "general": { "project_id": 112, "customer_id": "cust_123", "signature": "mTHcy5wvpOYkl9S5eLJZ..." }, "request": { "id": "3c7f53fdbb5b8c96f9707457d75f", "action": "tokenize", "status": "success" }, "token":"2f0e75befacca30623354f9ffb0f44a80bee52982c39727b85039ef6f64309a1", "token_created_at":"2020-03-28 13:30:57", "token_status":"active" } ``` **На уровень выше:**[Основные действия](ru_pp_basic_actions.md)