API
Общая информация
PSP предоставляет ТСП REST API для проведения финансовых операций.
В запросе ожидаются переданные методом GET или POST (предпочтительно) параметры в формате
application/x-www-form-urlencoded (обычная web-форма). Ответ отправляется в формате application/json.
Структура запроса/ответа унифицирована с целью упростить сборку/парсинг для ТСП.
Каждый запрос на операцию должен пройти аутентификацию посредством передачи подписи sign.
После формирования конечного результата по операции на стороне PSP, будет направлено уведомление (нотификация / callback).
ТСП – торгово-сервисное предприятие. Процессор – банк эквайер. PSP – Pay2me.
Алгоритм взаимодействия плательщика, ТСП и PSP при выполнении платежа
Этапы:
- ТСП инициирует финансовую операцию оплаты (например, method=c2b, fin_instrument=acquiring).
- Плательщик на платежной странице ТСП или PSP вводит реквизиты платежного инструмента (например, банковской карты).
- PSP получает от процессора информацию о необходимости дополнительной аутентификации плательщика (3DS).
- Если дополнительная аутентификация не требуется, PSP возвращает онлайн-ответ, содержащий результат операции, ТСП. При необходимости ТСП отправляется callback, содержащий аналогичную информацию. В случае использования плательщиком платежной страницы PSP, ему отображается страница с результатом операции. На этом взаимодействие завершается.
- Если дополнительная аутентификация требуется, PSP возвращает ТСП онлайн-ответ, содержащий URL, на который необходимо отправить браузер плательщика для прохождения аутентификации. В случае использования плательщиком платежной страницы PSP, происходит автоматический редирект его браузера на данный
- Плательщик проходит дополнительную аутентификацию (ответственность за данный процесс лежит на эквайере и эмитенте).
- После завершения процесса аутентификации, браузер плательщика отправляется на URL PSP. В случае использования плательщиком платежной страницы PSP, ему отображается страница с результатом операции. В противном случае, PSP осуществляет редирект браузера плательщика на URL, указанный в параметре return_url или настроенный статически на стороне PSP. В случае необходимости, PSP отправляет ТСП уведомление (callback), содержащее результат операции. На этом взаимодействие завершается.
Callback - уведомление о результате операции
Если в наборе входных параметров операции присутствует параметр callback_url, система PSP отправит уведомление с результатом операции либо на callback_url, либо на URL, прописанный в настройках ТСП в системе PSP.
Данные в рамках уведомления передаются методом POST. Структура полностью аналогична структуре онлайн-ответа.
PSP осуществляет 3 попытки отправки уведомления, в случае неуспешной доставки с первой. Для получения признака успешной доставки ожидается 200 код HTTP. Тайм-аут на ответ = 20 секунд. Такой же интервал между отправками.
Прежде чем интерпретировать результат уведомления, ТСП обязано проверить подпись. В случае несовпадения подписей, вычисленной ТСП и полученной в уведомлении, ТСП игнорирует данные уведомления.
При наличии у ТСП технической возможности, рекомендуется принимать уведомления только с IP-адресов, указанных PSP.
Аутентификация запроса, подпись
Каждый запрос в API PSP должен быть подписан секретным ключом по алгоритму HMAC-SHA256.
В части ответов API PSP, обязательность подписи распространяется только на callback-уведомление. Подпись онлайн-ответов может быть включена по желанию ТСП.
Секретный ключ выдается при регистрации ТСП в системе PSP вместе с id_client.
Значение hmac-sha256 вычисляется от строки, сформированной на основании параметров запроса/ответа, следующим образом (в строку входят все фактические параметры запроса/ответа, кроме sign, в котором передается подпись, и параметров, в описании которых явно указано, что они не учитываются при вычислении подписи).
Структура мак-строки для генерации подписи:
name1=value1,name2=value2, ...,nameN=valueN
В качестве разделителя выступает запятая, а не амперсанд.
Пример строки для вычисления подписи запроса/ответа:
method=c2b,fin_instrument=acquiring,id_client=test,id_request=e5d50146-04d1- 4071, currency=643, amount=970.0, pan_src=5547810000004672,exp_month_src=03, exp_year_src=2023,cvc_src=123,return_url_success=https:/mysite.com/success,retur n_url_fail=https://mysite.com/fail,callback_url=https://mysite.com/callback
В конце строки запятой нет. Порядок следования пар «имя=значение» соответствует фактическому порядку следования в запросе/ответе.
Если в запросе/ответе имеет место параметр типа «массив», например, «”processor_code”: [25,52]», то в строку для вычисления подписи он войдет следующим образом:
... ,processor_code=25,processor_code=52, ...
Полученное значение hmac-sha256 передается в параметре sign.
Для расчета подписи на стадии интеграции, можно воспользоваться скриптом для POSTMAN:
const params = pm.request.body.urlencoded
let p = []
params.each((element) => {
if (typeof element.disabled == 'undefined' && element.key !== 'sign') {
p.push(element.key+'='+element.value)
}
})
const sig = CryptoJS.HmacSHA256(p.join(','), 'Ваш секретный ключ').toString()
pm.request.body.urlencoded.append({key:'sign', value:sig})
Алгоритм определения результата операции
Ниже приведен алгоритм, который необходимо реализовать на стороне системы ТСП для определения результата операции.
Анализ response_code. Равенство 0 (нулю) означает, что обмен данными между системами PSP и процессора произошел корректно. Неравенство 0 (нулю) означает либо ошибку в процессе подготовки данных для отправки процессору (операция не выполнена), либо получение от процессора некорректного ответа / не получения ответа вовсе (фактический статус операции, при необходимости, может быть запрошен при помощи метода status API PSP).
Анализ state_fin_operation и/или state_fin_operation_parent согласно справочнику для определения статусов текущей и/или родительской операций.
Финансовый результат операции определяется только значением параметра state_fin_operation. Значения authorized и captured являются однозначными признаками успешности операции, declined и failed – неуспешности.
Если response_code не равен 0 (нулю) и state_fin_operation в ответе отсутствует, это означает, что финансовая операция даже не была инициирована (неуспешна).
Если response_code не равен 0 (нулю) и state_fin_operation=unknown, фактический статус операции должен быть запрошен при помощи метода status API PSP.
Финансовые операции
Определение результата финансовой операции
Результатом финансовой операции является движение денежных средств между ее участниками.
Тип финансовой операции определяется совокупностью значений двух параметров запроса: method и fin_instrument.
Например, method=c2b и fin_instrument=acquiring определяет тип финансовой операции «эквайринг», а method=c2b и fin_instrument=transfer – «перевод с банковской карты физического лица на счет юридического лица».
Типы финансовых операций PSP:
Эквайринг (ECOM RETAIL, СБП)
AFT (перевод счет - карта)
ОСТ (выплаты на карту, выплаты через POS-терминал, СБП)
C2C (P2P, перевод карта – карта)
CAPTURE (завершение предавторизации – используется при двустадийной схеме)
CANCEL (отмена)
REFUND (возврат)
Эквайринг - оплата (ecom retail)
Списание денежных средств с банковской карты физического лица в пользу юридического лица (ТСП).
Операция может проводиться по одностадийной или двустадийной схеме. Двустадийная схема подразумевает передачу method_mode = preauth. Метод preauth требует завершения операции методом capture.
Завершение операции рекомендуется проводить в тот же день или не позднее 3-х дней с момента предавторизации. В противном случае банк-эмитент может снять холд или, в зависимости от эквайера, все манипуляции с холдом могут быть ограничены по времени. Период снятия холда зависит от эмитента и варьируется от 3-х до 20-ти дней.
Если у ТСП отсутствует сертификация PCI DSS, можно воспользоваться методом create_order (создание заказа), для предоставления платежной страницы со стороны PSP. Данную ссылку можно передавать клиенту для оплаты. Смотрите раздел «Сервисные операции - Создание заказа»
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение c2b. |
method_mode |
нет |
Значение preauth (предавторизация) означает необходимость вызова метода capture для отправки операции на клиринг. |
fin_instrument |
да |
Должен иметь значение acquiring. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
да |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
desc_public |
да |
Описание операции. Обязательно для прохождения 3ДС. |
desc_private |
нет |
Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности). |
add_info |
нет |
Параметр для передачи дополнительной информации (при наличии у процессора технической возможности). |
pan_src |
да |
PAN карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии. |
exp_month_src |
нет |
Месяц истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии. |
exp_year_src |
нет |
Год истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии. |
cvc_src |
нет |
CVC/CVV/CVP карты плательщика. |
card_token_src |
нет |
Токен карты плательщика. Заменяет параметры: pan_src, exp_month_src, exp_year_src. |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
return_url |
нет |
URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP. |
return_url_success |
нет |
Аналог return_url, используемый только в случае, если операция завершена успешно. |
return_url_fail |
нет |
Аналог return_url, используемый только в случае, если операция завершена неуспешно. |
card_tokenization_mode_src |
нет |
При передаче значения "1", система будет выполнять токенизацию входных данных и создавать рекурренты на основе полученного токена. |
tds_mode |
нет |
Определяет, следует ли использовать 3DS для транзакции. Если задано значение "force", то 3DS будет активирован, в противном случае - нет. |
sign |
да |
Подпись запроса в API. |
sub_merchant_id |
нет |
Идентификатор ТСП, зарегистрированный в НСПК. |
sub_merchant_terminal_id |
нет |
Идентификатор ТСП, зарегистрированный в НСПК. |
facilitator_merchant_name |
нет |
Название ТСП, зарегистрированное в НСПК. |
merchant_inn |
нет |
ИНН ТСП. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test'
--data-urlencode 'method=c2b'
--data-urlencode 'fin_instrument=acquiring'
--data-urlencode 'id_request=10000111'
--data-urlencode 'id_order=10000111'
--data-urlencode 'amount=100'
--data-urlencode 'desc_public=Описание заказа.'
--data-urlencode 'pan_src=4268037339205792'
--data-urlencode 'exp_month_src=07'
--data-urlencode 'exp_year_src=2024'
--data-urlencode 'cvc_src=778'
--data-urlencode 'card_tokenization_mode_src=1'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test",
"id_request": "10000111",
"id_order": "10000111",
"type_fin_operation": "c2b",
"fin_instrument": "acquiring",
"state_fin_operation": "captured",
"amount": 100,
"amount_authorized": 0,
"amount_captured": 100,
"amount_cancelled": 0,
"amount_refunded": 0,
"currency": 643,
"processor_transaction_id": "38E19CEF9BA530CE",
"rrn": "430597021513",
"auth_code": "248648",
"card_pan_masked_src": "426803xxxxxx5792",
"card_payment_system_src": "visa",
"card_issuer_country_src": "rus",
"card_issuer_name_src": "promsvyazbank",
"card_token_src": "740h9jpde9b2wuz3gij3",
"card_token_last_4_src": "5792",
"desc_public": "Описание заказа.",
"response_code": 0,
"response_desc": "success",
"processor_name": "ПромСвязьБанк",
"processor_code": [
0,
0
],
"processor_desc": [
"Approved"
],
"processor_tid": "79036800",
"processor_amount": 100,
"processor_amount_authorized": 0,
"processor_amount_captured": 100,
"processor_amount_cancelled": 0,
"processor_amount_refunded": 0,
"processor_currency": 643,
"sign": " signature "
}
AFT - перевод на карту
Перевод денежных средств со счета банковской карты физического лица на счет юридического лица (ТСП).
Данный тип операции проводится исключительно по двустадийной схеме. Операция требует завершение методом capture.
Завершение операции рекомендуется проводить в тот же день или не позднее 3-х дней с момента предавторизации. В противном случае банк-эмитент может снять холд или, в зависимости от эквайера, все манипуляции с холдом могут быть ограничены по времени. Период снятия холда зависит от эмитента и варьируется от 3-х до 20-ти дней.
Операция проходит с обязательной процедурой 3ДС аутентификации.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение c2b. |
fin_instrument |
да |
Должен иметь значение transfer. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
да |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
desc_public |
да |
Описание операции. Обязательно для прохождения 3ДС. |
desc_private |
нет |
Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности). |
add_info |
нет |
Параметр для передачи дополнительной информации (при наличии у процессора технической возможности). |
pan_src |
да |
PAN карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии. |
exp_month_src |
нет |
Месяц истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии. |
exp_year_src |
нет |
Год истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии. |
cvc_src |
нет |
CVC/CVV/CVP карты плательщика. |
card_token_src |
нет |
Токен карты плательщика. Заменяет параметры: pan_src, exp_month_src, exp_year_src. |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
return_url |
нет |
URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP. |
return_url_success |
нет |
Аналог return_url, используемый только в случае, если операция завершена успешно. |
return_url_fail |
нет |
Аналог return_url, используемый только в случае, если операция завершена неуспешно. |
card_tokenization_mode_src |
нет |
При передаче значения "1", система будет выполнять токенизацию входных данных и создавать рекурренты на основе полученного токена. |
tds_mode |
нет |
Определяет, следует ли использовать 3DS для транзакции. Если задано значение "force", то 3DS будет активирован, в противном случае - нет. |
sign |
да |
Подпись запроса в API. |
sub_merchant_id |
нет |
Идентификатор ТСП, зарегистрированный в НСПК. |
sub_merchant_terminal_id |
нет |
Идентификатор ТСП, зарегистрированный в НСПК. |
facilitator_merchant_name |
нет |
Название ТСП, зарегистрированное в НСПК. |
merchant_inn |
нет |
ИНН ТСП. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test_aft'
--data-urlencode 'method=c2b'
--data-urlencode 'fin_instrument=transfer'
--data-urlencode 'id_request=1000011'
--data-urlencode 'id_order=1000011'
--data-urlencode 'amount=100'
--data-urlencode 'desc_public=Описание заказа.'
--data-urlencode 'pan_src=2201382000000047'
--data-urlencode 'exp_month_src=12'
--data-urlencode 'exp_year_src=2026'
--data-urlencode 'cvc_src=480'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test_aft",
"id_request": "1000011",
"id_order": "1000011",
"type_fin_operation": "c2b",
"fin_instrument": "transfer",
"state_fin_operation": "captured",
"amount": 100,
"amount_authorized": 0,
"amount_captured": 100,
"amount_cancelled": 0,
"amount_refunded": 0,
"currency": 643,
"processor_transaction_id": "38E19CEF9BA530CE",
"rrn": "430597021513",
"auth_code": "248648",
"card_pan_masked_src": "426803xxxxxx5792",
"card_payment_system_src": "visa",
"card_issuer_country_src": "rus",
"card_issuer_name_src": "promsvyazbank",
"card_token_src": "740h9jpde9b2wuz3gij3",
"card_token_last_4_src": "5792",
"desc_public": "Описание заказа.",
"response_code": 0,
"response_desc": "success",
"processor_name": "ПромСвязьБанк",
"processor_code": [
0,
0
],
"processor_desc": [
"Approved"
],
"processor_tid": "33333340",
"processor_amount": 100,
"processor_amount_authorized": 0,
"processor_amount_captured": 100,
"processor_amount_cancelled": 0,
"processor_amount_refunded": 0,
"processor_currency": 643,
"sign": " signature "
}
OCT - выплата на карту
Перевод денежных средств со счета юридического лица (ТСП) на счет банковской карты физического лица. Средства по этой операции не подлежат возврату.
Если у ТСП отсутствует сертификация PCI DSS, можно воспользоваться методом create_order (создание заказа), для ввода карточных данных на стороне PSP. Смотрите раздел «Сервисные операции - Создание заказа»
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение b2c. |
fin_instrument |
да |
Должен иметь значение transfer. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
да |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
desc_public |
нет |
Описание операции. |
desc_private |
нет |
Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности). |
add_info |
нет |
Параметр для передачи дополнительной информации (при наличии у процессора технической возможности). |
pan_dst |
да |
PAN карты получателя. Является обязательным при отсутствии в запросе параметра card_token_dst и не передается при его наличии. |
card_token_dst |
нет |
Токен карты получателя. Заменяет параметр pan_dst. |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
return_url |
нет |
URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP. |
return_url_success |
нет |
Аналог return_url, используемый только в случае, если операция завершена успешно. |
return_url_fail |
нет |
Аналог return_url, используемый только в случае, если операция завершена неуспешно. |
card_tokenization_mode_dst |
нет |
При передаче значения "1", система будет выполнять токенизацию входных данных. |
sign |
да |
Подпись запроса в API. |
first_name_dst |
нет |
Имя получателя. |
last_name_dst |
нет |
Фамилия получателя. |
bank_account_id_src |
нет |
Номер банковского счета отправителя. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test_oct'
--data-urlencode 'method=b2c'
--data-urlencode 'fin_instrument=transfer'
--data-urlencode 'id_request=1000111'
--data-urlencode 'id_order=1000111'
--data-urlencode 'amount=10'
--data-urlencode 'pan_dst=4268037339205792'
--data-urlencode 'card_tokenization_mode_dst=1'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test_oct",
"id_request": "1000111",
"id_order": "1000111",
"type_fin_operation": "b2c",
"fin_instrument": "transfer",
"state_fin_operation": "captured",
"amount": 10,
"amount_authorized": 0,
"amount_captured": 10,
"amount_cancelled": 0,
"amount_refunded": 0,
"currency": 643,
"processor_transaction_id": "9E115A57A6C7F147",
"rrn": "430546009618",
"auth_code": "296791",
"card_pan_masked_dst": "426803xxxxxx5792",
"card_payment_system_dst": "visa",
"card_issuer_country_dst": "rus",
"card_issuer_name_dst": "promsvyazbank",
"card_token_dst": "ix0ftf6uvmltf3izqm8b",
"card_token_last_4_dst": "5792",
"response_code": 0,
"response_desc": "success",
"processor_name": "ПромСвязьБанк",
"processor_code": [
0,
0
],
"processor_desc": [
"Approved"
],
"processor_tid": "22222222",
"processor_amount": 10,
"processor_amount_authorized": 0,
"processor_amount_captured": 10,
"processor_amount_cancelled": 0,
"processor_amount_refunded": 0,
"processor_currency": 643,
"sign": " signature"
}
C2C - P2P перевод
Перевод денежных средств со счета банковской карты одного физического лица на счет банковской карты другого физического лица.
Средства по этой операции не подлежат возврату.
Операция проходит с обязательной процедурой 3ДС аутентификации.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение c2c. |
fin_instrument |
да |
Должен иметь значение transfer. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
да |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
desc_public |
да |
Описание операции. Обязательно для прохождения 3ДС. |
desc_private |
нет |
Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности). |
add_info |
нет |
Параметр для передачи дополнительной информации (при наличии у процессора технической возможности). |
pan_src |
да |
PAN карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии. |
exp_month_src |
нет |
Месяц истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии. |
exp_year_src |
нет |
Год истечения срока действия карты плательщика. Является обязательным при отсутствии в запросе параметра card_token_src и не передается при его наличии. |
cvc_src |
нет |
CVC/CVV/CVP карты плательщика. |
pan_dst |
да |
PAN карты получателя. Является обязательным при отсутствии в запросе параметра card_token_dst и не передается при его наличии. |
card_token_src |
нет |
Токен карты плательщика. Заменяет параметры: pan_src, exp_month_src, exp_year_src. |
card_token_dst |
нет |
Токен карты получателя. Заменяет параметр pan_dst. |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
return_url |
нет |
URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP. |
return_url_success |
нет |
Аналог return_url, используемый только в случае, если операция завершена успешно. |
return_url_fail |
нет |
Аналог return_url, используемый только в случае, если операция завершена неуспешно. |
card_tokenization_mode_dst |
нет |
При передаче значения "1", система будет выполнять токенизацию карты получателя. |
card_tokenization_mode_src |
нет |
При передаче значения "1", система будет выполнять токенизацию карты отправителя. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test_oct'
--data-urlencode 'method=b2c'
--data-urlencode 'fin_instrument=transfer'
--data-urlencode 'id_request=1000111'
--data-urlencode 'id_order=1000111'
--data-urlencode 'amount=10'
--data-urlencode 'pan_dst=4268037339205792'
--data-urlencode 'card_tokenization_mode_dst=1'
--data-urlencode 'sign=signature'
Эквайринг - оплата по СБП
Перевод денежных средств со счета физического лица на счет юридического лица (ТСП) посредством Системы Быстрых Платежей.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение c2b. |
fin_instrument |
да |
Должен иметь значение sbp. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
да |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
desc_public |
нет |
Описание операции. |
desc_private |
нет |
Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности). |
add_info |
нет |
Параметр для передачи дополнительной информации (при наличии у процессора технической возможности). |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
return_url |
нет |
URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP. |
return_url_success |
нет |
Аналог return_url, используемый только в случае, если операция завершена успешно. |
return_url_fail |
нет |
Аналог return_url, используемый только в случае, если операция завершена неуспешно. |
sbp_qr_timeout |
нет |
Срок жизни QR-кода в минутах (минимум 1, максимум 129600). |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test_sbp'
--data-urlencode 'method=c2b'
--data-urlencode 'fin_instrument=sbp'
--data-urlencode 'id_request=10000011'
--data-urlencode 'id_order=10000011'
--data-urlencode 'amount=100'
--data-urlencode 'desc_public=Описание'
--data-urlencode 'sbp_qr_timeout=100'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test_sbp",
"id_request": "10000011",
"id_order": "10000011",
"type_fin_operation": "c2b",
"fin_instrument": "sbp",
"state_fin_operation": "pending",
"amount": 100,
"amount_authorized": 0,
"amount_captured": 0,
"amount_cancelled": 0,
"amount_refunded": 0,
"currency": 643,
"processor_transaction_id": "137751715",
"sbp_qr_id": "BD10005N24F35EFC8GQPPQMU3HN0P86Q",
"sbp_transaction_id": "",
"desc_public": "Описание",
"response_code": 0,
"response_desc": "success",
"processor_name": "ПромСвязьБанк",
"processor_tid": "79036777",
"processor_amount": 100,
"processor_amount_authorized": 0,
"processor_amount_captured": 0,
"processor_amount_cancelled": 0,
"processor_amount_refunded": 0,
"processor_currency": 643,
"sbp_link": "https://qr.nspk.ru/BD10005N24F35EFC8GQPPQMU3HN0P86Q",
"sbp_qr_media_type": "image/png",
"sbp_qr": " iVBORw0KGgoAAAANSUhEUgAAASwAAA…",
"sign": " signature"
}
Эквайринг - оплата по СБП - подписки (привязка счета)
Перевод денежных средств со счета физического лица на счет юридического лица (ТСП) посредством Системы Быстрых Платежей.
Структура запроса ничем не отличается от структуры обычной оплаты, за исключением добавления трех параметров subscription, desc_subscription и card_tokenization_mode_src.
Идентификатор подписки (токен) для последующих платежей будет содержаться в card_token_src при успешно проведенной оплаты.
Непосредственно операция по уже привязанному счету будет осуществляться с передачей параметра card_token_src.
Важно! Прежде чем осуществлять привязку счета, клиент должен дать свое согласие.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение c2b. |
fin_instrument |
да |
Должен иметь значение sbp. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
да |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
desc_public |
нет |
Описание операции. |
desc_private |
нет |
Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности). |
add_info |
нет |
Параметр для передачи дополнительной информации (при наличии у процессора технической возможности). |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
return_url |
нет |
URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP. |
return_url_success |
нет |
Аналог return_url, используемый только в случае, если операция завершена успешно. |
return_url_fail |
нет |
Аналог return_url, используемый только в случае, если операция завершена неуспешно. |
sbp_qr_timeout |
нет |
Срок жизни QR-кода в минутах (минимум 1, максимум 129600). |
subscription |
да |
Должен иметь значение true. |
desc_subscription |
да |
Описание подписки. |
card_tokenization_mode_src |
да |
Должен иметь значение 1. |
sign |
да |
Подпись запроса в API. |
OCT - выплата по СБП
Перевод денежных средств со счета юридического лица (ТСП) на счет физического лица посредством Системы Быстрых Платежей.
Операция может проводиться по одностадийной или двустадийной схеме. Двустадийная схема подразумевает передачу method_mode = 2stage. На первой стадии идет холдирование средств на стороне ТСП. Далее следует подтверждение ФИО получателя средств методом capture.
Завершение операции проводится в течении 3-х минут. В противном случае банк отклонит операцию и средства будут расхолдированы.
Данный вид операции предполагает также использование метода bank_list для получения списка банков участников и их ID для перехода в приложение банка на мобильном устройстве. Смотрите раздел
«Сервисные операции - Запрос списка банков-участников СБП»
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение b2c. |
fin_instrument |
да |
Должен иметь значение sbp. |
method_mode |
нет |
При использовании двустадийной схемы передается значение 2stage. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
да |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
desc_public |
нет |
Описание операции. |
desc_private |
нет |
Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности). |
add_info |
нет |
Параметр для передачи дополнительной информации (при наличии у процессора технической возможности). |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
return_url |
нет |
URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP. |
return_url_success |
нет |
Аналог return_url, используемый только в случае, если операция завершена успешно. |
return_url_fail |
нет |
Аналог return_url, используемый только в случае, если операция завершена неуспешно. |
bank_id_dst |
да |
Идентификатор банка получателя. |
bank_bic_dst |
да |
БИК банка получателя. |
msisdn_dst |
да |
Номер мобильного телефона получателя в международном формате. 7XXXXXXXXXX |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test_sbp_oct'
--data-urlencode 'method=b2c'
--data-urlencode 'method_mode=2stage'
--data-urlencode 'fin_instrument=sbp'
--data-urlencode 'id_request=10000011'
--data-urlencode 'id_order=10000011'
--data-urlencode 'amount=100'
--data-urlencode 'desc_public=Описание'
--data-urlencode 'bank_id_dst=999999999998'
--data-urlencode 'bank_bic_dst=088888887'
--data-urlencode 'msisdn_dst=79990001111'
--data-urlencode 'sign=signature'
OCT - выплата через POS-терминал
Перевод денежных средств со счета юридического лица (ТСП) на счет физического лица.
Поддерживаются выплаты на карту и через систему СБП. Для этого на терминал Android устанавливается специальное приложение Pay2me – уточняйте у тех. поддержки.
Созданный в рамках запроса заказ, можно удалить посредством метода delete_order. Смотрите раздел
«Сервисные операции - Удаление заказа».
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение create_order. |
fin_instrument |
да |
Должен иметь значение transfer. |
method_order |
да |
Должен иметь значение b2c. |
id_client |
да |
Уникальный идентификатор ТСП. |
order_life_time |
нет |
Время жизни заказа в минутах. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
нет |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
desc_public |
нет |
Описание операции. |
desc_private |
нет |
Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности). |
add_info |
нет |
Параметр для передачи дополнительной информации (при наличии у процессора технической возможности). |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test_oct_2'
--data-urlencode 'method_order=b2c'
--data-urlencode 'fin_instrument=transfer'
--data-urlencode 'order_life_time=20'
--data-urlencode 'id_request=1000111'
--data-urlencode 'id_order=1000111'
--data-urlencode 'amount=10'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test_oct_2",
"id_request": "1000111",
"id_order": "1000111",
"type_fin_operation": "b2c",
"fin_instrument": "transfer",
"state_fin_operation": "initiated",
"amount": 10,
"amount_authorized": 0,
"amount_captured": 0,
"amount_cancelled": 0,
"amount_refunded": 0,
"currency": 643,
"processor_transaction_id": "",
"rrn": "",
"auth_code": "",
"desc_public": "Описание",
"response_code": 0,
"response_desc": "success",
"processor_amount": 10,
"processor_amount_authorized": 0,
"processor_amount_captured": 0,
"processor_amount_cancelled": 0,
"processor_amount_refunded": 0,
"processor_currency": 643,
"sign": " signature"
}
Завершение предавторизации - CAPTURE
Завершение операции рекомендуется проводить в тот же день или не позднее 3-х дней с момента предавторизации. В противном случае банк-эмитент может снять холд или, в зависимости от эквайера, все манипуляции с холдом могут быть ограничены по времени. Период снятия холда зависит от эмитента и варьируется от 3-х до 20-ти дней.
Завершение можно провести частичное, но только один раз. Остаток будет расхолдирован.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение capture. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_request_parent |
нет |
Уникальный идентификатор запроса родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_order_parent. |
id_order_parent |
нет |
Уникальный идентификатор заказа родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_request_parent. |
id_order |
нет |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'method=capture'
--data-urlencode 'id_client= test'
--data-urlencode 'id_request= 1200001112'
--data-urlencode 'id_order_parent= 120000111'
--data-urlencode 'amount=100'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test",
"id_request": "1200001112",
"id_order": "120000111",
"id_request_parent": "120000111",
"id_order_parent": "120000111", "type_fin_operation": "capture",
"fin_instrument": "acquiring", "state_fin_operation": "captured",
"amount": 100,
"amount_authorized": 0,
"amount_captured": 0,
"amount_cancelled": 0,
"amount_refunded": 0,
"currency": 643,
"processor_transaction_id": "12D712BBB8CD023E",
"rrn": "431591364878",
"auth_code": "262475",
"card_pan_masked_src": "554781xxxxxx6817",
"type_fin_operation_parent": "c2b",
"fin_instrument_parent": "acquiring",
"state_fin_operation_parent": "captured",
"amount_parent": 100,
"amount_authorized_parent": 0,
"amount_captured_parent": 100,
"amount_cancelled_parent": 0,
"amount_refunded_parent": 0,
"currency_parent": 643,
"processor_transaction_id_parent": "9363EF4CACE3A695",
"rrn_parent": "431591364878",
"auth_code_parent": "262475",
"card_pan_masked_src_parent": "554781xxxxxx6817",
"card_payment_system_src_parent": "mastercard (ipm)",
"card_issuer_country_src_parent": "rus",
"card_issuer_name_src_parent": "promsvyazbank",
"card_token_src_parent": "ao1y8fb2i7gmfgnvqr1z",
"card_token_last_4_src_parent": "6817",
"response_code": 0,
"response_desc": "success",
"processor_name": "ПромСвязьБанк",
"processor_code": [
0,
0
],
"processor_desc": [
"Approved"
],
"processor_tid": "79036800",
"processor_amount": 100,
"processor_amount_authorized": 0,
"processor_amount_captured": 0,
"processor_amount_cancelled": 0,
"processor_amount_refunded": 0,
"processor_currency": 643,
"processor_code_parent": [
0,
0
],
"processor_desc_parent": [
"Approved"
],
"processor_tid_parent": "79036800",
"processor_amount_parent": 100,
"processor_amount_authorized_parent": 0,
"processor_amount_captured_parent": 100,
"processor_amount_cancelled_parent": 0,
"processor_amount_refunded_parent": 0,
"processor_currency_parent": 643,
"sign": " signature "
}
Отмена / Возврат
ОТМЕНА. Полная или частичная разблокировка денежных средств на счете плательщика, заблокированных в результате родительской операции. Применима к операциям в статусе authorized.
В рамках предавторизации можно совершить только одну отмену.
ВОЗВРАТ. Полный или частичный возврат денежных средств на счет плательщика, списанных в результате родительской операции. Применим к операциям в статусе captured.
Конкретные нюансы реализации (срок возврата/ разблокировки средств, возможность частичного возврата/ разблокировки средств) зависят от процессора.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение cancel для отмен и refund для возвратов. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_request_parent |
нет |
Уникальный идентификатор запроса родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_order_parent. |
id_order_parent |
нет |
Уникальный идентификатор заказа родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_request_parent. |
id_order |
нет |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'method=refund'
--data-urlencode 'id_client= test'
--data-urlencode 'id_request= 12000011122'
--data-urlencode 'id_order_parent= 120000111'
--data-urlencode 'amount=100'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test",
"id_request": "12000011122",
"id_order": "120000111",
"id_request_parent": "120000111",
"id_order_parent": "120000111",
"type_fin_operation": "refund",
"fin_instrument": "acquiring",
"state_fin_operation": "captured",
"amount": 100,
"amount_authorized": 0,
"amount_captured": 0,
"amount_cancelled": 0,
"amount_refunded": 0,
"currency": 643,
"processor_transaction_id": "9363EF4CACE3A695",
"rrn": "431591364878",
"auth_code": "262475",
"card_pan_masked_src": "554781xxxxxx6817",
"type_fin_operation_parent": "c2b",
"fin_instrument_parent": "acquiring",
"state_fin_operation_parent": "refunded",
"amount_parent": 100,
"amount_authorized_parent": 0,
"amount_captured_parent": 0,
"amount_cancelled_parent": 0,
"amount_refunded_parent": 100,
"currency_parent": 643,
"processor_transaction_id_parent": "9363EF4CACE3A695",
"rrn_parent": "431591364878",
"auth_code_parent": "262475",
"card_pan_masked_src_parent": "554781xxxxxx6817",
"card_payment_system_src_parent": "mastercard (ipm)",
"card_issuer_country_src_parent": "rus",
"card_issuer_name_src_parent": "promsvyazbank",
"card_token_src_parent": "ao1y8fb2i7gmfgnvqr1z",
"card_token_last_4_src_parent": "6817",
"response_code": 0,
"response_desc": "success",
"processor_name": "ПромСвязьБанк",
"processor_code": [
0,
0
],
"processor_desc": [
"Approved"
],
"processor_tid": "79036800",
"processor_amount": 100,
"processor_amount_authorized": 0,
"processor_amount_captured": 0,
"processor_amount_cancelled": 0,
"processor_amount_refunded": 0,
"processor_currency": 643,
"processor_code_parent": [
0,
0
],
"processor_desc_parent": [
"Approved"
],
"processor_tid_parent": "79036800",
"processor_amount_parent": 100,
"processor_amount_authorized_parent": 0,
"processor_amount_captured_parent": 0,
"processor_amount_cancelled_parent": 0,
"processor_amount_refunded_parent": 100,
"processor_currency_parent": 643,
"sign": " signature"
}
Рекуррент - операция по сохраненным реквизитам карты
Данный вид операции на стороне PSP подразумевает передачу параметра card_tokenization_mode_src = 1 в первичной операции оплаты, именуемая в дальнейшем «привязочная операция».
Все последующие операции в рамках цепочки передаются с токеном (параметр card_token_src).
О поддержке рекуррентных операций на стороне конкретного эквайера – уточняйте у службы тех. поддержки Pay2me.
Сервисные операции
Определение сервисной операции
Результатом сервисной операции является получение информации или выполнение какого-либо технического действия в рамках системы PSP. Выполнение сервисной операции не приводит к движению денежных средств. Тип сервисной операции определяется значением параметра запроса method.
Запрос статуса операции
Получение информации о состоянии финансовой операции (родительская операция).
Все параметры, содержащие приписку _parent в ответе на запрос, относятся к информации по запрашиваемой (родительской) операции.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение status. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
нет |
Уникальный идентификатор заказа. |
id_request_parent |
нет |
Уникальный идентификатор запроса родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_order_parent. |
id_order_parent |
нет |
Уникальный идентификатор заказа родительской операции. В случае отсутствия данного параметра в запросе, обязательным является наличие id_request_parent. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test'
--data-urlencode 'method=status'
--data-urlencode 'id_request=111000111'
--data-urlencode 'id_order_parent=10000111'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test",
"id_request": "111000111",
"id_request_parent": "10000111",
"id_order_parent": "10000111",
"type_fin_operation_parent": "c2b",
"fin_instrument_parent": "acquiring",
"state_fin_operation_parent": "captured",
"amount_parent": 100,
"amount_authorized_parent": 0,
"amount_captured_parent": 100,
"amount_cancelled_parent": 0,
"amount_refunded_parent": 0,
"currency_parent": 643,
"processor_transaction_id_parent": "38E19CEF9BA530CE",
"rrn_parent": "430597021513",
"auth_code_parent": "248648",
"card_pan_masked_src_parent": "426803xxxxxx5792",
"card_payment_system_src_parent": "visa",
"card_issuer_country_src_parent": "rus",
"card_issuer_name_src_parent": "promsvyazbank",
"card_token_src_parent": "740h9jpde9b2wuz3gij3",
"card_token_last_4_src_parent": "5792",
"response_code": 0,
"response_desc": "success",
"processor_name": "ПромСвязьБанк",
"processor_code_parent": [
0,
0
],
"processor_desc_parent": [
"Approved"
],
"processor_tid_parent": "79036800",
"processor_amount_parent": 100,
"processor_amount_authorized_parent": 0,
"processor_amount_captured_parent": 100,
"processor_amount_cancelled_parent": 0,
"processor_amount_refunded_parent": 0,
"processor_currency_parent": 643,
"sign": " signature"
}
Запрос баланса
Запрос баланса счета ТСП (при наличии у процессора технической возможности, как правило используется для запроса баланса счета, с которого совершаются выплаты).
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение balance. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
нет |
Уникальный идентификатор заказа. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test_oct'
--data-urlencode 'method=balance'
--data-urlencode 'id_request=111000111'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test_oct",
"id_request": "111000111",
"response_code": 0,
"response_desc": "success",
"processor_name": "ПромСвязьБанк",
"processor_tid": "22222222",
"balance": "999282252.16",
"sign": " signature"
}
Запрос списка банков-участников СБП
Получение актуального списка банков-участников Системы Быстрых Платежей.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение bank_list. |
fin_instrument |
да |
Должен иметь значение sbp. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
нет |
Уникальный идентификатор заказа. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'method=bank_list'
--data-urlencode 'fin_instrument=sbp'
--data-urlencode 'id_client=test_sbp_oct'
--data-urlencode 'id_request=111000111'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test_sbp_oct",
"id_request": "111000111",
"response_code": 0,
"response_desc": "success",
"processor_name": "ПромСвязьБанк",
"processor_tid": "22222222",
"bank_list": [
{
"bankId": "100000000022",
"bankName": "ЯНДЕКС.ДЕНЬГИ",
"bankBic": "044525444"
},
{
"bankId": "188888888885",
"bankName": "Золотой Банк",
"bankBic": "044525600"
}, …
],
"sign": " signature"
}
Создание заказа
Создание в системе PSP заказа, который впоследствии может быть оплачен посредством платежной страницы на стороне PSP.
Платежная ссылка приходит в параметре payment_page_url.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение create_order. |
method_mode |
нет |
Значение preauth (предавторизация) означает необходимость вызова метода capture для отправки операции на клиринг. |
method_order |
нет |
Передается в рамках выплаты со значением b2c. |
fin_instrument |
да |
Финансовый инструмент, определяет конкретный способ реализации платежного метода. |
payment_page_method |
нет |
Выбор методов оплаты, которые будут отражены на платежной странице. Передается в виде массива JSON. Возможные значения: ["card","sbp","mts_pay","mir_pay"] |
payment_page_session_life_time |
нет |
Передача желаемого времени жизни платежной ссылки в минутах (от 1 минуты до 365 дней). Значение в минутах. |
sbp_qr_timeout |
нет |
Срок жизни QR-кода в минутах (минимум 1, максимум 129600). |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order |
да |
Уникальный идентификатор заказа. |
amount |
да |
Сумма операции. |
currency |
нет |
ISO-код валюты операции. |
desc_public |
да |
Описание операции. Обязательно для прохождения 3ДС. |
desc_private |
нет |
Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности). |
add_info |
нет |
Параметр для передачи дополнительной информации (при наличии у процессора технической возможности). |
card_token_src |
нет |
Токен карты плательщика. Заменяет параметры: pan_src, exp_month_src, exp_year_src. |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
return_url |
нет |
URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP. |
return_url_success |
нет |
Аналог return_url, используемый только в случае, если операция завершена успешно. |
return_url_fail |
нет |
Аналог return_url, используемый только в случае, если операция завершена неуспешно. |
card_tokenization_mode_src |
нет |
При передаче значения "1", система будет выполнять токенизацию входных данных и создавать рекурренты на основе полученного токена. |
tds_mode |
нет |
Определяет, следует ли использовать 3DS для транзакции. Если задано значение "force", то 3DS будет активирован, в противном случае - нет. |
sign |
да |
Подпись запроса в API. |
sub_merchant_id |
нет |
Идентификатор ТСП, зарегистрированный в НСПК. |
sub_merchant_terminal_id |
нет |
Идентификатор ТСП, зарегистрированный в НСПК. |
facilitator_merchant_name |
нет |
Название ТСП, зарегистрированное в НСПК. |
merchant_inn |
нет |
ИНН ТСП. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test'
--data-urlencode 'method=create_order'
--data-urlencode 'method_mode=preauth'
--data-urlencode 'fin_instrument=acquiring'
--data-urlencode 'id_request=2220000333'
--data-urlencode 'id_order=2220000333'
--data-urlencode 'payment_page_method=["card","sbp"]'
--data-urlencode 'sbp_qr_timeout=1440'
--data-urlencode 'payment_page_session_life_time=1440'
--data-urlencode 'amount=100'
--data-urlencode 'desc_public=Описание'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test",
"id_request": "2220000333",
"id_order": "2220000333",
"type_fin_operation": "c2b",
"fin_instrument": "acquiring",
"state_fin_operation": "initiated",
"amount": 100,
"amount_authorized": 0,
"amount_captured": 0,
"amount_cancelled": 0,
"amount_refunded": 0,
"currency": 643,
"processor_transaction_id": "",
"rrn": "",
"auth_code": "",
"desc_public": "Описание",
"response_code": 0,
"response_desc": "success",
"processor_amount": 100,
"processor_amount_authorized": 0,
"processor_amount_captured": 0,
"processor_amount_cancelled": 0,
"processor_amount_refunded": 0,
"processor_currency": 643,
"payment_page_url": "https://api.pay2me.com/public/?id=payment_page&id_payment_page_session=uwzu0nzo3kr4cnea",
"sign": " signature "
}
Создание ссылки на опату заказа
Метод используется для создания новой ссылки взамен ссылки с истекшим сроком действия или взамен ссылки, по которой имела место неуспешная попытка оплаты заказа.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение create_payment_page_url. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_request_parent |
нет |
Уникальный идентификатор запроса родительской операции, для которой создается ссылка на оплату. В случае отсутствия данного параметра в запросе, обязательным является наличие id_order_parent. |
id_order_parent |
нет |
Уникальный идентификатор заказа родительской операции, для которой создается ссылка на оплату. В случае отсутствия данного параметра в запросе, обязательным является наличие id_request_parent. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test'
--data-urlencode 'method=create_payment_page_url'
--data-urlencode 'id_request=2220000333'
--data-urlencode 'id_order_parent=22200003333'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test",
"id_request": "2220000333",
"id_order": "22200003333",
"type_fin_operation": "c2b",
"fin_instrument": "acquiring",
"state_fin_operation": "initiated",
"amount": 100,
"amount_authorized": 0,
"amount_captured": 0,
"amount_cancelled": 0,
"amount_refunded": 0,
"currency": 643,
"processor_transaction_id": "",
"rrn": "",
"auth_code": "",
"desc_public": "Описание",
"response_code": 0,
"response_desc": "success",
"processor_amount": 100,
"processor_amount_authorized": 0,
"processor_amount_captured": 0,
"processor_amount_cancelled": 0,
"processor_amount_refunded": 0,
"processor_currency": 643,
"payment_page_url": "https://api.pay2me.com/public/?id=payment_page&id_payment_page_session=uwzu0nzo3kr4cnea",
"sign": " signature "
}
Удаление заказа
Удаление ранее созданного неоплаченного заказа.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение delete_order. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_request_parent |
нет |
Уникальный идентификатор запроса родительской операции, для которой создается ссылка на оплату. В случае отсутствия данного параметра в запросе, обязательным является наличие id_order_parent. |
id_order_parent |
нет |
Уникальный идентификатор заказа родительской операции, для которой создается ссылка на оплату. В случае отсутствия данного параметра в запросе, обязательным является наличие id_request_parent. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test'
--data-urlencode 'method=delete_order'
--data-urlencode 'id_request=2220000333'
--data-urlencode 'id_order_parent=22200003333'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test",
"id_request": "2220000444",
"id_request_parent": "2220003333",
"id_order_parent": "22200003333",
"type_fin_operation_parent": "c2b",
"fin_instrument_parent": "acquiring",
"state_fin_operation_parent": "deleted",
"amount_parent": 100,
"amount_authorized_parent": 0,
"amount_captured_parent": 0,
"amount_cancelled_parent": 0,
"amount_refunded_parent": 0,
"currency_parent": 643,
"processor_transaction_id_parent": "",
"rrn_parent": "",
"auth_code_parent": "",
"response_code": 0,
"response_desc": "success",
"processor_amount_parent": 100,
"processor_amount_authorized_parent": 0,
"processor_amount_captured_parent": 0,
"processor_amount_cancelled_parent": 0,
"processor_amount_refunded_parent": 0,
"processor_currency_parent": 643,
"payment_page_url": "https://api.pay2me.com/public/?id=payment_page&id_payment_page_session=7adagynuyq8047tm",
"sign": " signature "
}
Токенизация карты без проведения финансовой операции
В ответе на запрос будет отдан токен или страница для заполнения клиентом своих карточных данных.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение: create_card_token – при передачи карточных данных с запросом; create_order – создание ссылки на страницу для заполнения клиентом своих карточных данных. |
method_order |
нет |
Должен иметь значение create_card_token, если используется метод create_order, в противном случае не передается. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
pan_src |
нет |
PAN карты плательщика. |
exp_month_src |
нет |
Месяц истечения срока действия карты плательщика. |
exp_year_src |
нет |
Год истечения срока действия карты плательщика. |
pan_dst |
нет |
PAN карты получателя. |
callback_url |
нет |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test_create_card_token '
-data-urlencode 'method=create_card_token'
--data-urlencode 'pan_src=4762085995973998'
--data-urlencode 'exp_month_src=12'
--data-urlencode 'exp_year_src=2024'
--data-urlencode 'id_request=1110006667'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test_create_card_token",
"id_request": "1110006667",
"card_payment_system_src": "visa",
"card_issuer_country_src": "rus",
"card_issuer_name_src": "promsvyazbank",
"card_token_src": "m06mx6nkey2me9trpnyw",
"card_token_last_4_src": "3998",
"response_code": 0,
"response_desc": "success",
"sign": " signature "
}
Удаление токена
Запрос справки об успешности операции выплата (только для эквайера ПСБ)
Справка на стороне эквайера может сформироваться не сразу с момента получения финального результата операции. Срок ожидания до 30 минут. Ссылка на справку будет отдана в параметре inform_letter_url.
Параметры запроса
Название параметра | Обязательный | Описание |
---|---|---|
method |
да |
Должен иметь значение inform_letter. |
id_client |
да |
Уникальный идентификатор ТСП. |
id_request |
да |
Уникальный идентификатор запроса в API. |
id_order_parent |
да |
Уникальный идентификатор заказа родительской операции. |
sign |
да |
Подпись запроса в API. |
Пример запроса
curl --location 'https://api.pay2me.com/psp'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'id_client=test_oct'
--data-urlencode 'method=inform_letter'
--data-urlencode 'id_request=111000555'
--data-urlencode 'id_order_parent=111000666'
--data-urlencode 'sign=signature'
Пример ответа
{
"id_client": "test",
"id_request": "111000555",
"id_request_parent": "111222555",
"id_order_parent": "111000666",
"type_fin_operation_parent": "b2c",
"fin_instrument_parent": "transfer",
"state_fin_operation_parent": "captured",
"amount_parent": 100,
"amount_authorized_parent": 0,
"amount_captured_parent": 100,
"amount_cancelled_parent": 0,
"amount_refunded_parent": 0,
"currency_parent": 643,
"processor_transaction_id_parent": "7EAF9FDC95D9AE2B",
"rrn_parent": "425647774310",
"auth_code_parent": "232010",
"card_pan_masked_dst_parent": "536829xxxxxx8643",
"card_payment_system_dst_parent": "mastercard (ipm)",
"card_issuer_country_dst_parent": "",
"card_issuer_name_dst_parent": "",
"response_code": 0,
"response_desc": "success",
"processor_name": "ПромСвязьБанк",
"processor_tid": "30191614",
"processor_code_parent": [
0,
0
],
"processor_desc_parent": [
"Approved"
],
"processor_tid_parent": "30191614",
"processor_amount_parent": 100,
"processor_amount_authorized_parent": 0,
"processor_amount_captured_parent": 100,
"processor_amount_cancelled_parent": 0,
"processor_amount_refunded_parent": 0,
"processor_currency_parent": 643,
"inform_letter_url": "https://3ds.payment.ru/B2C/inform_letter/1731245552d2nJMhbn3Gw.html",
"sign": " signature "
}
Передача фискальных данных – RECEIPT
Передача фискальных данных. Передается в составе основного запроса на операцию. Строка в формате JSON.
Структура параметра RECEIPT
receipt =
{
"params": { // параметры чека
"customer_contact":"Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. ",
"tax_mode":"TAX_MODE_SIMPLIFIED_INCOME_MINUS_EXPENSE"
"place":"www.site.ru"
"document_type":"DOCUMENT_TYPE_DEBIT"
},
"items":[ // позиции чека
{
"price":"9999.99",
"description":"Оплата курса 1",
"pay_attribute": "PAY_ATTRIBUTE_FULL_PAYMENT"
"line_attribute": "LINE_ATTRIBUTE_SERVICE"
"tax_id":"TAX_ID_VAT_20"
},
{
"price":"20010.52",
"description":"Оплата курса 2",
"qty":2
"agent_mode":"AGENT_MODE_BANK_AGENT",
"agent_data": {
"phone":"+7XXXXXXXXXX",
"operation":"выдача наличных"
}
"supplier_data":{
"phone":"+7XXXXXXXXXX",
"name":"Иванов Иван Иванович"
"inn":"10-12 chars"
}
}
],
"payments": { // не обязательно, суммарные значения
"cash":9999.99,
"non_cash":20010.52,
"advance_payment":5000.00,
"credit":1000.00,
"consideration":500.00
}
}
Описание параметров
Название параметра | Описание |
---|---|
customer_contact |
E-mail или телефон в формате +7XXXXXXXXXX, на который придет чек |
tax_mode |
Режим налогообложения. Не обязательное, по умолчанию берется из кассы либо из настроек шлюза |
place |
Параметр места расчетов, по умолчанию то, которое заданно при регистрации кассы в этом поле можно указать адрес сайта либо физический адрес |
document_type |
Тип чека, по умолчанию значение в зависимости от типа операции, разрешенной на терминале |
price |
Сумма |
description |
Название товарной позиции |
pay_attribute |
Признак способа расчёта. По умолчанию PAY_ATTRIBUTE_FULL_PAYMENT |
line_attribute |
Признак предмета расчёта. По умолчанию LINE_ATTRIBUTE_SERVICE |
tax_id |
Ставка НДС. По умолчанию TAX_ID_NO_VAT |
qty |
Количество, 1 - если не указывать |
agent_mode |
Признак агента. Поле не обязательно. |
agent_data |
Если установлено agent_mode |
phone |
Телефон агента в формате +7XXXXXXXXXX |
operation |
Описание операции |
supplier_data |
Данные поставщика |
name |
Название поставщика |
inn |
ИНН поставщика |
cash |
Сумма оплаты наличными |
non_cash |
Сумма безналичной оплаты |
advance_payment |
Предварительная оплата (зачет аванса и (или) предыдущих платежей) |
credit |
Постоплата, указывается общая сумма рассрочки, применяется только для первого платежа (если в items есть хотя бы один элемент pay_attribute со значением "PAY_ATTRIBUTE_PARTIAL_PAYMENT") |
consideration |
Сумма оплаты встречным предоставлением |
Таблица допустимых констант
Значение | Описание |
---|---|
Ставка НДС |
|
TAX_ID_VAT_20 |
Ставка НДС 20% |
TAX_ID_VAT_10 |
Ставка НДС 10% |
TAX_ID_VAT_7 |
Ставка НДС 7% |
AX_ID_VAT_5 |
Ставка НДС 5% |
TAX_ID_BET_20_120 |
Ставка НДС расч. 20/120 |
TAX_ID_BET_10_110 |
Ставка НДС расч. 10/110 |
TAX_ID_BET_7_107 |
Ставка НДС расч. 7/107 |
TAX_ID_BET_5_10 |
Ставка НДС расч. 5/10 |
TAX_ID_VAT_0 |
Ставка НДС 0% |
TAX_ID_NO_VAT |
НДС не облагается |
Режим налогообложения |
|
TAX_MODE_COMMON |
Общая, ОСН |
TAX_MODE_SIMPLIFIED_INCOME |
Упрощенная доход, УСН доход |
TAX_MODE_SIMPLIFIED_INCOME_MINUS_EXPENSE |
Упрощенная доход минус расход, УСН доход - расход |
TAX_MODE_SINGLE_AGRICULTURAL_TAX |
Единый сельскохозяйственный налог, ЕСН |
TAX_MODE_PATENT_TAXATION |
Патентная система налогообложения, Патент |
Признак способа расчёта |
|
PAY_ATTRIBUTE_FULL_PREPAYMENT |
Предоплата 100% |
PAY_ATTRIBUTE_PREPAYMENT |
Частичная предоплата |
PAY_ATTRIBUTE_ADVANCE |
Аванс |
PAY_ATTRIBUTE_FULL_PAYMENT |
Полный расчет |
PAY_ATTRIBUTE_PARTIAL_PAYMENT |
Частичный расчет и кредит |
PAY_ATTRIBUTE_CREDIT |
Передача в кредит |
PAY_ATTRIBUTE_CREDIT_PAYMENT |
Оплата кредита |
Признак агента |
|
AGENT_MODE_BANK_AGENT |
Банковский платежный агент |
AGENT_MODE_BANK_SUBAGENT |
Банковский платежный субагент |
AGENT_MODE_PAYMENT_AGENT |
Платежный агент |
AGENT_MODE_PAYMENT_SUBAGENT |
Платежный субагент |
AGENT_MODE_ATTORNEY |
Поверенный |
AGENT_MODE_COMMISSION |
Комиссионер |
AGENT_MODE_ANOTHER |
Иной агент |
Признак предмета расчёта |
|
LINE_ATTRIBUTE_GOODS |
Товар |
LINE_ATTRIBUTE_EXCISABLE |
Подакцизный товар |
LINE_ATTRIBUTE_WORK |
Работа |
LINE_ATTRIBUTE_SERVICE |
Услуга |
LINE_ATTRIBUTE_BETTING |
Ставка азартной игры |
LINE_ATTRIBUTE_BETTING_WIN |
Выигрыш азартной игры |
LINE_ATTRIBUTE_LOTTERY |
Лотерейный билет |
LINE_ATTRIBUTE_LOTTERY_WIN |
Выигрыш лотереи |
LINE_ATTRIBUTE_GRANTING_RIGHTS |
Предоставление РИД |
LINE_ATTRIBUTE_PREPAID |
Платеж |
LINE_ATTRIBUTE_REWARD |
Агентское вознаграждение |
LINE_ATTRIBUTE_ITEMS |
Выплата |
LINE_ATTRIBUTE_NON_ITEMS |
Иной предмет расчета |
LINE_ATTRIBUTE_TRANSFER_PROPERTY_RIGHTS |
Имущественное право |
LINE_ATTRIBUTE_NON_OPERATING_INCOME |
Внереализационный доход |
LINE_ATTRIBUTE_TAX_REDUCTION |
Иные платежи и взносы |
LINE_ATTRIBUTE_TRADE_FEE |
Торговый сбор |
LINE_ATTRIBUTE_RESORT_FEE |
Курортный сбор |
LINE_ATTRIBUTE_DEPOSIT |
Залог |
LINE_ATTRIBUTE_EXPENSE |
Расход |
LINE_ATTRIBUTE_OPS_IP |
Взносы на обязательное пенсионное страхование ИП |
LINE_ATTRIBUTE_OPS |
Взносы на обязательное пенсионное страхование |
LINE_ATTRIBUTE_OMS_IP |
Взносы на обязательное медицинское страхование ИП |
LINE_ATTRIBUTE_OMS |
Взносы на обязательное медицинское страхование |
LINE_ATTRIBUTE_OSS |
Взносы на обязательное социальное страхование |
LINE_ATTRIBUTE_CASINO |
Платеж казино |
LINE_ATTRIBUTE_PAYMENT |
Выдача денежных средств |
LINE_ATTRIBUTE_ATNM |
АТНМ (не имеющем кода маркировки) |
LINE_ATTRIBUTE_ATM |
АТМ (имеющем код маркировки) |
LINE_ATTRIBUTE_TNM |
ТНМ |
LINE_ATTRIBUTE_TM |
ТМ |
Тип чека |
|
DOCUMENT_TYPE_DEBIT |
Приход |
DOCUMENT_TYPE_DEBIT_REFUND |
Возврат прихода |
DOCUMENT_TYPE_CREDIT |
Расход |
Справочник статусов финансовой операции
Статус | Описание |
---|---|
initiated |
Инициирована. Запрос на выполнение операции прошел первичные проверки (корректность входных параметров и подпись) и начал обрабатываться API PSP. |
input_data_waiting |
Ожидание входных данных. Например, ожидание ввода данных карты на платежной форме. |
pending |
В обработке на стороне процессора. Конечный результат операции на момент данного статуса неизвестен. |
auth_ext_ready |
Готова к внешней аутентификации. ТСП отправлены данные, необходимые для инициации процедуры аутентификации плательщика (3DS). |
auth_ext_started |
Внешняя аутентификация началась. Плательщик стартовал процедуру аутентификации (3DS). |
auth_ext_finished |
Внешняя аутентификация завершилась. Плательщик завершил процедуру аутентификации (3DS). Ее результат на момент данного статуса неизвестен. |
authorized |
Авторизована, ожидает подтверждения. Денежные средства в размере суммы операции заморожены на счете плательщика. Для отправки операции на клиринг необходимо дополнительное подтверждение. Данный статус является однозначным признаком успешности операции. |
captured |
Подтверждена, готова к возмещению. Операция будет отправлена процессором на клиринг при ближайшей возможности (определяется процессором). Данный статус является однозначным признаком успешности операции. |
cancelled_partially |
Отменена частично. Клиринг по операции будет произведен на сумму, меньшую оригинальной суммы операции. |
cancelled |
Отменена. Клиринг по операции произведен не будет. |
refunded_partially |
Возвращена частично. Плательщику будет возвращена часть оригинальной суммы операции. |
refunded |
Возвращена. Плательщику будет возвращена вся сумма операции. |
declined |
Отклонена процессором. Причина отклонения может быть определена на основании значений параметров processor_code и processor_desc. |
failed |
Отклонена PSP. Причина отклонения может быть определена на основании значений параметров response_code и response_desc. |
unknown |
Нет информации о статусе. Данный статус имеет место при возникновении нештатных ситуаций в процессе коммуникации PSP и процессора. Например, если PSP не получил ответ от процессора (таймаут). В таких ситуациях рекомендуется использовать метод status API PSP для определения фактического статуса операции. |
expired |
Просрочена. Операция достигла истечения срока действия без завершения или подтверждения. |
deleted |
Заказ удален. Возвращается при использовании сервисной операции delete_order. |
Справочник кодов ошибок PSP
В случае возникновения ошибки в процессе обработки запроса на стороне системы PSP, в ответе в обязательном порядке присутствуют следующие значения параметров:
response_code, не равный 0 (нулю), позволяет определить тип ошибки,
response_desc, не равный “success”, позволяет определить причину ошибки, состоит из трех частей, разделенных символом “|” (вертикальная черта):
- общее сообщение – соответствует коду ошибки и позволяет быстрее определить тип ошибки,
- место возникновения (может отсутствовать в зависимости от настроек на стороне системы PSP) – указывает на модуль и функцию, где произошла ошибка (информация имеет ценность исключительно для службы технической поддержки PSP),
- детализация – содержит детальную информацию об ошибке.
Код | Общее сообщение | Описание |
---|---|---|
Общие уровня системы |
||
100000 |
DB CONNECT ERROR |
Ошибка подключения к БД PSP |
100001 |
DB QUERY ERROR |
Ошибка исполнения запроса к БД PSP |
100002 |
INPUT DATA ERROR |
Ошибка входных данных |
100003 |
INTERNAL ERROR |
Внутренняя ошибка |
100004 |
NOT FOUND |
Сущность не найдена |
100005 |
CLIENT AUTH ERROR |
Ошибка аутентификации клиента |
Ошибки уровня службы |
||
101000 |
INTERNAL ERROR |
Ошибка подключения к БД PSP |
101001 |
NOT FOUND |
Ошибка исполнения запроса к БД PSP |
101002 |
SECURITY VIOLATION |
Ошибка входных данных |
101003 |
INPUT DATA ERROR |
Внутренняя ошибка |
101005 |
DUPLICATE ID |
Сущность не найдена |
Ошибки уровня интерфейса |
||
102000 |
INTERNAL ERROR |
Внутренняя ошибка |
102001 |
NOT FOUND |
Сущность не найдена |
102002 |
REQUEST OUT DATA ERROR |
Ошибка в данных исходящего запроса |
102003 |
RESPONSE OUT DATA ERROR |
Ошибка в данных исходящего ответа |
102004 |
REQUEST IN DATA ERROR |
Ошибка в данных входящего запроса |
102005 |
RESPONSE IN DATA ERROR |
Ошибка в данных входящего ответа |
102006 |
SECURITY VIOLATION |
Ошибка безопасности |
102007 |
NPUT DATA ERROR |
Ошибка входных данных |
Ошибки уровня сущности |
||
103000 |
INTERNAL ERROR |
Внутренняя ошибка |
103001 |
NOT FOUND |
Сущность не найдена |
Ошибки уровня HTTP |
||
104000 |
HTTP REQUEST ERROR |
Ошибка при выполнении HTTP-запроса. Как правило, возникает при коммуникационных проблемах между системами PSP и процессора. |
Справочник кодов ошибок процессора (ISO8583)
Если кодировка ошибок на стороне системы процессора соответствует спецификации ISO8583, то для интерпретации причины отказа процессора в проведении операции можно использовать следующую таблицу. Следует иметь ввиду, что некоторые процессоры возвращают более одного кода ответа (соответствующий параметр processor_code в ответе системы PSP имеет тип «массив»). В таком случае, основной код, определяющий результат операции, возвращается первым элементом массива.
Код | Сообщение | Описание |
---|---|---|
00 |
Approved |
Успешная транзакция |
01 |
Refer to card issuer |
Обратитесь к эмитенту карты |
02 |
Refer to card issuer, special condition |
Обратитесь к эмитенту карты, особое условие |
03 |
Invalid merchant or service provider |
Недействительный идентификатор продавца |
04 |
Pickup card |
Изъять карту |
05 |
Do not honor |
Транзакция была отклонена эмитентом без объяснения причин |
06 |
Error |
Эмитент карты вернул ошибку без дополнительных объяснений |
07 |
Pickup card, special condition (other than lost/stolen card) |
Изъять карту, специальные условия |
08 |
Honor with identification |
Не пройдена идентификация, проблема с идентификацией |
09 |
Request in progress |
Выполняется запрос |
10 |
Approved for partial amount |
Одобрено для частичной суммы |
11 |
Approved, VIP Approved, VIP program |
Одобрено для VIP, программа VIP |
12 |
Invalid transaction |
Запрошенная транзакция не поддерживается или недействительна для представленного номера карты |
13 |
Invalid amount |
Сумма превышает лимиты, установленные эмитентом для данного типа транзакции |
14 |
Invalid card (no such number) |
Эмитент указывает, что эта карта недействительна. |
15 |
No such issuer |
Номер эмитента карты недействителен |
16 |
Approved, update track 3 |
Утверждено, обновить |
17 |
Customer cancellation |
Отмена клиентом |
18 |
Customer dispute |
Открыт спор с клиентом |
19 |
Re-enter transaction |
Клиент должен повторно отправить транзакцию |
20 |
Invalid response |
Неверный ответ |
21 |
No action taken |
Никаких действий не предпринимается. Эмитент отказался без других объяснений |
22 |
Suspected malfunction |
Предполагаемая неисправность |
23 |
Unacceptable transaction fee |
Неприемлемая комиссия за транзакцию |
24 |
File update not supported |
Обновление файла не поддерживается |
25 |
Unable to locate record |
Невозможно найти запись |
26 |
Duplicate record |
Дублирующая запись |
27 |
File update edit error |
Ошибка редактирования обновления файла |
28 |
File update file locked |
Файл/обновления файла заблокировано |
29 |
not used |
не используется |
30 |
Format error |
Ошибка формата |
31 |
Bank not supported |
Банк не поддерживается коммутатором |
32 |
Completed partially |
Завершено частично |
33 |
Expired card, pick-up |
Срок действия карты истек |
34 |
Issuer suspects fraud, pick-up card |
Эмитент карты подозревает мошенничество |
35 |
Contact acquirer, pick-up |
Обратиться к эмитенту карты |
36 |
Restricted card, pick-up |
Ограничено эмитентом карты |
37 |
Call ECHO security, pick-up |
Обратитесь в службу безопасности |
38 |
PIN tries exceeded, pick-up |
Количество попыток получения PIN-кода превышает лимиты эмитента |
39 |
No credit account |
Нет кредитного счета |
40 |
Function not supported |
Запрошенная функция не поддерживается |
41 |
Pickup card (lost card) |
Карта была утеряна |
42 |
No universal account |
Нет универсальной учетной записи |
43 |
Pickup card (stolen card) |
Карта была украдена |
44 |
No investment account |
Нет инвестиционного счета |
45 |
50 not used |
не используется |
46 |
Contract closed |
Запрет на проведение операции с данной картой. |
51 |
Not sufficient funds |
Недостаточно средств на карте |
52 |
No checking account |
Нет текущего счета |
53 |
No savings account |
Нет сберегательного счета |
54 |
Expired card |
Срок действия карты истек |
55 |
Incorrect PIN |
Неправильный PIN-код держателя карты |
56 |
No card record |
Нет такой карты |
57 |
Transaction not permitted to cardholder |
Операция не разрешена держателю карты. Карта не разрешена для запрошенного типа транзакции. |
58 |
Transaction not permitted on terminal |
Транзакция не разрешена на терминале. Продавцу запрещен этот тип транзакции (заблокирован терминал; сработало ограничение и т.д. необходимо уточнять подробности у эквайера) |
59 |
Suspected fraud |
Предполагаемое мошенничество |
60 |
Contact ECHO |
Связаться с службой безопасности |
61 |
Exceeds withdrawal limit |
Превышен лимит, подробности у эквайера |
62 |
Restricted card |
Карта заблокирована |
63 |
Security violation |
Нарушение безопасности. Карта заблокирована |
64 |
Original amount incorrect |
Неверная исходная сумма |
65 |
Activity count limit exceeded |
Превышено допустимое количество ежедневных транзакций |
66 |
Call acquirer security |
Связаться со службой безопасности эквайера |
67 |
not used |
не используется |
68 |
Response received too late |
Ответ получен слишком поздно |
69 |
74 not used |
не используется |
75 |
PIN tries exceeded |
Превышено допустимое количество попыток ввода PIN-кода |
76 |
Invalid "to" account |
Неверный счет. Дебетового счета не существует |
77 |
Invalid "from" account |
Недействительный счет. Кредитный счет не существует |
78 |
Invalid account specified (general) |
Связанная учетная запись с номером карты недействительна или не существует |
79 |
Already reversed |
Уже отменено |
80 |
Visa transactions: credit issuer unavailable |
Операции с Visa: эмитент недоступен |
81 |
PIN cryptographic error found |
Обнаружена криптографическая ошибка PIN-кода |
82 |
Negative CAM, dCVV, iCVV, or CVV results |
Некорректный CAM, dCVV, iCVV или CVV |
83 |
Unable to verify PIN |
Невозможно проверить PIN-код |
84 |
Invalid authorization life cycle |
Просроченная авторизация |
85 |
not used |
не используется |
86 |
Cannot verify PIN |
Невозможно проверить PIN-код |
87 |
Network Unavailable |
Сеть недоступна |
88 |
Invalid CVC2 |
Ошибочно введенный cvc2 |
89 |
Ineligible to receive financial position information |
Невозможно получить финансовую информацию |
90 |
Cut-off in progress |
Отключение в процессе |
91 |
Issuer or switch inoperative |
Банк-эмитент недоступен |
92 |
Routing error |
Ошибка маршрутизации |
93 |
Violation of law |
Нарушение закона |
94 |
Duplicate transaction |
Дублирующая транзакция |
95 |
Reconcile error |
Ошибка согласования/ошибка при расчетах с МПС/НСПК |
96 |
System malfunction |
Произошла системная ошибка |
97 |
not used |
не используется |
98 |
Exceeds cash limit |
Превышен денежный лимит |
A1 |
Activity count limit exceeded |
Превышен лимит, ретрансляция кода 65 (НСПК) |
Таблица параметров API Pay2Me
Название параметра | Обязательный | Допустимый контент | Допустимая длина / диапазон значений | Описание |
---|---|---|---|---|
ПОЛЯ ВХОДЯЩЕГО ТРАНЗАКЦИОННОГО СООБЩЕНИЯ |
||||
method |
да |
0-9a-z_ |
не более 50 символов |
Платежные методы:
Сервисные методы:
|
method_mode |
нет |
0-9a-z_ |
не более 50 символов |
Режим выполнения платежного метода:
|
method_order |
нет |
0-9a-z_ |
не более 50 символов |
|
payment_page_method |
нет |
строка |
1 - 10000 |
Передается в рамках метода create_order. Возможные значения: ["card","sbp","mts_pay","mir_pay"] Используется для вывода сразу нескольких платежных методов, при необходимости. Передается в виде массива. Набор и порядок может варьироваться, первый метод из массива будет распахнутым по умолчанию. |
fin_instrument |
нет |
0-9a-z_ |
не более 50 символов |
Финансовый инструмент:
Финансовый инструмент определяет конкретный способ реализации платежного метода. Метод c2b может быть реализован при помощи всех трех инструментов. b2c – перевод или СБП |
id_client |
да |
0-9a-z_.:|- |
не более 64 символов |
Уникальный идентификатор ТСП (выдается при его регистрации в системе PSP). |
id_request |
да |
0-9a-zA-Z_.:|- |
не более 64 символов |
Уникальный идентификатор запроса в API. Для каждого запроса в API PSP ТСП должен сгенерировать уникальный идентификатор. В качестве такового рекомендуется использовать timestamp или GUID. В ответ на запросы с неуникальными id_request будет возвращена ошибка. |
id_request_parent |
нет |
0-9a-zA-Z_.:|- |
не более 64 символов |
Уникальный идентификатор запроса родительской операции. Родительская операция – это операция, на которую ссылается данная операция. Например, возврат (refund), ссылается на операцию оплата (c2b). Если по одной оплате производится несколько возвратов, то у них у всех будет одинаковый id_request_parent. |
id_order |
нет |
0-9a-zA-Z_.:|- |
не более 64 символов |
Уникальный идентификатор заказа. Для каждого заказа ТСП может сгенерировать уникальный идентификатор, на основании которого будет осуществляться дальнейшая работа с заказом. Использование механики заказов необязательно и осуществляется на усмотрение ТСП. |
id_order_parent |
нет |
0-9a-zA-Z_.:|- |
не более 64 символов |
Уникальный идентификатор заказа родительской операции. Родительская операция – это операция, на которую ссылается данная операция. Например, возврат (refund), ссылается на операцию оплата (c2b). Если по одной оплате производится несколько возвратов, то у них у всех будет одинаковый id_order_parent. |
amount |
нет |
число с 2-мя знаками после запятой |
в диапазоне 0.01 - 9999999999.99 |
Сумма операции. В случае отправки ТСП значения, имеющего более 2-х знаков после запятой, будет произведено математическое округление до 2-х знаков. |
currency |
нет |
целое число |
в диапазоне 1 - 999 |
ISO-код валюты операции. |
desc_public |
нет |
строка |
не более 1000 символов |
Описание операции, которое отображается на платежной странице, странице 3DS или экране оплаты СБП в мобильном приложении банка плательщика. |
desc_private |
нет |
строка |
не более 1000 символов |
Описание операции, которое возвращается в реестрах процессора (при наличии у него технической возможности). |
add_info |
нет |
строка |
не более 1000 символов |
Параметр для передачи дополнительной информации процессору (при наличии у него технической возможности). Как правило используется для передачи информации в реестр. |
pan_dst |
нет |
0 - 9 |
от 16 до 19 цифр |
PAN карты получателя. |
pan_src |
нет |
0 - 9 |
от 16 до 19 цифр |
PAN карты плательщика. |
exp_month_src |
нет |
целое число |
в диапазоне 1 - 12 |
Месяц истечения срока действия карты плательщика. |
exp_year_src |
нет |
целое число |
в диапазоне 2014 – 2050 |
Год истечения срока действия карты плательщика. |
cvc_src |
нет |
0 - 9 |
3 цифры |
CVC/CVV/CVP карты плательщика. |
payment_page_session_li fe_time |
нет |
целое число |
от 1 минуты до 365 дней |
Передача желаемого времени жизни платежной ссылки в минутах. |
sbp_qr_timeout |
нет |
0 - 9 |
1 - 129600 |
Период в минутах, в течение которого будет возможна оплата по платёжной ссылке (QR-коду). Минимальное значение — одна минута, максимальное значение – 129600 (90 дней в минутах). Если значение не задано, будет использоваться значение по умолчанию - 20 минут. Поддерживается не всеми эквайерами. |
card_tokenization_mode_src |
нет |
строка |
20 |
Определяет, следует ли производить токенизацию и использовать полученный токен для создания рекуррентов. Если задано значение "1", система будет выполнять токенизацию входных данных и создавать рекурренты на основе полученного токена. |
card_tokenization_dst |
нет |
строка |
20 |
Определяет, следует ли производить токенизацию и использовать полученный токен для создания рекуррентных платежей на карту получателя. Если задано значение "1", система будет выполнять токенизацию входных данных карты получателя и создавать рекуррентные платежи на основе полученного токена. |
card_token_src |
нет |
строка |
не более 64 символов |
Токен карты плательщика. Может использоваться вместо параметров: pan_src, exp_month_src и exp_year_src, если карта плательщика была токенизирована ранее. |
card_token_dst |
нет |
строка |
не более 64 символов |
Токен карты получателя. Может использоваться вместо параметра pan_dst, если карта получателя была токенизирована ранее. |
msisdn_src |
нет |
0 - 9 |
11 цифр |
Номер мобильного телефона отправителя в международном формате. 7XXXXXXXXXX |
msisdn_dst |
нет |
0 - 9 |
11 цифр |
Номер мобильного телефона получателя в международном формате. 7XXXXXXXXXX |
bank_bic_dst |
нет |
строка |
9 символов |
БИК банка получателя. |
bank_id_src |
нет |
0 - 9 |
12 цифр |
Идентификатор банка отправителя. |
bank_id_dst |
нет |
0 - 9 |
12 цифр |
Идентификатор банка получателя. |
bank_account_id_src |
нет |
0 - 9 |
20 цифр |
Номер банковского счета отправителя. |
bank_account_id_dst |
нет |
0 - 9 |
20 цифр |
Номер банковского счета получателя. |
first_name_src |
нет |
строка |
не более 50 символов |
Имя отправителя. |
middle_name_src |
нет |
строка |
не более 50 символов |
Отчество отправителя. |
last_name_src |
нет |
строка |
не более 50 символов |
Фамилия отправителя. |
first_name_dst |
нет |
строка |
не более 50 символов |
Имя получателя. |
middle_name_dst |
нет |
строка |
не более 50 символов |
Отчество получателя. |
last_name_dst |
нет |
строка |
не более 50 символов |
Фамилия получателя. |
callback_url |
нет |
строка (URL) |
от 11 до 512 символов |
URL системы ТСП, на который система PSP по завершению операции отправит уведомление, содержащее результат операции. В рамках уведомления, данные передаются методом POST в формате, аналогичном формату онлайн-ответа (application/json). |
return_url |
нет |
строка (URL) |
от 11 до 512 символов |
URL, на который система PSP вернет браузер плательщика после прохождения аутентификации 3DS или после завершения процесса оплаты посредством платежной страницы на стороне PSP. |
return_url_success |
нет |
строка (URL) |
от 11 до 512 символов |
Аналог return_url, используемый только в случае, если операция завершена успешно. |
return_url_fail |
нет |
строка (URL) |
от 11 до 512 символов |
Аналог return_url, используемый только в случае, если операция завершена неуспешно. |
tds_mode |
нет |
строка |
0 - 5 |
Определяет, следует ли использовать 3DS для транзакции. Если задано значение "force", то 3DS будет активирован, в противном случае - нет. |
receipt |
нет |
строка |
1 - 10000 |
Передача фискальных данных, строка в формате JSON. |
merchant_inn |
нет |
0 - 9 |
от 10 до 12 цифр |
ИНН ТСП. |
sign |
а |
0-9a-z |
не более 128 символов |
Подпись запроса в API. Каждый запрос в API PSP ТСП должен подписывать по алгоритму SHA-256. |
sub_merchant_terminal_id |
нет |
строка |
8 символов |
Идентификатор ТСП, зарегистрированный в НСПК. |
facilitator_merchant_name |
нет |
строка |
латинские буквы + цифры + звездочка + разделители, длина от 3 до 22 символов |
Название ТСП, зарегистрированное в НСПК. |
subscription |
нет |
строка |
boolean |
Единственное значение true. Используется для операций при создании подписки по СБП. |
desc_subscription |
нет |
строка |
не более 1000 символов |
Описание подписки. Используется для операций при создании подписки по СБП. |
ПОЛЯ ИСХОДЯЩЕГО ТРАНЗАКЦИОННОГО СООБЩЕНИЯ |
||||
state_fin_operation |
нет |
строка |
|
Статус операции. Является однозначным критерием определения успешности/неуспешности операции. |
state_fin_operation_parent |
нет |
строка |
|
Статус родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. Например, при выполнении возврата (refund). Позволяет определить, в каком статусе находится родительская операция после выполнения текущей операции. |
amount_authorized |
нет |
число |
|
Сумма, заблокированная на счете плательщика в рамках операции и не отправленная на клиринг. |
amount_captured |
нет |
число |
|
Сумма, которая в рамках операции отправлена на клиринг. |
amount_cancelled |
нет |
число |
|
Сумма, которая была разблокирована на счете плательщика в рамках операции. |
amount_refunded |
нет |
число |
|
Сумма, которая была возвращена на счет плательщика в рамках операции. |
amount_parent |
нет |
число |
|
Сумма родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
amount_authorized_parent |
нет |
число |
|
Сумма, заблокированная на счете плательщика в рамках родительской операции, и не отправленная на клиринг. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
amount_captured_parent |
нет |
число |
|
Сумма, которая в рамках родительской операции отправлена на клиринг. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
amount_cancelled_parent |
нет |
число |
|
Сумма, которая была разблокирована на счете плательщика в рамках родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
amount_refunded_parent |
нет |
число |
|
Сумма, которая была возвращена на счет плательщика в рамках родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
processor_transaction_id |
нет |
строка |
|
Идентификатор операции, присвоенный процессором. |
processor_transaction_id_parent |
нет |
строка |
|
Идентификатор родительской операции, присвоенный процессором. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
rrn |
нет |
строка |
|
RRN операции. Банковский идентификатор на стороне эквайера. |
rrn_parent |
нет |
строка |
|
RRN родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
auth_code |
нет |
строка |
|
Код авторизации операции. |
auth_code_parent |
нет |
строка |
|
Код авторизации родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
sbp_qr_id |
нет |
строка |
|
Идентификатор QR-кода СБП. |
sbp_qr_id_parent |
нет |
строка |
|
Идентификатор QR-кода СБП для родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
sbp_transaction_id |
нет |
строка |
|
Идентификатор операции СБП. |
sbp_transaction_id_parent |
нет |
строка |
|
Идентификатор операции СБП для родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
card_token_src |
нет |
строка |
|
Токен карты плательщика. Возвращается в том случае, если имела место токенизация карты плательщика. |
card_token_last_4_src |
нет |
строка |
|
Последние 4 цифры номера карты плательщика. Возвращается в том случае, если имела место токенизация карты плательщика. |
card_token_dst |
нет |
строка |
|
Токен карты получателя. Возвращается в том случае, если имела место токенизация карты получателя. |
card_token_last_4_dst |
нет |
строка |
|
Последние 4 цифры номера карты получателя. Возвращается в том случае, если имела место токенизация карты получателя. |
card_token_src_parent |
нет |
строка |
|
Токен карты плательщика для родительской операции. Возвращается в том случае, если имела место токенизация карты плательщика. |
card_token_last_4_src_parent |
нет |
строка |
|
Последние 4 цифры номера карты плательщика для родительской операции. Возвращается в том случае, если имела место токенизация карты плательщика. |
card_token_dst_parent |
нет |
строка |
|
Токен карты получателя для родительской операции. Возвращается в том случае, если имела место токенизация карты получателя. |
card_token_last_4_dst_parent |
нет |
строка |
|
Последние 4 цифры номера карты получателя для родительской операции. Возвращается в том случае, если имела место токенизация карты получателя. |
response_code |
да |
целое число |
|
Код результата обработки запроса на стороне API PSP. Значение 0 (ноль) означает успех. Любое другое значение – неуспех. |
response_desc |
да |
строка |
|
Текстовое пояснение к response_code. |
processor_name |
нет |
строка |
|
Наименование фактического процессора операции. |
processor_code |
нет |
массив целых чисел |
|
Код(ы) ответ(а, ов), которые вернул фактический процессор операции. |
processor_desc |
нет |
массив строк |
|
Текстов(ое, ые) пояснени(е, я) к processor_code. |
processor_code_parent |
нет |
массив целых чисел |
|
processor_code для родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
processor_desc_parent |
нет |
массив строк |
|
processor_desc для родительской операции. Возвращается в том случае, если в контексте запроса/ответа имеет место родительская операция. |
auth_ext_url |
нет |
строка |
|
URL, на который необходимо отправить браузер плательщика для старта процедуры аутентификации 3DS. |
sbp_link |
нет |
строка |
|
Ссылка (deep link/universal link), позволяющая инициировать оплату через СБП на мобильном устройстве посредством выбранного плательщиком приложения банка. |
sbp_qr_media_type |
нет |
строка |
|
Формат изображения, содержащегося в параметре sbp_qr. |
sbp_qr |
нет |
строка |
|
Закодированное в формате base64 изображение QR- кода СБП. |
card_pan_masked_src |
нет |
строка |
|
Маскированный номер платежной карты источника. |
card_payment_system_src |
нет |
строка |
|
Платежная система карты источника. |
card_issuer_country_src |
нет |
строка |
|
Страна, в которой выпущена платежная карта источника. |
card_issuer_name_src |
нет |
строка |
|
Название банка-эмитента платежной карты источника. |
inform_letter_url |
нет |
строка |
|
URL справки об успешности операции выплата в ПСБ. |
История изменений
Версия | Изменения |
---|---|
121124 |
- |
151124 |
Добавлен раздел «РЕКУРРЕНТ - ОПЕРАЦИЯ ПО СОХРАНЕННЫМ РЕКВИЗИТАМ КАРТЫ». |
281124 |
Незначительные исправления. |
041224 |
Добавлена информация по IP-адресам PSP. |
091224 |
Добавлен метод method_mode = force. |
161224 |
Добавлены новые ставки НДС 5, 7, 5/10, 7/107. |
171224 |
Изменено значение для опроса статуса method_mode=force на forced. |
090125 |
Исправлено значение method в Выплатах по СБП. |
150125 |
Добавлен раздел «ЭКВАЙРИНГ - ОПЛАТА ПО СБП - ПОДПИСКИ (ПРИВЯЗКА СЧЕТА)». |
Интеграция CMS
Tilda
- Перейдите в настройки сайта и выберите раздел Платежные системы
- Выберите из предложенных Платежных сервисов Pay2me
- Заполните Id Client и Secret Key
Для получения секретного ключа и id необходимо обратиться на почту

Укажите страницы возврата после оплаты
