Merchant API v2.1.6
Изменения в документации
История изменений
Версия 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
}'
uuid - идентификатор счета, полученный в успешном ответе при создании захолдированного счета.
Описание параметров запроса на авторизацию счета
| Параметр |
Обязательный |
Валидация |
Описание |
| requestId |
Да |
Уникальный, непустая строка |
Идентификатор запроса |
| amount |
Да |
Десятичное число с двумя знаками после запятой |
Итоговая сумма для списания средств по захолдированному счету. Не может превышать сумму, указанную при создании счета |
Пример успешного ответа на запрос на авторизацию счета
{
"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": "{\"test\": \"test\"}",
"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 |
Да |
Непустая строка |
Идентификатор корреляции |
Google PayTM
Google PayTM — это способ оплаты заказов, позволяющий в один клик совершать платежи без ввода банковских реквизитов. GPay доступен с любых устройств, имеющих Google аккаунт. Pikassa принимает платежи через Google PayTM двумя методами:
- Через платежный портал Pikassa — для подключения данного способа оплаты свяжитесь с вашим менеджером;
- Путем прямой интеграции с Google Pay API.
Требования к сайту магазина для прямой интеграции с Google Pay API
- При реализации подключения руководствоваться документацией.
- Необходимо соблюсти требования по брендированию при размещении кнопки GPay на форме оплаты.
- Убедиться, что товары или услуги не входят в перечень запрещенных.
- Сверить реализацию с контрольным списком.
- Пройти процедуру проверки.
Сценарий оплаты
- Клиент в интернет-магазине оформляет заказ и для оплаты выбирает способ GPay.
- Магазин отправляет запрос на создание счета в Pikassa.
- Pikassa обрабатывает запрос и, если счет создан корректно, возвращает его уникальный идентификатор
uuid.
- Магазин отправляет запрос на оплату в Google Pay API.
- Система Google PayTM по полученным платежным данным формирует токен.
- Магазин в ответ на запрос получает сформированный токен.
- Магазин формирует запрос на передачу деталей платежа в систему Pikassa, где в адресе запроса указывает
uuid полученный при создании счета, а в параметре details - токен полученный от Google Pay API.
- Pikassa обрабатывает запрос и для транзакций PAN_ONLY возвращает ссылку для перенаправления клиента на форму ввода 3DS.
- Магазин для завершения аутентификации 3DS перенаправляет клиента на адрес, указанный в параметре
data.redirect.url в ответе Pikassa.
- Pikassa отправляет магазину уведомление об успешной/неуспешной оплате счета.
- Магазин возвращает ответ-подтверждение о проведенной операции.
Примеры запросов в Google Pay API
//Проверка на доступность GPay для данного устройства
const readyToPayRequest = {
"apiVersion": 2,
"apiVersionMinor": 0,
"allowedPaymentMethods": [
{
"type": "CARD",
"parameters": {
"allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
"allowedCardNetworks": ["MASTERCARD", "VISA"]
}
}
]
}
//Запрос на оплату в Google Pay API
const paymentDataRequest = {
"apiVersion": 2,
"apiVersionMinor": 0,
"allowedPaymentMethods": [
{
"type": "CARD",
"parameters": {
"allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
"allowedCardNetworks": ["MASTERCARD", "VISA"]
},
"tokenizationSpecification": {
"type": "PAYMENT_GATEWAY",
"parameters": {
"gateway": "pikassa",
"gatewayMerchantId": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a"
}
}
}
],
"transactionInfo": {
"countryCode": "RU",
"currencyCode": "RUB",
"totalPriceStatus": "FINAL",
"totalPrice": "123.12"
}
}
В примере продемонстрированы 2 запроса:
- isReadyToPay() - проверка на доступность GPay для данного устройства. В примере показано, как настроить поддержку платежных карт и токенов для устройств Android для платежных систем
VISA и MASTERCARD.
- paymentDataRequest() - запрос на оплату в Google Pay API. В этом примере показано, как настроить поддержку платежных карт и токенов для устройств Android для платежных систем
VISA и MASTERCARD. Токенизация карт выполняется через шлюз pikassa. Запрос способа платежа осуществляется для выставления окончательного счета на сумму 123,12 рублей.
Описание параметров
| Параметр |
Обязательный |
Валидация |
Описание |
| apiVersion |
Да |
Целое число |
Основной номер версии API - 2. |
| apiVersionMinor |
Да |
Целое число |
Дополнительный номер версии API - 0. |
| allowedPaymentMethods |
Да |
Объект |
Поддерживаемые поля для аутентификации транзакций по карте |
| transactionInfo |
Да |
Объект |
Данные о транзакции |
Объект allowedPaymentMethods
| Параметр |
Обязательный |
Валидация |
Описание |
| type |
Да |
Непустая строка |
Идентификатор поддерживаемого способа оплаты - CARD |
| parameters |
Да |
Объект |
Параметры указанного способа оплаты |
| tokenizationSpecification |
Да, для запроса paymentDataRequest |
Объект |
Настройка аккаунта или поставщика механизма расшифровки для получения платежной информации |
Объект allowedPaymentMethods.parameters
| Параметр |
Обязательный |
Валидация |
Описание |
| allowedCardNetworks |
Да |
Непустая строка |
Список доступных платежных систем * MasterCard * VISA |
| allowedCardAuthMethods |
Да |
Непустая строка |
Методы аутентификации: * PAN_ONLY - метод аутентификации для платежных карт, данные которых хранятся в аккаунте Google. При выборе данного метода аутентификации транзакция может быть отправлена на 3DS. * CRYPTOGRAM_3DS - метод аутентификации для карт, данные которых хранятся в виде токенов для устройств Android. |
Параметр запроса платежного адреса BillingAddressParameters - не используется.
Объект allowedPaymentMethods.tokenizationSpecification
| Параметр |
Обязательный |
Валидация |
Описание |
| type |
Да |
Непустая строка |
Тип токенизации для способа оплаты - PAYMENT_GATEWAY |
| parameters |
Да |
Объект |
Параметры, связанные с типом токенизации выбранного способа оплаты |
Объект allowedPaymentMethods.tokenizationSpecification.parameters
| Параметр |
Обязательный |
Валидация |
Описание |
| gateway |
Да |
Непустая строка |
Поставщик платежных услуг - pikassa |
| gatewayMerchantId |
Да |
Непустая строка |
Идентификатор магазина в системе pikassa - API Key магазина |
Объект transactionInfo
| Параметр |
Обязательный |
Валидация |
Описание |
| countryCode |
Да, для стран ЕЭЗ |
Непустая строка |
Код страны, где обрабатывается транзакция, в соответствии со стандартом ISO 3166-1 alpha-2 - RU |
| currencyCode |
Да |
Непустая строка |
Алфавитный код валюты в соответствии со стандартом ISO 4217 - RUB |
| totalPriceStatus |
Да |
Непустая строка |
Статус итоговой цены |
| totalPrice |
Да, для стран ЕЭЗ |
Непустая строка |
Общая сумма транзакции с возможностью округления до двух знаков после запятой |
Перечень возможных значений статусов счета
| Название |
Описание |
| 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", предназначенная для работы с системой "Честный знак".