Сохранение данных карт

Отправка запросов осуществляется с заголовком «Content‑Type: application/x‑www‑form‑urlencoded».

Порядок следования параметров в запросах не важен.

Регистр символов в url‑адресах и параметрах запросов — важен.

Ответ на запрос передается в формате JSON, кодировка UTF‑8.

StartSaveCardSession

Запрос инициализации сессии сохранения карты. Выполняется перед перенаправлением пользователя на страницу платежного шлюза Payler.

Формат запроса: https://{host}.payler.com/{api}/StartSaveCardSession

Доступность: gapi, cgapi

Метод отправки запроса: POST

Параметры запроса:

Название

Тип

R/O

Описание

key

A..100

R

Идентификатор мерчанта. Выдается с параметрами доступа

customer_id

A..100

R

Идентификатор плательщика. Возвращается в ответ на запрос CustomerRegister

template

A..100

O

Используемый шаблон страницы оплаты, заданный мерчантом. При отсутствии используется шаблон «по умолчанию»

lang

A2

O

Предпочитаемый язык платёжной формы.

en — английский; ru — русский. По умолчанию — ru

currency

A3

O

Валюта платежа (см. Поддерживаемые валюты). По умолчанию — RUB

pay_page_param_*

A..100

O

Параметры для отображения на странице оплаты. Можно передать любые параметры, начинающиеся с pay_page_param_, а потом отобразить их на странице оплаты. Для этого необходимо использовать шаблон страницы (см. параметр template)

return_url_success

A..1000

O

URL, на который будет перенаправлен пользователь в случае успешного сохранения карты

lifetime

N

O

Время жизни сессии в минутах, от 1 минуты и более

Параметры ответа:

Название

Тип

R/O

Описание

session_id

A..100

R

Идентификатор сессии

order_id

A..100

R

Идентификатор заказа в системе мерчанта. Генерируется автоматически

Пример ответа на успешный запрос:

{
        "session_id": "dOadCwvzuHxJVKNX4peVZpzTRulVG4OJwomj",
        "order_id": "kqonTcrezjZHhNxs619HYoVE737N7JNXYadb"
}

Save

Перенаправление пользователя с сайта мерчанта на страницу формы оплаты на стороне шлюза. Выполняется после команды StartSaveCardSession. После заполнения пользователем полей формы, шлюз автоматически выполняет запрос к эмитенту.

Результатом является сохранение данных карты пользователя

Формат запроса: https://{host}.payler.com/{api}/Save

Доступно для: gapi, cgapi

Метод отправки запроса: GET

Параметры запроса:

Название

Тип

R/O

Описание

session_id

A..100

R

Идентификатор платёжной сессии. Содержится в ответе на запрос StartSaveCardSession

После обработки запроса Save на стороне платежного шлюза пользователь будет перенаправлен на страницу с отображением результата сохранения карты, а через 3 секунды будет возвращен на сайт мерчанта.

Адрес возврата пользователя (URL страницы) — указывается мерчантом заранее в виде URL. Пример адреса возврата: http://mysite.ru/complete?session_id={session_id}

Для получения результатов операции следует использовать данные, полученные в рамках запроса статуса операции (см. метод GetStatusSaveCard).

Нужно учесть, что возврат на указанный URL может быть сделан несколько раз, например, когда пользователь запутался, нажимал кнопку «Back» в браузере. Если пользователь ошибочно попытается повторно сохранить карту в рамках одной сессии, то ему будет показано сообщение о том, что карта уже сохранена и сделано перенаправление на сайт мерчанта.

PaySaveCard

Сохранение данных карты путем списания или блокировки (в зависимости от настроек мерчанта) контрольной суммы на счете карты с последующей автоматической разблокировкой или возвратом списанной суммы.

Результатом является сохранение данных карты пользователя.

URL запроса: https://{host}.payler.com/mapi/v1/PaySaveCard

Доступно для: mapi

Метод отправки запроса: POST

Использование данного метода предполагает обязательное соответствие системы мерчанта требованиям PCI DSS.

Параметры запроса:

Название

Тип

R/O

Описание

key

A..100

R

Идентификатор мерчанта. Выдается с параметрами доступа

order_id

A..100

R

Идентификатор оплачиваемого заказа в системе мерчанта. Для каждого платежа нужен свой уникальный идентификатор. Только печатные ASCII‑символы

currency

A3

О

Валюта платежа (см. Поддерживаемые валюты). По умолчанию — RUB

card_number

A..19

R

Номер карты. Десятичные цифры без разделителей [0–9]

card_holder

A..100

O

Имя владельца карты. Латинские символы, десятичные цифры или символ пробела [a-zA-Z0‑9]

expired_year

N2

R

Год окончания срока действия карты

expired_month

N2

R

Месяц окончания срока действия карты

secure_code

A

R

Код подлинности карты (CVC2/CVV2). Десятичные цифры [0–9]

lang

A2

О

Предпочитаемый язык ответов сервера.

en — английский; ru — русский. По умолчанию — ru

email

A..100

R

Адрес электронной почты пользователя

userdata

A..1000

О

Пользовательские данные. Можно передать в этой строке любую информацию, которую нужно сохранить вместе с платежом, а потом получить её с помощью метода GetAdvancedStatus

customer_id

A..100

О

Идентификатор пользователя. Показывает для какого пользователя будет сохранена карта

antifraud_*

A..100

О

Дополнительные параметры для системы антифрод. Можно передать любые параметры, начинающиеся с antifraud_

user_entered_*

A..100

О

Можно указать дополнительные поля для оплаты, начинающиеся с user_entered_. Затем все эти поля возвращаются в GetAdvancedStatus в поле user_entered_params

payer_ip

A

R

IP-адрес браузера покупателя

browserAccept

A

R

Заголовок Accept из браузера покупателя

browserLanguage

A

R

Язык браузера устройства покупателя. en — английский; ru — русский

browserUserAgent

A

R

Содержание заголовка User-Agent в браузере покупателя

browserJavaEnabled

B

R

Признак возможности выполнения Java в браузере устройства покупателя

browserJavascriptEnabled

B

O

Признак возможности выполнения JavaScript в браузере устройства покупателя. По умолчанию — true

browserScreenHeight

A

R

Общая высота экрана устройства покупателя в пикселях

browserScreenWidth

A

R

Общая ширина экрана устройства покупателя в пикселях

browserColorDepth

A

R

Глубина цветопередачи в битах

browserTZ

A

R

Часовой пояс — разница (в минутах) во времени между временем по UTC и местным временем браузера на устройстве покупателя

threeDsNotificationUrl

A

R

URL получения результата 3DS challenge

Параметры ответа:

Формат ответа совпадает форматом ответа PayMerchant

GetStatusSaveCard

Запрос статуса сохранённой карты.

Формат запроса: https://{host}.payler.com/{api}/GetStatusSaveCard

Доступно для: gapi, mapi, cgapi, cmapi

Метод отправки запроса: POST

Параметры запроса:

Название

Тип

R/O

Описание

key

A..100

R

Идентификатор мерчанта. Выдается с параметрами доступа

session_id

A..100

O

Идентификатор сессии, по которой требуется получить информацию. Если не указан, должен быть указан параметр card_id

card_id

A..100

O

Идентификатор карты, по которой требуется получить информацию. Если не указан, должен быть указан параметр session_id

Параметры ответа:

Название

Тип

R/O

Описание

card_id

A..100

R

Идентификатор карты

card_status

A

R

Статус карты.

Saved — карта сохранена и готова к использованию.

Invalid — карта недействительна (например, истёк срок её действия)

card_number

A..19

R

Маскированный номер карты. Оставлены первые 6 и последние 4 цифры, остальные заменены на ‘x’

card_holder

A..100

R

Имя владельца карты

expired_year

N2

R

Год истечения срока действия карты

expired_month

N2

R

Месяц истечения срока действия карты

recurrent_template_id

A..100

O

Идентификатор шаблона рекуррентных платежей

customer_id

A..100

R

Идентификатор пользователя

Пример ответа на успешный запрос:

{
         "card_status": "Saved",
         "card_id": "ZRzroTofO42UkBv5vsMmckgU3Dowz7J4UhMZ",
         "card_number": "400000xxxxxx0093",
         "card_holder": "NONAME",
         "expired_year": 25,
         "expired_month": 12,
         "customer_id": "BCaFGEp8gQhT1XXFs1HEf5LRFstC4efydqxv"
}

GetCardList

Запрос на получение списка сохраненных карт.

Формат запроса: https://{host}.payler.com/{api}/GetCardList

Доступно для: gapi, mapi, cgapi, cmapi

Метод отправки запроса: POST

Параметры запроса:

Название

Тип

R/O

Описание

key

A..100

R

Идентификатор мерчанта. Выдается с параметрами доступа

customer_id

A..100

R

Идентификатор пользователя. Будут возвращены карты, принадлежащие этому пользователю

Параметры ответа:

Название

Тип

R/O

Описание

cards

Ar

R

Список карт

cards/card_id

A..100

R

Идентификатор карты

cards/customer_id

A..100

R

Идентификатор пользователя

cards/card_status

A

R

Статус карты.

Saved — карта сохранена и готова к использованию.

Invalid — карта недействительна (например, истёк срок её действия)

cards/card_number

A..19

R

Маскированный номер карты. Оставлены первые 6 и последние 4 цифры, остальные заменены на ‘x’

cards/card_holder

A..100

R

Имя владельца карты

cards/expired_year

N2

R

Год истечения срока действия карты

cards/expired_month

N2

R

Месяц истечения срока действия карты

cards/recurrent_template_id

A..100

O

Идентификатор шаблона рекуррентных платежей. Присутствует если по карте создан шаблон рекуррентных платежей

Пример ответа на успешный запрос:

{
         "cards": [
         {
            "card_status": "Saved",
            "card_id": "Zk8ou8tcfiitc31DwJPOIIOwC8oFZOlIDknL",
  "customer_id": "jsdlf8sDD9LhO19sVYotkJ2gHSPs5E4Qph14"
            "card_number": "452427xxxxxx1232",
            "card_holder": "IVAN PETROV",
            "expired_year": 17,
            "expired_month": 7
      },
         {
            "card_status": "Saved",
            "card_id": "OvzLAlY3twt5GYnm2ddGiixha1tNSHJcXk2k",
            "customer_id": "sdkKhnf23ds987K8bsdj79ldn23fsldmMJ",
            "card_number: "415432xxxxxx8564",
         "card_holder": "PETR IVANOV",
        "expired_year": 16,
        "expired_month": 9
         }
         ]
}

RemoveCard

Запрос удаления сохранённой карты.

URL запроса: https://{host}.payler.com/{api}/RemoveCard

Доступно для: gapi, mapi, cgapi, cmapi

Метод отправки запроса: POST

Параметры запроса:

Название

Тип

R/O

Описание

key

A..100

R

Идентификатор мерчанта. Выдается с параметрами доступа

card_id

A..100

R

Идентификатор карты по которой требуется получить информацию

Параметры ответа:

Название

Тип

R/O

Описание

changed

B

R

Показывает, привёл ли запрос к изменениям в системе.

1 — карта была удалена в результате этого запроса.

0 — карта была удалена ранее

Пример ответа на успешный запрос:

{
         "changed": true
}

CustomerRegister

Запрос регистрации нового пользователя.

Формат запроса: https://{host}.payler.com/{api}/CustomerRegister

Доступно для: gapi, mapi, cgapi, cmapi

Метод отправки запроса: POST

Параметры запроса:

Название

Тип

R/O

Описание

key

A..100

R

Идентификатор мерчанта. Выдается с параметрами доступа

customer_name

A..100

O

Имя пользователя

customer_phone

A..100

O

Номер телефона пользователя

customer_email

A..100

O

Адрес электронной почты пользователя

customer_fullName

A..100

O

Ф. И. О. пользователя

customer_address

A..100

O

Адрес пользователя

customer_documentType

A..60

O

Тип документа пользователя

customer_documentSeria

A..60

O

Серия документа пользователя

customer_documentNumber

A..60

O

Номер документа пользователя

Параметры ответа:

Название

Тип

R/O

Описание

customer_id

A..100

R

Идентификатор пользователя

Пример ответа на успешный запрос:

{
         "customer_id": "Wkl7nBsMhwQICc2I9wXncMeSwnIaucQ5BHyo"
}

CustomerUpdate

Запрос обновления данных о пользователе.

Формат запроса: https://{host}.payler.com/{api}/CustomerUpdate

Доступно для: gapi, mapi, cgapi, cmapi

Метод отправки запроса: POST

Параметры запроса:

Название

Тип

R/O

Описание

key

A..100

R

Идентификатор мерчанта. Выдается с параметрами доступа

customer_id

A..100

R

Идентификатор пользователя

customer_name

A..100

O

Имя пользователя

customer_phone

A..100

O

Номер телефона пользователя

customer_email

A..100

O

Адрес электронной почты пользователя

customer_fullName

A..100

O

Ф. И. О. пользователя

customer_address

A..100

O

Адрес пользователя

customer_documentType

A..60

O

Тип документа пользователя

customer_documentSeria

A..60

O

Серия документа пользователя

customer_documentNumber

A..60

O

Номер документа пользователя

Параметры ответа:

Название

Тип

R/O

Описание

customer_id

A..100

R

Идентификатор пользователя

Пример ответа на успешный запрос:

{
         "changed": true
}

CustomerDelete

Запрос удаления пользователя.

Формат запроса: https://{host}.payler.com/{api}/CustomerDelete

Доступно для: gapi, mapi, cgapi, cmapi

Метод отправки запроса: POST

Параметры запроса:

Название

Тип

R/O

Описание

key

A..100

R

Идентификатор мерчанта. Выдается с параметрами доступа

customer_id

A..100

R

Идентификатор пользователя

Параметры ответа:

Название

Тип

R/O

Описание

changed

B

R

Показывает, привёл ли запрос к изменениям в системе.

1 — плательщик был удалён в результате этого запроса,

0 — плательщик был удалён ранее

Пример ответа на успешный запрос:

{
         "changed": true
}

CustomerGetStatus

Проверка регистрации пользователя в системе.

Формат запроса: https://{host}.payler.com/{api}/CustomerGetStatus

Доступно для: gapi, mapi, cgapi, cmapi

Метод отправки запроса: POST

Параметры запроса:

Название

Тип

R/O

Описание

key

A..100

R

Идентификатор мерчанта. Выдается с параметрами доступа

customer_id

A..100

R

Идентификатор пользователя

Параметры ответа:

Название

Тип

R/O

Описание

status

A..10

R

Показывает, активен ли пользователь.

Active — пользователь зарегистрирован в системе. Если пользователь не зарегистрирован, то в ответ на запрос вернется ошибка

Пример ответа на успешный запрос:

{
         "status": "Active"
}

Last updated