Объекты
Объекты - это набор полей сгруппированных по определенному принципу. Если объект возвращается на запрос в API, то он будет в формате JSON. Если объект отправляется в уведомлении, то его формат будет зависеть от выбранного типа уведомления: GET, POST, JSON.
Для уведомлений GET и POST объект передается в виде массива параметров (transaction[transaction_id] = ...).
Для уведомлений JSON объект передается в формате JSON, используя метод POST, в теле запроса.
Стоит помнить
Типы полей объекта сохраняются только при передаче в формате JSON. При передаче через GET или POST все поля будут иметь один тип - string
и преобразование к определенному типу ложится на принимающую сторону.
form
Информация о платежной форме.
Пример
{
"form": {
"form_id": 11200,
"site_id": "site_4f3a1d1f9aa5e3b5b0c5e2b0f7c86dc0a6f65ea7",
"fields": [
{ ...field... },
...,
{ ...field... }
],
"values": {
"amount": 100,
}
}
}
Описание
Поле | Тип | Обязательный | Описание |
---|---|---|---|
form_id | integer | Да | Идентификатор формы, который был передан в вызов виджета |
site_id | string | Да | Идентификатор сайта, который был передан в вызов виджета |
fields | array | Да | Поля формы, которые были добавлены через личный кабинет продавца |
values | object | Да | Значения полей, которые пользователь ввел в форму (ключом является имя поля) |
field
Объект с описанием поля добавленного в форму.
Пример
{
"type": 1,
"name": "amount",
"title": "Сумма платежа",
"help": ""
}
Описание
Поле | Тип | Обязательный | Описание |
---|---|---|---|
type | integer | Да | Тип поля |
name | string | Да | Имя поля. Значение этого поля является ключом в объекте form.values |
title | string | Да | Заголовок поля. Этот заголовок пользователь видит в виджете |
help | string | Да | Подсказка для поля. Эту подсказку пользователь видит в виджете |
card
Представляет информацию о платежной карте.
Пример
{
"card": {
"type": "VISA",
"mask": "400000XXXXXX0002",
"first_six": "400000",
"last_four": "0002",
"exp_date": "11/22",
"exp_month": "11",
"exp_year": "22",
"holder": "HOLDER",
"issuer": "Tinkoff Bank",
"country": "RU",
"token": "....."
}
}
Описание
Поле | Тип | Обязательный | Описание |
---|---|---|---|
type | string | Да | Тип платежной карты. Возможные значения: VISA, MC, MAESTRO, MIR |
mask | string | Да | Маска платежной карты |
first_six | string | Да | Первые 6 цифр платежной карты |
last_four | string | Да | Последние 4 цифры платежной карты |
exp_date | string | Да | Срок действия платежной карты в формате MM/YY |
exp_month | string | Да | Месяц действия платежной карты в формате MM |
exp_year | string | Да | Год действия платежной карты в формате YY |
holder | string | Да | Имя владельца платежной карты |
issuer | string | Да | Название банка-эмитента карты |
country | string | Да | Код страны-эмитента карты |
token | string | Нет | Токен платежной карты для совершения рекуррентных платежей |
location
Информация о местоположении плательщика.
Пример
{
"location": {
"ip": "188.102.10.19",
"country": "Россия",
"city": "Санкт-Петербург",
"lat": 59.8981,
"lon": 30.2619
}
}
Описание
Поле | Тип | Обязательный | Описание |
---|---|---|---|
ip | string | Да | IP-адрес плательщика |
country | string | Да | Страна плательщика, определенная по IP-адресу |
city | string | Да | Город плательщика, определенный по IP-адресу |
lat | float | Да | Широта центральной точки города |
lon | float | Да | Долгота центральной точки города |
transaction
Объект с информацией о платежной операции.
Пример
{
"transaction": {
"transaction_id": 991,
"site_id": "site_4f3a1d1f9aa5e3b5b0c5e2b0f7c86dc0a6f65ea7",
"payment_transaction_id": 990,
"amount": 100,
"fee": 252,
"currency": "RUB",
"mcc": "9999",
"workmode": 0,
"order_id": "1",
"description": "Оплата покупок",
"account_id": "1534375202",
"email": "host@domain.com",
"operation": "PAYMENT",
"status": "INIT",
"error_code": 0,
"message": "",
"details": "",
"created": 1597929805,
"authorized": 0,
"confirmed": 0,
"canceled": 0,
"location": { ...location... },
"card": { ...card... } | null
}
}
Описание
Поле | Тип | Обязательный | Описание |
---|---|---|---|
transaction_id | integer | Да | Идентификатор операции |
payment_transaction_id | integer | Нет | Если текущая операция является возвратом средств, тогда в этом поле указан идентификатор платежной операции |
site_id | string | Да | Идентификатор сайта, которому принадлежит транзакция |
amount | integer | Да | Сумма операции в копейках |
fee | integer | Нет | Сумма комиссии системы в копейках |
currency | string | Да | Валютный код операции |
mcc | string | Да | К какому виду деятельности принадлежит операция (Merchant Category Code) |
workmode | integer | Да | Текущий режим транзакции (0 - тестовый, 1 - боевой) |
order_id | string | Да | Идентификатор заказа в системе продавца переданный в виджет или при рекуррентной оплате |
description | string | Да | Описание операции переданное в виджет или при рекуррентной оплате |
account_id | string | Да | Идентификатор плательщика на стороне продавца, переданный в виджет или при рекуррентной оплате |
string | Да | Адрес электронной почты, который плательщик указал при заполнении формы виджета или значение было передано при рекуррентной оплате | |
operation | string | Да | Тип операции - PAYMENT, REFUND |
status | string | Да | Статус операции |
error_code | integer | Да | Код ошибки. Если операция прошла успешно код будет 0 |
message | string | Да | Техническое сообщение о произошедшей ошибке (если таковая имела место) |
details | string | Да | Описание ошибки для предоставления его пользователю |
created | integer | Да | Время создания операции в формате unixtime |
authorized | integer | Да | Время авторизации операции в формате unixtime |
confirmed | integer | Да | Время подтверждения операции в формате unixtime |
canceled | integer | Да | Время отмены операции в формате unixtime |
location | object | Да | Объект с данными о местоположении плательщика |
card | object | Да | Объект с данными платежной карты, которая была использована для операции |