Объекты

Объекты - это набор полей сгруппированных по определенному принципу. Если объект возвращается на запрос в 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 Да Идентификатор плательщика на стороне продавца, переданный в виджет или при рекуррентной оплате
email 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 Да Объект с данными платежной карты, которая была использована для операции