Merchant API v2.2.0
Изменения в документации
История изменений
Версия 2.2.0 - Актуальная версия (19.03.2026)
Версия 2.1.7 (20.02.2026)
Версия 2.1.6 (30.01.2026)
Версия 2.1.5 (06.10.2025)
Версия 2.1.4 (29.05.2025)
Версия 2.1.3 (04.03.2024)
Версия 2.1.2 (04.03.2024)
Версия 2.1.1 (14.06.2023)
Подготовка к интеграции
Регистрация и создание магазина через pikassa.io
Для подготовки к интеграции необходимо:
- Зарегистрировать личный кабинет Pikassa по кнопке Подключиться на странице pikassa.io;
- В личном кабинете создать магазин в разделе Магазины, перейти в настройки магазина и заполнить раздел Общие настройки;
- Перейти в раздел настроек магазина Технические настройки и сгенерировать новый секретный ключ (
secretPhrase) для формирования подписи;
- Если требуется передача уведомлений об изменении статусов счета в одну из ваших систем (Callback), заполнить поле
ResultURL адресом для получения уведомлений;
- Активировать созданный магазин, связавшись с персональным менеджером.
HTTP-заголовки
Взаимодействие с сервисом происходит посредством передачи HTTP-запросов.
Запросы могут включать следующие заголовки:
Content-Type: application/json; charset=utf-8
x-api-key: <API Key>
x-sign: <электронно-цифровая подпись> (кроме получения данных счета и данных магазина)
Алгоритм формирования ЭЦП
ЭЦП формируется следующим образом:
- К сформированному телу запроса (body) добавляется
secretPhrase магазина (операция конкатенации)
- Вычисляется контрольная сумма по алгоритму md5, кодировка UTF-8
- Контрольная сумма переводится в base64
Примеры реализации алгоритма формирования x-sign
Пример на языке C#
Пример на языке PHP
Пример на языке Python
Схема проведения запроса
- Магазин отправляет в Pikassa запрос на создание счета;
- Pikassa обрабатывает запрос и, если счет создан корректно, возвращает данные, содержащие ссылку для перехода на оплату;
- Плательщик переходит по ссылке, выбирает способ оплаты и вводит платежные данные;
- Pikassa отправляет запрос на списание денежных средств эквайеру;
- Pikassa получает ответ об успешной/неуспешной оплате счета от эквайера;
происходит переадресация плательщика на страницу магазина
- В случае успешной оплаты счета плательщик перенаправляется на страницу, указанную при создании счета в параметре
successUrl;
- В случае неуспешной оплаты происходит перенаправление на страницу, указанную при создании счета в параметре
failUrl;
- Pikassa отправляет магазину уведомление об успешной/неуспешной оплате счета;
Магазин возвращает ответ-подтверждение о проведенной операции.
Создание счета
Метод позволяет создать счет на оплату и отправить его плательщику.
Пример запроса на создание счета
curl https://pikassa.io/merchant-api/api/v2/invoices \
-X POST \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827",
"amount": 105.05,
"currency": "RUB",
"description": "Оплата заказа №12080",
"customerPhone": "+74994550185",
"customerEmail": "support@pikassa.io",
"customerIp": "127.0.0.1",
"customData": {
"key1": "value1",
"key2": 5
},
"successUrl": "https://empty.com/successUrl",
"failUrl": "https://empty.com/failUrl",
"deliveryMethod": "URL",
"expirationDate": "2021-03-14 11:08:24.909150+03:00",
"ofdData": null,
"preAuth": false,
"locale": "ru",
"createToken": false,
"paymentSplits": [
{
"shopId": 197,
"amount": 20,
"currency": "RUB"
},
{
"shopId": 198,
"amount": 85.05,
"currency": "RUB"
}
]
}'
Описание параметров запроса на создание счета
| Параметр |
Обязательный |
Валидация |
Описание |
| externalId |
Да |
Уникальный, непустая строка, максимум 100 символов |
Уникальный внутренний идентификатор счета в системе магазина |
| amount |
Да |
Десятичное число с двумя знаками после запятой. Минимум - 0.01, максимум - 999999999999999.99 |
Сумма счета, разделитель дробной части - "." (точка) |
| currency |
Нет |
RUB, EUR, USD. По умолчанию RUB |
Валюта, в которой будет оплачен счет |
| description |
Да |
Непустая строка, максимум 1000 символов |
Описание счета |
| customerPhone |
Нет |
Номер телефона в международном формате (+7xxxxxxxxxx) |
Номер телефона плательщика. Обязательный для способа доставки SMS |
| customerEmail |
Нет |
Адрес электронной почты |
Адрес электронной почты плательщика. Обязательный для способа доставки EMAIL |
| customerIp |
Нет |
IPv4 (xxx.xxx.xxx.xxx) |
IP-адрес плательщика |
| customData |
Нет |
|
Различная служебная информация, поле будет возвращено в уведомлении об оплате счета. Поле любого типа, поддерживаемого форматом json |
| successUrl |
Нет |
URL |
URL-адрес страницы магазина, на которую будет переправлен плательщик в случае успешно оплаченного счета, максимум 100 символов |
| failUrl |
Нет |
URL |
URL-адрес страницы магазина, на которую будет переправлен плательщик в случае неуспешно оплаченного счета, максимум 100 символов |
| deliveryMethod |
Нет |
EMAIL, SMS или URL (по умолчанию) |
Метод доставки счета клиенту. Метод EMAIL — доставка счета в письме по адресу электронной почты SMS — доставка счета в SMS-сообщении URL — получение ссылки на оплату в ответе на запрос на создание счета |
| expirationDate |
Нет |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz, должна быть больше текущей даты |
Дата и время действия счета. Если в запросе указать данный параметр, то произвести оплату по данному счету можно будет только до момента наступления указанных даты и времени. Если по истечении заданного времени и даты оплата не была совершена, счет переходит в состояние 6 (InoiceCancelled), и при попытке его оплатить пользователь будет перенаправлен на страницу ошибки. Пример: 2025-04-28 17:42:30.220+03:00 |
| ofdData |
Нет |
|
Данные для фискализации. В зависимости от настроек магазина отправляются тому или иному провайдеру фискальных данных. (см. Отправка данных в соответствии с ФЗ-54) |
| preAuth |
Нет |
boolean, по умолчанию false |
Признак холдирования. Значение = true сообщает о необходимости захолдировать сумму, равную сумме счета, на банковском счету плательщика (при двухстадийном платеже) |
| createToken |
Нет |
boolean, по умолчанию false |
Признак создания платежного токена. Значение = true сообщает о необходимости создания платежного токена для дальнейшего осуществления списания средств с банковской карты, совершаемого без подтверждения клиентом. (используется при создании подписки и оплате счета по токену). Для возможности создания платежных токенов необходимо связаться с менеджером и включить эту возможность для магазина. |
| locale |
Нет |
ru, en. По умолчанию ru |
Язык отображения платежного портала |
| paymentSplits |
Нет |
Коллекция json-объектов |
Данные для сплитования платежей. Позволяет автоматически распределить сумму платежа между указанными магазинами-получателями. Сумма счета должна совпадать с общей суммой всех возмещений |
Описание параметров коллекции paymentSplits
| Параметр |
Обязательный |
Валидация |
Описание |
| shopId |
Да |
Положительное целое число |
Идентификатор магазина-получателя в Pikassa |
| amount |
Да |
Десятичное число с двумя знаками после запятой. Минимум - 0.01, максимум - 999999999999999.99 |
Сумма возмещения по указанному магазину |
| currency |
Да |
RUB, EUR, USD |
Валюта, в которой будет выполнено возмещение |
Пример успешного ответа на запрос на создание счета
{
"success": true,
"data": {
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827",
"paymentLink": "https://pikassa.io/portal2/pay/i/cd422358-56dd-4039-9559-c1fb766dbbbd"
}
}
Описание параметров успешного ответа при создании счета
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные счета |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор счета в Pikassa |
| externalId |
Да |
Уникальный, непустая строка |
Уникальный внутренний идентификатор счета в системе магазина |
| paymentLink |
Да |
Непустая строка |
Платежная ссылка для перенаправления |
Пример ответа с ошибкой на запрос на создание счета
{
"success": false,
"error": {
"code": "1",
"message": "Ошибка создания счета"
}
}
Описание параметров ответа с ошибкой создания счета
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Авторизация захолдированного счета
Метод позволяет списать захолдированную сумму с карты плательщика. Используется при двухстадийном платеже.
Пример запроса на авторизацию счета
curl https://pikassa.io/merchant-api/api/v2/invoices/<uuid>/auth \
-X PUT \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"requestId": "1df6b40c-e8a7-fcd1-a799-a0cfa3edab3a",
"amount": 123.12,
"customData": "{"key1": "value1"}"
}'
uuid - идентификатор счета, полученный в успешном ответе при создании захолдированного счета.
Описание параметров запроса на авторизацию счета
| Параметр |
Обязательный |
Валидация |
Описание |
| requestId |
Да |
Уникальный, непустая строка |
Идентификатор запроса |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Итоговая сумма для списания средств по захолдированному счету. Не может превышать сумму, указанную при создании счета |
| customData |
Нет |
|
Различная служебная информация. Поле любого типа, поддерживаемого форматом json |
Пример успешного ответа на запрос на авторизацию счета
{
"success": true,
"data": {
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"requestId": "d1f6b55c-e8a1-add7-a719-a1cfd3eda3ad"
}
}
Описание параметров успешного ответа на запрос на авторизацию счета
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные платежа |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор счета |
| requestId |
Да |
Уникальный, непустая строка |
Идентификатор запроса |
Пример ответа с ошибкой на запрос на авторизацию счета
{
"success": false,
"error": {
"code": "2",
"message": "Ошибка авторизации платежа"
}
}
Описание параметров ответа с ошибкой на запрос на авторизацию счета
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Отмена счета
Метод позволяет отменить возможность оплаты счета. Доступен только для тех счетов, по которым
еще не было переходов на платежную страницу, в обратном случае запрос будет отклонен.
Также метод используется при двухстадийном платеже и позволяет разблокировать ранее захолдированную сумму на карте плательщика.
Пример запроса на отмену счета
curl https://pikassa.io/merchant-api/api/v2/invoices/<uuid>/cancel \
-X PUT \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"requestId": "1df6b40c-e8a7-fcd1-a799-a0cfa3edab3a",
"reason": "Отменен"
}'
uuid - идентификатор счета, полученный в успешном ответе при создании счета.
Описание параметров запроса на отмену счета
| Параметр |
Обязательный |
Валидация |
Описание |
| requestId |
Да |
Уникальный, непустая строка |
Идентификатор запроса |
| reason |
Да |
Непустая строка |
Данные о причине отмены счета |
Пример успешного ответа на запрос на отмену счета
{
"success": true,
"data": {
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"requestId": "d1f6b55c-e8a1-add7-a719-a1cfd3eda3ad"
}
}
Описание параметров успешного ответа на запрос на отмену счета
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные отменяемого счета |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор отменяемого счета |
| requestId |
Да |
Уникальный, непустая строка |
Идентификатор запроса |
Пример ответа с ошибкой на запрос на отмену счета
{
"success": false,
"error": {
"code": "3",
"message": "error"
}
}
Описание параметров ответа с ошибкой на запрос на отмену счета
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Возврат
Используется для возврата денежных средств. Срок возврата зависит от банка, выпустившего карту плательщика.
Пример запроса на возврат
curl https://pikassa.io/merchant-api/api/v2/invoices/<uuid>/refund \
-X PUT \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"requestId": "1df6b40c-e8a7-fcd1-a799-a0cfa3edab3a",
"amount": 123.12,
"reason": "Возврат по счету №22530",
"refundSplits": [
{
"shopId": 197,
"amount": 100,
"currency": "RUB"
},
{
"shopId": 198,
"amount": 23.12,
"currency": "RUB"
}
],
"ofdData": null
}'
uuid - идентификатор счета, полученный в успешном ответе при создании счета.
Описание параметров запроса на возврат
| Параметр |
Обязательный |
Валидация |
Описание |
| requestId |
Да |
Уникальный. Непустая строка |
Идентификатор запроса |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма возврата. Не может превышать сумму amount, указанную при создании счета. |
| reason |
Да |
Непустая строка |
Данные о причине возврата |
| refundSplits |
Нет |
Коллекция json-объектов |
Данные для возвратов по сплитованным платежам. Позволяет указать сумму возврата по каждому магазину-получателю. Сумма возврата должна совпадать с общей суммой возвратов всех возмещений |
| ofdData |
Нет |
|
Данные для фискализации. В зависимости от настроек магазина отправляются тому или иному провайдеру фискальных данных. (см. Отправка данных в соответствии с ФЗ-54) |
Описание параметров коллекции refundSplits
| Параметр |
Обязательный |
Валидация |
Описание |
| shopId |
Да |
Положительное целое число |
Идентификатор магазина-получателя в Pikassa |
| amount |
Да |
Десятичное число с двумя знаками после запятой. Минимум - 0.01, максимум - 999999999999999.99 |
Сумма возврата по указанному магазину |
| currency |
Да |
RUB, EUR, USD |
Валюта, в которой будет выполнен возврат |
Пример успешного ответа на запрос на возврат
{
"success": true,
"data": {
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"requestId": "d1f6b55c-e8a1-add7-a719-a1cfd3eda3ad"
}
}
Описание параметров успешного ответа на запрос на возврат
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные счета |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор счета, по которому выполняется возврат |
| requestId |
Да |
Уникальный. Непустая строка |
Идентификатор запроса |
Пример ответа с ошибкой на запрос на возврат
{
"success": false,
"error": {
"code": "6",
"message": "error"
}
}
Описание параметров ответа с ошибкой на запрос на возврат
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Получение данных счета
Метод позволяет запросить данные счета: статус счета, итоговая сумма счета, метод оплаты и др.
Пример запроса на получение данных
curl https://pikassa.io/merchant-api/api/v2/invoices/<uuid> \
-X GET \
-H 'x-api-key: <Ключ доступа>' \
-H 'Content-Type: application/json; charset=utf-8' \
uuid - идентификатор счета, полученный в успешном ответе при создании счета.
Описание параметров запроса на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор счета |
Пример успешного ответа на запрос на получение данных
{
"id": 132345,
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827",
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"amount": 105.05,
"finalAmount": 123.12,
"currency": "RUB",
"description": "Счет на оплату заказа №12080",
"customerPhone": "+74994550185",
"customerEmail": "support@pikassa.io",
"customData": {
"key1": "value1",
"key2": 5
},
"successUrl": "http://empty.com/successUrl",
"failUrl": "http://empty.com/failUrl",
"deliveryMethod": "URL",
"subscriptionUuid": "945c06b4-b791-4f2c-89b1-a45f78cb1568",
"expirationDate": "2021-03-14 11:08:24.0909150+03:00",
"locale": "ru",
"ofdData": null,
"preAuth": false,
"status": {
"name": "InvoicePaid",
"time": "2020-03-14 11:08:24.0909150+03:00",
"message": "message"
},
"payments": [
{
"paymentMethod": "BankCard",
"paymentDetails": {
"account": "411111******1111",
"paymentToken": "837c06b4-b791-4f2c-89b1-a45f78cb1568",
"cardBrand": "Visa",
"rrn": "002949319187"
},
"status": {
"name": "PaymentPaid",
"message": null
}
}
]
}
Описание параметров успешного ответа на запрос на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| id |
Да |
Уникальный, положительное целое число |
Идентификатор операции |
| externalId |
Да |
Уникальный, непустая строка |
Уникальный внутренний идентификатор счета в системе магазина |
| uuid |
Да |
Уникальный, непустая строка |
Идентификатор счета |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма счета, разделитель дробной части - "." (точка) |
| finalAmount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма счета с учетом возвратов и частичной авторизации |
| currency |
Да, по умолчанию RUB |
RUB, EUR, USD |
Валюта, в которой будет оплачен счет |
| description |
Да |
Непустая строка |
Описание счета |
| customerPhone |
Нет (Да для deliveryMethod = SMS) |
Номер телефона в международном формате (+7xxxxxxxxxx) |
Номер телефона плательщика |
| customerEmail |
Нет (Да для deliveryMethod = EMAIL) |
Адрес электронной почты |
Адрес электронной почты плательщика |
| customData |
Нет |
Объект json |
Дополнительные данные счета |
| successUrl |
Нет |
URL |
Адрес для перенаправления плательщика в случае успешной оплаты |
| failUrl |
Нет |
URL |
Адрес для перенаправления плательщика в случае неуспешной оплаты |
| deliveryMethod |
Да |
EMAIL, SMS или URL |
Метод доставки счета |
| subscriptionUuid |
Нет |
Непустая строка |
Идентификатор подписки, в случае если счет был создан по подписке |
| expirationDate |
Нет |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата, по истечении которой счет будет отменен, например: 2021-03-14 11:08:24.0909150+03:00 |
| locale |
Нет |
ru, en |
Язык отображения платежного портала |
| ofdData |
Нет |
Объект json |
Данные для формирования фискального чека (описание в разделе "Отправка данных в соответствии с ФЗ-54") |
| preAuth |
Да |
boolean |
Признак холдирования. Значение = true сообщает о необходимости захолдировать сумму, равную сумме счета, на банковском счету плательщика |
| status |
Да |
Объект |
Данные о статусе заказа (см. Перечень возможных значений статусов счета) |
| payments |
Нет |
Коллекция |
Данные о платежах по счету |
Описание параметров объекта status
| Параметр |
Обязательный |
Валидация |
Описание |
| name |
Да |
Непустая строка |
Название статуса |
| time |
Да |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата перехода в статус |
| message |
Да |
Непустая строка |
Описание причины перехода в статус |
Описание параметров объекта payments
| Параметр |
Обязательный |
Валидация |
Описание |
| paymentMethod |
Да |
Непустая строка |
Метод оплаты, выбранный плательщиком в процессе оплаты (см. Перечень возможных значений методов оплаты) |
| paymentDetails |
Нет |
Объект |
Дополнительные данные платежа |
| status |
Да |
Объект |
Статус платежа (см. Перечень возможных значений статусов платежа) |
Описание параметров объекта details
| Параметр |
Обязательный |
Валидация |
Описание |
| account |
Нет |
Непустая строка |
Данные об аккаунте плательщика |
| paymentToken |
Нет |
Непустая строка |
Идентификатор платежного токена |
| cardBrand |
Нет |
Непустая строка |
МПС |
| rrn |
Нет |
Непустая строка |
Идентификатор RRN |
Описание параметров объекта status
| Параметр |
Обязательный |
Валидация |
Описание |
| name |
Да |
Непустая строка |
Статус платежа (см. Перечень возможных значений статусов платежа) |
| message |
Нет |
Непустая строка или null |
Описание ошибки, возникшей при оплате |
Пример ответа с ошибкой на запрос на получение данных
{
"success": false,
"error": {
"code": "5",
"message": "error"
}
}
Описание параметров ответа с ошибкой на запрос на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Получение данных счетов
Метод позволяет запросить данные нескольких счетов по фильтрам.
Передаваемые параметры не должны дублироваться.
Пример запроса на получение данных счетов
curl https://pikassa.io/merchant-api/api/v2/invoices?status=InvoicePaid&customerEmail=support@pikassa.io&dateFrom=2022-09-14 11:08:24 \
-X GET \
-H 'x-api-key: <Ключ доступа>' \
-H 'X-Sign: <Подпись>' \
-H 'Content-Type: application/json; charset=utf-8' \
Правила формирования подписи при запросе данных счетов
Подпись формируется следующим образом:
- Значения передаваемых query-параметров сортируются по именам query-параметров, по алфавиту в нижнем регистре в прямом порядке
- Значения параметров склеиваются (конкатенация) в строку через точку с запятой
- К полученной строке приклеивается (конкатенация) секретный ключ магазина
- Вычисляется контрольная сумма полученной строки по алгоритму md5, кодировка UTF-8
- Контрольная сумма кодируется в base64
- Полученная подпись передается в заголовке запроса :
X-Sign
Описание параметров запроса на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| status |
Нет |
Непустая строка |
Статус счета (см. Перечень возможных значений статусов платежа) |
| dateFrom |
Нет |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Начальная дата для отбора записей |
| dateTo |
Нет |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Конечная дата для отбора записей |
| customerEmail |
Нет |
Непустая строка |
Адрес электронной почты плательщика |
| skip |
Да |
Неотрицательное целое число |
Количество записей, пропускаемых при отборе |
| take |
Да |
Неотрицательное целое число, не больше 100 |
Количество запрашиваемых записей |
Пример успешного ответа на запрос на получение данных счетов
{
"success": true,
"meta": {
"totalRow": 2,
"paging": {
"skip": 0,
"take": 100
}
},
"data": [{
"id": 123345,
"externalId": "3cebaddf-d806-ebad-9f96-ebad5d2d3827",
"uuid": "1fdebad-a8e7-ebad-a799-f0cfa3ebebad",
"amount": 105.05,
"finalAmount": 105.05,
"currency": "RUB",
"description": "Счет на оплату заказа №1223080",
"customerPhone": "+74999999999",
"customerEmail": "support@pikassa.io",
"customData": {
"key1": "value1",
"key2": 5
},
"successUrl": "http://empty.com/successUrl",
"failUrl": "http://empty.com/failUrl",
"deliveryMethod": "URL",
"subscriptionUuid": "945c06b4-b791-4f2c-89b1-a45f78cb1568",
"expirationDate": "2021-03-14 12:08:24.0909150+03:00",
"locale": "ru",
"ofdData": null,
"preAuth": false,
"status": {
"name": "InvoicePaid",
"time": "2022-09-14 13:08:24.0908110+03:00",
"message": "message"
},
"payments": [{
"paymentMethod": "BankCard",
"paymentDetails": {
"account": "411111******1111",
"paymentToken": "837c06b4-b791-4f2c-89b1-a45f78cb1568",
"cardBrand": "Visa",
"rrn": "004567375490"
},
"status": {
"name": "PaymentPaid",
"message": null
}
}
]
}, {
"id": 123467,
"externalId": "4ddfaddf-d806-ebad-9f96-ebad5d2d3827",
"uuid": "ddfebad-a8e7-ebad-a799-f0cfa3ebeddf",
"amount": 105,
"finalAmount": 100,
"currency": "RUB",
"description": "Счет на оплату заказа №122",
"customerPhone": "+74999999999",
"customerEmail": "support@pikassa.io",
"customData": {
"key1": "value1",
"key2": 6
},
"successUrl": "http://empty.com/successUrl",
"failUrl": "http://empty.com/failUrl",
"deliveryMethod": "URL",
"subscriptionUuid": null,
"expirationDate": "2021-03-14 11:08:24.0909150+03:00",
"locale": "ru",
"ofdData": null,
"preAuth": false,
"status": {
"name": "InvoicePaid",
"time": "2020-03-14 11:08:24.0909150+03:00",
"message": "message"
},
"payments": [{
"paymentMethod": "BankCard",
"paymentDetails": {
"account": "411111******1111",
"paymentToken": null,
"cardBrand": "Visa",
"rrn": "002949319187"
},
"status": {
"name": "PaymentPaid",
"message": null
}
}
]
}
]
}
Описание параметров успешного ответа на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| meta |
Да |
Объект |
Данные об общем количестве записей и текущей порции выборки |
| data |
Да |
Коллекция |
Данные счетов |
Описание параметров объекта из коллекции data
| Параметр |
Обязательный |
Валидация |
Описание |
| id |
Да |
Уникальный, положительное целое число |
Идентификатор операции |
| externalId |
Да |
Уникальный, непустая строка |
Уникальный внутренний идентификатор счета в системе магазина |
| uuid |
Да |
Уникальный, непустая строка |
Идентификатор счета |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма счета, разделитель дробной части - "." (точка) |
| finalAmount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма счета с учетом возвратов и частичной авторизации |
| currency |
Да, по умолчанию RUB |
RUB, EUR, USD |
Валюта, в которой будет оплачен счет |
| description |
Да |
Непустая строка |
Описание счета |
| customerPhone |
Нет (Да для deliveryMethod = SMS) |
Номер телефона в международном формате (+7xxxxxxxxxx) |
Номер телефона плательщика |
| customerEmail |
Нет (Да для deliveryMethod = EMAIL) |
Адрес электронной почты |
Адрес электронной почты плательщика |
| customData |
Нет |
Объект json |
Дополнительные данные счета |
| successUrl |
Нет |
URL |
Адрес для перенаправления плательщика в случае успешной оплаты |
| failUrl |
Нет |
URL |
Адрес для перенаправления плательщика в случае неуспешной оплаты |
| deliveryMethod |
Да |
EMAIL, SMS или URL |
Метод доставки счета |
| subscriptionUuid |
Нет |
Непустая строка |
Идентификатор подписки, в случае если счет был создан по подписке |
| expirationDate |
Нет |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата, по истечении которой счет будет отменен, например: 2022-09-14 11:08:24.0909150+03:00 |
| locale |
Нет |
ru, en |
Язык отображения платежного портала |
| ofdData |
Нет |
Объект json |
Данные для формирования фискального чека (описание в разделе "Отправка данных в соответствии с ФЗ-54") |
| preAuth |
Да |
boolean |
Признак холдирования. Значение = true сообщает о необходимости захолдировать сумму, равную сумме счета, на банковском счету плательщика |
| status |
Да |
Объект |
Данные о статусе заказа (см. Перечень возможных значений статусов счета) |
| payments |
Нет |
Коллекция |
Данные о платежах по счету |
Описание параметров объекта status
| Параметр |
Обязательный |
Валидация |
Описание |
| name |
Да |
Непустая строка |
Название статуса |
| time |
Да |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата перехода в статус |
| message |
Да |
Непустая строка |
Описание причины перехода в статус |
Описание параметров объекта payments
| Параметр |
Обязательный |
Валидация |
Описание |
| paymentMethod |
Да |
Непустая строка |
Метод оплаты, выбранный плательщиком в процессе оплаты (см. Перечень возможных значений методов оплаты) |
| paymentDetails |
Нет |
Объект |
Дополнительные данные платежа |
| status |
Да |
Объект |
Статус платежа (см. Перечень возможных значений статусов платежа) |
Описание параметров объекта details
| Параметр |
Обязательный |
Валидация |
Описание |
| account |
Нет |
Непустая строка |
Данные об аккаунте плательщика |
| paymentToken |
Нет |
Непустая строка |
Идентификатор платежного токена |
| cardBrand |
Нет |
Непустая строка |
МПС |
| rrn |
Нет |
Непустая строка |
Идентификатор RRN |
Описание параметров объекта status
| Параметр |
Обязательный |
Валидация |
Описание |
| name |
Да |
Непустая строка |
Статус платежа (см. Перечень возможных значений статусов платежа) |
| message |
Нет |
Непустая строка или null |
Описание ошибки, возникшей при оплате |
| Параметр |
Обязательный |
Валидация |
Описание |
| totalRow |
Да |
Неотрицательное целое число |
Общее количество записей |
| paging |
Да |
Объект |
Данные о текущей порции выборки |
Описание параметров объекта paging
| Параметр |
Обязательный |
Валидация |
Описание |
| skip |
Да |
Неотрицательное целое число |
Количество записей, пропущенных при отборе |
| take |
Да |
Неотрицательное целое число, не больше 100 |
Максимальное возможное количество записей в полученной порции выборки |
Пример ответа с ошибкой на запрос на получение данных счетов
{
"success": false,
"error": {
"code": "5",
"message": "error"
}
}
Описание параметров ответа с ошибкой на запрос на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Оплата счета
Метод позволяет передать детали платежа для осуществления оплаты. Оплата возможна по реквизитам банковской карты, либо по ранее созданному платежному токену.
Пример запроса оплаты счета
curl https://pikassa.io/merchant-api/api/v2/invoices/<uuid>/pay \
-X PUT \
-H 'x-api-key: <Ключ доступа>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"requestId": "1df6b40c-e8a7-fcd1-a799-a0cfa3edab3a",
"paymentMethod": "BankCard",
"details": {
"key1": "value1",
"key2": "value2"
}
}
}'
Описание параметров запроса оплаты счета
| Параметр |
Обязательный |
Валидация |
Описание |
| requestId |
Да |
Уникальный. Непустая строка |
Идентификатор запроса |
| paymentMethod |
Да |
Непустая строка |
Метод оплаты, выбранный плательщиком в процессе оплаты (см. Перечень возможных значений методов оплаты) |
| details |
Да |
Объект |
Детали платежа. В объекте должны передаваться либо реквизиты банковской карты, либо платежный токен. |
Оплата счета по реквизитам банковской карты
Алгоритм работы
- Магазин отправляет в Pikassa запрос на создание счета (см. "Создание счета");
- Pikassa обрабатывает запрос и, если счет создан корректно, то возвращает успешный ответ с его идентификатором (uuid);
- Магазин отображает пользователю форму ввода карточных данных для данного счета;
- Пользователь вводит банковские реквизиты на форме магазина;
- Магазин отправляет в Pikassa запрос на оплату счета с реквизитами банковской карты в объекте
details;
- Pikassa обрабатывает запрос и, если от пользователя требуется ввод 3DS, то в ответе возвращается ссылка для перенаправления пользователя, в противном случае переходим к пункту 9;
- Магазин перенаправляет пользователя на страницу ввода 3DS по полученным от Pikassa данным;
- Пользователь вводит 3DS и перенаправляется на successUrl/failUrl (в зависимости от результата), который был указан в запросе на создание счета;
- Pikassa отправляет магазину уведомление об успешной/неуспешной оплате счета;
- Магазин возвращает ответ-подтверждение о проведенной операции.
Пример запроса для оплаты счета по реквизитам банковской карты
curl https://pikassa.io/merchant-api/api/v2/invoices/<uuid>/pay \
-X PUT \
-H 'x-api-key: <Ключ доступа>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"requestId": "1df6b40c-e8a7-fcd1-a799-a0cfa3edab3a",
"paymentMethod": "BankCard",
"details": {
"pan": "4111111111111111",
"cardHolder": "ivan ivanov",
"expYear": "24",
"expMonth": "12",
"cvc": "123"
}
}
}'
Описание параметров details для оплаты счета по реквизитам банковской карты
| Параметр |
Обязательный |
Валидация |
Описание |
| pan |
Да |
Непустая строка |
Номер банковской карты |
| cardHolder |
Нет |
Непустая строка |
Имя и фамилия владельца банковской карты латинскими буквами |
| cvc |
Да |
Непустая строка |
CVC банковской карты |
| expYear |
Да |
Непустая строка |
Год окончания срока действия банковской карты |
| expMonth |
Да |
Непустая строка |
Месяц окончания срока действия банковской карты |
Оплата счета с помощью платежного токена
Алгоритм работы
- Магазин отправляет в Pikassa запрос на создание счета, где указывает параметр
createToken=true для создания платежного токена (см. "Создание счета"). Предварительно данную возможность необходимо согласовать с менеджером;
- Pikassa обрабатывает запрос и, если счет создан корректно, то возвращает успешный ответ с его идентификатором (uuid) и ссылкой для оплаты счета. Счет может быть оплачен любым удобным способом - либо по платежной ссылке, либо с помощью метода оплаты счета по реквизитам банковской карты;
- Магазин получает платежный токен в уведомлении от Pikassa об успешной оплате счета, либо в ответе на запрос данных счета.
- Для оплаты счета по токену, Магазин отправляет в Pikassa запрос на создание счета (см. "Создание счета");
- Pikassa обрабатывает запрос и, если счет создан корректно, то возвращает успешный ответ с его идентификатором (uuid);
- Магазин отправляет в Pikassa запрос на оплату счета по полученному в предыдущем пункте идентификатору с платежным токеном в объекте
details;
- Pikassa отправляет магазину уведомление об успешной/неуспешной оплате счета;
- Магазин возвращает ответ-подтверждение о проведенной операции.
Пример запроса для оплаты счета по токену
curl https://pikassa.io/merchant-api/api/v2/invoices/<uuid>/pay \
-X PUT \
-H 'x-api-key: <Ключ доступа>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"requestId": "1df6b40c-e8a7-fcd1-a799-a0cfa3edab3a",
"paymentMethod": "BankCard",
"details": {
"token": "5fc6aaf6-f3e6-42f5-8b30-984f82ca8527"
}
}
}'
Описание параметров details для оплаты счета по токену
| Параметр |
Обязательный |
Валидация |
Описание |
| token |
Да |
Непустая строка |
Платежный токен, полученный в оповещении об изменении статуса счета, либо в ответе на получение данных по счету |
Пример успешного ответа на запрос оплаты счета
{
"success": true,
"data": {
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"requestId": "d1f6b55c-e8a1-add7-a719-a1cfd3eda3ad",
"redirect": {
"url": "http://example.com",
"method": "POST",
"params": [
{
"name": "name1",
"value": "value1"
}
]
}
}
}
В случае необходимости ввода кода 3DS может потребоваться перенаправление пользователя.
Описание параметров успешного ответа на запрос оплаты счета
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные счета |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор счета, для которого выполняется оплата по счету |
| requestId |
Да |
Уникальный. Непустая строка |
Идентификатор запроса |
| redirect |
Нет |
Объект |
Данные для перенаправления пользователя |
Описание параметров объекта redirect
| Параметр |
Обязательный |
Валидация |
Описание |
| url |
Да |
URL |
Адрес для перенаправления плательщика |
| method |
Да |
Непустая строка |
http метод |
| params |
Нет |
Коллекция |
Дополнительные параметры для аутентификации 3DS |
Пример ответа с ошибкой на запрос оплаты счета
{
"success": false,
"error": {
"code": "4",
"message": "error"
}
}
Описание параметров ответа с ошибкой на запрос оплаты счета
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Создание подписки
Метод позволяет создать подписку для проведения регулярных платежей, совершаемых без подтверждения клиентом.
Алгоритм работы с подпиской
- Магазин отправляет в Pikassa запрос на создание счета, где указывает параметр
createToken=true для создания платежного токена. Предварительно данную возможность необходимо согласовать с менеджером;
- Логика оплаты счета описана в "Схеме проведения запроса";
- В случае если счет был успешно оплачен, то Pikassa отправляет магазину уведомление об успешной оплате, которое содержит идентификатор платежного токена;
Магазин возвращает ответ-подтверждение о проведенной операции.
- Магазин отправляет в Pikassa запрос на создание подписки, где указывает идентификатор платежного токена первого счета и данные подписки;
- Pikassa обрабатывает запрос и если подписка создана корректно, возвращает ответ, содержащий идентификатор подписки;
- В случае если наступил момент следующей оплаты счета Pikassa создает счет и проводит его аналогично первому платежу, но списание средств осуществляется уже без подтверждения клиентом;
- Pikassa отправляет магазину уведомление об успешной/неуспешной оплате счета, которое содержит идентификатор подписки, на основе которой создан счет;
Магазин возвращает ответ-подтверждение о проведенной операции.
Пример запроса на создание подписки
curl https://pikassa.io/merchant-api/api/v2/subscriptions \
-X POST \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"requestId": "1df6b40c-e8a7-fcd1-a799-a0cfa3edab3a",
"paymentToken": "d1f6b55c-e8a1-add7-a719-a1cfd3eda3ad",
"customerEmail": "support@pikassa.io",
"name": "Подписка на сервис",
"amount": 444.44,
"startDate": "2020-07-01 00:00:00.000000+03:00",
"interval": "MONTH",
"period": 1,
"maxPeriods": 12,
"currency": "RUB"
}'
paymentToken - идентификатор платежного токена, полученный в нотификации (callback), после оплаты счета.
Описание параметров запроса на создание подписки
| Параметр |
Обязательный |
Валидация |
Описание |
| requestId |
Да |
Уникальный, непустая строка, максимум 100 символов |
Идентификатор запроса |
| paymentToken |
Да |
Непустая строка, максимум 100 символов |
Идентификатор платежного токена |
| customerEmail |
Да |
Адрес электронной почты, максимум 100 символов |
Email плательщика |
| name |
Да |
Непустая строка, максимум 100 символов |
Название подписки |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма периодического списания |
| startDate |
Да |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата и время первого периодического списания |
| interval |
Да |
DAY, WEEK, MONTH |
Интервал |
| period |
Да |
Целое число |
Период. В комбинации с интервалом, 1 MONTH - раз в месяц, 2 WEEK - 1 раз в 2 недели. |
| maxPeriods |
Нет |
Целое число |
Максимальное количество платежей в подписке |
| currency |
Нет |
RUB, EUR, USD |
Валюта, в которой будет оформлена подписка (по умолчанию RUB) |
Пример успешного ответа на запрос на создание подписки
{
"success": true,
"data": {
"uuid": "5c91a9f9-984b-4ed5-818b-8136fdd551e2",
"requestId": "1df6b40c-e8a7-fcd1-a799-a0cfa3edab3a"
}
}
Описание параметров успешного ответа на запрос на создания подписки
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные платежа |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор подписки |
| requestId |
Да |
Уникальный, непустая строка |
Идентификатор запроса |
Пример ответа с ошибкой на запрос на создание подписки
{
"success": false,
"error": {
"code": "7",
"message": "Ошибка создания подписки"
}
}
Описание параметров ответа с ошибкой на запрос на создание подписки
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Получение баланса магазина
Пример запроса на получение данных
Метод позволяет по ключу доступа получить баланс данного магазина. Если магазин работает с несколькими валютами, то баланс будет получен по каждой из валют.
curl https://pikassa.io/merchant-api/api/v2/balance \
-X GET \
-H 'x-api-key: <Ключ доступа>' \
-H 'Content-Type: application/json; charset=utf-8' \
Пример успешного ответа на запрос на получение данных
{
"success": true,
"data": [
{
"currency": "RUB",
"balance": 890.12,
"freeze": 23.44
},
{
"currency": "USD",
"balance": 562.43,
"freeze": 0
}
]
}
Описание параметров успешного ответа на запрос на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Коллекция |
Балансы магазина в разных валютах |
Описание параметров элемента коллекции data
| Параметр |
Обязательный |
Валидация |
Описание |
| currency |
Да |
Непустая строка |
Валюта счёта |
| balance |
Да |
Десятичное число с двумя знаками после запятой |
Баланс счёта |
| freeze |
Да |
Десятичное число с двумя знаками после запятой |
Захолдированные средства на счёте |
Пример ответа с ошибкой на запрос на получение данных
{
"success": false,
"error": {
"code": "8",
"message": "error"
}
}
Описание параметров ответа с ошибкой на запрос на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Создание выплаты
Метод позволяет осуществлять вывод средств на платежные средства. Pikassa предлагает следующие способы вывода: на банковскую карту, кошелек WebMoney (P, Z), кошелек ЮMoney, кошелек QIWI, мобильный телефон. Для активации возможности создавать выплаты необходимо связаться с менеджером Pikassa.
Пример запроса на создание выплаты
curl https://pikassa.io/merchant-api/api/v2/payouts \
-X POST \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827",
"amount": 10005.05,
"currency": "RUB",
"description": "Вывод себе на карту",
"destination": {
"pan": "41233543544386",
"cardholder": "Ivan Pupkin"
},
"payoutMethod": "BankCard",
"customData": {
"key1": "value1",
"key2": 5
}
}'
Описание параметров запроса на создание выплаты
| Параметр |
Обязательный |
Валидация |
Описание |
| externalId |
Да |
Уникальный, непустая строка, максимум 100 символов |
Уникальный внутренний идентификатор выплаты в системе магазина |
| amount |
Да |
Десятичное число с двумя знаками после запятой. Минимум - 0.01, максимум - 999999999999999.99 |
Сумма выплаты, разделитель дробной части - "." (точка) |
| currency |
Нет |
По умолчанию RUB. См. "Перечень возможных значений валюты" |
Валюта, в которой будет совершен вывод средств |
| description |
Да |
Непустая строка, максимум 1000 символов |
Описание выплаты |
| destination |
Да |
Объект |
Реквизиты выплаты |
| payoutMethod |
Да |
Непустая строка. См. "Перечень возможных значений методов вывода" |
Способ вывода |
| customData |
Нет |
|
Различная служебная информация, поле будет возвращено в уведомлении об изменении статуса выплаты. Поле любого типа, поддерживаемого форматом json |
Описание параметров объекта destination для способа вывода на банковскую карту
{
...
"destination": {
"pan": "41233543544386",
"cardholder": "Ivan Pupkin"
},
"payoutMethod": "BankCard"
}
| Параметр |
Обязательный |
Валидация |
Описание |
| pan |
Да |
Непустая строка. 16-19 цифр |
Номер банковской карты |
| cardholder |
Нет |
Непустая строка |
Имя и фамилия владельца банковской карты латинскими буквами |
Описание параметров объекта destination для способа вывода на кошелек WebMoney
{
...
"destination": {
"wallet": "P123456789123"
},
"payoutMethod": "WMR"
}
| Параметр |
Обязательный |
Валидация |
Описание |
| wallet |
Да |
Непустая строка. Символы "P", "p", "Z", "z" и 12 цифр. |
Номер кошелька WebMoney |
Описание параметров объекта destination для способа вывода на кошелек ЮMoney
{
...
"destination": {
"wallet": "41234567891234567812"
},
"payoutMethod": "YandexMoney"
}
| Параметр |
Обязательный |
Валидация |
Описание |
| wallet |
Да |
Непустая строка. 11-20 цифр |
Номер кошелька ЮMoney |
Описание параметров объекта destination для способа вывода на мобильный телефон
{
...
"destination": {
"phone": "+79851111111"
},
"payoutMethod": "Mobile"
}
| Параметр |
Обязательный |
Валидация |
Описание |
| phone |
Да |
Непустая строка. Символ "+", 11 цифр. |
Номер мобильного телефона |
Описание параметров объекта destination для способа вывода на кошелек QIWI
{
...
"destination": {
"phone": "+79851111111"
},
"payoutMethod": "Qiwi"
}
| Параметр |
Обязательный |
Валидация |
Описание |
| phone |
Да |
Непустая строка. Символ "+", 11 цифр. |
Номер мобильного телефона |
Пример успешного ответа на запрос на создание выплаты
{
"success": true,
"data": {
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827"
}
}
Описание параметров успешного ответа при создании выплаты
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные выплаты |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор выплаты в Pikassa |
| externalId |
Да |
Уникальный, непустая строка |
Уникальный внутренний идентификатор выплаты в системе магазина |
Примеры ответа с ошибкой на запрос на создание выплаты
{
"success": false,
"error": {
"code": "9",
"message": "Ошибка создания выплаты"
}
}
При получении ответа на запрос создания выплаты с http кодом 408, требуется дождаться оповещения об изменении статуса выплаты (Callback).
Описание параметров ответа с ошибкой создания выплаты
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Получение данных выплаты
Метод позволяет запросить данные выплаты: статус выплаты, сумму, метод вывода и др.
Пример запроса на получение данных
curl https://pikassa.io/merchant-api/api/v2/payouts/<uuid> \
-X GET \
-H 'x-api-key: <Ключ доступа>' \
-H 'Content-Type: application/json; charset=utf-8' \
uuid - идентификатор выплаты, полученный в успешном ответе при создании выплаты.
Описание параметров запроса на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор выплаты |
Пример успешного ответа на запрос на получение данных
{
"success": true,
"data": {
"externalId": "12_530539_wm927548",
"uuid": "63947ef9-fb75-4b8a-b126-e6f53441e24a",
"payoutMethod": "BankCard",
"amount": 813.03,
"currency": "RUB",
"description": "Вывод на карту",
"destination": {
"cardholder": "Ivan Pupkin",
"masked_pan": "489049******0514"
},
"status": {
"name": "PayoutSucceeded",
"time": "2022-04-13 08:42:22.501903+00:00",
"message": "Получено событие о удачном проведении транзакции на выплату"
},
"commission": {
"amount": -150.16,
"currency": "RUB"
},
"customData": {
"key1": "value1",
"key2": 5
},
"rrn": "004567375490"
}
}
Описание параметров успешного ответа при получении данных выплаты
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные выплаты |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| externalId |
Да |
Уникальный, непустая строка |
Уникальный внутренний идентификатор выплаты в системе магазина |
| uuid |
Да |
Уникальный, непустая строка |
Идентификатор выплаты |
| payoutMethod |
Да |
Непустая строка. См. "Перечень возможных значений методов вывода" |
Способ вывода |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма выплаты, разделитель дробной части - "." (точка) |
| currency |
Да |
Непустая строка. См. "Перечень возможных значений валюты" |
Валюта выплаты |
| description |
Да |
Непустая строка |
Описание выплаты |
| status |
Да |
Объект |
Данные о статусе выплаты (см. "Перечень возможных значений статусов выплаты") |
| commission |
Нет |
Объект |
Комиссия |
| customData |
Нет |
Объект json |
Дополнительные данные выплаты |
| rrn |
Нет |
Непустая строка |
Идентификатор RRN |
Описание параметров объекта commission
| Параметр |
Обязательный |
Валидация |
Описание |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма комиссии, разделитель дробной части - "." (точка) |
| currency |
Да |
Непустая строка. См. "Перечень возможных значений валюты" |
Валюта комиссии |
Описание параметров объекта status
| Параметр |
Обязательный |
Валидация |
Описание |
| name |
Да |
Непустая строка |
Название статуса |
| time |
Да |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата перехода в статус, например: 2021-03-14 11:08:24.0909150+03:00 |
| message |
Да |
Непустая строка |
Описание причины перехода в статус. В случае неуспешного проведения выплаты, поле содержит описание ошибки |
Описание параметров объекта destination для способа вывода на банковскую карту
| Параметр |
Обязательный |
Валидация |
Описание |
| masked_pan |
Да |
Непустая строка. 16-19 цифр |
Маскированый номер банковской карты |
| cardholder |
Нет |
Непустая строка |
Имя и фамилия владельца банковской карты латинскими буквами |
Описание параметров объекта destination для способа вывода на кошелек WebMoney
| Параметр |
Обязательный |
Валидация |
Описание |
| wallet |
Да |
Непустая строка. Символы "P", "p", "Z", "z" и 12 цифр. |
Номер кошелька WebMoney |
Описание параметров объекта destination для способа вывода на кошелек ЮMoney
| Параметр |
Обязательный |
Валидация |
Описание |
| wallet |
Да |
Непустая строка. 11-20 цифр |
Номер кошелька ЮMoney |
Описание параметров объекта destination для способа вывода на мобильный телефон или Qiwi
| Параметр |
Обязательный |
Валидация |
Описание |
| phone |
Да |
Непустая строка. Символ "+", 11 цифр. |
Номер мобильного телефона |
Пример ответа с ошибкой на запрос на получение данных
{
"success": false,
"error": {
"code": "10",
"message": "Ошибка при получении данных выплаты"
}
}
Описание параметров ответа с ошибкой на запрос на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Создание выплатной ссылки
Метод позволяет создать выплатную ссылку на заранее установленную сумму.
Пример запроса на создание выплатной ссылки
curl https://pikassa.io/merchant-api/api/v2/payoutlink \
-X POST \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827",
"amount": 10005.05,
"currency": "RUB",
"description": "Вывод себе на карту",
"payoutMethod": "BankCard",
"customData": {
"key1": "value1",
"key2": 5
},
"successUrl": "https://empty.com/successUrl",
"failUrl": "https://empty.com/failUrl"
}'
Описание параметров запроса на создание выплатной ссылки
| Параметр |
Обязательный |
Валидация |
Описание |
| externalId |
Да |
Уникальный, непустая строка, максимум 100 символов |
Уникальный внутренний идентификатор выплаты в системе магазина |
| amount |
Да |
Десятичное число с двумя знаками после запятой. Минимум - 0.01, максимум - 999999999999999.99 |
Сумма выплаты, разделитель дробной части - "." (точка) |
| currency |
Нет |
По умолчанию RUB. См. "Перечень возможных значений валюты" |
Валюта, в которой будет совершен вывод средств |
| description |
Да |
Непустая строка, максимум 1000 символов |
Описание выплаты |
| payoutMethod |
Да |
Непустая строка. См. "Перечень возможных значений методов вывода" |
Способ вывода |
| customData |
Нет |
|
Различная служебная информация, поле будет возвращено в уведомлении об изменении статуса выплаты. Поле любого типа, поддерживаемого форматом json |
| successUrl |
Нет |
URL |
URL-адрес страницы магазина, на которую будет переправлен пользователь в случае успешной выплаты, максимум 100 символов |
| failUrl |
Нет |
URL |
URL-адрес страницы магазина, на которую будет переправлен пользователь в случае неуспешной выплаты, максимум 100 символов |
Пример успешного ответа на запрос на создание выплатной ссылки
{
"success": true,
"data": {
"uuid": "b452d24c-bd5a-4c63-a1e6-e15f546e1cbf",
"link": "https://pikassa.io/payout-portal/pay/i/b452d24c-bd5a-4c63-a1e6-e15f546e1cbf",
"externalId": "f8029ea1-2845-41e7-a177-a198b01d0d21"
}
}
Описание параметров успешного ответа при создании выплаты
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные выплаты |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор выплатной ссылки Pikassa |
| link |
Да |
Непустая строка |
Выплатная ссылка |
| externalId |
Да |
Уникальный, непустая строка |
Уникальный внутренний идентификатор выплаты в системе магазина |
Примеры ответа с ошибкой на запрос на создание выплаты
{
"success": false,
"error": {
"code": "9",
"message": "Ошибка создания выплаты"
}
}
При получении ответа на запрос создания выплаты с http кодом 408, требуется дождаться оповещения об изменении статуса выплаты (Callback).
Описание параметров ответа с ошибкой создания выплаты
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
Получение выплатной ссылки
Метод позволяет запросить выплатную ссылку.
Пример запроса на получение выплатной ссылки
curl https://pikassa.io/merchant-api/api/v2/PayoutLink/<uuid> \
-X GET \
-H 'x-api-key: <Ключ доступа>' \
-H 'Content-Type: application/json; charset=utf-8' \
uuid - идентификатор выплатной ссылки, полученный в успешном ответе при создании выплатной ссылки.
Описание параметров запроса на получение выплатной ссылки
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор выплатной ссылки |
Пример успешного ответа на запрос для получения выплатной ссылки
{
"success": true,
"data": {
"uuid": "54b43663-6f74-4179-b19e-a8610e3a724a",
"externalId": "2df2e6ab-393e-4967-938b-bec2aa6afa74",
"shopId": 20138,
"status": {
"name": "LinkCreated",
"time": "2025-07-02 15:04:37.081000+00:00",
"message": null,
"code": 9
},
"amount": 123.0,
"commission": null,
"description": null,
"successUrl": "https://empty.com/successUrl",
"failUrl": "https://empty.com/failUrl",
"destination": {
"masked_pan": "966137******3406"
},
"payoutMethod": "BankCard",
"currency": "RUB",
"customData": {
"key1": "value1",
"key2": 5
},
"payoutLink": "https://dev.pikassa.io/payout-portal/pay/i/b452d24c-bd5a-4c63-a1e6-e15f546e1cbf",
"rrn": "JYKBJKVVYUCFT",
"creationDate": "2025-07-02 15:04:37.081000+00:00",
"lastUpdated": "2025-07-02 15:04:37.136000+00:00"
}
}
Описание параметров успешного ответа при получении выплатной ссылки
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные выплаты |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| Uuid |
Да |
Уникальный, непустая строка |
Идентификатор выплатной ссылки |
| ExternalId |
Да |
Уникальный, непустая строка |
Уникальный внутренний идентификатор выплаты в системе магазина |
| shopId |
Да |
Положительное целое число |
Идентификатор магазина-получателя в Pikassa |
| status |
Да |
Объект |
Данные о статусе выплатной ссылки (см. "Перечень возможных значений статусов выплаты") |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма выплаты, разделитель дробной части - "." (точка) |
| commission |
Нет |
Десятичное число с двумя знаками после запятой |
Сумма комиссии, разделитель дробной части - "." (точка) |
| description |
Да |
Непустая строка |
Описание выплаты |
| destination |
Нет |
Объект |
Данные выплаты |
| payoutMethod |
Да |
Непустая строка. См. "Перечень возможных значений методов вывода" |
Способ вывода |
| currency |
Да |
Непустая строка. См. "Перечень возможных значений валюты" |
Валюта выплаты |
| customData |
Нет |
Непустая строка |
Дополнительные данные выплаты |
| payoutLink |
Да |
Непустая строка |
Выплатная ссылка |
| rrn |
Нет |
Непустая строка |
Идентификатор RRN |
| creationDate |
Да |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата cоздания ссылки |
| lastUpdated |
Да |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата последнего обновления ссылки |
| successUrl |
Нет |
URL |
URL-адрес страницы магазина, на которую будет переправлен пользователь в случае успешной выплаты, максимум 100 символов |
| failUrl |
Нет |
URL |
URL-адрес страницы магазина, на которую будет переправлен пользователь в случае неуспешной выплаты, максимум 100 символов |
Описание параметров объекта status
| Параметр |
Обязательный |
Валидация |
Описание |
| name |
Да |
Непустая строка |
Название статуса |
| time |
Да |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата перехода в статус, например: 2021-03-14 11:08:24.0909150+03:00 |
| message |
Да |
Непустая строка |
Описание причины перехода в статус. В случае неуспешного проведения выплаты, поле содержит описание ошибки |
| code |
Да |
Непустая строка |
Код статуса |
Описание параметров объекта destination для способа вывода на банковскую карту
| Параметр |
Обязательный |
Валидация |
Описание |
| masked_pan |
Да |
Непустая строка. 16-19 цифр |
Маскированый номер банковской карты |
Пример ответа с ошибкой на запрос на получение данных
{
"success": false,
"error": {
"code": "10",
"message": "Something went wrong",
"correlationId": "af462bc1-e550-46d5-b7b3-83c2a5f20c66"
}
}
Описание параметров ответа с ошибкой на запрос на получение данных
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
| correlationId |
Да |
Непустая строка |
Идентификатор корреляции |
PIM Сделка 360
Создание счёта на оплату
Чтобы инициировать «PIM Сделку 360» создайте счёт для покупателя
Важные особенности:
Расчёт суммы (amount): В поле amount необходимо передать итоговую сумму к оплате покупателем, которая складывается из:
Сумма товаров
Комиссия (fee) (комиссии площадки, доставка и тд.)
- Формула:
amount = сумма заказа + fee
Передача служебных данных (объект customData): для создания счета необходимо передать объект customData.
Пример запроса на создание счета для "PIM Сделка 360"
curl https://pikassa.io/merchant-api/api/v2/invoices \
-X POST \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827",
"amount": 105.05,
"currency": "RUB",
"description": "Оплата заказа №12080",
"customerPhone": "+74994550185",
"customerEmail": "support@pikassa.io",
"customerIp": "127.0.0.1",
"customData": {
"fee": "500",
"st_external_order_id": "order_12345_abc",
"your_internal_field": "значение"
},
"successUrl": "https://empty.com/successUrl",
"failUrl": "https://empty.com/failUrl",
"deliveryMethod": "URL",
"expirationDate": "2021-03-14 11:08:24.909150+03:00",
"ofdData": null,
"preAuth": false,
"locale": "ru",
"createToken": false,
"paymentSplits": [
{
"shopId": 197,
"amount": 20,
"currency": "RUB"
},
{
"shopId": 198,
"amount": 85.05,
"currency": "RUB"
}
]
}'
Описание параметров объекта "customData" для запроса на создание счета для "PIM Сделка 360"
| Параметр |
Обязательный |
Валидация |
Описание |
| fee |
Да |
Непустая строка |
Комиссия, которую взимает ваша площадка за использование «Сделки 360» |
| st_external_order_id |
Да |
Непустая строка |
Уникальный идентификатор «Сделки 360». Этот идентификатор является единственным и обязательным ключом для связывания всех операций в рамках одной сделки |
| your_internal_field |
Нет |
Строка |
Различная служебная информация, поле будет возвращено в уведомлении об оплате счета |
Примечание: Ссылка на оплату счёта не имеет ограничения по сроку жизни, если оплата по ней не была произведена.
Создание выплатной ссылки
После успешного завершения сделки, вы можете создать ссылку для выплаты средств продавцу.
Важные особенности:
Расчёт суммы (amount): В поле amount передаётся сумма, которую получит продавец, то есть только Сумма товаров. Комиссия площадки (fee) будет автоматически удержана системой на основе данных, переданных при создании счёта.
Связь с платежом - объект customData: для создания выплаты необходимо передать объект customData.
Пример запроса на создание выплатной ссылки для "PIM Сделка 360"
curl https://pikassa.io/merchant-api/api/v2/payoutlink \
-X POST \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827",
"amount": 10005.05,
"currency": "RUB",
"description": "Вывод себе на карту",
"payoutMethod": "BankCard",
"customData": {
"st_external_order_id": "order_12345_abc",
"metaship_id":"efde9aa1-026a-4fe6-98db-000981abd85f",
"your_internal_field": "значение"
},
"successUrl": "https://empty.com/successUrl",
"failUrl": "https://empty.com/failUrl"
}'
Описание параметров объекта "customData" для запроса на создание выплатной ссылки для "PIM Сделка 360"
| Параметр |
Обязательный |
Валидация |
Описание |
| metaship_id |
Да |
Непустая строка |
Уникальный идентификатор Metaship |
| st_external_order_id |
Да |
Непустая строка |
Уникальный идентификатор «Сделки 360». Этот идентификатор является единственным и обязательным ключом для связывания всех операций в рамках одной сделки. Тот же самый уникальный идентификатор, который был передан при создании счёта на оплату |
| your_internal_field |
Нет |
Строка |
Различная служебная информация, поле будет возвращено в уведомлении об оплате счета |
Примечание: Выплатная ссылка также не имеет ограничения по сроку жизни, если по ней не была произведена выплата.
Настройка возврата в магазин (successUrl / failUrl)
Для улучшения пользовательского опыта при оплате рекомендуем передавать URL для перенаправления.
successUrl: URL, на который будет перенаправлен покупатель после успешной оплаты счёта.
failUrl: URL, на который будет перенаправлен покупатель в случае ошибки или отмены оплаты.
Важно: Если эти поля не переданы в запросе на создание счёта, на странице платежного портала у покупателя не будет кнопки «Вернуться в магазин».
Ограничения продукта
Учитывайте следующие особенности при работе с «PIM Сделка 360»:
1) Авторизация средств. Возможна полная авторизация (холдирование) всей суммы, указанной в счёте (сумма заказа + fee), и частичная авторизация (например, холдирование 50% суммы)
В случае частичной авторизации необходимо указать: amount и authorizedFee
Пример запроса на частичную авторизацию для "PIM Сделка 360"
curl https://pikassa.io/merchant-api/api/v2/invoices/<uuid>/auth \
-X PUT \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"requestId": "1df6b40c-e8a7-fcd1-a799-a0cfa3edab3a",
"amount": 123.12,
"customData": "{"authorizedFee":"10"}"
}'
Описание параметров объекта "customData" для запроса на частичную авторизацию для "PIM Сделка 360"
| Параметр |
Обязательный |
Валидация |
Описание |
| authorizedFee |
Да |
Непустая строка |
Сумма частичной авторизации комиссии |
2) Возвраты: Система поддерживает возможность частичного возврата средств покупателю. Однако общая сумма возврата по сделке не может превышать сумму авторизации. При совершении возврата выплата становится недоступной.
Недопустимо: сумма возврата > сумма авторизированных средств
Допустимо: сумма возврата <= (сумма авторизированных средств - сумма возвратов)
3) Возвраты на ЮЛ: После совершения частичного возврата покупателю, система поддерживает возможность частичного вывода (вознаграждения) средств на счет ЮЛ, но не больше суммы авторизации.
Пример запроса на вывод средств ЮЛ
curl https://pikassa.io/merchant-api/api/v1/purchase\
-X POST \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"st_external_order_id":"228034",
"amount": 20.00
}
Описание параметров запроса на вывод средств ЮЛ
| Параметр |
Обязательный |
Валидация |
Описание |
| st_external_order_id |
Да |
Непустая строка |
Идентификатор сделки |
| amount |
Да |
Десятичное число с двумя знаками после запятой. |
Сумма частичного вывода средств |
Пример успешного ответа на запрос на вывод средств ЮЛ
{
"success": true,
"data": {
"uuid": "999-PURCHASE-3708c15c-90b2-409a-9adf-82c30d64e6cb"
}
}
Описание параметров успешного ответа на запрос на вывод средств ЮЛ
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда true |
Признак успешности выполнения команды |
| data |
Да |
Объект |
Данные выплаты |
Описание параметров объекта data
| Параметр |
Обязательный |
Валидация |
Описание |
| uuid |
Да |
Непустая строка |
Идентификатор выплаты в Pikassa |
Пример неуспешного ответа на запрос на вывод средств ЮЛ
{
"success": false,
"error": {
"code": "1",
"message": "X-Api-Key invalid format",
"correlationId": "fa2db964-52c5-4afd-8cf1-d2db03613c36"
}
}
Описание параметров неуспешного ответа на запрос на вывод средств ЮЛ
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
Всегда false |
Признак успешности выполнения команды |
| error |
Да |
Объект |
Данные об ошибке |
Описание параметров объекта error
| Параметр |
Обязательный |
Валидация |
Описание |
| code |
Да |
Непустая строка |
Код ошибки (см. Описание кодов ошибок) |
| message |
Да |
Непустая строка |
Описание ошибки |
| correlationId |
Да |
Непустая строка |
Иднтификатор |
Коды ответов:
| Номер |
Описание |
| 1 |
проблема с Api-Key |
| 2 |
проблема с магазином |
Перечень возможных значений статусов счета
| Название |
Описание |
| InvoiceCreated |
Счет создан |
| InvoicePaymentCreated |
Платеж по счету создан |
| InvoicePaid |
Счет оплачен |
| InvoiceFailed |
Ошибка при оплате счета |
| InvoiceRefunded |
Выполнен возврат |
| InvoicePreAuthorized |
Средства захолдированы |
| InvoiceCancelled |
Счет отменен |
| InvoicePartlyRefunded |
Выполнен частичный возврат |
Перечень возможных значений статусов платежа
| Название |
Описание |
| PaymentCreated |
Платеж создан |
| PaymentTransactionCreated |
Транзакция по платежу создана |
| PaymentPaid |
Платеж успешен |
| PaymentFailed |
Платеж отклонен |
| PaymentRefunded |
Выполнен возврат |
| PaymentPreAuthorized |
Средства захолдированы |
| PaymentCancelled |
Платеж отменен |
Перечень возможных значений статусов выплаты
| Название |
Описание |
| Created |
Выплата создана в системе |
| PayoutTransactionCreated |
Создана транзакция на выплату |
| PayoutSucceeded |
Выплата проведена успешно |
| PayoutFailed |
Выплата отклонена |
| WaitingTwoFa |
Выплата ожидает авторизации |
| AuthorizedTwoFa |
Выплата авторизована |
| LinkCreated |
Выплатная ссылка создана |
Перечень возможных значений методов оплаты
| Название |
Описание |
| BankCard |
Оплата банковской картой |
| WMR |
Оплата через Webmoney |
| YandexMoney |
Оплата через ЮMoney |
| Mobile |
Оплата с использованием номера мобильного телефона |
Перечень возможных значений методов вывода
| Название |
Описание |
| BankCard |
Вывод средств на банковскую карту |
| WMR |
Вывод средств на рублевый кошелек WebMoney (P) |
| WMZ |
Вывод средств на долларовый кошелек WebMoney (Z) |
| YandexMoney |
Вывод средств на кошелек ЮMoney |
| Mobile |
Вывод средств на мобильный телефон |
| Qiwi |
Вывод средств на кошелек QIWI |
Перечень возможных значений валюты
| Валюта |
Символ валюты |
Название |
| RUB |
₽ |
Рубль |
| USD |
$ |
Доллар США |
| EUR |
€ |
Евро |
| UAH |
₴ |
Гривна |
| KZT |
₸ |
Тенге |
| CNY |
元 |
Юань |
| VND |
₫ |
Донг |
Оповещение об изменении статуса счета
Оповещение об изменении статуса (Callback) происходит путем отправки POST-запроса по адресу, указанному в настройках магазина (раздел Технические настройки , параметр Result url)
Если на оповещение получен невалидный ответ/валидный ответ с ошибкой, или же ответ не получен, система отправляет повторное оповещение позднее. Оповещение отправляется повторно конечное число раз.
Пример оповещения от Pikassa
curl https://pikassa.io/resultUrl \
-X POST \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"id": 12356,
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827",
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"amount": 105.05,
"finalAmount": 123.12,
"currency": "RUB",
"description": "Счет на оплату заказа №12080",
"customerPhone": "+74994550185",
"customerEmail": "support@pikassa.io",
"customData": {
"key1": "value1",
"key2": 5
},
"successUrl": "http://empty.com/successUrl",
"failUrl": "http://empty.com/failUrl",
"deliveryMethod": "URL",
"subscriptionUuid": "945c06b4-b791-4f2c-89b1-a45f78cb1568",
"expirationDate": "2021-03-14 11:08:24.909150+03:00",
"locale": "ru",
"ofdData": null,
"preAuth": false,
"status": {
"name": "InvoicePaid",
"time": "2019 -03-14 11:08:24.0909150+03:00",
"message": "message"
},
"payments": [
{
"paymentMethod": "BankCard",
"paymentDetails": {
"account": "411111******1111",
"paymentToken": "837c06b4-b791-4f2c-89b1-a45f78cb1568",
"cardBrand": "Visa",
"rrn": "002949319187"
},
"status": {
"name": "PaymentPaid",
"message": null
}
}
]
}
Описание параметров оповещения от Pikassa
| Параметр |
Обязательный |
Валидация |
Описание |
| id |
Да |
Уникальный, положительное целое число |
Идентификатор операции |
| externalId |
Да |
Уникальный, непустая строка |
Уникальный внутренний идентификатор счета в системе магазина |
| uuid |
Да |
Уникальный, непустая строка |
Идентификатор счета |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма счета, разделитель дробной части - "." (точка) |
| finalAmount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма счета с учетом возвратов и частичной авторизации, разделитель дробной части - "." (точка) |
| currency |
Да |
RUB, EUR, USD |
Валюта счета |
| description |
Да |
Непустая строка |
Описание счета |
| customerPhone |
Нет |
Номер телефона в международном формате (+7xxxxxxxxxx) |
Номер телефона плательщика. Обязателен для deliveryMethod = SMS |
| customerEmail |
Нет |
Адрес электронной почты |
Адрес электронной почты плательщика. Обязателен для deliveryMethod = EMAIL |
| customData |
Нет |
Объект json |
Дополнительные данные счета |
| successUrl |
Нет |
URL |
Адрес для перенаправления плательщика в случае успешной оплаты |
| failUrl |
Нет |
URL |
Адрес для перенаправления плательщика в случае неуспешной оплаты |
| deliveryMethod |
Да |
EMAIL, SMS или URL |
Метод доставки счета |
| subscriptionUuid |
Нет |
Непустая строка |
Идентификатор подписки, в случае если счет был создан по подписке |
| expirationDate |
Нет |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата, по истечении которой счет будет отменен (переведен в статус Cancelled), если не произошла оплата. Например: 2021-03-14 11:08:24.0909150+03:00 |
| locale |
Нет |
ru, en |
Язык отображения платежного портала |
| ofdData |
Нет |
Объект json |
Данные для формирования фискального чека (см. файл-приложение Отправка данных в налоговую.pdf |
| preAuth |
Да |
boolean |
Признак холдирования платежа по счету. true - счет создан с холдированием средств, false - счет создан без холдирования средств |
| status |
Да |
Объект |
Данные о статусе счета (см. Перечень возможных значений статусов счета) |
| payments |
Да |
Коллекция |
Данные о платежах по счету |
Описание параметров объекта status
| Параметр |
Обязательный |
Валидация |
Описание |
| name |
Да |
Непустая строка |
Название статуса |
| time |
Да |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата перехода в статус, например: 2021-03-14 11:08:24.0909150+03:00 |
| message |
Да |
Непустая строка |
Описание причины перехода в статус |
Описание параметров объекта payments
| Параметр |
Обязательный |
Валидация |
Описание |
| paymentMethod |
Да |
Непустая строка |
Метод оплаты, выбранный плательщиком в процессе оплаты (см. Перечень возможных значений статусов счета) |
| paymentDetails |
Нет |
Объект |
Дополнительные данные платежа |
| status |
Да |
Объект |
Статус платежа (см. Перечень возможных значений статусов платежа) |
Описание параметров объекта details
| Параметр |
Обязательный |
Валидация |
Описание |
| account |
Нет |
Непустая строка |
Данные об аккаунте плательщика |
| paymentToken |
Нет |
Непустая строка |
Идентификатор платежного токена |
| cardBrand |
Нет |
Непустая строка |
МПС |
| rrn |
Нет |
Непустая строка |
Идентификатор RRN |
Описание параметров объекта status
| Параметр |
Обязательный |
Валидация |
Описание |
| name |
Да |
Непустая строка |
Статус платежа (см. Перечень возможных значений статусов платежа) |
| message |
Нет |
Непустая строка или null |
Описание ошибки, возникшей при оплате |
Пример ожидаемого успешного ответа от системы мерчанта на оповещение от Pikassa
{
"success": true,
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a"
}
Пример ожидаемого ответа с ошибкой от системы мерчанта на оповещение от Pikassa
{
"success": false,
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a"
}
Описание параметров ожидаемых ответов от системы мерчанта на оповещение от Pikassa
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
true/ false |
Признак успешности выполнения команды |
| uuid |
Да |
Непустая строка |
Идентификатор счета |
Оповещение об изменении статуса выплаты
Оповещение об изменении статуса (Callback) происходит путем отправки POST-запроса по адресу, указанному в настройках магазина (раздел Технические настройки , параметр Payout Result URL)
Если на оповещение получен невалидный ответ/валидный ответ с ошибкой, или же ответ не получен, система отправляет повторное оповещение позднее. Оповещение отправляется повторно конечное число раз.
Пример оповещения от Pikassa
curl https://pikassa.io/PayoutResultURL \
-X POST \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827",
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"payoutMethod": "BankCard",
"amount": 10005.05,
"currency": "RUB",
"description": "Вывод себе на карту",
"destination": {
"cardholder": "Ivan Pupkin",
"masked_pan": "412335******4386"
},
"status": {
"name": "PayoutSucceeded",
"time": "2020-08-01 11:08:24.0909150+03:00",
"message": "message"
},
"commission": {
"amount": -29.80,
"currency": "RUB"
},
"customData": {
"key1": "value1",
"key2": 5
},
"rrn": "004567375490"
}
Описание параметров оповещения от Pikassa
| Параметр |
Обязательный |
Валидация |
Описание |
| externalId |
Да |
Уникальный, непустая строка |
Уникальный внутренний идентификатор выплаты в системе магазина |
| uuid |
Да |
Уникальный, непустая строка |
Идентификатор выплаты |
| payoutMethod |
Да |
Непустая строка. См. "Перечень возможных значений методов вывода" |
Способ вывода |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма выплаты, разделитель дробной части - "." (точка) |
| currency |
Да |
Непустая строка. См. "Перечень возможных значений валюты" |
Валюта выплаты |
| description |
Да |
Непустая строка |
Описание выплаты |
| status |
Да |
Объект |
Данные о статусе выплаты (см. "Перечень возможных значений статусов выплаты") |
| commission |
Нет |
Объект |
Комиссия |
| customData |
Нет |
Объект json |
Дополнительные данные выплаты |
| rrn |
Нет |
Непустая строка |
Идентификатор RRN |
Описание параметров объекта commission
| Параметр |
Обязательный |
Валидация |
Описание |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Сумма комиссии, разделитель дробной части - "." (точка) |
| currency |
Да |
Непустая строка. См. "Перечень возможных значений валюты" |
Валюта комиссии |
Описание параметров объекта status
| Параметр |
Обязательный |
Валидация |
Описание |
| name |
Да |
Непустая строка |
Название статуса |
| time |
Да |
Дата в формате yyyy-MM-dd HH:mm:ss.ffffffzzz |
Дата перехода в статус, например: 2021-03-14 11:08:24.0909150+03:00 |
| message |
Да |
Непустая строка |
Описание причины перехода в статус. В случае неуспешного проведения выплаты, поле содержит описание ошибки |
Описание параметров объекта destination для способа вывода на банковскую карту
| Параметр |
Обязательный |
Валидация |
Описание |
| masked_pan |
Да |
Непустая строка. 16-19 цифр |
Маскированый номер банковской карты |
| cardholder |
Нет |
Непустая строка |
Имя и фамилия владельца банковской карты латинскими буквами |
Описание параметров объекта destination для способа вывода на кошелек WebMoney
| Параметр |
Обязательный |
Валидация |
Описание |
| wallet |
Да |
Непустая строка. Символы "P", "p", "Z", "z" и 12 цифр. |
Номер кошелька WebMoney |
Описание параметров объекта destination для способа вывода на кошелек ЮMoney
| Параметр |
Обязательный |
Валидация |
Описание |
| wallet |
Да |
Непустая строка. 11-20 цифр |
Номер кошелька ЮMoney |
Описание параметров объекта destination для способа вывода на мобильный телефон
| Параметр |
Обязательный |
Валидация |
Описание |
| phone |
Да |
Непустая строка. Символ "+", 11 цифр. |
Номер мобильного телефона |
Пример ожидаемого успешного ответа от системы мерчанта на оповещение от Pikassa
{
"success": true,
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a"
}
Пример ожидаемого ответа с ошибкой от системы мерчанта на оповещение от Pikassa
{
"success": false,
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a"
}
Описание параметров ожидаемых ответов от системы мерчанта на оповещение от Pikassa
| Параметр |
Обязательный |
Валидация |
Описание |
| success |
Да |
true/ false |
Признак успешности выполнения команды |
| uuid |
Да |
Непустая строка |
Идентификатор выплаты |
Описание кодов ошибок
| Код ошибки |
Описание ошибки |
| 1 |
Ошибка создания счета |
| 2 |
Ошибка авторизации платежа |
| 3 |
Ошибка отмены платежа |
| 4 |
Ошибка при оплате счета |
| 5 |
Ошибка при получении данных счета/счетов |
| 6 |
Ошибка выполнения возврата |
| 7 |
Ошибка создания подписки |
| 8 |
Ошибка при получении данных магазина |
| 9 |
Ошибка создания выплаты. При получении ответа на запрос создания выплаты с http кодом 408, требуется дождаться оповещения об изменении статуса выплаты (Callback). |
| 10 |
Ошибка при получении данных выплаты |
| -1 |
Системная ошибка |
Тестирование
Тестовые карты для проведения платежей и осуществления выплат (для тестовых магазинов Pikassa)
| Номер карты (PAN) |
Авторизационные данные |
Тип операции |
Результат |
| 4111111111111111 |
expiration date = 12/24; сvc/cvv2 = 123; 3ds = 123456 |
Платеж |
Успешно |
| Любой |
expiration date больше текущей даты; любые сvc/cvv2/3ds |
Платеж |
Отклонен |
| 4111111111111111 |
|
Выплата |
Успешно |
| 5555555555555599 |
|
Выплата |
Ожидание |
| 4222222222222222 |
|
Выплата |
Отклонена (Недостаточно средств) |
Отправка данных в соответствии с ФЗ-54
Для отправки фискальных данных используется протокол, совместимый с протоколом АТОЛ; поддерживаемый провайдер данных — АТОЛ.
Для подключения возможности передавать фискальные данные необходимо сообщить данные аккаунта АТОЛ менеджеру Pikassa. Если вы используете систему "Честный знак", также сообщите об этом менеджеру.
Важно: Параметры, которые не должны быть указаны в JSON схеме: timestamp, external_id, service.
Схема и пример данных ОФД
Схема запроса JSON , пример 1 и пример 2.
Описание полей параметров запроса
| Название поля |
Тип поля |
Обязательные поля |
Ограничения |
Тег ФФД |
| receipt |
object |
Да |
Чек |
- |
| client |
object |
Да |
Атрибуты клиента. |
- |
| company |
object |
Да |
Атрибуты компании. |
- |
| agent_info |
object |
Нет |
Атрибуты агента. |
|
| items |
array of objects |
Да |
Атрибуты позиций. Ограничение по количеству от 1 до 100. |
- |
| payments |
array of objects |
Да |
Оплаты Ограничение по количеству от 1 до 10. |
- |
| vats |
array of objects |
Нет |
Атрибуты налогов на чек. Ограничение по количеству от 1 до 6. Необходимо передать либо сумму налога на позицию, либо сумму налога на чек. Если будет переданы и сумма налога на позицию и сумма налога на чек, сервис учтет только сумму налога на чек. |
|
| total |
number |
Да |
Итоговая сумма чека в рублях с заданным в CMS округлением: целая часть не более 8 знаков; дробная часть не более 2 знаков. Сумму чека можно округлить, но не более, чем на 99 копеек. При регистрации в ККТ происходит расчёт фактической суммы: суммирование значений sum позиций. |
|
| cashier |
string |
Нет |
ФИО кассира. Максимальная длина строки – 64 символа. |
1021 Кассир |
| additional_check_props |
object |
Нет |
Дополнительный реквизит пользователя. |
1084 Дополнительный реквизит пользователя. |
Описание подпараметра client
| Название поля |
Тип поля |
Обязательные поля |
Ограничения |
Тег ФФД |
| client |
object |
Да |
Атрибуты клиента |
- |
| email |
string |
В запросе обязательно должно быть заполнено хотя бы одно из полей: email или phone. Если заполнены оба поля, ОФД отправит электронный чек только на email. |
Электронная почта покупателя. Максимальная длина строки – 64 символа. В запросе обязательно должно быть заполнено хотя бы одно из полей: email или phone |
1008 Телефон или электронный адрес покупателя |
| phone |
string |
В запросе обязательно должно быть заполнено хотя бы одно из полей: email или phone. Если заполнены оба поля, ОФД отправит электронный чек только на email. |
Телефон покупателя. Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+» (номер «+371 2 1234567» необходимо передать как «+37121234567»). Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина строки – 64 символа. В запросе обязательно должно быть заполнено хотя бы одно из полей: email или phone. |
1008 Телефон или электронный адрес покупателя |
Описание подпараметра company
| Название поля |
Тип поля |
Обязательные поля |
Ограничения |
Тег ФФД |
| company |
object |
Да |
Атрибуты компании. |
- |
| email |
string |
Да |
Электронная почта отправителя чека. Максимальная длина строки – 64 символа |
1117 Адрес электронной почты отправителя чека |
| sno |
enum (string) |
Поле необязательно, если у организации один тип налогообложения |
Система налогообложения. Перечисление со значениями: «osn» – общая СН; «usn_income» – упрощенная СН (доходы); «usn_income_outcome» – упрощенная СН (доходы минус расходы); «envd» – единый налог на вмененный доход; «esn» – единый сельскохозяйственный налог; «patent» – патентная СН. |
1055 Применяемая система налогообложения |
| inn |
string |
Да |
ИНН организации. Используется для предотвращения ошибочных регистраций чеков на ККТ зарегистрированных с другим ИНН (сравнивается со значением в ФН). Допустимое количество символов 10 или 12. |
1018 ИНН пользователя |
| payment_address |
string |
Да |
Место расчетов. Максимальная длина строки – 256 символов. |
1187 Место расчетов |
Описание подпараметра agent_info
| Название поля |
Тип поля |
Обязательные поля |
Ограничения |
Тег ФФД |
| agent_info |
object |
Нет |
Атрибуты агента |
- |
| type |
enum (string) |
Нет Если передан объект «agent_info», в нём обязательно должно быть передано поле «type». |
Признак агента (ограничен агентами, введенными в ККТ при фискализации). |
1057 Признак агента |
| paying_agent |
object |
Нет |
Атрибуты платежного агента. |
- |
| operation |
string |
Нет |
Наименование операции. Максимальная длина строки – 24 символа. |
1044 Операция платежного агента |
| phones |
array of strings |
Нет |
Телефоны платежного агента. Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов. |
1073 Телефон платежного агента |
| receive_payments_operator |
object |
Нет |
Атрибуты оператора по приему платежей. |
- |
| phones |
array of strings |
Нет |
Телефоны оператора по приему платежей. Максимальная длина одной строки массива – 19 символов. |
1074 Телефон оператора по приему платежей |
| money_transfer_operator |
object |
Нет |
Атрибуты оператора перевода. |
- |
| phones |
array of strings |
Нет |
Телефоны оператора перевода. Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов. |
1075 Телефон оператора перевода |
| name |
string |
Нет |
Наименование оператора перевода. Максимальная длина строки – 64 символа |
1026 Наименование оператора перевода |
| address |
string |
Нет |
Адрес оператора перевода. Максимальная длина строки – 256 символов |
1005 Адрес оператора перевода |
| inn |
string |
Нет |
ИНН оператора перевода. Максимальная длина строки – 12 символов. |
1016 ИНН оператора перевода |
Возможные значения type
- «bank_paying_agent» — банковский платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным агентом.
- «bank_paying_subagent» — банковский платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным субагентом.
- «paying_agent» — платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным агентом.
- «paying_subagent» — платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным субагентом.
- «attorney» — поверенный. Осуществление расчета с покупателем (клиентом) пользователем, являющимся поверенным.
- «commission_agent» — комиссионер. Осуществление расчета с покупателем (клиентом) пользователем, являющимся комиссионером.
- «another» — другой тип агента. Осуществление расчета с покупателем (клиентом) пользователем, являющимся агентом и не являющимся банковским платежным агентом (субагентом), платежным агентом (субагентом), поверенным, комиссионером.
Описание подпараметра supplier_info
| Название поля |
Тип поля |
Обязательные поля |
Ограничения |
Тег ФФД |
| supplier_info |
object |
Нет. Поле обязательно, если передан «agent_info» |
Атрибуты поставщика. |
- |
| phones |
array of strings |
Нет |
Телефоны поставщика. Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов. |
1171 Телефон поставщика |
Описание подпараметра items
| Название поля |
Тип поля |
Обязательные поля |
Ограничения |
Тег ФФД |
| items |
array of objects |
Да |
Атрибуты позиций. Ограничение по количеству от 1 до 100. |
- |
| name |
string |
Да |
Наименование товара. Максимальная длина строки – 128 символов. |
1030 Наименование предмета расчета |
| price |
number |
Да |
Цена в рублях: целая часть не более 8 знаков; дробная часть не более 2 знаков. Максимальное значение цены – 42 949 672.95. При этом произведение цены и количество/веса (price*quantity) позиции должно быть не больше максимального значения цены позиции |
1079 Цена за единицу предмета расчета с учетом скидок и наценок |
| quantity |
number |
Да |
Количество/вес: целая часть не более 5 знаков; дробная часть не более 3 знаков. Максимальное значение – 99 999.999 |
1023 Количество предмета расчета |
| sum |
number |
Да |
Сумма в рублях: • целая часть не более 8 знаков; • дробная часть не более 2 знаков. Максимальное значение – 42 949 672.95. |
1043 Стоимость предмета расчета с учетом скидок и наценок |
| measurement_unit |
string |
Нет |
Единица измерения товара, работы, услуги, платежа, выплаты, иного предмета расчета. Максимальная длина строки – 16 символов. |
1197 Единица измерения предмета расчета |
| payment_method |
enum (string) |
Нет. Если признак не передан, по умолчанию используется значение «full_prepayment». |
Признак способа расчёта |
1214 Признак способа расчета |
| payment_object |
enum (string) |
Нет. Если признак не передан, по умолчанию используется значение «commodity» |
Признак предмета расчёта. Возможные значения указаны ниже. |
1212 Признак предмета расчета |
| vat |
object |
Да |
Атрибуты налога на позицию. Необходимо передать либо сумму налога на позицию, либо сумму налога на чек. Если будут переданы и сумма налога на позицию и сумма налога на чек, сервис учтет только сумму налога на чек |
- |
| type |
enum (string) |
Да |
Устанавливает номер налога в ККТ |
1199 Ставка НДС |
| sum |
number |
Нет |
Сумма налога позиции в рублях: целая часть не более 8 знаков; дробная часть не более 2 знаков |
1200 Сумма НДС за предмет расчета |
| agent_info |
object |
Нет |
Атрибуты агента. Если объект не передан, по умолчанию флаг агента не устанавливается. |
- |
| type |
enum (string) |
Нет. Если передан объект «agent_info», в нём обязательно должно быть передано поле «type» |
Признак агента по предмету расчёта (ограничен агентами, введенными в ККТ при фискализации) |
1222 Признак агента по предмету расчета |
| paying_agent |
object |
Нет |
Атрибуты платежного агента |
- |
| operation |
string |
Нет |
Наименование операции.Максимальная длина строки – 24 символа. |
1044 Операция платежного агента |
| phones |
array of strings |
Нет |
Телефоны платежного агента. Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов. |
1073 Телефон платежного агента |
| receive_payments_ operator |
object |
Нет |
Атрибуты оператора по приему платежей |
- |
| phones |
array of strings |
Нет |
Телефоны оператора по приему платежей |
1074 Телефон оператора по приему платежей |
| money_transfer_ operator |
object |
Нет |
Атрибуты оператора перевода |
- |
| phones |
array of strings |
Нет |
Телефоны оператора перевода. Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов. |
1075 Телефон оператора перевода |
| name |
string |
Нет |
Наименование оператора перевода |
1026 Наименование оператора перевода |
| address |
string |
Нет |
Адрес оператора перевода |
1005 Адрес оператора перевода |
| inn |
string |
Нет |
ИНН оператора перевода |
1016 ИНН оператора перевода |
| supplier_info |
object |
Нет. Поле обязательно, если передан «agent_info» |
Атрибуты поставщика |
- |
| phones |
array of strings |
Нет |
Телефоны поставщика. Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов. |
1171 Телефон поставщика |
| name |
string |
Нет |
Наименование поставщика |
1225 Наименование поставщика |
| inn |
string |
Нет. Если передан объект «supplier_info», в нём обязательно должно быть передано поле «inn». |
ИНН поставщика |
1226 ИНН поставщика |
| user_data |
string |
Нет |
Дополнительный реквизит предмета расчета. Максимальная длина строки – 64 символа. |
1191 Дополнительный реквизит предмета расчета |
Возможные значения items.payment_method:
- «full_prepayment» — предоплата 100%. Полная предварительная оплата до момента передачи предмета расчета.
- «prepayment» — предоплата. Частичная предварительная оплата до момента передачи предмета расчета.
- «advance» — аванс.
- «full_payment» — полный расчет. Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета.
- «partial_payment» — частичный расчет и кредит. Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит.
- «credit» — передача в кредит. Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит.
- «credit_payment» — оплата кредита. Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита).
Возможные значения agent_info.type:
- «bank_paying_agent» — банковский платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным агентом.
- «bank_paying_subagent» — банковский платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным субагентом.
- «paying_agent» — платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным агентом.
- «paying_subagent» — платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным субагентом.
- «attorney» — поверенный. Осуществление расчета с покупателем (клиентом) пользователем, являющимся поверенным.
- «commission_agent» — комиссионер. Осуществление расчета с покупателем (клиентом) пользователем, являющимся комиссионером.
- «another» — другой тип агента. Осуществление расчета с покупателем (клиентом) пользователем, являющимся агентом и не являющимся банковским платежным агентом (субагентом), платежным агентом (субагентом), поверенным, комиссионером.
Возможные значения items.payment_object:
- «commodity» – товар. О реализуемом товаре, за исключением подакцизного товара (наименование и иные сведения, описывающие товар).
- «excise» – подакцизный товар. О реализуемом подакцизном товаре (наименование и иные сведения, описывающие товар).
- «job» – работа. О выполняемой работе (наименование и иные сведения, описывающие работу).
- «service» – услуга. Об оказываемой услуге (наименование и иные сведения, описывающие услугу).
- «gambling_bet» – ставка азартной игры. О приеме ставок при осуществлении деятельности по проведению азартных игр.
- «gambling_prize» – выигрыш азартной игры. О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр.
- «lottery» – лотерейный билет. О приеме денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок при осуществлении деятельности по проведению лотерей.
- «lottery_prize» – выигрыш лотереи. О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей.
- «intellectual_activity» – предоставление результатов интеллектуальной деятельности. О предоставлении прав на использование результатов интеллектуальной деятельности или средств индивидуализации.
- «payment» – платеж. Об авансе, задатке, предоплате, кредите, взносе в счет оплаты,пени, штрафе, вознаграждении, бонусе и ином аналогичном предмете расчета.
- «agent_commission» – агентское вознаграждение. О вознаграждении пользователя, являющегося платежным агентом (субагентом), банковским платежным агентом (субагентом), комиссионером, поверенным или иным агентом.
- «award» – о взносе в счет оплаты пени, штрафе, вознаграждении, бонусе и ином аналогичном предмете расчета.
- «another» – иной предмет расчета. О предмете расчета, не относящемуся к выше перечисленным предметам расчета.
- «property_right» – имущественное право. О передаче имущественных прав.
- «non-operating_gain» – внереализационный доход. О внереализационном доходе.
- «insurance_premium» – страховые взносы. О суммах расходов, уменьшающих сумму налога (авансовых платежей) в соответствии с пунктом 3.1 статьи 346.21 Налогового кодекса Российской Федерации.
- «sales_tax» – торговый сбор. О суммах уплаченного торгового сбора.
- «deposit» – залог. О залоге.
- «expense» – расход. О суммах произведенных расходов в соответствии со статьей 346.16 Налогового кодекса Российской Федерации, уменьшающих доход.
- «pension_insurance_ip» – взносы на ОПС ИП. О страховых взносах на обязательное пенсионное страхование, уплачиваемых ИП, не производящими выплаты и иные вознаграждения физическим лицам.
- «pension_insurance» – взносы на ОПС. О страховых взносах на обязательное пенсионное страхование, уплачиваемых организациями и ИП, производящими выплаты и иные вознаграждения физическим лицам.
- «medical_insurance_ip» – взносы на ОМС ИП. О страховых взносах на обязательное медицинское страхование, уплачиваемых ИП, не производящими выплаты и иные вознаграждения физическим лицам.
- «medical_insurance» – взносы на ОМС. О страховых взносах на обязательное медицинское страхование, уплачиваемые организациями и ИП, производящими выплаты и иные вознаграждения физическим лицам.
- «social_insurance» – взносы на ОСС. О страховых взносах на обязательное социальное страхование на случай временной нетрудоспособности и в связи с материнством, на обязательное социальное страхование от несчастных случаев на производстве и профессиональных заболеваний.
- «casino_payment» – платеж казино. О приеме и выплате денежных средств при осуществлении деятельности казино с использованием обменных знаков казино, в зале игровых автоматов.
- «resort_fee» - туристический налог.
Признак предмета расчета «composite» более не
используется согласно ФФД 1.05.
Возможные значения items.vat.type:
Устанавливает номер налога в ККТ. Перечисление со значениями:
- «none» – без НДС;
- «vat0» – НДС по ставке 0%;
- «vat10» – НДС чека по ставке 10%;
- «vat110» – НДС чека по расчетной ставке 10/110;
- vat20» – НДС чека по ставке 20%;
- «vat120» – НДС чека по расчетной ставке 20/120;
- «vat5» – НДС по ставке 5%;
- «vat7» – НДС по ставке 7%;
- «vat105» – НДС по расчетной ставке 5/105;
- «vat107» – НДС по расчетной ставке 7/107.
С 01.04.2019 00:00 при отправке ставки vat18 или vat118 в чеках приход и расход сервис будет возвращать ошибку IncomingValidationException с текстом: "Передана некорректная ставка налога. С 01.04.2019 ставки НДС 18 и 18/118 не могут использоваться в чеках sell(приход) и buy(расход)".
Описание подпараметра payments
| Название поля |
Тип поля |
Обязательные поля |
Ограничения |
Тег ФФД |
| payments |
array of objects |
Да |
Оплаты. Ограничение по количеству от 1 до 10. |
- |
| type |
enum (number) |
Да |
Вид оплаты. Возможные значения: «0» – наличные; «1» – безналичный; «2» – предварительная оплата (зачет аванса и/или предыдущих платежей); «3» – постоплата (кредит); «4» – иная форма оплаты (встречное предоставление); «5»–«9» – расширенные виды оплаты. |
1081 Сумма по чеку электронными; |
| sum |
number |
Да |
Сумма к оплате в рублях: целая часть не более 8 знаков; дробная часть не более 2 знаков. |
1215 Сумма по чеку предоплатой (зачет аванса и (или) предыдущих платежей); 1216 Сумма по чеку постоплатой (кредит); 1217 Сумма по чеку встречным представлением. |
Описание подпараметра vats
| Название поля |
Тип поля |
Обязательные поля |
Ограничения |
Тег ФФД |
| vats |
array of objects |
Нет |
Атрибуты налогов на чек. Ограничение по количеству от 1 до 6. Необходимо передать либо сумму налога на позицию, либо сумму налога на чек. Если будет переданы и сумма налога на позицию и сумма налога на чек, сервис учтет только сумму налога на чек. |
|
| type |
enum (string) |
Нет. Если передан объект «vats», в нём обязательно должно быть переданы поля «type» и «sum». |
Устанавливает номер налога в ККТ. |
1105 Сумма расчета по чеку без НДС; 1104 Сумма расчета по чеку с НДС по ставке 0%; 1103 Сумма НДС чека по ставке 10%; 1102 Сумма НДС чека по ставке 18%; 1107 Сумма НДС чека по расч.ставке 10/110; 1106 Сумма НДС чека по расч. ставке 18/118; 1199 Ставка НДС |
| sum |
number |
|
Сумма налога позиции в рублях: целая часть не более 8 знаков; дробная часть не более 2 знаков |
1081 Сумма по чеку электронными; |
Возможные значения type:
- «none» – без НДС;
- «vat0» – НДС по ставке 0%;
- «vat10» – НДС чека по ставке 10%;
- «vat110» – НДС чека по расчетной ставке 10/110;
- «vat20» – НДС чека по ставке 20%;
- «vat120» – НДС чека по расчетной ставке 20/120.
- «vat5» – НДС чека по ставке 5%;
- «vat7» – НДС чека по ставке 7%;
- «vat105» – НДС чека по расчетной ставке 5/105;
- «vat107» – НДС чека по расчетной ставке 7/107.
С 01.02.2019 00:00 при отправке ставки vat18 или vat118 в чеках приход и расход сервис возвращает ошибку IncomingValidationException с текстом «Передана некорректная ставка налога. С 01.02.2019 ставки НДС 18 и 18/118 не могут использоваться в чеках sell (приход) и buy (расход)».
Описание подпараметра additional_user_props
| Название поля |
Тип поля |
Обязательные поля |
Ограничения |
Тег ФФД |
| additional_user_ props |
object |
Нет |
Дополнительный реквизит пользователя |
1084 Дополнительный реквизит пользователя |
| name |
string |
Нет Если передан объект « additional_user_props », в нём обязательно должно быть передано поле «name» |
Наименование дополнительного реквизита пользователя. Максимальная длина строки – 64 символа |
1085 Наименование дополнительного реквизита пользователя |
| value |
string |
Нет Если передан объект « additional_user_props », в нём обязательно должно быть передано поле «name» |
Значение дополнительного реквизита пользователя. Максимальная длина строки – 256 символов. |
1086 Значение дополнительного реквизита пользователя |
С 01.04.2024 вступила в силу новая версия АТОЛ на более современной "Платформе v.5", предназначенная для работы с системой "Честный знак".