Подготовка к интеграции
Регистрация и создание магазина через 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 | Описание ошибки, возникшей при оплате |
Описание параметров объекта meta
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
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 | Да | Непустая строка | Описание ошибки |
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 | Выплата авторизована |
Перечень возможных значений методов оплаты
Название | Описание |
---|---|
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
1.client
1.1. email
1.2.phone
2.company
2.1. email
2.2. sno
2.3. inn
2.4. payment_address
agent_info
3.1. type
3.2. paying_agent
3.2.1.operation
3.2.2.phones
3.3. receive_payments_operator
3.3.1.phones
3.4. money_transfer_operator
3.4.1.phones
3.4.2.name
3.4.3.address
3.4.4.inn
supplier_info
4.1. phones
items
5.1. name
5.2. price
5.3. quantity
5.4. sum
5.5. measurement_unit
5.6. payment_method
5.7. payment_object
5.8. vat
5.8.1.type
5.8.2.sum
5.9. agent_info
5.9.1.type
5.9.2.paying_agent
5.9.2.1.operation
5.9.2.2.phones
5.9.3.receive_payments_operator
5.9.3.1.phones
5.9.4.money_transfer_operator
5.9.4.1.name
5.9.4.2.address
5.9.4.3.inn
5.10. supplier_info
5.10.1.phones
5.10.2.name
5.10.3.inn
5.11. user_data
payments
6.1.type
6.2.sum
vats
7.1.type
7.2.sum
total
additional_check_props
cashier
additional_user_props
11.1.name
11.2.value
Описание полей параметров запроса
Название поля | Тип поля | Обязательные поля | Ограничения | Тег ФФД |
---|---|---|---|---|
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 | Да | Атрибуты клиента | - |
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 | Да | Атрибуты компании. | - |
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» – платеж казино. О приеме и выплате денежных средств при осуществлении деятельности казино с использованием обменных знаков казино, в зале игровых автоматов.
Признак предмета расчета «composite» более не используется согласно ФФД 1.05.
Возможные значения items.vat.type:
Устанавливает номер налога в ККТ. Перечисление со значениями:
«none» – без НДС;
«vat0» – НДС по ставке 0%;
«vat10» – НДС чека по ставке 10%;
«vat18» – НДС чека по ставке 18%;
«vat110» – НДС чека по расчетной ставке 10/110;
«vat118» – НДС чека по расчетной ставке 18/118;
«vat20» – НДС чека по ставке 20%;
«vat120» – НДС чека по расчетной ставке 20/120.
С 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) | Да | Вид оплаты. Возможные значения: «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. |
sum | number | Сумма налога позиции в рублях: целая часть не более 8 знаков; дробная часть не более 2 знаков | 1081 Сумма по чеку электронными; |
Возможные значения type:
«none» – без НДС;
«vat0» – НДС по ставке 0%;
«vat10» – НДС чека по ставке 10%;
«vat18» – НДС чека по ставке 18%;
«vat110» – НДС чека по расчетной ставке 10/110;
«vat118» – НДС чека по расчетной ставке 18/118;
«vat20» – НДС чека по ставке 20%;
«vat120» – НДС чека по расчетной ставке 20/120.
С 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". С последней версией протокола АТОЛ можно ознакомиться на официальном сайте АТОЛ.