Подготовка к интеграции
Регистрация и создание магазина через payquity.io
Для подготовки к интеграции необходимо:
- Зарегистрировать личный кабинет Payquity по кнопке Подключиться на странице payquity.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
Схема проведения запроса
- Магазин отправляет в Payquity запрос на создание счета;
- Payquity обрабатывает запрос и, если счет создан корректно, возвращает данные, содержащие ссылку для перехода на оплату;
- Плательщик переходит по ссылке выбирает способ оплаты и вводит платежные данные;
- Payquity отправляет запрос на списание денежных средств эквайеру;
- Payquity получает ответ об успешной/неуспешной оплате счета от эквайера;
происходит переадресация плательщика на страницу магазина
- В случае успешной оплаты счета плательщик перенаправляется на страницу, указанную при создании счета в параметре
successUrl
; - В случае неуспешной оплаты происходит перенаправление на страницу, указанную при создании счета в параметре
failUrl
;
- В случае успешной оплаты счета плательщик перенаправляется на страницу, указанную при создании счета в параметре
- Payquity отправляет магазину уведомление об успешной/неуспешной оплате счета; Магазин возвращает ответ-подтверждение о проведенной операции.
Создание счета
Метод позволяет создать счет на оплату и отправить его плательщику.
Пример запроса на создание счета
curl https://payquity.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@payquity.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,
"createToken": false
}'
Описание параметров запроса на создание счета
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
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.fffZZZ , должна быть больше текущей даты |
Дата и время действия счета. Если в запросе указать данный параметр, то произвести оплату по данному счету можно будет только до момента наступления указанных даты и времени. Если по истечении заданного времени и даты оплата не была совершена, счет переходит в состояние 6 (InoiceCancelled ), и при попытке его оплатить пользователь будет перенаправлен на страницу ошибки. Пример: 2022-04-28 17:42:30.220+03:00 |
ofdData | Нет | Данные для фискализации. В зависимости от настроек магазина отправляются тому или иному провайдеру фискальных данных. (см. Отправка данных в соответствии с ФЗ-54) | |
preAuth | Нет | boolean, по умолчанию false | Признак холдирования. Значение = true сообщает о необходимости захолдировать сумму, равную сумме счета, на банковском счету плательщика (при двухстадийном платеже) |
createToken | Нет | boolean, по умолчанию false | Признак создания платежного токена. Значение = true сообщает о необходимости создания платежного токена для дальнейшего осуществления списания средств с банковской карты, совершаемого без подтверждения клиентом. (используется при создании подписки). Для возможности создания платежных токенов необходимо связаться с менеджером и включить эту возможность для магазина. |
locale | Нет | ru, en. По умолчанию ru | Язык отображения платежного портала |
Пример успешного ответа на запрос на создание счета
{
"success": true,
"data": {
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827",
"paymentLink": "https://payquity.io/portal2/pay/i/cd422358-56dd-4039-9559-c1fb766dbbbd"
}
}
Описание параметров успешного ответа при создании счета
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда true |
Признак успешности выполнения команды |
data | Да | Объект | Данные счета |
Описание параметров объекта data
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Непустая строка | Идентификатор счета в Payquity |
externalId | Да | Уникальный, непустая строка | Уникальный внутренний идентификатор счета в системе магазина |
paymentLink | Да | Непустая строка | Платежная ссылка для перенаправления |
Пример ответа с ошибкой на запрос на создание счета
{
"success": false,
"error": {
"code": "1",
"message": "Ошибка создания счета",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой создания счета
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Авторизация захолдированного счета
Метод позволяет списать захолдированную сумму с карты плательщика. Используется при двухстадийном платеже.
Пример запроса на авторизацию счета
curl https://payquity.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": "Ошибка авторизации платежа",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой на запрос на авторизацию счета
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Отмена счета
Метод позволяет отменить возможность оплаты счета. Доступен только для тех счетов, по которым еще не было переходов на платежную страницу, в обратном случае запрос будет отклонен.
Также метод используется при двухстадийном платеже и позволяет разблокировать ранее захолдированную сумму на карте плательщика.
Пример запроса на отмену счета
curl https://payquity.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",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой на запрос на отмену счета
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Возврат
Используется для возврата денежных средств. Срок возврата зависит от банка, выпустившего карту плательщика.
Пример запроса на возврат
curl https://payquity.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"
}'
uuid
- идентификатор счета, полученный в успешном ответе при создании счета.
Описание параметров запроса на возврат
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
requestId | Да | Уникальный. Непустая строка | Идентификатор запроса |
amount | Да | Десятичное число с двумя знаками после запятой | Сумма возврата. Не может превышать сумму amount , указанную при создании счета. |
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": "6",
"message": "error",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой на запрос на возврат
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Получение данных счета
Метод позволяет запросить данные счета: статус счета, итоговая сумма счета, метод оплаты и др.
Пример запроса на получение данных
curl https://payquity.io/merchant-api/api/v2/invoices/<uuid> \
-X GET \
-H 'x-api-key: <Ключ доступа>' \
-H 'Content-Type: application/json; charset=utf-8' \
uuid
- идентификатор счета, полученный в успешном ответе при создании счета.
Описание параметров запроса на получение данных
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Непустая строка | Идентификатор счета |
Пример успешного ответа на запрос на получение данных
{
"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@payquity.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",
"details": {
"account": "411111******1111",
"paymentToken": "837c06b4-b791-4f2c-89b1-a45f78cb1568"
},
"status": {
"name": "PaymentPaid"
}
}
]
}
Описание параметров успешного ответа на запрос на получение данных
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
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.fffZZZ , должна быть больше текущей даты |
Дата, по истечении которой счет нужно отменить, например: 2021-03-14 11:08:24.0909150+00:00 |
locale | Нет | ru, en | Язык отображения платежного портала |
ofdData | Нет | Объект json |
Данные для формирования фискального чека (описание в разделе "Отправка данных в соответствии с ФЗ-54") |
preAuth | Да | boolean | Признак холдирования. Значение = true сообщает о необходимости захолдировать сумму, равную сумме счета, на банковском счету плательщика |
status | Да | Объект | Данные о статусе заказа (см. Перечень возможных значений статусов счета) |
payments | Нет | Коллекция | Данные о платежах по счету |
Описание параметров объекта status
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
name | Да | Непустая строка | Название статуса |
time | Да | Дата в формате yyyy-MM-dd HH:mm:ss.fffZZZ |
Дата перехода в статус |
message | Да | Непустая строка | Описание причины перехода в статус |
Описание параметров объекта payments
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
paymentMethod | Да | Непустая строка | Метод оплаты, выбранный плательщиком в процессе оплаты (см. Перечень возможных значений методов оплаты) |
details | Нет | Объект | Дополнительные данные платежа |
status | Да | Объект | Статус платежа (см. Перечень возможных значений статусов платежа) |
Описание параметров объекта details
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
account | Нет | Непустая строка | Данные об аккаунте плательщика |
paymentToken | Нет | Непустая строка | Идентификатор платежного токена |
Описание параметров объекта status
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
name | Да | Непустая строка | Статус платежа (см. Перечень возможных значений статусов платежа) |
Пример ответа с ошибкой на запрос на получение данных
{
"success": false,
"error": {
"code": "5",
"message": "error",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой на запрос на получение данных
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Оплата счета
Метод позволяет передать детали платежа для осуществления оплаты.
Пример запроса оплаты счета
curl https://payquity.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"
}
}
}'
uuid
- идентификатор счета, полученный в успешном ответе при создании счета.
Описание параметров запроса оплаты счета
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
requestId | Да | Уникальный. Непустая строка | Идентификатор запроса |
paymentMethod | Да | Непустая строка | Метод оплаты, выбранный плательщиком в процессе оплаты (см. Перечень возможных значений методов оплаты) |
details | Да | Объект | Детали платежа |
Описание параметров details для способа оплаты BankCard
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
pan | Да | Непустая строка | Номер банковской карты |
cardHolder | Нет | Непустая строка | Имя и фамилия владельца банковской карты латинскими буквами |
cvc | Да | Непустая строка | CVC банковской карты |
expYear | Да | Непустая строка | Год окончания срока действия банковской карты |
expMonth | Да | Непустая строка | Месяц окончания срока действия банковской карты |
Пример успешного ответа на запрос оплаты счета, если не требуется перенаправление пользователя
{
"success": true,
"data": {
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"requestId": "d1f6b55c-e8a1-add7-a719-a1cfd3eda3ad"
}
}
Описание параметров успешного ответа на запрос оплаты счета
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда true |
Признак успешности выполнения команды |
data | Да | Объект | Данные счета |
Описание параметров объекта data
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Непустая строка | Идентификатор счета, для которого выполняется оплата счета |
requestId | Да | Уникальный. Непустая строка | Идентификатор запроса |
Пример успешного ответа на запрос оплаты счета, если требуется перенаправление пользователя
{
"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 | Нет | Объект | Дополнительные данные |
Пример ответа с ошибкой на запрос оплаты счета
{
"success": false,
"error": {
"code": "5",
"message": "error",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой на запрос оплаты счета
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Создание подписки
Метод позволяет создать подписку для проведения регулярных платежей, совершаемых без подтверждения клиентом.
Алгоритм работы с подпиской
- Магазин отправляет в Payquity запрос на создание счета, где указывает параметр
createToken=true
для создания платежного токена. Предварительно данную возможность необходимо согласовать с менеджером; - Логика оплаты счета описана в "Схеме проведения запроса";
- В случае если счет был успешно оплачен, то Payquity отправляет магазину уведомление об успешной оплате, которое содержит идентификатор платежного токена; Магазин возвращает ответ-подтверждение о проведенной операции.
- Магазин отправляет в Payquity запрос на создание подписки, где указывает идентификатор платежного токена первого счета и данные подписки;
- Payquity обрабатывает запрос и если подписка создана корректно, возвращает ответ, содержащий идентификатор подписки;
- В случае если наступил момент следующей оплаты счета Payquity создает счет и проводит его аналогично первому платежу, но списание средств осуществляется уже без подтверждения клиентом;
- Payquity отправляет магазину уведомление об успешной/неуспешной оплате счета, которое содержит идентификатор подписки, на основе которой создан счет; Магазин возвращает ответ-подтверждение о проведенной операции.
Пример запроса на создание подписки
curl https://payquity.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@payquity.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.fffZZZ |
Дата и время первого периодического списания |
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": "Ошибка создания подписки",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой на запрос на создание подписки
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Получение баланса магазина
Пример запроса на получение данных
Метод позволяет по ключу доступа получить баланс данного магазина. Если магазин работает с несколькими валютами, то баланс будет получен по каждой из валют.
curl https://payquity.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",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой на запрос на получение данных
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Создание выплаты
Метод позволяет осуществлять вывод средств на платежные средства. Payquity предлагает следующие способы вывода: на банковскую карту, кошелек WebMoney (P, Z), кошелек ЮMoney, кошелек QIWI, мобильный телефон. Для активации возможности создавать выплаты необходимо связаться с менеджером Payquity.
Пример запроса на создание выплаты
curl https://payquity.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"
}'
Описание параметров запроса на создание выплаты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
externalId | Да | Уникальный, непустая строка, максимум 100 символов | Уникальный внутренний идентификатор выплаты в системе магазина |
amount | Да | Десятичное число с двумя знаками после запятой. Минимум - 0.01, максимум - 999999999999999.99 | Сумма выплаты, разделитель дробной части - "." (точка) |
currency | Нет | По умолчанию RUB. См. "Перечень возможных значений валюты" | Валюта, в которой будет совершен вывод средств |
description | Да | Непустая строка, максимум 1000 символов | Описание выплаты |
destination | Да | Объект | Реквизиты выплаты |
payoutMethod | Да | Непустая строка. См. "Перечень возможных значений методов вывода" | Способ вывода |
Описание параметров объекта 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 цифр. | Номер мобильного телефона |
Описание параметров объекта destination для способа вывода на виртуальную банковскую карту
{
...
"destination": {
"account": "45X2XTPWXUCJK2AJRRBMA"
},
"payoutMethod": "Qand"
}
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
account | Да | Непустая строка | Идентификатор виртуальной банковской карты |
Пример успешного ответа на запрос на создание выплаты
{
"success": true,
"data": {
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a",
"externalId": "3c5301df-d806-4fb0-9f96-f44d5d2d3827"
}
}
Описание параметров успешного ответа при создании выплаты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда true |
Признак успешности выполнения команды |
data | Да | Объект | Данные выплаты |
Описание параметров объекта data
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Непустая строка | Идентификатор выплаты в Payquity |
externalId | Да | Уникальный, непустая строка | Уникальный внутренний идентификатор выплаты в системе магазина |
Пример ответа с ошибкой на запрос на создание выплаты
{
"success": false,
"error": {
"code": "9",
"message": "Ошибка создания выплаты",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой создания выплаты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Получение данных выплаты
Метод позволяет запросить данные выплаты: статус выплаты, сумму, метод вывода и др.
Пример запроса на получение данных
curl https://payquity.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": "8041905d-c3cb-4c83-a232-1a98891023b8",
"uuid": "8904c0ef-7667-4ec2-b63a-57c50faf0248",
"commission": {
"amount": "12.33",
"currency": "RUB"
},
"payoutMethod": "BankCard",
"amount": 813.03,
"currency": "RUB",
"description": "some description",
"destination": {
"masked_pan": "411111******1111"
},
"status": {
"name": "PayoutSucceeded",
"time": "2022-04-13 08:42:22.501903+00:00",
"message": "Получено событие о удачном проведении транзакции на выплату"
}
}
}
Описание параметров успешного ответа на запрос на получение данных
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда true |
Признак успешности выполнения команды |
data | Да | Объект | Данные выплаты |
Описание параметров объекта data
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
externalId | Да | Уникальный, непустая строка | Уникальный внутренний идентификатор выплаты в системе магазина |
uuid | Да | Уникальный, непустая строка | Идентификатор выплаты |
commission | Да | Объект | Данные о комиссии выплаты |
payoutMethod | Да | Непустая строка. См. "Перечень возможных значений методов вывода" | Метод вывода |
amount | Да | Десятичное число с двумя знаками после запятой | Сумма выплаты, разделитель дробной части - "." (точка) |
currency | Да | Непустая строка. См. "Перечень возможных значений валюты" | Валюта вывода |
description | Да | Непустая строка | Описание выплаты |
destination | Да | Объект | Реквизиты выплаты |
status | Да | Объект | Данные о статусе выплаты (см. Перечень возможных значений статусов выплаты) |
Описание параметров объекта commission
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
amount | Да | Десятичное число с двумя знаками после запятой | Сумма комиссии, разделитель дробной части - "." (точка) |
currency | Да | Непустая строка. См. "Перечень возможных значений валюты" | Валюта комиссии |
Описание параметров объекта status
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
name | Да | Непустая строка | Название статуса |
time | Да | Дата в формате yyyy-MM-dd HH:mm:ss.fffZZZ |
Дата перехода в статус |
message | Да | Непустая строка | Описание причины перехода в статус |
Описание параметров объекта destination
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
masked_pan | Да, если способ вывода BankCard | Непустая строка | Маскированный номер банковской карты |
phone | Да, если способ вывода Mobile, Qiwi | Непустая строка | Номер телефона |
wallet | Да, если способ вывода YandexMoney, WMR, WMZ | Непустая строка | Номер кошелька |
account | Да, если способ вывода Qand | Непустая строка | Идентификатор виртуальной банковской карты |
Пример ответа с ошибкой на запрос на получение данных
{
"success": false,
"error": {
"code": "10",
"message": "error",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой на запрос на получение данных
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Подтверждение двухэтапной выплаты
Метод позволяет подтверждать двухэтапную выплату. Подтверждение выполняется для выплаты в статусе PayoutWaitingConfirmation. Для активации возможности создавать двухэтапные выплаты необходимо связаться с менеджером Payquity.
Пример запроса на подтверждение выплаты
curl https://payquity.io/merchant-api/api/v2/payouts/<uuid>/confirm \
-X POST \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{}'
uuid
- идентификатор выплаты, полученный в успешном ответе при создании выплаты.
Описание параметров запроса на подтверждение выплаты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Непустая строка | Идентификатор выплаты |
Пример успешного ответа на запрос на подтверждения выплаты
{
"success": true,
"data": {
"uuid": "8904c0ef-7667-4ec2-b63a-57c50faf0248"
}
Описание параметров успешного ответа при создании выплаты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда true |
Признак успешности выполнения команды |
data | Да | Объект | Данные выплаты |
Описание параметров объекта data
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Непустая строка | Идентификатор подтверждаемой выплаты |
Пример ответа с ошибкой на запрос на подтверждения выплаты
{
"success": false,
"error": {
"code": "13",
"message": "Ошибка подтверждения выплаты",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой подтверждения выплаты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Отклонение двухэтапной выплаты
Метод позволяет отклонять двухэтапную выплату. Отклонение выполняется для выплаты в статусе PayoutWaitingConfirmation. Для активации возможности создавать двухэтапные выплаты необходимо связаться с менеджером Payquity.
Пример запроса на отклонение выплаты
curl https://payquity.io/merchant-api/api/v2/payouts/<uuid>/decline \
-X POST \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{}'
uuid
- идентификатор выплаты, полученный в успешном ответе при создании выплаты.
Описание параметров запроса на отклонение выплаты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Непустая строка | Идентификатор выплаты |
Пример успешного ответа на запрос на отклонение выплаты
{
"success": true,
"data": {
"uuid": "8904c0ef-7667-4ec2-b63a-57c50faf0248"
}
Описание параметров успешного ответа при отклонении выплаты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда true |
Признак успешности выполнения команды |
data | Да | Объект | Данные выплаты |
Описание параметров объекта data
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Непустая строка | Идентификатор отклоняемой выплаты |
Пример ответа с ошибкой на запрос на отклонение выплаты
{
"success": false,
"error": {
"code": "14",
"message": "Ошибка отклонения выплаты",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой отклонения выплаты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Создание виртуальной банковской карты
Метод позволяет создать виртуальную банковскую карту для пользователя.
Алгоритм работы
- Магазин отправляет в Payquity запрос на создание виртуальной банковской карты, где указывает адрес электронной почты, имя и фамилию владельца карты;
- В случае если карта создана успешно, то Payquity возвращает магазину ответ, который содержит уникальный идентификатор карты, а пользователю, на указанный в запросе email, отправляет ссылку для регистрации в системе Qand.
Пример запроса на создание банковской карты
curl https://payquity.io/merchant-api/api/v2/bankCards \
-X POST \
-H 'x-api-key: <Ключ доступа>' \
-H 'x-sign: <ЭЦП>' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"email": "email@payquity.io",
"firstName": "Ivan",
"lastName": "Ivanov",
"externalId": "bbf878ededda4b278265e08ee8a8c5c2"
}'
Описание параметров запроса на создание банковской карты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
Да | Адрес электронной почты | Адрес электронной почты пользователя | |
firstName | Да | Непустая строка | Имя владельца карты |
lastName | Да | Непустая строка | Фамилия владельца карты |
externalId | Да | Уникальный, непустая строка, максимум 100 символов | Уникальный внутренний идентификатор банковской карты в системе магазина. Данный идентификатор не должен совпадать с идентификатором выплаты в рамках данного магазина. |
Пример успешного ответа на запрос на создание банковской карты
{
"success": true,
"data": {
"externalId": "bbf878ededda4b278265e08ee8a8c5c2",
"uuid": "45X2XTPWXUCJK2AJRRBMA"
}
}
Описание параметров успешного ответа при создании банковской карты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда true |
Признак успешности выполнения команды |
data | Да | Объект | Данные выплаты |
Описание параметров объекта data
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Непустая строка | Идентификатор банковской карты |
externalId | Да | Уникальный, непустая строка | Уникальный внутренний идентификатор банковской карты в системе магазина |
Пример ответа с ошибкой на запрос на создание банковской карты
{
"success": false,
"error": {
"code": "11",
"message": "Ошибка создания банковской карты",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой создания банковской карты
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Получение данных виртуальной банковской карты
Метод позволяет запросить данные по ранее созданной виртуальной банковской карте, а также ее статусу и балансу.
Пример запроса на получение данных
curl https://payquity.io/merchant-api/api/v2/bankCards/<card_uuid> \
-X GET \
-H 'x-api-key: <Ключ доступа>' \
-H 'Content-Type: application/json; charset=utf-8' \
uuid
- идентификатор карты, полученный в успешном ответе при создании виртуальной банковской карты.
Описание параметров запроса на получение данных
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Непустая строка | Идентификатор карты |
Пример успешного ответа на запрос на получение данных
{
"success": true,
"data": {
"uuid": "8KQQS75060WAZGYR2L",
"panStart": "556735",
"panEnd": "4500",
"expYear": "25",
"expMonth": "10",
"brand": "MasterCard",
"balance": {
"currency": "USD",
"amount": 10
},
"status": "Active"
}
}
Описание параметров успешного ответа на запрос на получение данных
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда true |
Признак успешности выполнения команды |
data | Да | Объект | Данные карты |
Описание параметров объекта data
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
uuid | Да | Уникальный, непустая строка | Идентификатор карты |
panStart | Да | Непустая строка | Первые 6 цифр номера виртуальной банковской карты |
panEnd | Да | Непустая строка | Последние 4 цифры номера виртуальной банковской карты |
expYear | Да | Непустая строка | Год окончания срока действия карты |
expMonth | Да | Непустая строка | Месяц окончания срока действия карты |
brand | Да | Непустая строка | МПС карты |
balance | Да | Объект | Данные о балансе |
status | Да | Непустая строка. См. "Перечень возможных значений статусов виртуальной банковской карты" | Статус карты |
Описание параметров объекта balance
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
amount | Да | Десятичное число с двумя знаками после запятой | Сумма, разделитель дробной части - "." (точка) |
currency | Да | Непустая строка. См. "Перечень возможных значений валюты" | Валюта |
Пример ответа с ошибкой на запрос на получение данных
{
"success": false,
"error": {
"code": "12",
"message": "error",
"correlationId": "01ee1da0-a25b-476d-a290-5eda640e14b2"
}
}
Описание параметров ответа с ошибкой на запрос на получение данных
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | Всегда false |
Признак успешности выполнения команды |
error | Да | Объект | Данные об ошибке |
Описание параметров объекта error
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
code | Да | Непустая строка | Код ошибки (см. Описание кодов ошибок) |
message | Да | Непустая строка | Описание ошибки |
correlationId | Да | Непустая строка | Идентификатор корреляции запроса |
Google PayTM
Google PayTM — это способ оплаты заказов, позволяющий в один клик совершать платежи без ввода банковских реквизитов. GPay доступен с любых устройств, имеющих Google аккаунт. Payquity принимает платежи через Google PayTM двумя методами:
- Через платежный портал Payquity — для подключения данного способа оплаты свяжитесь с вашим менеджером;
- Путем прямой интеграции с Google Pay API.
Требования к сайту магазина для прямой интеграции с Google Pay API
- При реализации подключения руководствоваться документацией.
- Необходимо соблюсти требования по брендированию при размещении кнопки GPay на форме оплаты.
- Убедиться, что товары или услуги не входят в перечень запрещенных.
- Сверить реализацию с контрольным списком.
- Пройти процедуру проверки.
Сценарий оплаты
- Клиент в интернет-магазине оформляет заказ и для оплаты выбирает способ GPay.
- Магазин отправляет запрос на создание счета в Payquity.
- Payquity обрабатывает запрос и, если счет создан корректно, возвращает его уникальный идентификатор
uuid
. - Магазин отправляет запрос на оплату в Google Pay API.
- Система Google PayTM по полученным платежным данным формирует токен.
- Магазин в ответ на запрос получает сформированный токен.
- Магазин формирует запрос на передачу деталей платежа в систему Payquity, где в адресе запроса указывает
uuid
полученный при создании счета, а в параметреdetails
- токен полученный от Google Pay API. - Payquity обрабатывает запрос и для транзакций PAN_ONLY возвращает ссылку для перенаправления клиента на форму ввода 3DS.
- Магазин для завершения аутентификации 3DS перенаправляет клиента на адрес, указанный в параметре
data.redirect.url
в ответе Payquity. - Payquity отправляет магазину уведомление об успешной/неуспешной оплате счета.
- Магазин возвращает ответ-подтверждение о проведенной операции.
Примеры запросов в 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": "payquity",
"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
. Токенизация карт выполняется через шлюзpayquity
. Запрос способа платежа осуществляется для выставления окончательного счета на сумму 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 | Да | Непустая строка | Поставщик платежных услуг - payquity |
gatewayMerchantId | Да | Непустая строка | Идентификатор магазина в системе payquity - 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 | Платеж отменен |
Перечень возможных значений статусов выплаты
Название | Описание |
---|---|
PayoutSucceeded | Выплата проведена успешно |
PayoutFailed | Выплата отклонена |
PayoutWaitingConfirmation | Двухэтапная выплата в ожидании подтверждения |
PayoutConfirmed | Двухэтапная выплата подтверждена |
Перечень возможных значений статусов виртуальной банковской карты
Название | Описание |
---|---|
Active | Карта активна |
Processing | Карта обрабатывается |
Перечень возможных значений методов оплаты
Название | Описание |
---|---|
BankCard | Оплата банковской картой |
WMR | Оплата через Webmoney |
YandexMoney | Оплата через ЮMoney |
Mobile | Оплата с использованием номера мобильного телефона |
Перечень возможных значений методов вывода
Название | Описание |
---|---|
BankCard | Вывод средств на банковскую карту |
WMR | Вывод средств на рублевый кошелек WebMoney (P) |
WMZ | Вывод средств на долларовый кошелек WebMoney (Z) |
YandexMoney | Вывод средств на кошелек ЮMoney |
Mobile | Вывод средств на мобильный телефон |
Qiwi | Вывод средств на кошелек QIWI |
Qand | Вывод средств на виртуальную банковскую карту |
Перечень возможных значений валюты
Валюта | Символ валюты | Название |
---|---|---|
RUB | ₽ | Рубль |
USD | $ | Доллар США |
EUR | € | Евро |
UAH | ₴ | Гривна |
KZT | ₸ | Тенге |
CNY | 元 | Юань |
VND | ₫ | Донг |
Оповещение об изменении статуса счета
Оповещение об изменении статуса (Callback) происходит путем отправки POST-запроса по адресу, указанному в настройках магазина (раздел Технические настройки , параметр Result url)
Если на оповещение получен невалидный ответ/валидный ответ с ошибкой, или же ответ не получен, система отправляет повторное оповещение позднее. Оповещение отправляется повторно конечное число раз.
Пример оповещения от Payquity
curl https://payquity.io/resultUrl \
-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",
"amount": 105.05,
"finalAmount": 123.12,
"currency": "RUB",
"description": "Счет на оплату заказа №12080",
"customerPhone": "+74994550185",
"customerEmail": "support@payquity.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",
"details": {
"account": "411111******1111",
"paymentToken": "837c06b4-b791-4f2c-89b1-a45f78cb1568"
},
"status": {
"name": "PaymentPaid"
}
}
]
}
Описание параметров оповещения от Payquity
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
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.fffZZZ , должна быть больше текущей даты |
Дата, по истечении которой счет будет отменен (переведен в статус 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.fffZZZ |
Дата перехода в статус, например: 2021-03-14 11:08:24.0909150+03:00 |
message | Да | Непустая строка | Описание причины перехода в статус |
Описание параметров объекта payments
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
paymentMethod | Да | Непустая строка | Метод оплаты, выбранный плательщиком в процессе оплаты (см. Перечень возможных значений статусов счета) |
details | Нет | Объект | Дополнительные данные платежа |
status | Да | Объект | Статус платежа (см. Перечень возможных значений статусов платежа) |
Описание параметров объекта details
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
account | Нет | Непустая строка | Данные об аккаунте плательщика |
paymentToken | Нет | Непустая строка | Идентификатор платежного токена |
Описание параметров объекта status
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
name | Да | Непустая строка | Статус платежа (см. Перечень возможных значений статусов платежа) |
Пример ожидаемого успешного ответа от системы мерчанта на оповещение от Payquity
{
"success": true,
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a"
}
Пример ожидаемого ответа с ошибкой от системы мерчанта на оповещение от Payquity
{
"success": false,
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a"
}
Описание параметров ожидаемых ответов от системы мерчанта на оповещение от Payquity
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | true / false |
Признак успешности выполнения команды |
uuid | Да | Непустая строка | Идентификатор счета |
Оповещение об изменении статуса выплаты
Оповещение об изменении статуса (Callback) происходит путем отправки POST-запроса по адресу, указанному в настройках магазина (раздел Технические настройки , параметр Payout Result URL)
Если на оповещение получен невалидный ответ/валидный ответ с ошибкой, или же ответ не получен, система отправляет повторное оповещение позднее. Оповещение отправляется повторно конечное число раз.
Пример оповещения от Payquity
curl https://payquity.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",
"commission": {
"amount": "12.33",
"currency": "RUB"
},
"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"
},
"payoutMethod": "BankCard"
}
Описание параметров оповещения от Payquity
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
externalId | Да | Уникальный, непустая строка | Уникальный внутренний идентификатор выплаты в системе магазина |
uuid | Да | Уникальный, непустая строка | Идентификатор выплаты |
commission | Да | Объект | Данные о комиссии выплаты |
amount | Да | Десятичное число с двумя знаками после запятой | Сумма выплаты, разделитель дробной части - "." (точка) |
currency | Да | Непустая строка. См. "Перечень возможных значений валюты" | Валюта выплаты |
description | Да | Непустая строка | Описание выплаты |
status | Да | Объект | Данные о статусе выплаты (см. "Перечень возможных значений статусов выплаты") |
payoutMethod | Да | Непустая строка. См. "Перечень возможных значений методов вывода" | Способ вывода |
Описание параметров объекта commission
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
amount | Да | Десятичное число с двумя знаками после запятой | Сумма комиссии, разделитель дробной части - "." (точка) |
currency | Да | Непустая строка. См. "Перечень возможных значений валюты" | Валюта комиссии |
Описание параметров объекта status
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
name | Да | Непустая строка | Название статуса |
time | Да | Дата в формате yyyy-MM-dd HH:mm:ss.fffZZZ |
Дата перехода в статус, например: 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 цифр. | Номер мобильного телефона |
Описание параметров объекта destination для способа вывода на виртуальную банковскую карту
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
account | Да | Непустая строка | Идентификатор виртуальной банковской карты |
Пример ожидаемого успешного ответа от системы мерчанта на оповещение от Payquity
{
"success": true,
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a"
}
Пример ожидаемого ответа с ошибкой от системы мерчанта на оповещение от Payquity
{
"success": false,
"uuid": "1fd64b0c-a8e7-4dc1-a799-f0cfa3ebad3a"
}
Описание параметров ожидаемых ответов от системы мерчанта на оповещение от Payquity
Параметр | Обязательный | Валидация | Описание |
---|---|---|---|
success | Да | true / false |
Признак успешности выполнения команды |
uuid | Да | Непустая строка | Идентификатор выплаты |
Описание кодов ошибок
Код ошибки | Описание ошибки |
---|---|
1 | Ошибка создания счета |
2 | Ошибка авторизации платежа |
3 | Ошибка отмены платежа |
5 | Ошибка при получении данных счета |
6 | Ошибка выполнения возврата |
7 | Ошибка создания подписки |
8 | Ошибка при получении данных магазина |
9 | Ошибка создания выплаты |
10 | Ошибка при получении данных выплаты |
11 | Ошибка создания виртуальной банковской карты |
12 | Ошибка при получении данных виртуальной банковской карты |
13 | Ошибка при подтверждении двухэтапной выплаты |
14 | Ошибка при отклонении двухэтапной выплаты |
-1 | Системная ошибка |
Тестирование
Тестовые карты для проведения платежей и осуществления выплат (для тестовых магазинов Payquity)
Номер карты (PAN) | Авторизационные данные | Тип операции | Результат |
---|---|---|---|
4111111111111111 | expiration date = 12/24; сvc/cvv2 = 123; 3ds = 123456 | Платеж | Успешно |
Любой | expiration date больше текущей даты; любые сvc/cvv2/3ds | Платеж | Отклонен |
4111111111111111 | Выплата | Успешно | |
5555555555555599 | Выплата | Ожидание | |
4222222222222222 | Выплата | Отклонена (Недостаточно средств) |
Отправка данных в соответствии с ФЗ-54
Для отправки фискальных данных используется протокол, совместимый с протоколом АТОЛ; поддерживаемый провайдер данных — АТОЛ.
Для подключения возможности передавать фискальные данные необходимо сообщить данные аккаунта АТОЛ менеджеру Payquity.
Важно: Параметры, которые не должны быть указаны в 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. | Телефон покупателя | 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 символов | 1073 Телефон платежного агента |
receive_payments_operator | object | Нет | Атрибуты оператора по приему платежей. | - |
phones | array of strings | Нет | Телефоны оператора по приему платежей. Максимальная длина одной строки массива – 19 символов. | 1074 Телефон оператора по приему платежей |
money_transfer_operator | object | Нет | Атрибуты оператора перевода. | - |
phones | array of strings | Нет | Телефоны оператора перевода. Максимальная длина одной строки массива – 19 символов. | 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 символов. | 1171 Телефон поставщика |
Описание подпараметра items
Название поля | Тип поля | Обязательные поля | Ограничения | Тег ФФД |
---|---|---|---|---|
items | array of objects | Да | Атрибуты позиций. Ограничение по количеству от 1 до 100. | - |
name | string | Да | Наименование товара. Максимальная длина строки – 128 символов. Если поле payment_object имеет значение "nonoperating_gain" для данного предмета расчета, то поле "name" должно принимать значение от 1 до 25. Если поле "payment_object" имеет значение "insurance_premium" для данного предмета расчета, то поле "items"->"name" должно принимать значение от 26 до 31. Описание значений поля “name” согласно ФФД приведено в Приложении 1. | 1030 Наименование предмета расчета |
price | number | Да | Цена в рублях: целая часть не более 8 знаков; дробная часть не более 2 знаков. Максимальное значение цены – 42 949 672.95. При этом произведение цены и количество/веса (price*quantity) позиции должно быть не больше максимального значения цены позиции | 1079 Цена за единицу предмета расчета с учетом скидок и наценок |
quantity | number | Да | Количество/вес: целая часть не более 5 знаков; дробная часть не более 3 знаков. Максимальное значение – 99 999.999 | 1023 Количество предмета расчета |
sum | number | Да | Сумма в рублях: целая часть не более 8 знаков; дробная часть не более 2 знаков. | 1043 Стоимость предмета расчета с учетом скидок и наценок |
measurement_unit | string | Нет | Единица измерения товара, работы, услуги, платежа, | 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 | Нет | Телефоны платежного агента | 1073 Телефон платежного агента |
receive_payments_ operator | object | Нет | Атрибуты оператора по приему платежей | - |
phones | array of strings | Нет | Телефоны оператора по приему платежей | 1074 Телефон оператора по приему платежей |
money_transfer_ operator | object | Нет | Атрибуты оператора перевода | - |
phones | array of strings | Нет | Телефоны оператора перевода | 1075 Телефон оператора перевода |
name | string | Нет | Наименование оператора перевода | 1026 Наименование оператора перевода |
address | string | Нет | Адрес оператора перевода | 1005 Адрес оператора перевода |
inn | string | Нет | ИНН оператора перевода | 1016 ИНН оператора перевода |
supplier_info | object | Нет. Поле обязательно, если передан «agent_info» | Атрибуты поставщика | - |
phones | array of strings | Нет | Телефоны поставщика | 1171 Телефон поставщика |
name | string | Нет | Наименование поставщика | 1225 Наименование поставщика |
inn | string | Нет | ИНН поставщика | 1226 ИНН поставщика |
user_data | string | Нет | Дополнительный реквизит предмета расчета. Максимальная длина строки – 64 символа. | 1191 Дополнительный реквизит предмета расчета |
Возможные значения payment_method:
«full_prepayment» — предоплата 100%. Полная предварительная оплата до момента передачи предмета расчета.
«prepayment» — предоплата. Частичная предварительная оплата до момента передачи предмета расчета.
«advance» — аванс.
«full_payment» — полный расчет. Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета.
«partial_payment» — частичный расчет и кредит. Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит.
«credit» — передача в кредит. Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит.
«credit_payment» — оплата кредита. Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита).
Возможные значения type:
«bank_paying_agent» — банковский платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным агентом.
«bank_paying_subagent» — банковский платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным субагентом.
«paying_agent» — платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным агентом.
«paying_subagent» — платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным субагентом.
«attorney» — поверенный. Осуществление расчета с покупателем (клиентом) пользователем, являющимся поверенным.
«commission_agent» — комиссионер. Осуществление расчета с покупателем (клиентом) пользователем, являющимся комиссионером.
«another» — другой тип агента. Осуществление расчета с покупателем (клиентом) пользователем, являющимся агентом и не являющимся банковским платежным агентом (субагентом), платежным агентом (субагентом), поверенным, комиссионером.
Возможные значения payment_object:
«commodity» — товар.
«excise» — подакцизный товар.
«job» — работа.
«service» — услуга.
«gambling_bet» — ставка азартной игры.
«gambling_prize» — выигрыш азартной игры.
«lottery» — лотерейный билет.
«lottery_prize» — выигрыш лотереи.
«intellectual_activity» — предоставление результатов интеллектуальной деятельности.
«payment» — платеж.
«agent_commission» — агентское вознаграждение.
«composite» — составной предмет расчета.
«another» — иной предмет расчета.
«property_right» — имущественное право. О передаче имущественных прав.
«non-operating_gain» — внереализационный доход.
«insurance_premium» — страховые взносы.
«sales_tax» — торговый сбор.
«resort_fee» — курортный сбор.
Описание подпараметра 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 Значение дополнительного реквизита пользователя |
С последней версией протокола АТОЛ можно ознакомиться на официальном сайте АТОЛ.