Оповещения (callbacks) в Gate
Оповещение (callback) — это техническое сообщение, которое платежная платформа Rocketpay отправляет на заданный URL-адрес мерчанта, чтобы сообщить определенную информацию, например результат выполнения платежа.
Как выглядит оповещение в Rocketpay
Оповещение представляет собой HTTP-запрос, отправляемый методом POST на URL-адрес, который вы предоставляете Rocketpay в процессе интеграции.
Параметры оповещения передаются в теле запроса в формате JSON, при этом массив параметров преобразуется в одну строку. Вы можете настраивать, какие параметры должны передаваться в теле запроса. Для этого обращайтесь в службу поддержки Rocketpay.
Вот пример данных из тела оповещения типового формата. Содержимое JSON-строки в этом примере разбито на несколько строк для удобства чтения.
Рис.: Пример данных из оповещения типового формата
{
"project_id": 1234,
"payment": {
"id": "payment_47",
"type": "purchase",
"status": "success",
"date": "2022-03-25T11:08:45+0000",
"method": "mobile",
"sum": {
"amount": 10000,
"currency": "USD"
},
"description": ""
},
"customer": {
"id": "customer_123"
},
"operation": {
"id": 28,
"type": "sale",
"status": "success",
"date": "2022-03-25T11:08:45+0000",
"created_date": "2022-03-25T11:08:05+0000",
"request_id": "9e32835fb27907e0b08569d7d150e387a16a80e336c5117242b5cf60a4e17839",
"sum_initial": {
"amount": 10000,
"currency": "USD"
},
"sum_converted": {
"amount": 10000,
"currency": "USD"
},
"code": "0",
"message": "Success",
"provider": {
"id": 12345,
"payment_id": "123abc123-321",
"auth_code": ""
}
},
"signature": "U7HQO7ToISZhMPKdM4Xr4DSX2UuHp99rHrtaxkUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}
Ниже приведен пример данных из тела оповещения, настроенного индивидуально под потребности мерчанта.
Рис.: Пример данных из оповещения в индивидуально настроенном формате
{
"project_id": 1234,
"payment": {
"id": "payment_47",
"type": "purchase",
"status": "success",
"date": "2022-03-25T11:08:45+0000",
"method": "mobile",
"sum": {
"amount": 10000,
"currency": "USD"
},
"description": ""
},
"customer": { // объект с расширенной информацией о пользователе
"id": "customer_123",
"email": "johndoe@example.com",
"phone": "491234567890",
"first_name": "John",
"last_name": "Doe"
},
"operation": {
"id": 28,
"type": "sale",
"status": "success",
"date": "2022-03-25T11:08:45+0000",
"created_date": "2022-03-25T11:08:05+0000",
"request_id": "9e32835fb27907e0b08569d7d150e387a16a80e336c5117242b5cf60a4e17839",
"sum_initial": {
"amount": 10000,
"currency": "USD"
},
"sum_converted": {
"amount": 10000,
"currency": "USD"
},
"code": "0",
"message": "Success",
"provider": {
"id": 12345,
"payment_id": "123abc123-321",
"auth_code": ""
}
},
"signature": "U7HQO7ToISZhMPKdM4Xr4DSX2UuHp99rHrtaxkUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}
Оповещения от Rocketpay содержат подпись. Подробнее о том, как проверить подпись в оповещении, см. раздел Подписывание и проверка подписи.
Когда Rocketpay отправляет оповещения
Платежная платформа отправляет вашей системе оповещения, когда:
- необходимы действия на стороне вашей системы. Подробнее об этом виде оповещения рассказывается далее в этом разделе;
- создан, удален или отозван токен для банковской карты. Подробнее об этом виде оповещения см. раздел Параметры оповещений о создании или отзыве токена;
- завершена обработка операции в платежной платформе. Оповещение будет содержать информацию о статусе операции.
Когда со стороны вашей системы необходимы какие-то действия для выполнения платежа, платежная платформа Rocketpay присваивает платежу определенный статус и отправляет вам соответствующее оповещение. Чтобы узнать, какие статусы могут принимать платежи в платежной платформе, см. раздел Типы платежей, операции и платежи.
Ниже перечислены некоторые действия, которые могут потребоваться со стороны вашей системы для выполнения платежа:
- Ваша система должна предоставить платежной платформе данные, недостающие для совершения оплаты. В таком случае Rocketpay отправит вам оповещение, в котором перечислены недостающие данные. Подробнее о таких случаях см. раздел Дополнение информации о платеже.
Рис.: Пример фрагмента оповещения, где указаны недостающие для проведения платежа данные
"clarification_fields": { "account": { "type": "object", "description": "Object contains the account details of bank", "properties": { "number": { "type": "string", "maxLength": 100, "minLength": 1, "description": "Customer account number" } }, "required": [ "number" ], "errors": [ { "property": "account.number", "message": "The property number is required", "constraint": "required" } ] } },
- Ваша система должна предоставить платежной платформе данные, которые пользователь получает от платежной системы в процессе оплаты. Это может быть, например, идентификатор платежа или проверочный код. В таком случае Rocketpay отправит вам оповещение, где указано, какие данные ваша система должна передать платежной платформе для продолжения платежа.
Если в процессе оплаты пользователь получает от платежной системы данные, которые затем вы должны передать платежной платформе, информация об этом будет указана в статье о платежном методе, с помощью которого производилась оплата. Список платежных методов, доступных в Rocketpay для проведения платежей, см. в разделе Платежные методы.
Рис.: Пример фрагмента оповещения, где указано, какие данные ваша система должна передать для продолжения платежа
{ "clarification_fields": [ "approval_code" ] } - Ваша система должна осуществить необходимые действия, чтобы пользователь прошел процедуру 3-D Secure для совершения оплаты. Подробную информацию об этой процедуре см. в разделах Аутентификация по протоколу 3‑D Secure 1 и Аутентификация по протоколу 3‑D Secure 2 или уточняйте у своего курирующего менеджера в Rocketpay;
- Ваша система должна перенаправить пользователя для совершения оплаты. В таком случае Rocketpay отправит вам в оповещении данные для перенаправления пользователя:
Рис.: Пример фрагмента оповещения, содержащий данные для перенаправления пользователя
"redirect_data": { "method": "GET", "body": [], "encrypted": [], "url": "https://example.com/redirect" }
- Ваша система должна отобразить пользователю информацию для оплаты, например платежную инструкцию или QR-код для оплаты. В таком случае Rocketpay отправит вам в оповещении данные для отображения пользователю:
Рис.: Пример фрагмента оповещения, содержащий данные для отображения QR-кода пользователю
"display_data": [ { "type": "qr_data", "title": "QR code", "data": "00020101com.359a71a-0cad-4cb2-a9503***63042BBF" } ],
Адреса для приема оповещений
Оповещения отправляются на URL-адрес, который вы предоставляете Rocketpay в процессе интеграции. Если у вас есть несколько проектов, вы можете предоставить для каждого проекта отдельный URL-адрес, на который Rocketpay будет отправлять оповещения.
Вы можете предоставить Rocketpay отдельные URL-адреса, чтобы получать оповещения с определенной информацией по платежу. Например, чтобы оповещения об успешном завершении платежа платежная платформа отправляла на один адрес, а об отклонении — на другой. Вы также можете использовать отдельный URL-адрес для получения оповещений по платежам определенного типа или платежам, проведенным с использованием конкретного платежного метода.
Вы можете самостоятельно указать дополнительные адреса для приема оповещений в Dashboard. Для этого в Dashboard перейдите в раздел Проекты и выберите вкладку Оповещения. Инструменты в Dashboard позволят вам определить, в каких случаях и на какие адреса Rocketpay будет отправлять вашей системе оповещения. Подробнее о том, как задать адреса для отправки оповещений в Dashboard, см. раздел Правила отправки оповещений.
Обратите внимание, что ваша система должна принимать оповещения только с IP-адреса, полученного от команды интеграции Rocketpay. Чтобы уточнить IP-адрес, с которого Rocketpay отправляет оповещения, обратитесь в службу поддержки Rocketpay.
Адреса для приема оповещений по конкретному платежу
Вы можете указать отдельный URL-адрес для приема оповещений по конкретному платежу. Для этого добавьте в начальный запрос на проведение платежа параметр merchant_callback_url и задайте в качестве значения URL-адрес, на который Rocketpay будет отправлять оповещения. После этого все оповещения по этому платежу (и только по нему) будут отправляться на указанный URL-адрес независимо от того, какой URL-адрес для приема оповещений задан для вашего проекта.
Вы также можете указать в запросе параметры с URL-адресами, на которые Rocketpay будет отправлять оповещения с результатом конкретного платежа:
- merchant_success_callback_url — URL-адрес, на который Rocketpay отправит callback-оповещение о результате платежа, если он будет успешно проведен;
- merchant_decline_callback_url — URL-адрес, на который Rocketpay отправит callback-оповещение о результате платежа, если он будет отклонен.
Эти параметры приоритетнее параметра merchant_callback_url и URL-адреса, указанного в настройках вашего проекта. Так, если задать значения обоих параметров — merchant_callback_url и merchant_success_callback_url, то в случае успеха Rocketpay отправит оповещение с результатом платежа на URL-адрес, указанный в merchant_success_callback_url, игнорируя как параметр merchant_callback_url, так и URL-адрес, указанный для вашего проекте в платежной платформе. Аналогичная ситуация с параметром merchant_decline_callback_url , но с поправкой на то, что речь идет об итоговом оповещении об отклонении платежа.
Рис.: Пример данных из запроса на оплату с указанием URL-адресов для отправки оповещений по этому платежу
{
"general": {
"project_id": 1234,
"payment_id": "payment_47",
"merchant_callback_url": "http://example.com/callback/default",
"merchant_success_callback_url": "http://example.com/success",
"merchant_decline_callback_url": "http://example.com/decline",
"signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipTv+AWoXW\/9MTO8yJA=="
},
"customer": {
"id": "customer_123",
"ip_address": "198.51.100.47",
"first_name": "John",
"last_name": "Doe",
"email": "johndoe@example.com"
},
"payment": {
"amount": 10000,
"currency": "USD"
}
}
Как отреагировать на оповещение
Ваша система должна ответить на оповещение кодом состояния HTTP 200 OK, если она успешно приняла его. При этом, ваша система не должна ограничивать время приема оповещений, потому что оповещения от Rocketpay могут поступать с задержкой.
200 OK и не предоставлять повторных услуг или дополнительных товаров в рамках этого платежа.Если ваша система приняла оповещение с ошибкой, она должна ответить на него кодом состояния HTTP, соответствующим ошибке, например 400 Bad Request (если вам не удалось преобразовать строку параметров в массив) или 500 Internal Server Error (если оповещение пришло на неправильный URL-адрес). Несмотря на то что ваша система приняла оповещение с ошибкой, она должна быть готова принять последующие оповещения, относящиеся с этому же платежу.
Если ваша система не ответила на оповещение кодом состояния HTTP 200 OK, Rocketpay будет отправлять вам оповещения снова по следующему расписанию:
- 6 попыток с интервалом в 10 секунд;
- далее 62 попытки в течение четырех часов с увеличивающимся интервалом (интервал увеличивается в соответствии с формулой
70 + 10·1,12n-4, где n — порядковый номер попытки отправки); - потом каждые 4 часа до достижения максимального количества попыток.
Всего Rocketpay отправляет 120 оповещений в течение 11 суток. Расписание отправки оповещений может незначительно изменяться в зависимости от загрузки системы.
Вы можете отложить отправку оповещений по конкретному платежу. Для этого в запросе на проведение платежа передайте параметр delay в объекте callback с необходимым значением в секундах. Максимальное значение задержки отправки — 600 секунд.
Рис.: Пример данных из запроса на оплату с указанием времени задержки отправки оповещения
{
"general": {
"project_id": 1234,
"payment_id": "payment_47",
"signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipTv+AWoXW\/9MTO8yJA=="
},
"customer": {
"id": "customer_123",
"ip_address": "198.51.100.47",
"first_name": "John",
"last_name": "Doe",
"email": "johndoe@example.com"
},
"payment": {
"amount": 10000,
"currency": "USD"
},
"callback": {
"delay": 30 // время задержки отправки оповещения в секундах
}
}
Параметры оповещения
Набор параметров, передаваемых в оповещении (callback), может отличаться в зависимости от типа операции и конфигурации оповещений. В этом разделе приведены описания параметров, используемых в типовых случаях.
| Параметр | Описание | tree |
|---|---|---|
|
account |
Объект, содержащий данные банковской карты или учетной записи пользователя | 10 |
|
card_holder |
Имя владельца банковской карты | 10-10 10 |
|
expiry_month |
Месяц срока действия банковской карты | 10-20 10 |
|
expiry_year |
Год срока действия банковской карты | 10-30 10 |
|
id |
Идентификатор сохраненной карты в Gate | 10-40 10 |
|
number |
Маскированный номер банковской карты или учетной записи пользователя. Пример: |
10-50 10 |
|
token |
Токен банковской карты пользователя. Токен генерируется автоматически при успешной оплате при условии, что эта возможность была активирована при подключении | 10-60 10 |
|
type |
Тип банковской карты или наименование оператора мобильной связи, который использовался для оплаты. Доступные значения типов карт см. в разделе Общая информация o Gate . |
10-70 10 |
|
acs |
Объект, содержащий результаты аутентификации пользователя средствами 3‑D Secure, если оплата проводилась с помощью банковской карты, поддерживающей в 3‑D Secure | 20 |
|
acs_url |
URL-адрес веб-страницы ACS-сервера банка-эмитента | 20-10 20 |
|
md |
Набор технических данных мерчанта в платежной системе | 20-20 20 |
|
pa_req |
Запрос аутентификации, который следует отправить в банк-эмитент. Содержит закодированную информацию о владельце карты, мерчанте и платеже | 20-30 20 |
|
avs_data |
Объект, который содержит данные для AVS-проверки (Address Verification Service). Подробнее см. Проверка Address Verification Service | 30 |
|
avs_post_code |
Почтовый индекс пользователя | 30-10 30 |
|
avs_street_address |
Адрес пользователя | 30-20 30 |
|
avs_result |
Результат AVS-проверки (Address Verification Service). Подробнее см. в разделе Проверка Address Verification Service | 40 |
|
bank |
Объект, содержащий данные о банке-эмитенте карты пользователя | 50 |
|
name |
Наименование банка-эмитента карты пользователя | 50-10 50 |
|
customer |
Объект, содержащий информацию о пользователе, совершающем платеж | 70 |
|
billing |
Объект, содержащий информацию о платежном адресе пользователя | 70-10 70 |
|
address |
Платежный адрес пользователя | 70-10-10 70-10 |
|
city |
Город платежного адреса пользователя | 70-10-20 70-10 |
|
country |
Страна платежного адреса пользователя в формате ISO 3166-1 alpha-2. Пример: |
70-10-30 70-10 |
|
postal |
Индекс платежного адреса пользователя | 70-10-40 70-10 |
|
region |
Район, область, край или республика платежного адреса пользователя | 70-10-50 70-10 |
|
city |
Город пользователя. Пример: |
70-20 70 |
|
country |
Страна пользователя в формате ISO 3166-1 alpha-2, переданная в начальном запросе. Пример: |
70-30 70 |
|
day_of_birth |
Дата рождения пользователя в формате ДД-ММ-ГГГГ. Пример: |
70-40 70 |
|
first_name |
Имя пользователя. Пример: |
70-50 70 |
|
id |
Уникальный идентификатор пользователя в проекте | 70-60 70 |
|
ip_address |
IP-адрес пользователя, переданный в начальном запросе | 70-70 70 |
|
last_name |
Фамилия пользователя. Пример: |
70-80 70 |
|
middle_name |
Отчество пользователя. Пример: |
70-90 70 |
|
phone |
Телефон пользователя. Целое значение: от 4 до 24 цифр | 70-100 70 |
|
decision |
Строка, содержащая решение системы Risk Control System о прохождении платежа. | 80 |
|
decision_message |
Массив строк, содержащих сообщения от Risk Control System о прохождении платежа. Пример: |
90 |
|
display_data |
Объект, содержащий переданные от внешней платежной системы данные для отображения пользователю QR-кода для оплаты | 100 |
|
errors |
Массив сообщений об ошибках, связанных с проведением платежа | 110 |
|
ErrorItem |
Объект, содержащий информацию об одной ошибке | 110-10 110 |
|
code |
Код ошибки | 110-10-10 110-10 |
|
description |
Параметр, описывающий причину ошибки | 110-10-10 110-10 |
|
field |
Параметр, в котором допущена ошибка, если удалось определить неверный параметр | 110-10-20 110-10 |
|
message |
Сообщение, уточняющее причину ошибки | 110-10-30 110-10 |
|
interface_type |
Объект, содержащий информацию об источнике запроса на проведение платежа | 120 |
|
id |
Параметр, уточняющий, какой интерфейс использовался для отправки запроса на проведение платежа. Возможные значения:
|
120-10 120 |
|
user |
Параметр, уточняющий пользователя Dashboard. отправившего запрос на проведение платежа. Пример: |
120-20 120 |
|
operation |
Объект, содержащий информацию об операции, по которой отправлено оповещение | 130 |
|
code |
Унифицированный код ответа Gate. Подробнее о кодах ответов см. Статусы операций и коды ответов | 130-10 130 |
|
created_date |
Дата и время создания операции | 130-20 130 |
|
date |
Дата и время последнего обновления статуса операции в Gate | 130-30 130 |
|
eci |
Индикатор, отображающий результат аутентификации пользователя с использованием 3‑D Secure. Подробнее см. Коды Electronic Commerce Indicator | 130-40 130 |
|
id |
Уникальный идентификатор операции в Gate | 130-50 130 |
|
message |
Унифицированное сообщение Gate. Подробнее см. в Статусы операций и коды ответов | 130-60 130 |
|
provider |
Объект, который содержит информацию внешнего провайдера о результате выполнения платежа | 130-70 130 |
|
auth_code |
Код авторизации, полученный от внешнего провайдера | 130-70-10 130-70 |
|
date |
Дата и время завершения обработки платежа внешним провайдером. Пример: |
130-70-20 130-70 |
|
endpoint_id |
CRC32-идентификатор платежного шлюза внешнего провайдера. В некоторых случаях из-за особенностей платежных систем и провайдеров у этого параметра может быть тип integer |
130-70-30 130-70 |
|
id |
Внешний провайдер, через который была проведена операция | 130-70-40 130-70 |
|
payment_id |
Уникальный идентификатор платежа в системе внешнего провайдера | 130-70-50 130-70 |
|
request_id |
Уникальный идентификатор последнего запроса, относящегося к данной операции, в Gate | 130-80 130 |
|
status |
Статус проведенной операции. Подробнее о возможных статусах операций см. Статусы операций и коды ответов. | 130-90 130 |
|
sum_converted |
Объект, содержащий валюту платежной системы и сумму операции, переведенной в эту валюту | 130-100 130 |
|
amount |
Сумма операции в дробных единицах валюты платежной системы | 130-100-10 130-100 |
|
currency |
Валюта платежной системы в формате ISO 4217 alpha-3 | 130-100-20 130-100 |
|
sum_initial |
Объект, содержащий сумму и валюту операции, переданные в запросе | 130-110 130 |
|
amount |
Сумма операции, переданная в начальном запросе, в дробных единицах валюты | 130-110-10 130-110 |
|
currency |
Валюта операции в формате ISO 4217 alpha-3, переданная в начальном запросе | 130-110-20 130-110 |
|
type |
Тип проведенной операции | 130-120 130 |
|
payment |
Объект, содержащий данные о платеже | 140 |
|
cascading_with_redirect |
Флаг, указывающий на необходимость перенаправления пользователя на другой ACS URL для повторной попытки проведения аутентификации 3D-Secure в случае получения отказа от внешнего провайдера, а также отображение страницы с ошибкой и кнопкой Попробовать еще раз. Доступные значения:
|
140-10 140 |
|
date |
Дата и время последнего обновления статуса платежа в Gate. Пример: |
140-20 140 |
|
description |
Описание платежа, переданное в начальном запросе | 140-30 140 |
|
id |
Уникальный идентификатор платежа в вашей системе | 140-40 140 |
|
is_new_attempts_available |
Флаг, указывающий на возможность проведения повторной оплаты:
Этот параметр передается при включении повторных оплат при подключении через Payment Page |
140-50 140 |
|
method |
Платежный метод. Пример: |
140-60 140 |
|
merchant_refund_id |
Уникальный идентификатор возврата в системе мерчанта. Пример: |
140-61 140 |
|
operation_fee |
Объект, содержащий информацию о комиссии за операцию, начисленной Rocketpay | 140-70 140 |
|
amount |
Сумма комиссии за операцию в дробных единицах валюты, если она включена в общую сумму платежа | 140-70-10 140-70 |
|
currency |
Валюта, в которой начислена комиссия, в формате ISO 4217 alpha-3. Пример: |
140-70-20 140-70 |
|
sum_with_surcharge |
Общая сумма операции и надбавленной комиссии в дробных единицах валюты | 140-70-30 140-70 |
|
surcharge_amount |
Сумма надбавленной к сумме платежа комиссии в дробных единицах валюты. Применяется для МФО | 140-70-40 140-70 |
|
surcharge_currency |
Валюта, в которой начислена надбавленная к сумме платежа комиссия, в формате ISO 4217 alpha-3 | 140-70-50 140-70 |
|
region |
Регион страны, где проводится операция по банковской карте. Доступные значения см. в справочнике Коды регионов | 140-80 140 |
|
status |
Статус платежа Пример: |
140-90 140 |
|
sum |
Объект, содержащий сумму платежа и с учетом возвратов валюту, переданную в начальном запросе | 140-100 140 |
|
amount |
Сумма платежа с учетом возвратов, в дробных единицах валюты | 140-100-10 140-100 |
|
currency |
Валюта платежа в формате ISO 4217 alpha-3, переданная в начальном запросе Пример: |
140-100-20 140-100 |
|
timeout_attempts |
Время (в секундах), оставшееся до окончания периода, в течение которого возможно проведение повторной оплаты. Параметр передается при включении повторных оплат при подключении через Payment Page | 140-110 140 |
|
type |
Тип проведенного платежа Пример: |
140-120 140 |
|
project_id |
Уникальный идентификатор проекта в Gate | 150 |
|
provider_extra_fields |
Объект, содержащий поступившие от внешней платежной системы данные, необходимые для завершения платежа или для отчетности | 160 |
|
recurring |
Объект, содержащий данные регистрации платежа как рекуррентного. Объект передается, если в начальном запросе на оплату было передано значение recurring_register=1 и оплата успешно проведена | 170 |
|
currency |
Валюта рекуррентного платежа в формате ISO 4217 alpha-3. Пример: |
170-10 170 |
|
id |
Идентификатор рекуррентного платежа | 170-20 170 |
|
register_payment_id |
Идентификатор рекуррентного платежа на стороне мерчанта | 170-30 170 |
|
status |
Статус повторяемой оплаты. Возможные значения:
|
170-40 170 |
|
type |
Тип рекуррентного платежа. Возможные значения:
|
170-50 170 |
|
valid_thru |
Дата истечения срока действия идентификатора рекуррентного платежа | 170-60 170 |
|
redirect_data |
Объект, содержащий данные для перенаправления пользователя в платежный метод для проведения платежа | 180 |
|
body |
Дополнительные данные для перенаправления. Если этот параметр не содержит данных, он представлен в оповещении как пустой массив ( Если он параметр какие-то данные, то присутствует в оповещении как JSON-объект ( |
180-10 180 |
|
method |
Метод отправки запроса: POST или GET
|
180-20 180 |
|
url |
URL-адрес для перенаправления пользователя | 180-30 180 |
|
signature |
Подпись оповещения. Подробнее о проверке подписей оповещений см. | 190 |
Параметры оповещений о создании или отзыве токена
После выполнения запроса на создание или отзыв токена, отправленного в конечную точку /v2/customer/card/tokenize, платежная платформа возвращает оповещение (callback) с информацией о результате выполнения запроса. В следующей таблице приведен набор параметров, которые могут содержатся в таком оповещении.
Подробнее о структуре оповещений см. Как выглядит оповещение в Rocketpay.
| Параметр | Описание | |
|---|---|---|
|
project_id |
Уникальный идентификатор проекта. Пример: |
10 |
|
customer |
Объект к данными пользователя | 20 |
|
id |
Уникальный идентификатор пользователя в проекте. Пример: |
20-120 |
|
request |
Объект с данными исходного запроса | 30 |
|
id |
Уникальный идентификатор запроса. Пример: |
30-130 |
|
action |
Тип запроса. Возможны следующие варианты:
Пример: |
30-230 |
|
status |
Статус запроса. Возможны следующие варианты:
Пример: |
30-330 |
|
errors |
Массив объектов с информацией об ошибках. Присутствует в оповещении, только если в процессе обработки запроса возникли ошибки | 30-430 |
|
ErrorItem |
Объект с информацией об одной отдельно взятой ошибке | 30-4-130-4 |
|
code |
Код ошибки. Пример: |
30-4-1-130-4-1 |
|
message |
Сообщение, уточняющее причину ошибки. Пример: |
30-4-1-230-4-1 |
|
field |
Параметр исходного запроса, в котором допущена ошибка, если этот параметр удалось локализовать |
30-4-1-330-4-1 |
|
token |
Токен банковской карты пользователя. Токен генерируется автоматически при успешной оплате, если подключена соответствующая функциональность. Пример: |
40 |
|
token_created_at |
Дата и время генерации токена. Токен генерируется автоматически при успешной оплате, если подключена соответствующая функциональность. Пример: |
50 |
|
token_status |
Статус токена. Пример: |
60 |
|
signature |
Подпись оповещения | 70 |
Рис.: Пример тела оповещения с токеном и информацией о его создании
{
"project_id": 12,
"customer": {
"id": "cust_123"
},
"request": {
"id": "3c7f53fdbb5b8c96f9707457d75f",
"action": "tokenize",
"status": "success"
},
"token": "2f0e75befacca30623354f9ffb0f44a80bee52982c39727b85039ef6f64309a1",
"token_created_at": "2017-11-28 13:30:57",
"token_status": "active",
"signature": "\/gmTHcy5wvrFD4ISuWEiV8+nOa3aqnLnyJ\/AupOYkl9S5eLJZ"
}
Ссылки по теме
- Статусы операций и коды ответов — исчерпывающая информация о статусах операций и кодах ответов платежной платформы, в том числе содержащихся в оповещениях.
- Подписывание и проверка подписи — подробная информация о том, как подписывать запросы и проверять подпись в оповещениях.