Справочная информация

С технической точки зрения, прием банковской карты к оплате всегда сводится к процессу списания средств с карты Покупателя. Здесь и далее этот процесс списания называется «платежом». Платеж может состоять из одной операции или последовательности операций.

Термины и определения

Покупатель — держатель карты, совершающий покупку в магазине Продавца.

Продавец (также «ТСП», «мерчант») — это юридическое лицо/индивидуальный предприниматель, осуществляющее (-ий) продажу товаров или услуг через Интернет.

Банк-эквайер — банк, осуществляющий первичную обработку транзакций, проводимых по банковским картам, в пользу Продавца, являющегося клиентом этого банка.

Банк-эмитент — банк, выпустивший карту Покупателя.

МПС — международная платежная система.

Терминал — программное средство, обеспечивающее автоматизированный прием платежей. Имеет совокупность настроек, определяющих правила проведения платежа.

Страница оплаты — HTML-страница, которая используется Покупателем для ввода платежных реквизитов банковской карты.

Транзакция — это совокупность операций взаимодействия держателя банковской карты с процессинговым центром при осуществлении онлайн-платежа по карте. Транзакция изменяет состояние карточного счета. Каждая транзакция имеет свой уникальный идентификатор.

Операция — совокупность действий, результатом которых является изменение статуса транзакции и состояния карточного счета.
Пример: операция списания; блокирование средств; возврат; отмена блокировки.

Одностадийный платеж — платеж, состоящий из единственной операции — прямого списания средств с карты Покупателя.

Двухстадийный платеж — платеж, который включает выполнение двух операций: блокирование средств на карте и завершение авторизации — списание.

Блокирование (также «блокировка», «авторизация» или «холдирование» средств) — предварительное резервирование средств на карте Покупателя.

Списание — выполнение фактического списания денежных средств со счета Покупателя.

Списание в рамках двухстадийного платежа должно быть инициализировано Продавцом в течение 7 дней после успешной блокировки. Если списание не будет инициализировано в указанный срок, то возможно оспаривание операции в связи с нарушением правил МПС. Также эмитент может самостоятельно осуществить автоматическую разблокировку средств на карте покупателя. Завершение после этого уже может быть недоступно.

Отмена блокировки (также «отмена», «разблокировка» или «отмена авторизации») — операция, обратная блокировке. Выполняется в рамках двухстадийного платежа.

Возврат — операция, обратная списанию. Выполняется после списания как при одностадийном, так и при двухстадийном платеже.

Рекуррентный платеж (также «автоплатеж») — платеж по ранее добавленной карте без повторного ввода реквизитов банковской карты, инициированный Продавцом. Для выполнения рекуррентных платежей необходимо получение согласия у Покупателя при первом платеже.
Пример: ежемесячное списание абонентской платы за подписку в онлайн кинотеатре; автоматическое пополнение мобильного телефона при снижении баланса ниже 100 рублей.

Рекарринговый платеж — платеж по ранее добавленной карте без повторного ввода реквизитов банковской карты, инициированный Покупателем.
Пример: заказ и оплата такси через приложение в один клик.

Чарджбэк (Chargeback) — процедура опротестования транзакции Покупателем, при которой сумма платежа безакцептно списывается с Продавца и возвращается Покупателю. После чего обязанность доказательства истинности транзакции ложится на Продавца.

3-D Secure (3DS) — протокол, который используется как дополнительный уровень безопасности Интернет-платежей по кредитным и дебетовым картам. Основная концепция протокола — добавить к процессу финансовой авторизации онлайн-проверку подлинности держателя карты.

Порядок (место) ввода данных банковской карты

Платежи делятся не только на одностадийные и двухстадийные, также возможны различия в проведении платежа в зависимости от способа ввода данных платежной карты. В одном варианте интеграции Покупатель вводит параметры своей карты на странице веб-сайта Продавца, во втором случае — на веб-странице Payture.

На странице Продавца

В данном случае Покупатель в течение всего платежа находится на сайте / в приложении Продавца, где и осуществляет ввод данных своей платежной карты для проведения операции. Введенные данные Продавец передает в запросе на выполнение платежа.

Внимание! В целях безопасности основные международные платежные системы требуют от стороны, оперирующей данными платежных карт, соответствовать требованиям стандарта безопасности PCI DSS. Для подтверждения соответствия этому стандарту организации (Продавцу) необходимо, как правило, заполнить самоопросник SAQ категории D и пройти его верификацию, которая может повлечь дополнительные, хоть и небольшие, финансовые и организационные затраты.

На стороне Payture

При таком варианте Продавец не обрабатывает платежные данные на своей стороне и избавлен от необходимости самостоятельно обеспечивать безопасность данных. Ввод платежной информации и непосредственно совершение оплаты выполняется на стороне платежного шлюза Payture:

  • На странице оплаты Payture — в данном случае Покупатель находится на сайте Продавца только до момента ввода данных своей платежной карты, после чего автоматически перенаправляется на защищенную страницу Payture. После оплаты Покупатель будет проинформирован о результатах операции и возвращен обратно на сайт Продавца, а Продавцу будут отправлены нотификации с результатами платежа.
  • Через платежный виджет — всплывающее окно, которое встраивается на сайт Продавца и появляется при нажатии на кнопку «Оплатить». Включает защищенные поля ввода платежных данных (данные обрабатывает Payture в соответствии со стандартами безопасности).

Вид страницы оплаты или виджета определяется применяемым шаблоном. Стандартные шаблоны Payture могут изменены по желанию Продавца. Продавец может использовать один или несколько различных шаблонов.

Работа с API

Взаимодействие решения Продавца с платежным шлюзом Payture строится по схеме запрос-ответ.

Запрос

Запрос с необходимыми параметрами формируется на стороне Продавца и передается методом GET или POST по протоколу HTTPS. Значение заголовка «Content-Type» для запроса POST должно быть установлено «application/x-www-form-urlencoded».

URL запроса:

https://{Environment}.payture.com/{Interface}/{Command}

{Environment} — программная среда, предоставляется с параметрами тестового и коммерческого доступа
{Interface} — используемый программный интерфейс
{Command} — название выполняемой команды

Ответ

Результаты обработки запросов возвращаются платежным шлюзом в формате XML, кодировка UTF-8.

Структура ответа:

<{Command} Key1="Value1" Key2="Value2"/>

Payture API

Программный интерфейс Payture API является производительным и удобным решением для автоматизированного выполнения операций электронной коммерции. Платежный шлюз Payture гарантирует высокую надежность и защищенность платежных операций.

Обязательная верификация

Для интерфейса Payture API ввод данных платежных карт выполняется непосредственно на веб-сайте или в мобильном приложении Продавца. В таком случае для обеспечения безопасности платежей основные международные платежные системы требуют от стороны, оперирующей данными платежных карт, соответствовать требованиям стандарта безопасности PCI DSS. Для подтверждения соответствия этому стандарту Продавцу необходимо заполнить самоопросник SAQ категории D и пройти его верификацию. Это может повлечь дополнительные финансовые и организационные затраты.

Возможности

PayСписание средств на карте Покупателя в рамках одностадийного платежа
BlockПредварительное блокировние средств на карте Покупателя в рамках двухстадийного платежа
ChargeСписание средств, заблокированных на карте Покупателя в рамках двухстадийного платежа
UnblockОтмена блокировки средств на карте Покупателя
RefundПолный или частичный возврат средств на карту Покупателя
GetStateПолучение текущего состояния платежа

Схема взаимодействия

Обратите внимание, при использовании аутентификации 3-D Secure порядок выполнения операции незначительно изменяется, как описано в разделе 3-D Secure.

https://{Environment}.payture.com/api/Pay

Команда Pay используется для выполнения платежа по одностадийной схеме.

Результатом обработки запроса является списание денежных средств с карты Покупателя. Списанные средства могут быть полностью или частично возвращены на карту Покупателя при помощи команды Refund.

Запрос

curl https://sandbox3.payture.com/api/Pay \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d Amount=12613 \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \
--data-urlencode "PayInfo= \
PAN=654111111111100000; \
EMonth=12; \
EYear=22; \
CardHolder=Ivan Ivanov; \
SecureCode=123; \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
Amount=12613" \
--data-urlencode "CustomFields = \
IP=243.242.221.132; \
Product=Ticket" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Цифры, не содержащие десятичных или других разделителей
Integer
Mandatory
PayInfo Параметры для совершения транзакции
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory
PaytureId Идентификатор платежа в системе Payture AntiFraud String [1..50]
Optional
CustomerKey Идентификатор Покупателя в системе Payture AntiFraud String [1..50]
Optional
CustomFields Дополнительные поля транзакции
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional

Состав параметра PayInfo

Пример параметра PayInfo (decoded):

PAN=654111111111100000;
EMonth=12;
EYear=22;
CardHolder=Ivan Ivanov;
SecureCode=123;
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67;
Amount=12613

Внимание! Параметры OrderId и Amount передаются дважды в одном запросе: в основных параметрах запроса и в параметре PayInfo.

Параметр Описание Формат
PAN Номер карты
Цифры без пробелов
String [13..19]
Mandatory
EMonth Месяц истечения срока действия карты
2 цифры
Integer
Mandatory
EYear Год истечения срока действия карты
Последние 2 цифры года
Integer
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Цифры, не содержащие десятичных или других разделителей
Integer
Mandatory
SecureCode CVC2/CVV2 код
3 или 4 цифры. Обязательность передачи зависит от типа платежа и конфигурации платежного Терминала
Integer
Optional
CardHolder Фамилия и имя держателя карты
Только латинские буквы и пробел
String [1..30]
Optional

Пример возможных ключей параметра CustomFields

Пример параметра CustomFields (decoded):

IP=243.242.221.132;
Description=MyTestTransaction
Параметр Описание Формат
IP IP адрес Покупателя
IPv4 или IPv6
String
Optional
Description Дополнительное описание платежа String
Optional

Ответ

XML строка с элементом Pay

Примеры ответов

Success: True False 3DS
<Pay OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="True" Amount="12613"/>
<Pay OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="3DS" Amount="12613" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" ThreeDSVersion="1.0"/>
Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
3DS — необходима аутентификация 3‑D Secure
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Key Наименование платежного Терминала
Соответствует переданному в запросе
String
Mandatory
Amount Сумма платежа в копейках
Передается, если «Success=True» или «Success=3DS». Соответствует переданному в запросе
Integer
Optional
ACSUrl Адрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
Optional
PaReq Запрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
Optional
ThreeDSKey Уникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String
Optional
ThreeDSVersion Версия протокола 3-D Secure:
1.0 — первая версия
2.1 — вторая версия (для процессинга Realex значение 2.1.0)
Передается, если «Success=3DS»
String
Optional
FinalTerminal Конечный Терминал, на котором был выполнен платеж
Передается, если было перенаправление на другой Терминал
String
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/api/Pay3DS

Команда Pay3DS предназначена для завершения списания средств с платежной карты, защищенной 3-D Secure. Выполняется после запроса Pay и получения результатов 3‑D Secure аутентификации от банка-эмитента.

Запрос

curl https://sandbox3.payture.com/api/Pay3DS \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \
-d PaRes={PaRes} \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
PaResСтрока, содержащая результаты 3-D Secure аутентификации
Соответствует ответу от ACS
String
Mandatory

Ответ

Полностью соответствует ответу на запрос Pay.

https://{Environment}.payture.com/api/Block

Команда Block позволяет блокировать денежные средства на карте Покупателя для последующего списания. Выполняется в рамках двухстадийной схемы проведения платежа.

Заблокированные средства далее могут быть списаны командой Charge или разблокированы командой Unblock.

Запрос

curl https://sandbox3.payture.com/api/Block \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d Amount=12613 \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \
--data-urlencode "PayInfo= \
PAN=654111111111100000; \
EMonth=12; \
EYear=22; \
CardHolder=Ivan Ivanov; \
SecureCode=123; \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
Amount=12613" \
--data-urlencode "CustomFields = \
IP=243.242.221.132; \
Product=Ticket" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Цифры, не содержащие десятичных или других разделителей
Integer
Mandatory
PayInfo Параметры для совершения транзакции
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory
PaytureId Идентификатор платежа в системе Payture AntiFraud String [1..50]
Optional
CustomerKey Идентификатор Покупателя в системе Payture AntiFraud String [1..50]
Optional
CustomFields Дополнительные поля транзакции
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional

Состав параметра PayInfo

Пример параметра PayInfo (decoded):

PAN=654111111111100000;
EMonth=12;
EYear=22;
CardHolder=Ivan Ivanov;
SecureCode=123;
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67;
Amount=12613

Внимание! Параметры OrderId и Amount передаются дважды в одном запросе: в основных параметрах запроса и в параметре PayInfo.

Параметр Описание Формат
PAN Номер карты
Цифры без пробелов
String [13..19]
Mandatory
EMonth Месяц истечения срока действия карты
2 цифры
Integer
Mandatory
EYear Год истечения срока действия карты
Последние 2 цифры года
Integer
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Цифры, не содержащие десятичных или других разделителей
Integer
Mandatory
SecureCode CVC2/CVV2 код
3 или 4 цифры. Обязательность передачи зависит от типа платежа и конфигурации платежного Терминала
Integer
Optional
CardHolder Фамилия и имя держателя карты
Только латинские буквы и пробел
String [1..30]
Optional

Пример возможных ключей параметра CustomFields

Пример параметра CustomFields (decoded):

IP=243.242.221.132;
Description=MyTestTransaction
Параметр Описание Формат
IP IP адрес Покупателя
IPv4 или IPv6
String
Optional
Description Дополнительное описание платежа String
Optional

Ответ

Примеры ответов

Success: True False 3DS
<Block OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="True" Amount="12492"/>
<Block OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Block OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="3DS" Amount="12725" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" ThreeDSVersion="1.0"/>

XML строка с элементом Block.

Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
3DS — необходима аутентификация 3‑D Secure
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Key Наименование платежного Терминала
Соответствует переданному в запросе
String
Mandatory
Amount Сумма платежа в копейках
Передается, если «Success=True» или «Success=3DS». Соответствует переданному в запросе
Integer
Optional
ACSUrl Адрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
Optional
PaReq Запрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
Optional
ThreeDSKey Уникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String
Optional
ThreeDSVersion Версия протокола 3-D Secure:
1.0 — первая версия
2.1 — вторая версия (для процессинга Realex значение 2.1.0)
Передается, если «Success=3DS»
String
Optional
FinalTerminal Конечный Терминал, на котором был выполнен платеж
Передается, если было перенаправление на другой Терминал
String
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/api/Block3DS

Команда Block3DS предназначена для завершения блокирования средств на карте, защищенной 3-D Secure. Выполняется после запроса Block и получения результатов 3‑D Secure аутентификации от банка-эмитента.

Запрос

curl https://sandbox3.payture.com/api/Block3DS \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \
-d PaRes={PaRes} \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
PaResСтрока, содержащая результаты 3-D Secure аутентификации
Соответствует ответу от ACS
String
Mandatory

Ответ

Полностью соответствует ответу на запрос Block.

https://{Environment}.payture.com/api/Charge

Команда Charge используется для списания денежных средств с карты Покупателя, предварительно заблокированных командой Block. Выполняется в рамках двухстадийной схемы проведения платежа.

Результатом обработки запроса является списание с карты Покупателя суммы, не превышающей заблокированной (равной или меньшей).

Внимание! Для успешного списания необходимо, чтобы на момент исполнения запроса платеж имел статус Authorized.

Параметры запроса

curl https://sandbox3.payture.com/api/Charge \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
AmountСумма списания в копейках. В случае отсутствия параметра в запросе выполняется списание полной суммы
Цифры, не содержащие десятичных или других разделителей
Integer
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional

Ответ

XML строка с элементом Charge

Примеры ответов

Success: True False
<Charge Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Amount="12564"/>
<Charge Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" ErrCode="ORDER_NOT_FOUND"/>
Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Amount Конечная сумма, списанная с карты Покупателя
Передается, если «Success=True»
Integer
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/api/Unblock

Команда Unblock позволяет полностью разблокировать денежные средства, предварительно заблокированные командой Block. Выполняется в рамках двухстадийной схемы проведения платежа.

Результатом обработки запроса является полная отмена блокировки суммы, заблокированной на карте Покупателя.

Внимание! Для успешной разблокировки средств необходимо, чтобы на момент исполнения запроса платеж имел статус Authorized.

curl https://sandbox3.payture.com/api/Unblock \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

Запрос

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory

Ответ

XML строка с элементом Unblock

Примеры ответов

Success: True False
<Unblock Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" NewAmount="0"/>
<Unblock Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" ErrCode="ILLEGAL_ORDER_STATE"/>
Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
NewAmount Остаток заблокированной суммы, всегда равен "0"
Передается, если «Success=True»
Integer
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/api/Refund

Команда Refund используется для возврата денежных средств, списанных командой Pay или Charge, на карту Покупателя. Выполняется как при одностадийной, так и при двухстадийной схеме проведения платежа.

Результатом обработки запроса является полный или частичный возврат денежных средств на карту Покупателя.

Внимание! Для успешного возврата необходимо, чтобы на момент исполнения запроса платеж имел статус Charged.

Запрос

curl https://sandbox3.payture.com/api/Refund \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d Password=123 \
-d Amount=12613 \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
Password Пароль платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма, которую следует вернуть, в копейках. В случае отсутствия параметра в запросе выполняется полный возврат
Цифры, не содержащие десятичных или других разделителей
Integer
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional

Ответ

XML строка с элементом Refund.

Примеры ответов

Success: True False
<Refund Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" NewAmount="0"/>
<Refund Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" ErrCode="PROCESSING_TIME_OUT"/>
Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
NewAmount Остаток списанной суммы после возврата в копейках
Передается, если «Success=True»
Integer
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/api/GetState

Команда GetState используется для получения актуального статуса платежа.

Запрос

curl https://sandbox3.payture.com/api/GetState \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory

Ответ

XML строка с элементом GetState

Примеры ответов

Success: True False
<GetState Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" State="Refunded" Forwarded="False" MerchantContract="Merchant" Amount="12613" RRN="003770024290"/>
<GetState Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" State="" Forwarded="False" ErrCode="ORDER_NOT_FOUND"/>
Параметр Описание Формат
Success Признак успешности операции (получения статуса). Принимает значения:
True — заказ найден и статус получен
False — не удалось выполнить запрос статуса
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Forwarded Признак перенаправления платежа на другой Терминал Boolean
Mandatory
State Статус платежа. См. статусы транзакций
Передается, если «Success=True»
String
Optional
MerchantContract Наименование платежного Терминала
Соответствует переданному в запросе. Передается, если «Success=True»
String [1..50]
Optional
FinalTerminal Конечный Терминал, на котором был выполнен платеж
Передается, если «Forwarded=True»
String
Optional
Amount Сумма платежа в копейках
Передается, если «Success=True»
Integer
Optional
RRN Уникальный номер транзакции, присвоенный банком-эквайером (Retrieval Reference Number)
Передается, если «Success=True»
String [12]
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional

Payture InPay

InPay — это простой способ приема платежей без сохранения карт. При использовании программного интерфейса InPay данные банковской карты вводятся на стороне платежного шлюза Payture, поэтому от Продавца не требуется верификация по стандарту PCI DSS – защиту информации обеспечивает Payture.

Покупатель находится на сайте Продавца только до момента ввода данных своей платежной карты. Для оплаты Покупатель перенаправляется на защищенную страницу оплаты Payture. После оплаты Покупатель будет проинформирован о результатах операции и возвращен на страницу Продавца, а Продавцу будут отправлены нотификации с результатами платежа.

Страница оплаты

Продавец может как напрямую перенаправлять Покупателя на страницу оплаты Payture, так и открывать ее в iframe на сайте магазина или в режиме WebView в мобильном приложении.

Внешний вид стандартной страницы оплаты может быть изменен по желанию Продавца. Для этого Продавцу необходимо подготовить один или несколько шаблонов страницы оплаты. Информацию и подробные технические сведения о создании шаблонов Вы можете изучить здесь.

Возможности

Помимо стандартной оплаты с банковской карты, платежная страница Payture поддерживает мобильные способы оплаты Apple Pay, Google Pay или Samsung Pay. Их использование не требует от Продавца сложных изменений — все необходимые интеграции уже реализованы на стороне Payture.

Для дополнительной проверки Покупателя на странице оплаты Payture выполняется его аутентификация по протоколу 3-D Secure, если эта процедура доступна для используемой карты.

Стандартный набор операций электронной коммерции для интерфейса InPay

Init Инициализация одностадийного или двухстадийного платежа — создание платежной сессии, необходимой для открытия страницы оплаты
Pay Открытие страницы оплаты на стороне платежного шлюза Payture
Charge Списание средств, заблокированных на карте Покупателя в рамках двухстадийного платежа
Unblock Отмена блокировки средств на карте Покупателя
Refund Полный или частичный возврат средств на карту Покупателя
GetState Получение текущего состояния платежа

https://{Environment}.payture.com/apim/Init

Команда инициализации одностадийного или двухстадийного платежа. Результатом выполнения запроса является создание платежной сессии и подготовка к перенаправлению Покупателя на страницу платежного шлюза Payture для ввода данных банковской карты.

Запрос

curl https://sandbox3.payture.com/apim/Init \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
--data-urlencode "Data= \
SessionType=Pay; \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
Amount=12613; \
Product=Ticket; \
Total=126.13; \
Phone=79156783333; \
Description=MyTestTransaction; \
Url=https://payture.com/result?orderid={orderid}&result={success}; \
AdditionalField1=Value1; \
AdditionalField2=Value2" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
Data Параметры платежа
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав параметра Data

Пример параметра Data (decoded):

SessionType=Pay;
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67;
Amount=12613;
Total=126.13;
Product=Ticket;
Phone=79156783333;
Description=MyTestTransaction;
Url=https://payture.com/result?orderid={orderid}&result={success};
AdditionalField1=Value1;
AdditionalField2=Value2

Пример параметра Url (адрес возврата):

https://server.com/result?orderid={orderid}&result={success}

Параметры {success}, {orderid} указываются в нижнем регистре.

Параметр Описание Формат
SessionType Тип платежа. Определяет количество стадий платежа:
Pay — одностадийный платеж
Block — двухстадийный платеж
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Цифры, не содержащие десятичных или других разделителей
Integer
Mandatory
Url Адрес возврата Покупателя после совершения платежа на стороне Payture. В адресе возврата дополнительно могут передаваться параметры Success и OrderId
В общем случае адрес возврата можно настроить для платежного Терминала через службу поддержки Payture и не передавать
String
Optional
Product Название оплачиваемой покупки, которое будет выведено Покупателю на странице оплаты String [1..50]
Optional
Total Сумма заказа, которая будет выведена Покупателю на странице оплаты String [1..50]
Optional
TemplateTag Название используемого шаблона страницы оплаты
Необходимо передавать, если Продавец применяет несколько шаблонов. Если параметр не передан, используется шаблон с названием «Default». См. подробнее о шаблонах страниц оплаты
String [1..50]
Optional
Language Язык шаблона страницы оплаты
Необходимо передавать, если для шаблона используется несколько языков. Если параметр не передан, используется язык шаблона «Default». См. подробнее о шаблонах страниц оплаты
String [1..50]
Optional
Phone Номер телефона Покупателя
Только цифры, без разделителей. Формат: [код страны][код оператора][номер абонента]
String
Optional
Description Дополнительное описание платежа String
Optional
IP IP адрес Покупателя
IPv4 или IPv6
String
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional
Дополнительные параметры Любые дополнительные параметры Продавца
Дополнительных параметров может быть несколько. Каждый параметр передается отдельно

Optional

Ответ

XML строка с элементом Init

Примеры ответов

Success: True False
<Init Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Amount="12613" SessionId="93148750-2aa1-e3ea-fdb1-66f376929464"/>
<Init Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" ErrCode="AMOUNT_ERROR"/>
Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Amount Сумма платежа в копейках
Передается, если «Success=True». Соответствует переданному в запросе
Integer
Optional
SessionId Идентификатор платежной сессии в системе Payture
Передается, если «Success=True». По умолчанию срок жизни сессии 60 минут. Может быть изменен через службу поддержки Payture
String [36]
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/apim/Pay

Команда открытия страницы оплаты на стороне платежного шлюза Payture. Выполняется после успешной команды инициализации платежа Init.

Запрос может быть отправлен GET или POST методом.

Запрос

curl https://sandbox3.payture.com/apim/Pay \
-d SessionId=93148750-2aa1-e3ea-fdb1-66f376929464 \

В запросах наименования параметров чувствительны к регистру

ПараметрОписаниеФормат
SessionIdИдентификатор платежной сессии. Содержится в ответе на запрос Init
По умолчанию срок жизни сессии 60 минут. Может быть изменен через службу поддержки Payture
String [36]
Mandatory

Результат успешной операции — открытие страницы оплаты на стороне платежного шлюза Payture.

После указания данных банковской карты Покупателя будет выполнено списание (при одностадийном платеже) или блокирование средств (при двухстадийном платеже) на карте Покупателя.

Результаты операции будут показаны Покупателю на платежной странице, и через 3 секунды он будет перенаправлен на страницу возврата (параметр Url запроса Init).

https://{Environment}.payture.com/apim/Charge

Команда Charge используется для списания заблокированных денежных средств с карты Покупателя. Выполняется в рамках двухстадийной схемы проведения платежа.

Результатом обработки запроса является списание с карты Покупателя суммы, не превышающей заблокированной (равной или меньшей).

Внимание! Для успешного списания необходимо, чтобы на момент исполнения запроса платеж имел статус Authorized.

Запрос

curl https://sandbox3.payture.com/apim/Charge \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d Password=123 \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

ПараметрОписаниеФормат
KeyНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
PasswordПароль платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderIdУникальный идентификатор платежа в системе ПродавцаString [1..50]
Mandatory
AmountСумма списания в копейках. В случае отсутствия параметра в запросе выполняется списание полной суммы
Цифры, не содержащие десятичных или других разделителей
Integer
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional

Ответ

XML строка с элементом Charge

Примеры ответов

Success: True False
<Charge Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Amount="12613"/>
<Charge Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" ErrCode="ILLEGAL_ORDER_STATE"/>
ПараметрОписаниеФормат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Amount Конечная сумма, списанная с карты Покупателя
Передается, если «Success=True»
Integer
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/apim/Unblock

Запрос позволяет полностью разблокировать денежные средства, ранее заблокированные на карте Покупателя. Выполняется в рамках двухстадийной схемы проведения платежа.

Результатом обработки запроса является полная отмена блокировки.

Внимание! Для успешной разблокировки средств необходимо, чтобы на момент исполнения запроса платеж имел статус Authorized.

Запрос

curl https://sandbox3.payture.com/apim/Unblock \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d Password=123 \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

ПараметрОписаниеФормат
KeyНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
PasswordПароль платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderIdУникальный идентификатор платежа в системе ПродавцаString [1..50]
Mandatory

Ответ

XML строка с элементом Unblock

Примеры ответов

Success: True False
<Unblock Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" NewAmount="0"/>
<Unblock Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" ErrCode="ILLEGAL_ORDER_STATE"/>
ПараметрОписаниеФормат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
NewAmountОстаток заблокированной суммы, всегда равен "0"
Передается, если «Success=True»
Integer
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/apim/Refund

Эта команда используется для возврата денежных средств, списанных при одностадийном или двухстадийном платеже.

Результатом обработки запроса является полный или частичный возврат списанных денежных средств на карту Покупателя.

Внимание! Для успешного возврата необходимо, чтобы на момент исполнения запроса платеж имел статус Charged.

Запрос

curl https://sandbox3.payture.com/apim/Refund \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d Password=123 \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \
-d Amount=12613 \

В запросах наименования параметров чувствительны к регистру

ПараметрОписаниеФормат
KeyНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
PasswordПароль платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderIdУникальный идентификатор платежа в системе ПродавцаString [1..50]
Mandatory
AmountСумма, которую следует вернуть, в копейках. В случае отсутствия параметра в запросе выполняется полный возврат
Цифры, не содержащие десятичных или других разделителей
Integer
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional

Ответ

XML строка с элементом Refund

Примеры ответов

Success: True False
<Refund Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" NewAmount="2000"/>
<Refund Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" ErrCode="AMOUNT_ERROR"/>
ПараметрОписаниеФормат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
NewAmountОстаток списанной суммы после возврата в копейках
Передается, если «Success=True»
Integer
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/apim/GetState

Команда GetState используется для получения актуального статуса платежа.

Запрос

curl https://sandbox3.payture.com/apim/GetState \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory

Ответ

XML строка с элементом GetState

Примеры ответов

Success: True False
<GetState Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" State="Refunded" Forwarded="False" MerchantContract="Merchant" Amount="12613" RRN="003770024290"/>
<GetState Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" State="" Forwarded="False" ErrCode="ORDER_NOT_FOUND"/>
Параметр Описание Формат
Success Признак успешности операции (получения статуса). Принимает значения:
True — заказ найден и статус получен
False — не удалось выполнить запрос статуса
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Forwarded Признак перенаправления платежа на другой Терминал Boolean
Mandatory
State Статус платежа. См. статусы транзакций
Передается, если «Success=True»
String
Optional
MerchantContract Наименование платежного Терминала
Соответствует переданному в запросе. Передается, если «Success=True»
String [1..50]
Optional
FinalTerminal Конечный Терминал, на котором был выполнен платеж
Передается, если «Forwarded=True»
String
Optional
Amount Сумма платежа в копейках
Передается, если «Success=True»
Integer
Optional
RRN Уникальный номер транзакции, присвоенный банком-эквайером (Retrieval Reference Number)
Передается, если «Success=True»
String [12]
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/apim/PayStatus

Запрос используется для получения информации о текущем состоянии платежа. Рекомендуется также использовать его в случае не получения ответа от шлюза Payture, при проведении других запросов по платежу.

Выполняется как при одностадийной, так и при двухстадийной схеме проведения платежа.

Результатом обработки запроса является получение актуального статуса платежа.

Запрос

curl https://sandbox3.payture.com/apim/PayStatus \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

ПараметрОписаниеФормат
KeyНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderIdУникальный идентификатор платежа в системе ПродавцаString [1..50]
Mandatory

Ответ

XML строка с элементом PayStatus

Примеры ответов

Success: True False
<PayStatus Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantContract="Merchant" Amount="12613" State="Charged" Forwarded="False"/>
<PayStatus Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantContract="Merchant" ErrCode="ORDER_NOT_FOUND" Forwarded="False"/>
ПараметрОписаниеФормат
SuccessПризнак успешности операции. Принимает значения:
True — платеж успешен
False — платеж неуспешен
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Forwarded Признак перенаправления платежа на другой Терминал Boolean
Mandatory
MerchantContract Наименование платежного Терминала
Соответствует переданному в запросе
String [1..50]
Optional
FinalTerminal Конечный Терминал, на котором был выполнен платеж
Передается, если «Forwarded=True»
String
Optional
Amount Сумма платежа в копейках
Передается, если «Success=True»
Integer
Optional
State Статус платежа. См. статусы транзакций
Передается, если «Success=True»
String
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional

Payture eWallet

Программный интерфейс Payture eWallet предоставляет дополнительные возможности по регистрации Покупателей и привязке платежных карт к учетным записям зарегистрированных Покупателей. Это позволяет выполнять рекуррентные платежи и оплату сохраненной картой без повторного ввода карточных данных, в том числе one-click платежи.

Способы ввода данных платежных карт

Интерфейс eWallet поддерживает два варианта реализации, в зависимости от места ввода данных платежных карт.

Во втором случае Продавец должен соответствовать требованиям стандарта безопасности PCI DSS, чтобы гарантировать достаточный уровень защищенности вводимых данных. Для подтверждения соответствия этому стандарту Продавцу необходимо, как правило, заполнить самоопросник SAQ категории D и пройти его верификацию, которая может повлечь дополнительные, хоть и небольшие, финансовые и организационные затраты.

Если у Вас нет возможности пройти верификацию по стандарту PCI DSS, Вы не сможете использовать второй вариант. В этом случае мы рекомендуем использовать реализацию, когда ввод данных карты выполняется на стороне платежного шлюза Payture.

Страница оплаты на стороне Payture

Если Вы выбрали реализацию с вводом карточных данных на странице платежного шлюза Payture, то Вы можете использовать стандартную страницу оплаты Payture или подготовить собственный шаблон. Информация и подробные технические сведения о создании шаблонов представлены здесь. Вы можете как создать собственный шаблон с нуля, так и изменить готовые шаблоны Payture.

Продавец может как напрямую перенаправлять Покупателя на страницу оплаты Payture, так и открывать ее в iframe на сайте магазина или в режиме WebView в мобильном приложении.

Стандартный набор операций электронной коммерции для интерфейса eWallet

Управление ПокупателямиУправление учетными записями Покупателей: регистрация, изменение, проверка и удаление
Управление картамиУправление сохраненными картами Покупателей: добавление, активация, удаление и получение списка карт
InitИнициализация одностадийного, двухстадийного платежа или добавления карты — создание платежной сессии, необходимой для открытия страницы оплаты или добавления карты. Только для реализации «на стороне Payture»
Pay — на стороне PaytureОткрытие страницы оплаты для ввода карточных данных на стороне платежного шлюза Payture
Pay — на стороне ПродавцаОдностадийное списание средств или блокирование средств в рамках двухстадийного платежа с вводом карточных данных на стороне Продавца
Pay — рекуррентные платежиПлатеж по ранее сохраненной карте без повторного ввода реквизитов (рекуррентный или рекарринговый платеж)
ChargeСписание средств, заблокированных на карте Покупателя в рамках двухстадийного платежа
UnblockОтмена блокировки средств на карте Покупателя
RefundПолный или частичный возврат средств на карту Покупателя
GetStateПолучение текущего состояния платежа

Payture eWallet предлагает набор функций по управлению учетными записями Покупателей. Эта функциональность позволяет решать такие задачи, как создание новой учетной записи, изменение параметров или же удаление учетной записи.

RegisterРегистрация Покупателя в системе Payture
UpdateИзменение параметров зарегистрированного в системе Покупателя
DeleteУдаление зарегистрированного Покупателя
CheckПроверка существования Покупателя в платежной системе Payture
https://{Environment}.payture.com/vwapi/Register

Команда Register служит для регистрации нового Покупателя в платежной системе Payture. Для использования функциональности интерфейса eWallet каждый Покупатель должен быть зарегистрирован в системе Payture.

Система Payture также позволяет регистрировать Покупателя не отдельной командой Register, а делать это автоматически при успешном добавлении карты. Для активации этой опции, пожалуйста, обратитесь в службу поддержки Payture.

Запрос

curl https://sandbox3.payture.com/vwapi/Register \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
PhoneNumber=79156783333" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры Покупателя
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
PhoneNumber=79156783333
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе Payture
Устанавливается Продавцом. Например, email
String [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)
Устанавливается Продавцом
String [1..50]
Mandatory
PhoneNumberНомер телефона Покупателя
Только цифры, без разделителей. Формат: [код страны][код оператора][номер абонента]
String
Optional
EmailEmail Покупателя
Может передаваться, если не используется в качестве VWUserLgn
String [1..50]
Optional

Ответ

XML строка с элементом Register

Примеры ответов

Success: True False
<Register Success="True" VWUserLgn="123@ya.ru"/>
<Register Success="False" VWUserLgn="123@ya.ru" ErrCode="DUPLICATE_USER"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Update

Команда позволяет редактировать параметры учетной записи Покупателя (PhoneNumber или Email), зарегистрированного ранее в системе Payture.

Запрос

curl https://sandbox3.payture.com/vwapi/Update \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
PhoneNumber=79156783333" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры Покупателя
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
PhoneNumber=79156783333
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory
PhoneNumberНомер телефона Покупателя
Только цифры, без разделителей. Формат: [код страны][код оператора][номер абонента]
String
Optional
EmailEmail Покупателя
Может передаваться, если не используется в качестве VWUserLgn
String [1..50]
Optional

Ответ

XML строка с элементом Update

Примеры ответов

Success: True False
<Update Success="True" VWUserLgn="123@ya.ru"/>
<Update Success="False" VWUserLgn="123@ya.ru" ErrCode="DUPLICATE_USER"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Delete

Команда для удаления учетной записи Покупателя, а также всех его карт в системе Payture.

Запрос

curl https://sandbox3.payture.com/vwapi/Delete \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
Password=123" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры Покупателя
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
Password=123
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
PasswordПароль платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory

Ответ

XML строка с элементом Delete

Примеры ответов

Success: True False
<Delete Success="True" VWUserLgn="123@ya.ru"/>
<Delete Success="False" VWUserLgn="" ErrCode="ACCESS_DENIED"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Check

Команда Check служит для проверки существования Покупателя в платежной системе Payture (Покупателя с такими VWUserLgn и VWUserPsw).

Запрос

curl https://sandbox3.payture.com/vwapi/Check \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры Покупателя
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory

Ответ

XML строка с элементом Check

Примеры ответов

Success: True False
<Check Success="True" VWUserLgn="123@ya.ru"/>
<Check Success="False" VWUserLgn="123@ya.ru" ErrCode="USER_NOT_FOUND"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна, Покупатель найден
False — операция неуспешна
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional

В этом разделе описаны функции по управлению картами Покупателей в интерфейсе eWallet (привязка карты к учетной записи Покупателя, активация карты, удаление карты и т.д.)

AddДобавление банковской карты в список карт Покупателя
ActivateАктивация карты после ее добавления. Опциональная операция, используется когда это предусмотрено схемой добавления карты
RemoveУдаление карты из списка карт Покупателя
GetListПолучение списка карт Покупателя
https://{Environment}.payture.com/vwapi/Add

Команда регистрации новой карты в системе Payture.

Обратите внимание, что в некоторых случаях (когда это предполагается используемой схемой добавления карты) необходимо не только добавить карту, но и активировать ее. Платежи по зарегистрированной карте возможны только после активации. Как правило, для активации происходит блокирование и последующая отмена блокировки небольшой проверочной суммы.

Карта может быть добавлена не только командой Add, но при выполнении платежа.

В зависимости от наличия у Продавца сертификата PCI DSS, регистрация карты может проводится на веб-странице продавца или на шаблоне платежного шлюза Payture.

https://{Environment}.payture.com/vwapi/Add

Команда открытия страницы добавления карты на стороне платежного шлюза Payture. Выполняется после успешной команды инициализации Init.

Схема взаимодействия

Запрос Add

curl https://sandbox3.payture.com/vwapi/Add \
-d SessionId=93148750-2aa1-e3ea-fdb1-66f376929464 \

В запросах наименования параметров чувствительны к регистру

Запрос может быть отправлен GET или POST методом.

Параметр Описание Формат
SessionIdИдентификатор сессии, возвращаемый в ответ на команду Init
По умолчанию срок жизни сессии 60 минут. Может быть изменен через службу поддержки Payture
String [36]
Mandatory

Результат успешной операции — открытие страницы добавления карты на стороне платежного шлюза Payture.

Результаты добавления карты будут показаны Покупателю, и через 3 секунды он будет перенаправлен на страницу возврата (параметр Url запроса Init).

Команда регистрации новой платежной карты непосредственно на веб-странице Продавца.

Схема взаимодействия

Обратите внимание, при использовании аутентификации 3-D Secure порядок выполнения операции незначительно изменяется, как описано в разделе 3-D Secure.

Запрос Add

curl https://sandbox3.payture.com/vwapi/Add \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=VWMerchantside \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
CardNumber=654111111111100000; \
EMonth=12; \
EYear=22; \
CardHolder=Ivan Ivanov; \
SecureCode=123; \
PhoneNumber=79156783333; \
AdditionalField1=Value1; \
AdditionalField2=Value2" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры карты
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardNumber=654111111111100000;
EMonth=12;
EYear=22;
CardHolder=Ivan Ivanov;
SecureCode=123;
PhoneNumber=79156783333;
AdditionalField1=Value1;
AdditionalField2=Value2
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory
CardNumberНомер карты
Цифры без пробелов
String [13..19]
Mandatory
EMonthМесяц истечения срока действия карты
2 цифры
Integer
Mandatory
EYearГод истечения срока действия карты
Последние 2 цифры года
Integer
Mandatory
SecureCodeCVC2/CVV2 код
3 или 4 цифры. Обязательность передачи зависит от схемы регистрации карты и конфигурации платежного Терминала
Integer
Optional
CardHolderФамилия и имя держателя карты
Только латинские буквы и пробел
String [1..30]
Optional
PhoneNumberНомер телефона Покупателя
Только цифры, без разделителей. Формат: [код страны][код оператора][номер абонента]
String
Optional
EmailEmail Покупателя
Может передаваться, если не используется в качестве VWUserLgn
String [1..50]
Optional
Дополнительные параметры Любые дополнительные параметры Продавца
Дополнительных параметров может быть несколько. Каждый параметр передается отдельно

Optional

Ответ

XML строка с элементом Add

Примеры ответов

Success: True False 3DS
<Add VWUserLgn="123@ya.ru" Success="True" CardName="521885xxxxxx5484" CardId="8d25d20c-9016-bb6e-ce98-bbc60d2c003c"/>
<Add VWUserLgn="123@ya.ru" Success="False" ErrCode="WRONG_CARD_INFO"/>
<Add VWUserLgn="123@ya.ru" Success="3DS" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" ThreeDSVersion="1.0" CardName="521885xxxxxx5484" CardId="8d25d20c-9016-bb6e-ce98-bbc60d2c003c"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
3DS — необходима аутентификация 3‑D Secure
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
CardNameМаскированный номер карты (первые 6 и последние 4 цифры: 123456хххххх1234)
Передается, если «Success=True» или «Success=3DS»
String [13..19]
Optional
CardIdИдентификатор карты в системе Payture
Передается, если «Success=True» или «Success=3DS»
String [36]
Optional
ACSUrl Адрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
Optional
PaReq Запрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
Optional
ThreeDSKey Уникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String
Optional
ThreeDSVersion Версия протокола 3-D Secure:
1.0 — первая версия
2.1 — вторая версия (для процессинга Realex значение 2.1.0)
Передается, если «Success=3DS»
String
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/AddSubmit3DS

Команда AddSubmit3DS используется для завершения добавления карты, защищенной 3-D Secure. Выполняется после запроса Add — на стороне Продавца и получения результатов 3‑D Secure аутентификации от банка-эмитента.

Используется только при вводе карточных данных на стороне Продавца.

Запрос

curl https://sandbox3.payture.com/vwapi/AddSubmit3DS \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d MD=8d25d20c-9016-bb6e-ce98-bbc60d2c003c \
-d PaRes={PaRes} \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
MD Уникальный идентификатор транзакцииString
Mandatory
PaResСтрока, содержащая результаты 3-D Secure аутентификации
Соответствует ответу от ACS
String
Mandatory

Ответ

Полностью соответствует ответу на запрос Add — на стороне Продавца.

https://{Environment}.payture.com/vwapi/Activate

Команда Activate используется для активации карты, ранее зарегистрированной в системе Payture и ожидающей активации. Метод используется, если для проверки карты применяется схема добавления с блокировкой небольшой суммы.

В запросе Activate необходимо указать сумму, заблокированную на карте при добавлении через Add. В случае корректного ввода заблокированной суммы Покупателем, карта будет активирована и заблокированные денежные средства будут разблокированы. В случае некорректного ввода денежные средства разблокируются по отдельному запросу.

Запрос

curl https://sandbox3.payture.com/vwapi/Activate \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
CardId=8d25d20c-9016-bb6e-ce98-bbc60d2c003c; \
Amount=101" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры карты
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=8d25d20c-9016-bb6e-ce98-bbc60d2c003c;
Amount=12613
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory
CardIdИдентификатор карты в системе Payture, для которой выполняется активацияString [36]
Mandatory
Amount Заблокированная сумма на карте Покупателя в копейках Integer
Mandatory

Ответ

XML строка с элементом Activate

Примеры ответов

Success: True False
<Activate Success="True" VWUserLgn="123@ya.ru" CardId="8d25d20c-9016-bb6e-ce98-bbc60d2c003c"/>
<Activate Success="False" VWUserLgn="123@ya.ru" ErrCode="CARD_NOT_FOUND"/>
Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
CardIdИдентификатор карты в системе Payture
Передается, если «Success=True»
String [36]
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Remove

Команда для удаления данных платежной карты (как активированной, так и неактивированной) из списка карт Покупателя.

Запрос

curl https://sandbox3.payture.com/vwapi/Remove \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
CardId=8d25d20c-9016-bb6e-ce98-bbc60d2c003c" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры карты
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=8d25d20c-9016-bb6e-ce98-bbc60d2c003c
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory
CardIdИдентификатор карты в системе Payture, для которой выполняется активацияString [36]
Mandatory

Ответ

XML строка с элементом Remove

Примеры ответов

Success: True False
<Remove Success="True" VWUserLgn="123@ya.ru" CardId="8d25d20c-9016-bb6e-ce98-bbc60d2c003c"/>
<Remove Success="False" VWUserLgn="123@ya.ru" ErrCode="WRONG_CARD_INFO"/>
Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
CardIdИдентификатор карты в системе Payture
Передается, если «Success=True»
String [36]
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/GetList

Команда GetList позволяет получить список платежных карт Покупателя, зарегистрированных в системе Payture.

Запрос

curl https://sandbox3.payture.com/vwapi/GetList \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры Покупателя
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory

Ответ

XML строка с элементом GetList и вложенными элементами Item

Примеры ответов

Success: True False
<GetList Success="True" VWUserLgn="123@ya.ru">
  <Item CardName="411111xxxxxx1112" CardId="e5dfa016-27e0-45bb-8167-44299642b529" CardHolder="Ivan Ivanov" Status="NotActive" NoCVV="false" Expired="false" ExpMonth="12" ExpYear="2022" PaymentSystem="Visa"/>
  <Item CardName="411111xxxxxx1111" CardId="001f2def-64e9-4cef-ae02-aa2bd9508a8b" CardHolder="Ivan Ivanov" Status="IsActive" NoCVV="true" Expired="false" ExpMonth="12" ExpYear="2022" PaymentSystem="Visa">
    <Param Key="LastSuccess" Value="2014.06.24 12:42:14"/>
    <Param Key="LastLessSecureCode:VWMerchantTest" Value="True"/>
  </Item>
</GetList>
<GetList Success="False" VWUserLgn="123@ya.ru" ErrCode="WRONG_USER_PARAMS"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
ItemСписок карт Покупателя
Передается, если «Success=True»
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional

Атрибуты элемента Item

Параметр Описание Формат
CardNameМаскированный номер карты (первые 6 и последние 4 цифры: 123456хххххх1234)
Передается, если «Success=True» или «Success=3DS»
String [13..19]
Mandatory
CardIdИдентификатор карты в системе Payture
Передается, если «Success=True» или «Success=3DS»
String [36]
Mandatory
CardHolderФамилия и имя держателя карты
Только латинские буквы и пробел
String [1..30]
Mandatory
StatusТекущий статус карты:
IsActive — карта активирована (возможно выполнение запроса проведения платежа, удаления карты)
NotActive — карта не активирована (возможно выполнение запроса активации карты, удаления карты)
NotActive3DS — карта вовлечена в 3-D Secure и не активирована (возможно выполнение запроса активации карты, удаления карты)
String
Mandatory
NoCVVВозможность оплаты по карте без введения CVV2/CVC2:
true — оплата возможна
false — оплата невозможна
Boolean
Mandatory
ExpiredПризнак истечения срока действия карты:
true — срок действия карты истек
false — срок действия не истек
Boolean
Mandatory
ExpMonth Месяц истечения срока действия карты
2 цифры. Передается по согласованию со службой поддержки Payture
Integer
Optional
ExpYear Год истечения срока действия карты
4 цифры. Передается по согласованию со службой поддержки Payture
Integer
Optional
PaymentSystemПлатежная система
Передается по согласованию со службой поддержки Payture
String [20]
Optional
ParamДополнительные параметры карты
Каждый параметр передается во вложенном элементе Param в формате Key={Key} Value={Value}
Object
Optional
https://{Environment}.payture.com/vwapi/Init

Команда инициализации одностадийного, двухстадийного платежа или процесса добавления карты. Результатом выполнения запроса является создание сессии и подготовка к перенаправлению Покупателя на страницу платежного шлюза Payture для ввода данных банковской карты.

Запрос

curl https://sandbox3.payture.com/vwapi/Init \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
--data-urlencode "DATA= \
SessionType=Pay; \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
Amount=12613; \
Product=Ticket; \
Total=126.13; \
Description=MyTestTransaction; \
PhoneNumber=79156783333; \
Url=https://payture.com/result?orderid={orderid}&result={success}; \
AdditionalField1=Value1; \
AdditionalField2=Value2" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATA Параметры платежа
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

SessionType=Pay;
VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67;
Amount=12613;
Product=Ticket;
Total=126.13;
Description=MyTestTransaction;
PhoneNumber=79156783333;
Url=https://payture.com/result?orderid={orderid}&result={success};
AdditionalField1=Value1;
AdditionalField2=Value2

Пример параметра Url (адрес возврата):

https://server.com/result?orderid={orderid}&result={success}

Параметры {success}, {orderid} указываются в нижнем регистре.

ПараметрОписаниеФормат
SessionType Тип платежа. Определяет количество стадий платежа:
Add — регистрация карты
Pay — одностадийный платеж
Block — двухстадийный платеж
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory
OrderIdУникальный идентификатор платежа в системе Продавца
Параметр обязателен, если «SessionType=Pay» или «SessionType=Block»
String [1..50]
Optional
AmountСумма платежа в копейках
Параметр обязателен, если «SessionType=Pay» или «SessionType=Block»
Integer
Optional
Url Адрес возврата Покупателя после совершения платежа. В адресе возврата дополнительно могут передаваться параметры Success и OrderId
В общем случае адрес возврата можно настроить для платежного Терминала через службу поддержки Payture и не передавать
String
Optional
CardIdИдентификатор зарегистрированной карты Покупателя в статусе «IsActive», которая будет выбрана по умолчанию на странице оплаты
Может быть передан, если «SessionType=Pay» или «SessionType=Block»
String [36]
Optional
ProductНазвание оплачиваемой покупки, которое будет выведено Покупателю на странице оплатыString [1..50]
Optional
TotalСумма заказа, которая будет выведена Покупателю на странице оплатыString [1..50]
Optional
TemplateTagНазвание используемого шаблона страницы оплаты
Необходимо передавать, если Продавец применяет несколько шаблонов. Если параметр не передан, используется шаблон с названием «Default». См. подробнее о шаблонах страниц оплаты
String [1..50]
Optional
LanguageЯзык шаблона страницы оплаты
Необходимо передавать, если для шаблона используется несколько языков. Если параметр не передан, используется язык шаблона «Default». См. подробнее о шаблонах страниц оплаты
String [1..50]
Optional
PhoneNumberНомер телефона Покупателя
Только цифры, без разделителей. Формат: [код страны][код оператора][номер абонента]
String
Optional
EmailEmail Покупателя
Может передаваться, если не используется в качестве VWUserLgn
String [1..50]
Optional
DescriptionДополнительное описание платежаString
Optional
IPIP адрес Покупателя
IPv4 или IPv6
String
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64String
Optional
Дополнительные параметры Любые дополнительные параметры Продавца
Дополнительных параметров может быть несколько. Каждый параметр передается отдельно

Optional

Ответ

XML строка с элементом Init

Примеры ответов

Success: True False
<Init Success="True" Amount="0" SessionId="93148750-2aa1-e3ea-fdb1-66f376929464" SessionType="Add"/>
<Init Success="False" ErrCode="ACCESS_DENIED"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderIdИдентификатор платежа в системе Продавца
Передается, если «Success=True» и «SessionType=Pay» (Block). Соответствует переданному в запросе
String [1..50]
Optional
AmountСумма платежа в копейках
Передается, если «Success=True». Равен «0» если «SessionType=Add»
Integer
Optional
SessionIdИдентификатор платежной сессии в системе Payture
Передается, если «Success=True». По умолчанию срок жизни сессии 60 минут. Может быть изменен через службу поддержки Payture
String [36]
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Pay

Команда открытия страницы оплаты на стороне платежного шлюза Payture. Выполняется после успешной команды инициализации платежа Init.

На странице оплаты Покупатель сможет выбрать ранее зарегистрированую карту или ввести данные новой карты, по которой будет выполнен платеж.

Схема взаимодействия

Запрос

curl https://sandbox3.payture.com/vwapi/Pay \
-d SessionId=93148750-2aa1-e3ea-fdb1-66f376929464 \

В запросах наименования параметров чувствительны к регистру

Запрос может быть отправлен GET или POST методом.

ПараметрОписаниеФормат
SessionIdИдентификатор платежной сессии. Содержится в ответе на запрос Init
По умолчанию срок жизни сессии 60 минут. Может быть изменен через службу поддержки Payture
String
Mandatory

Результат успешной операции — открытие страницы оплаты на стороне платежного шлюза Payture.

После указания данных банковской карты Покупателя будет выполнено списание (при одностадийном платеже) или блокирование средств (при двухстадийном платеже) на карте Покупателя.

Результаты операции будут показаны Покупателю на платежной странице, и через 3 секунды он будет перенаправлен на страницу возврата (параметр Url запроса Init).

https://{Environment}.payture.com/vwapi/Pay

Команда для выполнения платежа, когда ввод данных платежных карт выполняется непосредственно на веб-странице или в мобильном приложении Продавца. Позволяет выполнить списание средств в рамках одностадийного платежа (SessionType=Pay) или блокирование средств в рамках двухстадийного платежа (SessionType=Block).

При этом возможны два сценария оплаты: зарегистрированной и незарегистрированной картой.

Схема взаимодействия

Обратите внимание, при использовании аутентификации 3-D Secure порядок выполнения операции незначительно изменяется, как описано в разделе 3-D Secure.

Команда Pay для выполнения списания или блокировки средств с незарегистрированной ранее карты. В запросе необходимо передать данные банковской карты Покупателя.

Запрос

curl https://sandbox3.payture.com/vwapi/Pay \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=VWMerchantside \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
CardId=FreePay; \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
Amount=12613; \
CardNumber=654111111111100000; \
CardHolder=Ivan Ivanov; \
EMonth=12; \
EYear=22; \
SecureCode=123; \
PhoneNumber=79156783333; \
IP=243.242.221.132; \
AdditionalField1=Value1; \
AdditionalField2=Value2" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры платежа
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=FreePay;
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67;
Amount=12613;
CardNumber=654111111111100000;
CardHolder=Ivan Ivanov;
EMonth=12;
EYear=22;
SecureCode=123;
SessionType=Block;
PhoneNumber=79156783333;
IP=243.242.221.132;
AdditionalField1=Value1;
AdditionalField2=Value2
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory
CardIdДля платежа по незарегистрированной карте необходимо передавать значение CardId=FreePayString [36]
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Цифры, не содержащие десятичных или других разделителей
Integer
Mandatory
CardNumberНомер карты
Цифры без пробелов
String [13..19]
Mandatory
EMonthМесяц истечения срока действия карты
2 цифры
Integer
Mandatory
EYearГод истечения срока действия карты
Последние 2 цифры года
Integer
Mandatory
SecureCode CVC2/CVV2 код
3 или 4 цифры. Обязательность передачи зависит от типа платежа и конфигурации платежного Терминала
Integer
Optional
CardHolderФамилия и имя держателя карты
Только латинские буквы и пробел
String [1..30]
Optional
SessionType Тип платежа. Определяет количество стадий платежа:
Pay — одностадийный платеж (по умолчанию)
Block — двухстадийный платеж
String
Optional
AddCardПризнак сохранения карты
True — необходимо добавить карту. По умолчанию False
Boolean
Optional
PhoneNumberНомер телефона Покупателя
Только цифры, без разделителей. Формат: [код страны][код оператора][номер абонента]
String
Optional
EmailEmail Покупателя
Может передаваться, если не используется в качестве VWUserLgn
String [1..50]
Optional
IPIP адрес Покупателя
IPv4 или IPv6
String
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional
Дополнительные параметры Любые дополнительные параметры Продавца
Дополнительных параметров может быть несколько. Каждый параметр передается отдельно

Optional

Ответ

XML строка с элементом Pay

Примеры ответов

Success: True False 3DS
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="True" Amount="12613"/>
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="3DS" Amount="12613" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" ThreeDSVersion="1.0"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
3DS — необходима аутентификация 3‑D Secure
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
MerchantOrderIdИдентификатор платежа в системе Payture
Дополнительный идентификатор платежа, присвоенный системой Payture. Содержит номер попытки совершения платежа
String [1..50]
Mandatory
Amount Сумма платежа в копейках
Передается, если «Success=True» или «Success=3DS». Соответствует переданному в запросе
Integer
Optional
ACSUrl Адрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
Optional
PaReq Запрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
Optional
ThreeDSKey Уникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String
Optional
ThreeDSVersion Версия протокола 3-D Secure:
1.0 — первая версия
2.1 — вторая версия (для процессинга Realex значение 2.1.0)
Передается, если «Success=3DS»
String
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional

Команда Pay для выполнения списания или блокировки средств с зарегистрированной карты Покупателя. Карта должна находится в статусе «IsActive». В запросе необходимо передать идентификатор ранее добавленной карты — CardId.

Запрос

curl https://sandbox3.payture.com/vwapi/Pay \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=VWMerchantside \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
CardId=8d25d20c-9016-bb6e-ce98-bbc60d2c003c; \ 
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
Amount=12613; \
SecureCode=123; \
IP=243.242.221.132; \
AdditionalField1=Value1; \
AdditionalField2=Value2" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры платежа
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=8d25d20c-9016-bb6e-ce98-bbc60d2c003c;
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67;
Amount=12613;
SecureCode=123;
SessionType=Block;
IP=243.242.221.132;
AdditionalField1=Value1;
AdditionalField2=Value2
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory
CardIdИдентификатор ранее зарегистрированной карты в системе PaytureString [36]
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Цифры, не содержащие десятичных или других разделителей
Integer
Mandatory
SecureCode CVC2/CVV2 код
3 или 4 цифры. Обязательность передачи зависит от типа платежа и конфигурации платежного Терминала
Integer
Optional
SessionType Тип платежа. Определяет количество стадий платежа:
Pay — одностадийный платеж (по умолчанию)
Block — двухстадийный платеж
String
Optional
IPIP адрес Покупателя
IPv4 или IPv6
String
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional
Дополнительные параметры Любые дополнительные параметры Продавца
Дополнительных параметров может быть несколько. Каждый параметр передается отдельно

Optional

Ответ

XML строка с элементом Pay

Примеры ответов

Success: True False 3DS
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="True" Amount="12613"/>
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="3DS" Amount="12613" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" ThreeDSVersion="1.0"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
3DS — необходима аутентификация 3‑D Secure
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
MerchantOrderIdИдентификатор платежа в системе Payture
Дополнительный идентификатор платежа, присвоенный системой Payture. Содержит номер попытки совершения платежа
String [1..50]
Mandatory
Amount Сумма платежа в копейках
Передается, если «Success=True» или «Success=3DS». Соответствует переданному в запросе
Integer
Optional
ACSUrl Адрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
Optional
PaReq Запрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
Optional
ThreeDSKey Уникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String
Optional
ThreeDSVersion Версия протокола 3-D Secure:
1.0 — первая версия
2.1 — вторая версия (для процессинга Realex значение 2.1.0)
Передается, если «Success=3DS»
String
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Pay

Команда для выполнения платежа по ранее привязанной карте без участия Покупателя (рекуррентный платеж) или для проведения оплаты в один клик без повторного ввода реквизитов карты (рекарринговый платеж). Карта должна находится в статусе «IsActive».

Для оплаты не требуется передача CVV2/CVC2 и прохождение аутентификации 3-D Secure.

Рекуррентные и рекарринговые платежи могут выполняться как при варианте интеграции «На стороне Продавца», так и «На стороне Payture».

Запрос

curl https://sandbox3.payture.com/vwapi/Pay \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=VWMerchantside \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
CardId=8d25d20c-9016-bb6e-ce98-bbc60d2c003c; \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
Amount=12613; \
AdditionalField1=Value1; \
AdditionalField2=Value2" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала для выполнения рекуррентных / рекарринговых платежейString
Mandatory
DATAПараметры платежа
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=8d25d20c-9016-bb6e-ce98-bbc60d2c003c;
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67;
Amount=12613;
SessionType=Block;
AdditionalField1=Value1;
AdditionalField2=Value2
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory
CardIdДля платежа по незарегистрированной карте необходимо передавать значение CardId=FreePayString [36]
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Цифры, не содержащие десятичных или других разделителей
Integer
Mandatory
SessionType Тип платежа. Определяет количество стадий платежа:
Pay — одностадийный платеж (по умолчанию)
Block — двухстадийный платеж
String
Optional
IPIP адрес Покупателя
IPv4 или IPv6
String
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional
Дополнительные параметры Любые дополнительные параметры Продавца
Дополнительных параметров может быть несколько. Каждый параметр передается отдельно

Optional

Ответ

XML строка с элементом Pay

Примеры ответов

Success: True False 3DS
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="True" Amount="12613"/>
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="3DS" Amount="12613" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" ThreeDSVersion="1.0"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
3DS — необходима аутентификация 3‑D Secure. Аутентификация может потребоваться для рекарринговых платежей в зависимости от конфигурации Терминала. Для рекуррентных платежей значение 3DS не возвращается
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
MerchantOrderIdИдентификатор платежа в системе Payture
Дополнительный идентификатор платежа, присвоенный системой Payture. Содержит номер попытки совершения платежа
String [1..50]
Mandatory
Amount Сумма платежа в копейках
Передается, если «Success=True» или «Success=3DS». Соответствует переданному в запросе
Integer
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/PaySubmit3DS

Команда PaySubmit3DS служит для завершения списания или блокирования средств на карте, защищенной 3-D Secure. Выполняется после запроса Pay — на стороне Продавца и получения результатов 3‑D Secure аутентификации от банка-эмитента.

Используется только при вводе карточных данных на стороне Продавца.

Запрос

curl https://sandbox3.payture.com/vwapi/PaySubmit3DS \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d MD=8d25d20c-9016-bb6e-ce98-bbc60d2c003c \
-d PaRes={PaRes} \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
MD Уникальный идентификатор транзакцииString
Mandatory
PaResСтрока, содержащая результаты 3-D Secure аутентификации
Соответствует ответу от ACS
String
Mandatory

Ответ

Полностью соответствует ответу на запрос Pay — на стороне Продавца.

https://{Environment}.payture.com/vwapi/Charge

Команда Charge используется для списания денежных средств с карты Покупателя, предварительно заблокированных командой Pay. Выполняется в рамках двухстадийной схемы проведения платежа.

Результатом обработки запроса является списание с карты Покупателя суммы, не превышающей заблокированной (равной или меньшей).

Внимание! Для успешного списания необходимо, чтобы на момент исполнения запроса платеж имел статус Authorized.

Запрос

curl https://sandbox3.payture.com/vwapi/Charge \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
-d Password=123 \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
PasswordПароль платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderIdУникальный идентификатор платежа в системе ПродавцаString [1..50]
Mandatory
AmountСумма списания в копейках. В случае отсутствия параметра в запросе выполняется списание полной суммы
Цифры, не содержащие десятичных или других разделителей
Integer
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64String
Optional

Ответ

XML строка с элементом Charge

Примеры ответов

Success: True False
<Charge Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Amount="12613"/>
<Charge Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" ErrCode="ILLEGAL_ORDER_STATE"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Amount Конечная сумма, списанная с карты Покупателя
Передается, если «Success=True»
Integer
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Unblock

Запрос позволяет полностью разблокировать денежные средства, ранее заблокированные на карте Покупателя. Выполняется в рамках двухстадийной схемы проведения платежа.

Результатом обработки запроса является полная отмена блокировки.

Внимание! Для успешной разблокировки средств необходимо, чтобы на момент исполнения запроса платеж имел статус Authorized.

Запрос

curl https://sandbox3.payture.com/vwapi/Unblock \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
-d Password=123 \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
PasswordПароль платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderIdУникальный идентификатор платежа в системе ПродавцаString [1..50]
Mandatory

Ответ

XML строка с элементом Unblock

Примеры ответов

Success: True False
<Unblock Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" NewAmount="0"/>
<Unblock Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" ErrCode="ILLEGAL_ORDER_STATE"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
NewAmountОстаток заблокированной суммы, всегда равен "0"
Передается, если «Success=True»
Integer
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Refund

Эта команда используется для возврата денежных средств, списанных при одностадийном или двухстадийном платеже.

Результатом обработки запроса является полный или частичный возврат списанных денежных средств на карту Покупателя.

Внимание! Для успешного возврата необходимо, чтобы на момент исполнения запроса платеж имел статус Charged.

Запрос

curl https://sandbox3.payture.com/vwapi/Refund \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
--data-urlencode "DATA= \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
Password=123; \
Amount=12613" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATA Параметры возврата
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67;
Amount=12613;
Password=123
Параметр Описание Формат
PasswordПароль платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderIdУникальный идентификатор платежа в системе ПродавцаString [1..50]
Mandatory
Amount Сумма, которую следует вернуть, в копейках. В случае отсутствия параметра в запросе выполняется полный возврат
Цифры, не содержащие десятичных или других разделителей
Integer
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional

Ответ

XML строка с элементом Refund

Примеры ответов

Success: True False
<Refund Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" NewAmount="7800"/>
<Refund Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" ErrCode="AMOUNT_ERROR"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
NewAmountОстаток списанной суммы после возврата в копейках
Передается, если «Success=True»
Integer
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/GetState

Команда GetState используется для получения актуального статуса платежа.

Запрос

curl https://sandbox3.payture.com/vwapi/GetState \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory

Ответ

XML строка с элементом GetState

Примеры ответов

Success: True False
<GetState Success="True" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" State="Refunded" Forwarded="False" MerchantContract="Merchant" Amount="12613" RRN="003770024290" VWUserLgn="123@ya.ru" CardId="8d25d20c-9016-bb6e-ce98-bbc60d2c003c" PANMask="521885xxxxxx5484"/>
<GetState Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" State="" Forwarded="False" ErrCode="ORDER_NOT_FOUND"/>
Параметр Описание Формат
Success Признак успешности операции (получения статуса). Принимает значения:
True — заказ найден и статус получен
False — не удалось выполнить запрос статуса
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Forwarded Признак перенаправления платежа на другой Терминал Boolean
Mandatory
State Статус платежа. См. статусы транзакций
Передается, если «Success=True»
String
Optional
MerchantContract Наименование платежного Терминала
Соответствует переданному в запросе. Передается, если «Success=True»
String [1..50]
Optional
FinalTerminal Конечный Терминал, на котором был выполнен платеж
Передается, если «Forwarded=True»
String
Optional
Amount Сумма платежа в копейках
Передается, если «Success=True»
Integer
Optional
RRN Уникальный номер транзакции, присвоенный банком-эквайером (Retrieval Reference Number)
Передается, если «Success=True»
String [12]
Optional
VWUserLgnИдентификатор Покупателя в системе Payture
Передается, если «Success=True»
String [1..50]
Optional
CardIdИдентификатор карты в системе Payture
Передается, если «Success=True»
String [36]
Optional
PANMaskМаскированный номер карты (первые 6 и последние 4 цифры: 123456хххххх1234)
Передается, если «Success=True»
String [13..19]
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/PayStatus

Запрос используется для получения информации о текущем состоянии платежа. Рекомендуется также использовать его в случае неполучения ответа от шлюза Payture при проведении других запросов по платежу.

Запрос

curl https://sandbox3.payture.com/vwapi/PayStatus \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=Merchant \
--data-urlencode "DATA= \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATA Параметры платежа
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав параметра DATA

Пример параметра DATA (decoded):

OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67
Параметр Описание Формат
OrderIdУникальный идентификатор платежа в системе ПродавцаString [1..50]
Mandatory

Ответ

XML строка с элементом PayStatus

Примеры ответов

Success: True False
<PayStatus Success="True" VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Forwarded="False" Amount="12613" CardId="8d25d20c-9016-bb6e-ce98-bbc60d2c003c" Status="Charged"/>
<PayStatus Success="False" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Forwarded="False" MerchantContract="Merchant" ErrCode="ORDER_NOT_FOUND"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — платеж успешен
False — платеж неуспешен
String
Mandatory
Forwarded Признак перенаправления платежа на другой Терминал Boolean
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Status Статус платежа. См. статусы транзакций
Передается, если «Success=True»
String
Optional
VWUserLgnИдентификатор Покупателя в системе Payture
Передается, если «Success=True»
String [1..50]
Optional
FinalTerminal Конечный Терминал, на котором был выполнен платеж
Передается, если «Forwarded=True»
String
Optional
AmountСумма платежа в копейках
Передается, если «Success=True»
Integer
Optional
CardIdИдентификатор карты в системе Payture
Передается, если «Success=True»
String [36]
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional

3-D Secure

В целях повышения безопасности платежей большинство банковских карт защищены механизмом аутентификации 3-D Secure.

Порядок обработки запросов для оплаты с карты, защищенной 3-D Secure, отличается от стандартного и подробно описан ниже.

Проверка участия карты в процедуре 3-­D Secure аутентификации

При получении запроса на выполнение платежа или добавление карты платежный шлюз проверяет доступность 3-D Secure аутентификации.

Если карта Покупателя защищена 3-D Secure, значение параметра Success в синхронном ответе на вызов команд Pay, Block или Add принимает значение «3DS». В таком случае в ответе платежного шлюза передаются параметры ACSUrl, PaReq и ThreeDSKey, необходимые для дальнейшей 3-D Secure аутентификации.

ПараметрОписаниеФормат
ACSUrlАдрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
PaReqЗапрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
ThreeDSKeyУникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String

Проведение аутентификации

Пример формы запроса

<body onload="document.form.submit()" >
<form name="form" action="{ACSUrl}" method="post" >
    <input type="hidden" name="TermUrl" value="{TermUrl}" >
    <input type="hidden" name="MD" value="{ThreeDSKey}" >
    <input type="hidden" name="PaReq" value="{PaReq}" >
</form>
</body>

После получения ответа от платежного шлюза Продавец перенаправляет Покупателя на страницу банка-эмитента для дополнительной аутентификации.

Для этого используется POST запрос по адресу, указанному в параметре ACSUrl. В запросе передаются следующие параметры:

Параметр Описание Формат
TermUrlАдрес Продавца для получения результатов и перенаправления Покупателя после прохождения 3-D Secure аутентификацииString
Mandatory
MDУникальный идентификатор транзакции
Соответствует параметру ThreeDSKey из ответа на запрос Pay или Block
String
Mandatory
PaReqЗапрос на аутентификацию 3-D Secure
Соответствует параметру PaReq из ответа на запрос Pay или Block
String
Mandatory

Получение результата аутентификации

После выполнения проверки банк-эмитент возвращает Покупателя POST запросом по адресу Продавца, указанному в значении параметра TermUrl. В теле запроса передаются параметры:

Параметр Описание Формат
MDУникальный идентификатор транзакции
Соответствует ранее переданному
String
PaResСтрока, содержащая результаты 3-D Secure аутентификацииString

Завершение платежа

Наконец, для выполнения списания или блокирования средств на карте, защищенной 3-D Secure, Продавцу необходимо передать в платежный шлюз результаты аутентификации, полученные от банка-эмитента. Для интерфейса Payture API результаты передаются в запросе Pay3DS или Block3DS. Для Payture eWallet — в PaySubmit3DS или AddSubmit3DS.

Платежный виджет

Виджет оплаты — это всплывающее окно (поп-ап), которое встраивается на сайт Продавца и появляется при нажатии на кнопку «Оплатить». Включает защищенные поля ввода платежных данных (данные обрабатывает Payture в соответствии со стандартами безопасности) и e-mail для отправки электронного чека в соответствии с требованиями 54-ФЗ. Платежный виджет оптимизирован для использования на мобильных устройствах и в различных браузерах.

Чтобы совершить пробный платеж, нажмите «Оплатить».

Чтобы протестировать работу виджета, используйте тестовые карты. Результат для этого виджета — всегда успешный платеж без 3DS.
Например, номер карты 4111 1111 1111 1111. Срок действия, CVC2/CVV2 и держатель — произвольные.
Высланный чек не является фискальным документом и служит только для демонстрации работы виджета.

Пример раздела head на странице с виджетом:

<head>
    <script type="text/javascript" src="path/to/widget/payture-widget.min.js" ></script>
    <link rel="stylesheet" type="text/css" href="path/to/widget/widgetStyles.css">
</head>

Пример вызова виджета при нажатии Оплатить:

<button id="start_widget" onclick="openWidget()">Оплатить</button>

Для установки виджета на сайт Продавцу необходимо выполнить следующие шаги:

  1. Запросить в службе поддержки Payture параметры тестового доступа.
  2. По умолчанию для виджета используются стандартные шаблоны Payture. Если Продавец желает изменить внешний вид шаблонов, необходимо подготовить и отправить в службу поддержки шаблон формы оплаты (Type=Pay) и шаблон с результатами операции (Type=Return), который открывается после 3DS-проверки. Продавец может как создать собственные шаблоны с нуля, так и изменить стандартные шаблоны для виджета Payture. Информацию, подробные технические сведения о создании шаблонов и примеры шаблонов для виджета вы можете получить здесь в разделе «Шаблоны для виджета Payture»;
  3. Подключить на странице в разделе head библиотеку payture-widget.min.js. Скачать библиотеку payture-widget.min.js.
  4. Добавить в разделе head необходимые стили для работы виджета. Скачать стили для виджета.
  5. Задать функцию вызова виджета. Необходимые параметры задаются в конструкторе PaytureWidget().
  6. Настроить открытие виджета на какое-либо событие, например, на нажатие кнопки «Оплатить».
  7. При необходимости настроить поведение сайта в зависимости от аргумента success функции из OnTransactionCompleted.
  8. Протестировать работу виджета на тестовой среде с использованием тестовых карт.
  9. Получить от службы поддержки Payture параметры коммерческого доступа и выполнить переключение в боевую среду.

Пример функции вызова виджета:

function openWidget() {
    var widget = new PaytureWidget({
        Key : "Merchant_Widget",
        Amount : 20,
        Product : "Payture",
        Domain : "2",
        CustomParams : 
        {
            TemplateTag : "Default",
            Language : "Default",
            Name : "Иван Иванов",
            Delivery : "Самовывоз"
        },
        ChequeParams : 
        {  
            Positions:[  
               {  
                  Quantity: 1.000,
                  Price: 10.00,
                  Tax: 2,
                  Text: "Чай"
               },
               {  
                  Quantity : 2.000,
                  Price : 5.00,
                  Tax: 2,
                  Text: "Пирожок"
               }
            ],
            CustomerContact : "",
            Message: "Чек Payture"
        }, 
        OnTransactionCompleted : function(success) { 
            alert( success );  
            }
    });
}

Параметры виджета, которые передаются в его конструктор PaytureWidget():

Параметр Описание Формат
Key Наименование платежного Терминала String
Mandatory
Amount Сумма платежа в рублях с точностью до 2 цифр после точки Float
Mandatory
Product Название оплачиваемой покупки, которое будет выведено Покупателю в платежном виджете
Подставляется в плейсхолдер {Product} шаблона виджета
String [1..50]
Optional
Domain Номер, обозначающий URL-адрес шлюза:
1 – Основной адрес Production среды платежного шлюза (по умолчанию)
2 – Тестовая среда: https://sandbox3.payture.com
Integer
Optional
Session Тип операции:
Pay – списание в рамках одностадийного платежа (по умолчанию)
Block – блокировка средств в рамках двухстадийного платежа. Заблокированные средства далее могут быть списаны командой Charge или разблокированы командой Unblock
String
Optional
CustomParams Содержит название и язык используемого шаблона виджета, а также любые дополнительные параметры Продавца (например, имя плательщика и описание доставки): String
Optional
TemplateTag Название используемого шаблона виджета
Необходимо передавать, если Продавец применяет несколько шаблонов. Если параметр не передан, используется шаблон с названием «Default». См. подробнее о шаблонах страниц оплаты
Language Язык шаблона виджета
Необходимо передавать, если для шаблона используется несколько языков. Если параметр не передан, используется язык шаблона «Default». См. подробнее о шаблонах страниц оплаты
ChequeParams Параметры чека. Соответствует параметру Cheque.
Ниже приведен минимальный набор параметров для чека:
String
Optional
Positions Список позиций чека, которые включают в себя:
⦁ Наименование позиции (Text)
⦁ Кол-во единиц продукции (Quantity)
⦁ Цена (Price)
⦁ Налог (Tax)
Внимание! Сумма позиций чека должна равняться сумме операции в Amount.
Подробное описание этих параметров см. здесь
CustomerContact Телефон в формате 79165554444 или Email Покупателя для отправки чека, куда будет отправлен чек, если Покупатель не укажет адрес отправки в виджете
Message Тема письма или строка в сообщении СМС
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
OnTransactionCompleted Функция, вызываемая после завершения транзакции перед закрытием виджета.
Имеет один аргумент success — результат операции. True — успешный платеж, False — неуспешный платеж
Function
Optional

SDK

Для облегчения интеграции платежного решения на сайт магазина вы можете использовать SDK.

В SDK можно найти готовые решения для разных языков программирования. По вопросам использования и встраивания в свои системы Вы можете обращаться в службу поддержки Payture.

Node.js Node.js — готовый модуль для разработчиков на Node.js. Простая и удобная установка с помощью npm:
npm install payture-official
Добавить в проект:
var payture = require('payture-official');
Дополнительная документация на GitHub
Payture Node.js Github
C Sharp CSharpPaytureAPI — готовая библиотека, доступная для скачивания с NuGet. Для установки удобно использовать менеджер NuGet из Visual Studio, либо устанавливаем через консоль NuGet по команде:
Install-Package CSharpPaytureAPI
Добавить в проект:
using CSharpPayture;
Дополнительная документация на GitHub
Payture CSharp Github
Golang Go — компилируемый многопоточный язык программирования, разработанный компанией Google.
Добавить в проект:
Go Get "github.com/Payture/Go-Payture-official/payture"
Дополнительная документация на GitHub
Payture Golang Github

Готовые модули для CMS

Для облегчения интеграции платежного решения на сайт магазина вы можете использовать готовые платежные модули.

Узнать о новых бесплатных модулях, которые сейчас тестируются или предложить свой модуль для интеграции с нами можно по электронной почте support@payture.com.

Мы не поддерживаем работу приложений сторонних разработчиков, все обновления вы можете посмотреть по ссылке для скачивания.

Mygento Magento — это бесплатный движок для управления интернет магазином с открытым кодом. Входит в ТОП-20 самых популярных платформ для электронной коммерции в мире. Компания Mygento специализируется на разработке интернет-магазинов на CMS Magento и подготовила модуль интеграции с Payture. Mygento - команда профессионалов, с глубоким знанием платформы, большой выдержкой и терпением в работе с клиентами и партнерами. В их портфеле более 100 успешно реализованных проектов. Mygento
Intermedia CMS 1С-Битрикс — это автоматизированная система управления контентом. Продукт предназначен для создания и развития корпоративных проектов предприятий и организаций, информационных, новостных и справочных порталов, социальных сетей, интернет-магазинов и других видов сайтов. Модуль интеграции с 1С-Битрикс разработала компания InterMedia Service. Она является Золотым сертифицированным партнером и Хостинг-партнером компании «1С-Битрикс» и оказывает полный комплекс услуг по веб-разработке с использованием новых идей и технологий, которые позволяют достичь качественного результата. При установке модуля необходимо согласиться с лицензионным соглашением-офертой. Bitrix
Simpla Программный модуль для интернет-магазина на Simpla CMS. Simpla — это готовое решение для быстрого создания интернет-магазина с широкими возможностями и современным дизайном. Уже 63019 лицензионных установок. Bitrix
Payture OpenCart — бесплатная система управления содержимым, ориентированная на создание интернет-магазинов. Программное обеспечение написано на языке программирования PHP, платформа устанавливается на любом веб-сервере с поддержкой PHP и MySQL. Данная CMS пригодится для тех, кому нужен легкий и надежный движок интернет-магазина. Большим преимуществом данной системы управления сайтом является визуальная привлекательность интерфейса.Инструкция по установке модуля Opencart
Payture Ubercart — это программный модуль с открытым исходным кодом, полностью интегрирующий интернет-магазин с CMS Drupal. Drupal — максимально функциональная система управления содержимым веб-сайта. Является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями разработчиков со всего мира. Язык программирования - PHP, база данных - MySQL, PostgreSQL и другие. Подойдет для разработки веб-приложений любой сложности. Инструкция по установке модуля Drupal
Payture Commerce — это программный модуль с открытым исходным кодом, полностью интегрирующий интернет-магазин с CMS Drupal. Drupal — максимально функциональная система управления содержимым веб-сайта. Является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями разработчиков со всего мира. Язык программирования - PHP, база данных - MySQL, PostgreSQL и другие. Подойдет для разработки веб-приложений любой сложности. Инструкция по установке модуля Drupal
Payture VirtueMart — это программный модуль с открытым исходным кодом, полностью интегрирующий интернет-магазин с CMS Joomla!. Joomla! — система управления содержимым сайта, написанная на языках PHP и JavaScript, использующая в качестве хранилища базы данных MySQL. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL. CMS позволяет без особых знаний в веб-программировании создавать отличные и динамичные сайты. Инструкция по установке модуля Joomla
Payture Woocommerce — это программный модуль с открытым исходным кодом, полностью интегрирующий интернет-магазин с CMS WordPress. WordPress — система управления контентом с открытым исходным кодом, написанная на языке PHP. Универсальная и самая популярная CMS в мире. Применима к ресурсам любого назначения, от блогов до интернет-магазинов. Инструкция по установке модуля Wordpress
Payture Программный модуль для интернет-магазина ReadyScript. ReadyScript — собрала в себе все лучшее, что существует сегодня на рынке CMS, а также приобрела множество уникальных возможностей. Чтобы сохранить удобство пользования сайтом на различных по размеру экранах, сайт автоматически адаптируется, скрывая, сворачивая или переставляя некоторые второстепенные блоки. Все это включено в стандартную тему оформления. Readyscript

Apple Pay, Google Pay, Samsung Pay

Программный интерфейс Payture позволяет клиентам оплачивать покупки в одно касание, используя карточные хранилища Apple Pay, Google Pay и Samsung Pay.

Payture предлагает различные варианты подключения Apple Pay, Google Pay и Samsung Pay. Интеграция возможна для всех интерфейсов: Payture API, Payture InPay и Payture eWallet, как при приеме платежей на странице оплаты Payture, так и на сайте или в мобильном приложении Продавца.

Порядок интеграции Apple Pay различается в зависимости от используемого программного интерфейса Payture и канала приема платежей.

Инструкции:

Порядок интеграции Google Pay различается в зависимости от используемого программного интерфейса Payture и канала приема платежей.

Необходимый параметр для интеграции Samsung Pay

  • Public Key (выдается технической поддержкой компании Payture)

Программный интерфейс Payture позволяет клиентам оплачивать покупки в одно касание, используя карточные хранилища Apple Pay, Google Pay и Samsung Pay. Предоставляет Продавцу дополнительную возможность приема платежей по дебетовым и кредитным картам на сайте и в приложении.

https://{Environment}.payture.com/api/MobilePay

Метод MobilePay используется для быстрого проведения клиентского платежа одним действием (одностадийный платеж) с помощью систем мобильных платежей Apple Pay, Google Pay, Samsung Pay.

Запрос

curl https://sandbox3.payture.com/api/MobilePay \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d PayToken={PayToken} \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \
-d Checksum=true \
-d Amount=12613 \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
PayToken Платежные данные:
для Apple Pay — paymentData из PKPaymentToken в кодировке Base64
для Google Pay — token из paymentData в кодировке Base64
для Samsung Pay — paymentCredential в кодировке Base64
String
Mandatory
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Обязательный параметр для Google Pay. Для Samsung Pay и Apple Pay используется только при «Checksum=True». Для Samsung Pay и Apple Pay сумма платежа используется из токена
Integer
Optional
SecureCode CVV2/CVC2 код
Параметр обязателен при оплате нетокенизированной картой через Google Pay
Integer
Optional
CustomFields Дополнительные поля транзакции
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Optional
Checksum Флаг, используемый для проверки совпадения сумм в токенах Apple Pay или Samsung Pay и параметре Amount с точностью до 100 копеек Boolean
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional

Ответ

Примеры ответов

Success: True False 3DS
<Pay OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="True" Amount="12613"/>
<Pay OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="3DS" Amount="12613" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" ThreeDSVersion="1.0"/>

XML строка с элементом Pay

Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
3DS — необходима аутентификация 3‑D Secure
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Key Наименование платежного Терминала
Соответствует переданному в запросе
String
Mandatory
Amount Сумма платежа в копейках
Передается, если «Success=True» или «Success=3DS»
Integer
Optional
ACSUrl Адрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
Optional
PaReq Запрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
Optional
ThreeDSKey Уникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String
Optional
ThreeDSVersion Версия протокола 3-D Secure:
1.0 — первая версия
2.1 — вторая версия (для процессинга Realex значение 2.1.0)
Передается, если «Success=3DS»
String
Optional
FinalTerminal Конечный Терминал, на котором был выполнен платеж
Передается, если было перенаправление на другой Терминал
String
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/api/MobileBlock

Метод MobileBlock позволяет блокировать денежные средства на карте Покупателя, добавленной в сервисах Apple Pay, Google Pay, Samsung Pay.

Запрос

curl https://sandbox3.payture.com/api/MobileBlock \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d PayToken={PayToken} \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \
-d Checksum=true \
-d Amount=12613 \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
PayToken Платежные данные:
для Apple Pay — paymentData из PKPaymentToken в кодировке Base64
для Google Pay — token из paymentData в кодировке Base64
для Samsung Pay — paymentCredential в кодировке Base64
String
Mandatory
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Обязательный параметр для Google Pay. Для Samsung Pay и Apple Pay используется только при «Checksum=True». Для Samsung Pay и Apple Pay сумма платежа используется из токена
Integer
Optional
SecureCode CVV2/CVC2 код
Параметр обязателен при оплате нетокенизированной картой через Google Pay
Integer
Optional
CustomFields Дополнительные поля транзакции
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Optional
Checksum Флаг, используемый для проверки совпадения сумм в токенах Apple Pay или Samsung Pay и параметре Amount с точностью до 100 копеек Boolean
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional

Ответ

Примеры ответов

Success: True False 3DS
<Block OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="True" Amount="12613"/>
<Block OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Block OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Key="Merchant" Success="3DS" Amount="12613" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" ThreeDSVersion="1.0"/>

XML строка с элементом Block

Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
3DS — необходима аутентификация 3‑D Secure
String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
Key Наименование платежного Терминала
Соответствует переданному в запросе
String
Mandatory
Amount Сумма платежа в копейках
Передается, если «Success=True» или «Success=3DS»
Integer
Optional
ACSUrl Адрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
Optional
PaReq Запрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
Optional
ThreeDSKey Уникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String
Optional
ThreeDSVersion Версия протокола 3-D Secure:
1.0 — первая версия
2.1 — вторая версия (для процессинга Realex значение 2.1.0)
Передается, если «Success=3DS»
String
Optional
FinalTerminal Конечный Терминал, на котором был выполнен платеж
Передается, если было перенаправление на другой Терминал
String
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCode Код ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Pay

Запрос vwapi/Pay c передачей PayToken используется для совершения платежа с использованием систем Apple Pay, Google Pay или Samsung Pay.

Платеж может быть выполнен по одностадийной (SessionType=Pay) или по двухстадийной схеме (SessionType=Block).

Запрос

curl https://sandbox3.payture.com/vwapi/Pay \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=VWMerchantside \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
CardId=FreePay; \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
Amount=12613; \
PayToken={PayToken}; \
SessionType=Block; \
AdditionalField1=Value1; \
AdditionalField2=Value2" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры платежа
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=FreePay;
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67;
Amount=12613;
PayToken={PayToken};
SessionType=Block;
SecureCode=123;
IP=243.242.221.132;
AdditionalField1=Value1;
AdditionalField2=Value2
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory
CardIdДля платежей Apple Pay, Google Pay и Samsung Pay необходимо передавать значение CardId=FreePayString [36]
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Для текущего запроса сумма платежа всегда используется из запроса (не из токена)
Integer
Mandatory
PayToken Платежные данные:
для Apple Pay — paymentData из PKPaymentToken в кодировке Base64
для Google Pay — token из paymentData в кодировке Base64
для Samsung Pay — paymentCredential в кодировке Base64
String
Mandatory
SessionType Тип платежа. Определяет количество стадий платежа:
Pay — одностадийный платеж (по умолчанию)
Block — двухстадийный платеж
String
Optional
AddCardПризнак сохранения карты
True — необходимо добавить карту. По умолчанию False
Boolean
Optional
SecureCode CVV2/CVC2 код
Параметр обязателен при оплате нетокенизированной картой через Google Pay
Integer
Optional
IPIP адрес Покупателя
IPv4 или IPv6
String
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional
Дополнительные параметры Любые дополнительные параметры Продавца
Дополнительных параметров может быть несколько. Каждый параметр передается отдельно

Optional

Ответ

XML строка с элементом Pay

Примеры ответов

Success: True False 3DS
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="True" Amount="12613"/>
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay VWUserLgn="123@ya.ru" OrderId="865f86a3-d692-b544-4f0d-ae567fca9a67" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="3DS" Amount="12613" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" ThreeDSVersion="1.0"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
3DS — необходима аутентификация 3‑D Secure
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
MerchantOrderIdИдентификатор платежа в системе Payture
Дополнительный идентификатор платежа, присвоенный системой Payture. Содержит номер попытки совершения платежа
String [1..50]
Mandatory
Amount Сумма платежа в копейках
Передается, если «Success=True» или «Success=3DS». Соответствует переданному в запросе
Integer
Optional
ACSUrl Адрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
Optional
PaReq Запрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
Optional
ThreeDSKey Уникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String
Optional
ThreeDSVersion Версия протокола 3-D Secure:
1.0 — первая версия
2.1 — вторая версия (для процессинга Realex значение 2.1.0)
Передается, если «Success=3DS»
String
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Add

Запрос vwapi/Add с передачей PayToken используется для привязки карты из Apple Pay, Google Pay или Samsung Pay перед выполнением рекуррентных платежей.

Запрос

curl https://sandbox3.payture.com/vwapi/Add \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=VWMerchantside \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
PayToken={PayToken}; \
AdditionalField1=Value1; \
AdditionalField2=Value2" \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
VWIDНаименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
DATAПараметры платежа
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory

Состав ключей параметра DATA

Пример параметра DATA (decoded):

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
PayToken={PayToken};
SecureCode=123;
PhoneNumber=79156783333;
AdditionalField1=Value1;
AdditionalField2=Value2
Параметр Описание Формат
VWUserLgnИдентификатор Покупателя в системе PaytureString [1..50]
Mandatory
VWUserPswДополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя)String [1..50]
Mandatory
PayToken Платежные данные:
для Apple Pay — paymentData из PKPaymentToken в кодировке Base64
для Google Pay — token из paymentData в кодировке Base64
для Samsung Pay — paymentCredential в кодировке Base64
String
Mandatory
SecureCode CVV2/CVC2 код
Параметр обязателен при оплате нетокенизированной картой через Google Pay
Integer
Optional
PhoneNumberНомер телефона Покупателя
Только цифры, без разделителей. Формат: [код страны][код оператора][номер абонента]
String
Optional
Дополнительные параметры Любые дополнительные параметры Продавца
Дополнительных параметров может быть несколько. Каждый параметр передается отдельно

Optional

Ответ

XML строка с элементом Add

Примеры ответов

Success: True False 3DS
<Add VWUserLgn="123@ya.ru" Success="True" CardName="411111xxxxxx1112" CardId="8d25d20c-9016-bb6e-ce98-bbc60d2c003c"/>
<Add VWUserLgn="123@ya.ru" Success="False" ErrCode="WRONG_CARD_INFO"/>
<Add VWUserLgn="123@ya.ru" Success="3DS" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" ThreeDSVersion="1.0" CardName="411111xxxxxx1112" CardId="8d25d20c-9016-bb6e-ce98-bbc60d2c003c"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
3DS — необходима аутентификация 3‑D Secure
String
Mandatory
VWUserLgnИдентификатор Покупателя в системе Payture
Соответствует переданному в запросе
String [1..50]
Mandatory
CardNameМаскированный номер карты (первые 6 и последние 4 цифры: 123456хххххх1234)
Передается, если «Success=True» или «Success=3DS»
String [13..19]
Optional
CardIdИдентификатор карты в системе Payture
Передается, если «Success=True» или «Success=3DS»
String [36]
Optional
ACSUrl Адрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
Optional
PaReq Запрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
Optional
ThreeDSKey Уникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String
Optional
ThreeDSVersion Версия протокола 3-D Secure:
1.0 — первая версия
2.1 — вторая версия (для процессинга Realex значение 2.1.0)
Передается, если «Success=3DS»
String
Optional
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional

Система быстрых платежей (СБП)

Функциональность Payture позволяет Покупателю оплачивать покупки по QR-коду через Систему быстрых платежей (СБП). Список банков-участников размещен на сайте СБП: sbp.nspk.ru/participants. Вопросы и ответы про СБП здесь: sbp.nspk.ru/faq.

В этом разделе представлен сценарий, когда оплата (отображение QR-кода) выполняется на стороне Продавца.

Выполнение платежей

Платежи через СБП выполняются только по одностадийной схеме. Списание денежных средств происходит со счета и на счет, даже если к ним не привязаны карты.

Порядок выполнения платежа следующий:

  1. Покупатель переходит к оплате и выбирает оплату по QR-коду;
  2. Продавец формирует запрос GetQRCode для получения QR-кода;
  3. В ответе на запрос передается URL, который необходимо закодировать в QR-код (срок жизни QR-кода 72 часа). На мобильном устройстве по этой ссылке возможно напрямую открыть приложение банка (если у Покупателя установлено приложение банка, которое поддерживает оплату по QR);
  4. Продавец отображает QR-код и/или ссылку и ожидает результат оплаты (получение результата платежа возможно двумя способами: используя стандартный запрос статуса GetState и/или в нотификациях от платежного шлюза);
  5. Покупатель в мобильном приложении банка выбирает оплату по QR-коду, сканирует QR-код и подтверждает оплату;
  6. Payture направляет Продавцу нотификацию с результатами платежа:
  • EnginePaySuccess — при успешном выполнении;
  • EnginePayFail — при неуспешном платеже или истечении времени на оплату (72 часа).

Рекомендации по использованию запроса статуса

Если для получения результата оплаты Продавец использует запрос статуса GetState, рекомендуется применять следующую схему:

  1. Продавец начинает запрашивать статус через 15 секунд после отображения QR-кода:
  • в течение первых 30 секунд каждые 3 секунды;
  • в течение следующих 120 секунд каждые 5 секунд;
  • далее с увеличенными интервалами.
  1. Запрос статуса выполняется до получения статусов Charged или Rejected. Заказ в данном случае может принимать следующие статусы:
  • Pending — ожидание оплаты Покупателем;
  • Charged — платеж выполнен успешно;
  • Rejected — неуспешный платеж или время на оплату истекло (72 часа).

Описание метода GetState представлено в разделе Payture API, Payture InPay и Payture eWallet.

Возврат

Возврат выполняется стандартной командой Refund (см. в разделе Payture API, Payture InPay и Payture eWallet).

https://{Environment}.payture.com/ncapi/GetQRCode

Метод для получения QR-кода для оплаты через СБП.

Запрос

curl https://sandbox3.payture.com/ncapi/GetQRCode \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d PaymentKey=Merchant \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \
-d Amount=12613 \
-d AdditionalField1=Value1 \
-d AdditionalField2=Value2 \

В запросах наименования параметров чувствительны к регистру

Параметр Описание Формат
PaymentKey Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Цифры, не содержащие десятичных или других разделителей
Integer
Mandatory
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional
Дополнительные параметры Любые дополнительные параметры Продавца
Дополнительных параметров может быть несколько. Каждый параметр передается отдельно

Optional

Ответ

Передается в JSON.

Примеры ответов

Success: True False
{
    "Success": true,
    "ErrCode": "NONE",
    "OrderId": "ca6db0c6-546e-4a75-a4c1-7ac7e6b428c1",
    "QRCodeId": "AD10004QCI3EQ5S19N689BOA45F54714",
    "QRCodePayload": "https://qr.nspk.ru/AD10004QCI3EQ5S19N689BOA45F54714?type=02&bank=100000000015&sum=2725&cur=RUB&crc=2D98"
}
{
    "Success": false,
    "ErrCode": "ACCESS_DENIED",
    "OrderId": "6bd5fe4b-0ee9-4f23-9f7d-36f0c5a764cb",
    "QRCodeId": null,
    "QRCodePayload": null
}
Параметр Описание Формат
Success Признак успешности операции. Принимает значения:
true — операция успешна, QR-код получен
false — не удалось выполнить операцию
Boolean
Mandatory
ErrCode Код ошибки. См. коды ошибок String
Mandatory
OrderId Идентификатор платежа в системе Продавца
Соответствует переданному в запросе
String [1..50]
Mandatory
QRCodeId Идентификатор QR-кода в СБП
Передается, если «Success=True»
String [1..32]
Mandatory
QRCodePayload Ссылка на оплату, которую необходимо закодировать в QR-код.
На мобильных устройствах возможно прямое перенаправление Покупателя по этой ссылке. В таком случае мобильное устройство Покупателя предложит открыть приложение банка (если у Покупателя установлено приложение банка, которое поддерживает оплату по QR)
Передается, если «Success=True»
String [1..999]
Mandatory

P2P переводы

Перевести деньги

Функциональность P2P переводов (перевод с карты на карту) позволяет переводить денежные средства с одной карты международных платежных систем Visa и Mastercard на другую.

Технически на стороне платежных систем схема переводов реализована в два этапа. Первый этап — списание денежных средств с карты-источника. Второй этап — пополнение карты-приемника. Интерфейс переводов, предлагаемый Payture, позволяет реализовать эту функциональность в один шаг (выполнение метода Pay).

Payture P2P Scheme

При выполнении перевода с плательщика (владельца карты-источника) будет удержана комиссия, которая прописана в договоре на P2P перевод. Таким образом, в поле суммы (Amount) при совершении платежа, указывается сумма к начислению на карту-приемник. Комиссия за выполнение перевода удерживается с карты-источника.

Возможность перевода с карты на карту поддерживается в интерфейсе Payture API (посредством API).

https://{Environment}.payture.com/api/Pay

Метод API для P2P переводов практически полностью соответствует методу Pay, разница заключается в добавлении параметра CardTo (номер карты-приемника) в CustomFields. В случае добавления такого параметра платеж автоматически становится P2P переводом.

Запрос

curl https://sandbox3.payture.com/api/Pay \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d Amount=12613 \
-d OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67 \
--data-urlencode "PayInfo= \
PAN=654111111111100000; \
EMonth=12; \
EYear=22; \
CardHolder=Ivan Ivanov; \
SecureCode=123; \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
Amount=12613;" \
--data-urlencode "CustomFields= \
CardTo=4242424242424242;" \

В запросах наименования параметров чувствительны к регистру

Внимание! Параметры OrderId и Amount передаются дважды в одном запросе: в основных параметрах запроса и в параметре PayInfo, после Url Encode преобразования

Параметр Описание Формат
Key Наименование платежного Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
OrderId Уникальный идентификатор платежа в системе Продавца String [1..50]
Mandatory
Amount Сумма платежа в копейках
Цифры, не содержащие десятичных или других разделителей
Integer
Mandatory
PayInfo Параметры для совершения транзакции
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory
CustomFields Параметр для передачи номера карты-приемника. Также может содержать дополнительные поля транзакции
Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно)
String
Mandatory
PaytureId Идентификатор платежа в системе Payture AntiFraud String [1..50]
Optional
CustomerKey Идентификатор Покупателя в системе Payture AntiFraud String [1..50]
Optional

Состав ключей параметра PayInfo

Соответствует аналогичному в Payture API Pay

Состав ключей параметра CustomFields

Пример параметра CustomFields (decoded):

CardTo=654111111111100000;
Параметр Описание Формат
CardTo Номер карты, на которую будет совершен перевод (карта-приемник)
Цифры без пробелов
String [13..19]
Mandatory

Ответ

Соответствует аналогичному в Payture API Pay

Кассы по 54-ФЗ

54-ФЗ «О применении контрольно-кассовой техники» устанавливает новые правила использования кассового оборудования. Согласно закону, налогоплательщики обязаны подавать все фискальные документы, в том числе кассовые чеки и бланки строгой отчетности, в ФНС через Интернет.

Рекомендуется ознакомиться с форматами фискальных документов, обязательных к использованию.

Для передачи чека с платежом необходимо преобразовать JSON с информацией по чеку в строку Base64 и вложить в параметр Cheque при выполнении запросов Block / Pay / Init / Refund (частичный) / Charge (частичный) в любом варианте интеграции с платежным шлюзом.

Пример Cheque с минимальным набором параметров:

JSON Base64
{
  "Positions":[
    {
      "Quantity":1.0,
      "Price":27.25,
      "Tax":6,
      "Text":"Пирожок"
    }
  ],
  "CustomerContact":"user@mail.com"
}
eyJQb3NpdGlvbnMiOlt7IlF1YW50aXR5IjoxLjAsIlByaWNlIjoyNy4yNSwiVGF4Ijo2LCJUZXh0Ijoi0J/QuNGA0L7QttC+0LoifV0sIkN1c3RvbWVyQ29udGFjdCI6InVzZXJAbWFpbC5jb20ifQ==

Пример Cheque с максимальным набором параметров:

JSON Base64
{
  "Positions":[
    {
      "Quantity":2.0,
      "Price":27.25,
      "Tax":2,
      "Text":"Пирожок",
      "AdditionalAttribute":"Дополнительный реквизит предмета расчета",
      "AgentType":127,
      "AgentInfo":{
        "PaymentAgentOperation":"Операция плат. агента",
        "PaymentAgentPhoneNumbers":["+79260000004"],
        "PaymentOperatorName":"ООО \"Технологии\"",
        "PaymentOperatorAddress":"Москва, Зорге 29",
        "PaymentOperatorINN":"2306935781",
        "PaymentOperatorPhoneNumbers":["+79260000003"],
        "PaymentTransferOperatorPhoneNumbers":["+79260000002"]
      },
      "CustomsDeclarationNumber":"№ декларации",
      "Excise":1.00,
      "ManufacturerCountryCode":"643",
      "PaymentMethodType":3,
      "PaymentSubjectType":10,
      "NomenclatureCode":"NjQwMTkyOTAwMA==",
      "SupplierINN":"7203305114",
      "SupplierInfo":{
        "Name":"Наименование поставщика",
        "PhoneNumbers":["+79990000009"]
      },
      "UnitOfMeasurement": "Кг"
    }
  ],
  "CustomerContact":"79991234567",
  "Payments":[
    {
      "Type":2,
      "Amount":54.50
    }
  ],
  "Message":"Чек Payture",
  "Group":"main",
  "TemplateTag":"Default",
  "TemplateLang":"Default",
  "AdditionalMessages":[
    {
      "Key":"Name",
      "Value":"Value"
    }
  ],
  "AdditionalAttribute":"Доп.реквиз.чека",
  "AdditionalUserAttribute":{
    "Name":"Наименование дополнительного реквизита пользователя",
    "Value":"Значение дополнительного реквизита пользователя"
  },
  "AgentType":64,
  "AutomatNumber":"1258",
  "Customer":"Иванов Иван Иванович",
  "CustomerINN":"142702309610",
  "PaymentAgentOperation":"Операция плат. агента",
  "PaymentAgentPhoneNumbers":["+79260000003"],
  "PaymentOperatorName":"ООО \"Ромашка\"",
  "PaymentOperatorAddress":"Москва, Дурова 10",
  "PaymentOperatorINN":"9715225506",
  "PaymentOperatorPhoneNumbers":["+79260000002","+74957870002"],
  "PaymentTransferOperatorPhoneNumbers":["+79260000001"],
  "SettlementAddress":"Москва, Золотая 72",
  "SettlementPlace":"https://site.ru/",
  "SupplierPhoneNumbers":["+74957870004"]
}
ewogICJQb3NpdGlvbnMiOlsKICAgIHsKICAgICAgIlF1YW50aXR5IjoyLjAsCiAgICAgICJQcmljZSI6MjcuMjUsCiAgICAgICJUYXgiOjIsCiAgICAgICJUZXh0Ijoi0J/QuNGA0L7QttC+0LoiLAogICAgICAiQWRkaXRpb25hbEF0dHJpYnV0ZSI6ItCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0YDQtdC60LLQuNC30LjRgiDQv9GA0LXQtNC80LXRgtCwINGA0LDRgdGH0LXRgtCwIiwKICAgICAgIkFnZW50VHlwZSI6MTI3LAogICAgICAiQWdlbnRJbmZvIjp7CiAgICAgICAgIlBheW1lbnRBZ2VudE9wZXJhdGlvbiI6ItCe0L/QtdGA0LDRhtC40Y8g0L/Qu9Cw0YIuINCw0LPQtdC90YLQsCIsCiAgICAgICAgIlBheW1lbnRBZ2VudFBob25lTnVtYmVycyI6WwogICAgICAgICAgIis3OTI2MDAwMDAwNCIKICAgICAgICBdLAogICAgICAgICJQYXltZW50T3BlcmF0b3JOYW1lIjoi0J7QntCeIFwi0KDQvtC80LDRiNC60LBcIiIsCiAgICAgICAgIlBheW1lbnRPcGVyYXRvckFkZHJlc3MiOiLQnNC+0YHQutCy0LAsINCX0L7RgNCz0LUgMjkiLAogICAgICAgICJQYXltZW50T3BlcmF0b3JJTk4iOiIyMzA2OTM1NzgxIiwKICAgICAgICAiUGF5bWVudE9wZXJhdG9yUGhvbmVOdW1iZXJzIjpbCiAgICAgICAgICAiKzc5MjYwMDAwMDAzIgogICAgICAgIF0sCiAgICAgICAgIlBheW1lbnRUcmFuc2Zlck9wZXJhdG9yUGhvbmVOdW1iZXJzIjpbCiAgICAgICAgICAiKzc5MjYwMDAwMDAyIgogICAgICAgIF0KICAgICAgfSwKICAgICAgIkN1c3RvbXNEZWNsYXJhdGlvbk51bWJlciI6IuKEliDQtNC10LrQu9Cw0YDQsNGG0LjQuCIsCiAgICAgICJFeGNpc2UiOjEuMDAsCiAgICAgICJNYW51ZmFjdHVyZXJDb3VudHJ5Q29kZSI6IjY0MyIsCiAgICAgICJQYXltZW50TWV0aG9kVHlwZSI6MywKICAgICAgIlBheW1lbnRTdWJqZWN0VHlwZSI6MTAsCiAgICAgICJOb21lbmNsYXR1cmVDb2RlIjoiTmpRd01Ua3lPVEF3TUE9PSIsCiAgICAgICJTdXBwbGllcklOTiI6IjcyMDMzMDUxMTQiLAogICAgICAiU3VwcGxpZXJJbmZvIjp7CiAgICAgICAgIk5hbWUiOiLQndCw0LjQvNC10L3QvtCy0LDQvdC40LUg0L/QvtGB0YLQsNCy0YnQuNC60LAiLAogICAgICAgICJQaG9uZU51bWJlcnMiOlsKICAgICAgICAgICIrNzk5OTAwMDAwMDkiCiAgICAgICAgXQogICAgICB9LAogICAgICAiVW5pdE9mTWVhc3VyZW1lbnQiOiLQmtCzIgogICAgfQogIF0sCiAgIkN1c3RvbWVyQ29udGFjdCI6Ijc5OTkxMjM0NTY3IiwKICAiUGF5bWVudHMiOlsKICAgIHsKICAgICAgIlR5cGUiOjIsCiAgICAgICJBbW91bnQiOjU0LjUwCiAgICB9CiAgXSwKICAiTWVzc2FnZSI6ItCn0LXQuiBQYXl0dXJlIiwKICAiR3JvdXAiOiJtYWluIiwKICAiVGVtcGxhdGVUYWciOiJEZWZhdWx0IiwKICAiVGVtcGxhdGVMYW5nIjoiRGVmYXVsdCIsCiAgIkFkZGl0aW9uYWxNZXNzYWdlcyI6WwogICAgewogICAgICAiS2V5IjoiTmFtZSIsCiAgICAgICJWYWx1ZSI6IlZhbHVlIgogICAgfQogIF0sCiAgIkFkZGl0aW9uYWxBdHRyaWJ1dGUiOiLQlNC+0L8u0YDQtdC60LLQuNC3LtGH0LXQutCwIiwKICAiQWRkaXRpb25hbFVzZXJBdHRyaWJ1dGUiOnsKICAgICJOYW1lIjoi0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0LPQviDRgNC10LrQstC40LfQuNGC0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIiwKICAgICJWYWx1ZSI6ItCX0L3QsNGH0LXQvdC40LUg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7Qs9C+INGA0LXQutCy0LjQt9C40YLQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCiAgfSwKICAiQWdlbnRUeXBlIjo2NCwKICAiQXV0b21hdE51bWJlciI6IjEyNTgiLAogICJDdXN0b21lciI6ItCY0LLQsNC90L7QsiDQmNCy0LDQvSDQmNCy0LDQvdC+0LLQuNGHIiwKICAiQ3VzdG9tZXJJTk4iOiIxNDI3MDIzMDk2MTAiLAogICJQYXltZW50QWdlbnRPcGVyYXRpb24iOiLQntC/0LXRgNCw0YbQuNGPINC/0LvQsNGCLiDQsNCz0LXQvdGC0LAiLAogICJQYXltZW50QWdlbnRQaG9uZU51bWJlcnMiOlsKICAgICIrNzkyNjAwMDAwMDMiCiAgXSwKICAiUGF5bWVudE9wZXJhdG9yTmFtZSI6ItCe0J7QniBcItCg0L7QvNCw0YjQutCwXCIiLAogICJQYXltZW50T3BlcmF0b3JBZGRyZXNzIjoi0JzQvtGB0LrQstCwLCDQlNGD0YDQvtCy0LAgMTAiLAogICJQYXltZW50T3BlcmF0b3JJTk4iOiI5NzE1MjI1NTA2IiwKICAiUGF5bWVudE9wZXJhdG9yUGhvbmVOdW1iZXJzIjpbCiAgICAiKzc5MjYwMDAwMDAyIiwKICAgICIrNzQ5NTc4NzAwMDIiCiAgXSwKICAiUGF5bWVudFRyYW5zZmVyT3BlcmF0b3JQaG9uZU51bWJlcnMiOlsKICAgICIrNzkyNjAwMDAwMDEiCiAgXSwKICAiU2V0dGxlbWVudEFkZHJlc3MiOiLQnNC+0YHQutCy0LAsINCX0L7Qu9C+0YLQsNGPIDcyIiwKICAiU2V0dGxlbWVudFBsYWNlIjoiaHR0cHM6Ly9zaXRlLnJ1LyIsCiAgIlN1cHBsaWVyUGhvbmVOdW1iZXJzIjpbCiAgICAiKzc0OTU3ODcwMDA0IgogIF0KfQ==

Состав Cheque

Параметр Описание (тег) Формат
Positions Список позиций чека (1059)
Описание элемента Positions см. ниже
Array of objects
Mandatory
CustomerContact Телефон в формате 79165554444 или Email Покупателя для отправки чека (1008) String [1..32]
Mandatory
Payments Оплаты
По умолчанию сумма оплаты равна Amount из запроса, тип — безналичными
Описание элемента Payments см. ниже
Array of objects
Optional
Message Тема письма или строка в сообщении СМС
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..50]
Optional
Group Группа устройств, с помощью которых будет сформирован чек
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..32]
Optional
TemplateTag Название используемого шаблона чека
Необходимо передавать, если Продавец применяет несколько шаблонов. Если параметр не передан, используется шаблон с названием «Default»
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String
Optional
TemplateLang Язык шаблона чека
Необходимо передавать, если Продавец применяет несколько шаблонов. Если параметр не передан, используется язык «Default»
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String
Optional
AdditionalMessages Позволяет добавить любые параметры на шаблон чека в плейсхолдер с названием из Key
Описание элемента AdditionalMessages см. ниже. Общая длина максимум 1000 символов
Array of objects
Optional
AdditionalAttribute Дополнительный реквизит чека (1192) String [1..16]
Optional
AdditionalUserAttribute Дополнительный реквизит пользователя (1084)
Описание структуры AdditionalUserAttribute см. ниже
Object
Optional
AgentType Признак агента (1057): значения
Число от 1 до 127 (битовое поле), где номер бита обозначает, что Продавец:
Бит Описание
0Банковский платежный агент
1Банковский платежный субагент
2Платежный агент
3Платежный субагент
4Поверенный
5Комиссионер
6Иной агент

В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Integer
Optional
AutomatNumber Номер автомата (1036) String [1..20]
Optional
Customer Покупатель (клиент) (1227) String [1..243]
Optional
CustomerINN ИНН покупателя (клиента) (1228) String [10..12]
Optional
PaymentAgentOperation Операция платежного агента (1044)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..24]
Optional
PaymentAgentPhoneNumbers Телефоны платежного агента в формате +79995554444 (1073)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional
PaymentOperatorName Наименование оператора перевода (1026)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..64]
Optional
PaymentOperatorAddress Адрес оператора перевода (1005)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..243]
Optional
PaymentOperatorINN ИНН оператора перевода (1016)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [10..12]
Optional
PaymentOperatorPhoneNumber Телефоны оператора по приему платежей в формате +79995554444 (1074)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional
PaymentTransferOperatorPhoneNumbers Телефоны оператора перевода в формате +79995554444 (1075)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional
SettlementAddress Адрес расчетов (1009) String [1..243]
Optional
SettlementPlace Место расчетов (1187)
Параметр может использоваться для указания сайта, на котором формируется чек
String [1..243]
Optional
SupplierPhoneNumbers Телефоны поставщика в формате +79995554444 (1171)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional

Состав элемента массива Cheque.Positions

Параметр Описание (тег) Формат
Quantity Количество предмета расчета (товара, услуги и т.д.) (1023)
Десятичное число с точностью до 3 цифр после точки
Float
Mandatory
Price Цена в рублях за единицу предмета расчета с учетом скидок и наценок (1079)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
Tax Ставка НДС (1199): значения
Число от 1 до 6:
1Ставка НДС 20%
2Ставка НДС 10%
3Ставка НДС расч. 20/120
4Ставка НДС расч. 10/110
5Ставка НДС 0%
6НДС не облагается
Integer
Mandatory
Text Наименование предмета расчета (название товара, услуги и т.д.) (1030) String [1..128]
Mandatory
AdditionalAttribute Дополнительный реквизит предмета расчета (1191) String [1..64]
Optional
AgentType Признак агента по предмету расчета (1222): значения
Число от 1 до 127 (битовое поле), где номер бита обозначает, что оказывающий услугу Покупателю (клиенту) пользователь является:
Бит Описание
0Банковский платежный агент
1Банковский платежный субагент
2Платежный агент
3Платежный субагент
4Поверенный
5Комиссионер
6Иной агент
Integer
Optional
AgentInfo Данные агента (1223)
Описание структуры AgentInfo см. ниже
Object
Optional
PaymentMethodType Способ расчета (1214): значения
Число от 1 до 7:
1Предоплата 100%
2Частичная предоплата
3Предварительная оплата (Аванс)
4Полный расчет
5Частичный расчет и кредит
6Передача в кредит
7Оплата кредита
Integer
Optional
CustomsDeclarationNumber Номер таможенной декларации (1231) String [1..32]
Optional
Excise Акциз (1229)
Десятичное число с точностью до 2 цифр после точки
Float
Optional
ManufacturerCountryCode Код страны происхождения товара (1230) String [1..3]
Optional
PaymentSubjectType Предмет расчета (1212): значения
Число от 1 до 13:
1Товар
2Подакцизный товар
3Работа
4Услуга
5Ставка азартной игры
6Выигрыш азартной игры
7Лотерейный билет
8Выигрыш лотереи
9Предоставление РИД
10Платеж
11Агентское вознаграждение
12Составной предмет расчета
13Иной предмет расчета
Integer
Optional
NomenclatureCode Код товарной номенклатуры (1162) (base64 кодированный массив от 1 до 32 байт) String
Optional
SupplierINN ИНН поставщика (1226) String [10..12]
Optional
SupplierInfo Данные поставщика (1224)
Описание структуры SupplierInfo см. ниже
Object
Optional
UnitOfMeasurement Единица измерения предмета расчета (1197) String [1..16]
Optional

Состав элемента массива Cheque.Payments

Параметр Описание (тег) Формат
Type Тип оплаты: значения
Число от 1 до 16:
1Наличными (1031)
2Безналичными (1081)
14Предварительная оплата (аванс) (1215)
15Последующая оплата (в кредит) (1216)
16Встречное предоставление (1217)
Integer
Mandatory
Amount Сумма оплаты в рублях
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory

Состав элемента массива Cheque.AdditionalMessages

Параметр Описание Формат
Key Название параметра String
Mandatory
Value Значение параметра String
Mandatory

Состав Cheque.AdditionalUserAttribute

Параметр Описание (тег) Формат
Name Наименование дополнительного реквизита пользователя (1085) String [1..64]
Mandatory
Value Значение дополнительного реквизита пользователя (1086) String [1..175]
Mandatory

Состав Cheque.Positions.AgentInfo

Параметр Описание (тег) Формат
PaymentAgentOperation Операция платежного агента (1044)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..24]
Optional
PaymentAgentPhoneNumbers Телефоны платежного агента в формате +79995554444 (1073)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional
PaymentOperatorName Наименование оператора перевода (1026)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..64]
Optional
PaymentOperatorAddress Адрес оператора перевода (1005)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..243]
Optional
PaymentOperatorINN ИНН оператора перевода (1016)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [10..12]
Optional
PaymentOperatorPhoneNumber Телефоны оператора по приему платежей в формате +79995554444 (1074)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional
PaymentTransferOperatorPhoneNumbers Телефоны оператора перевода в формате +79995554444 (1075)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional

Состав Cheque.Positions.SupplierInfo

Параметр Описание (тег) Формат
Name Наименование поставщика (1225)
Строка длиной до (239 – N) символов, где N — это количество символов в телефонных номерах поля PhoneNumbers + 4 символа на каждый номер
String
Mandatory
PhoneNumbers Телефоны поставщика в формате +79995554444 (1171) Array of strings [1..19]
Optional

Запрос Payture ApiCheque
Запрос с необходимыми параметрами формируется на стороне Продавца и передается методом POST по протоколу HTTPS. Тип тела запроса "Content-Type: application/json".

https://{Environment}.payture.com/apicheque/{Command}

где {Environment} — программная среда, {Command} – название команды.

Ответ Payture ApiCheque
Результаты обработки запросов возвращаются платежным шлюзом синхронно в формате JSON, кодировка UTF-8.

Продавец может передавать чеки в онлайн-кассы без совершения платежа, используя программный интерфейс Payture ApiCheque.

Для передачи чека необходимо сформировать структуру данных, состоящую из позиций чека в виде массива объектов и контактной информации в формате JSON.

Возможности

CreateСоздание чека
CreateCorrectionСоздание чека коррекции
StatusПроверка статуса чека и получение информации о чеке
https://{Environment}.payture.com/apicheque/Create

Запрос Create используется для создания чека без платежа.

Создание чека — асинхронный запрос, после которого чек оказывается в очереди на обработку. Помимо данных чека Продавец передает уникальный идентификатор документа, используя который впоследствии, он сможет запросить статус чека. Данный идентификатор должен быть уникальным в пределах организации. Для передачи чека необходимо сформировать структуру данных в виде JSON.

Запрос

Пример тела запроса (минимальный набор параметров) [JSON]:

{
  "Key":"Merchant",
  "Password":"1234",
  "Cheque":{
    "Id":"6363901578517681941",
    "INN":"7702684259",
    "Content":{
      "Type":1,
      "Positions":[
        {
          "Quantity":1,
          "Price":27.25,
          "Tax":1,
          "Text":"Пирожок"
        }
      ],
      "CheckClose":{
        "Payments":[
          {
            "Type":2,
            "Amount":27.25
          }
        ],
        "TaxationSystem":1
      },
      "CustomerContact":"user@mail.com"
    }
  }
}

Пример тела запроса (максимальный набор параметров) [JSON]:

{
  "Key":"Merchant",
  "Password":"1234",
  "Message":"Чек Payture",
  "TemplateTag":"Default",
  "TemplateLang":"Default",
  "AdditionalMessages":[
    {
      "Key":"Name",
      "Value":"Value"
    }
  ],
  "Cheque":{
    "Id":"636390157851768146941",
    "INN":"7710140679",
    "Group":"main",
    "Content":{
      "Type":1,
      "Positions":[
        {
          "Quantity":1,
          "Price":27.25,
          "Tax":1,
          "Text":"Пирожок",
          "AdditionalAttribute":"Дополнительный реквизит предмета расчета",
          "AgentType":127,
          "AgentInfo":{
            "PaymentAgentOperation":"Операция плат. агента",
            "PaymentAgentPhoneNumbers":["+79260000004"],
            "PaymentOperatorName":"ООО \"Технологии\"",
            "PaymentOperatorAddress":"Москва, Зорге 29",
            "PaymentOperatorINN":"2306935781",
            "PaymentOperatorPhoneNumbers":["+79260000003"],
            "PaymentTransferOperatorPhoneNumbers":["+79260000002"]
          },
          "CustomsDeclarationNumber":"№ декларации",
          "Excise":1.00,
          "ManufacturerCountryCode":"643",
          "PaymentMethodType":3,
          "PaymentSubjectType":10,
          "NomenclatureCode":"NjQwMTkyOTAwMA==",
          "SupplierINN":"7203305114",
          "SupplierInfo":{
            "Name":"Наименование поставщика",
            "PhoneNumbers":["+79990000009"]
          },
         "UnitOfMeasurement": "Кг"
        }
      ],
      "CheckClose":{
        "Payments":[
          {
            "Type":2,
            "Amount":27.25
          }
        ],
        "TaxationSystem":1
      },
      "CustomerContact":"79991234567",
      "AdditionalAttribute":"Доп.реквиз.чека",
      "AdditionalUserAttribute":{
        "Name":"Наименование дополнительного реквизита пользователя",
        "Value":"Значение дополнительного реквизита пользователя"
      },
      "AgentType":64,
      "AutomatNumber":"1258",
      "Customer":"Иванов Иван Иванович",
      "CustomerINN":"142702309610",
      "PaymentAgentOperation":"Операция плат. агента",
      "PaymentAgentPhoneNumbers":["+79260000003"],
      "PaymentOperatorName":"ООО \"Ромашка\"",
      "PaymentOperatorAddress":"Москва, Дурова 10",
      "PaymentOperatorINN":"9715225506",
      "PaymentOperatorPhoneNumbers":["+79260000002"],
      "PaymentTransferOperatorPhoneNumbers":["+79260000001"],
        "SettlementAddress":"Москва, Золотая 72",
        "SettlementPlace":"https://site.ru/",
      "SupplierPhoneNumbers":["+74957870004"]
    }
  }
}
Параметр Описание Формат
Key Наименование Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
Password Пароль для выполнения запросов apiecheque
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
Cheque Параметры чека
Описание структуры Cheque см. ниже
Object
Mandatory
Message Тема письма или строка в сообщении СМС String [1..50]
Optional
TemplateTag Название используемого шаблона чека
Необходимо передавать, если Продавец применяет несколько шаблонов. Если параметр не передан, используется шаблон с названием «Default»
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String
Optional
TemplateLang Язык шаблона чека
Необходимо передавать, если Продавец применяет несколько шаблонов. Если параметр не передан, используется язык «Default»
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String
Optional
AdditionalMessages Позволяет добавить любые параметры на шаблон чека в плейсхолдер с названием из Key
Описание элемента AdditionalMessages см. ниже. Общая длина максимум 1000 символов
Array of objects
Optional

Состав элемента массива Cheque.AdditionalMessages

Параметр Описание Формат
Key Название параметра String
Mandatory
Value Значение параметра String
Mandatory

Состав Cheque

Параметр Описание Формат
Id Уникальный идентификатор чека String [1..64]
Mandatory
INN ИНН организации, для которой формируется чек String [10..12]
Mandatory
Content Данные чека
Описание структуры Content см. ниже
Object
Mandatory
Group Группа устройств, с помощью которых будет сформирован чек
По умолчанию «main»
String [1..32]
Optional

Состав Cheque.Content

Параметр Описание (тег) Формат
Type Тип документа (1054): значения
Число от 1 до 4:
1Приход
2Возврат прихода
3Расход
4Возврат расхода
Integer
Mandatory
Positions Список позиций чека (1059)
Описание элемента Positions см. ниже
Array of objects
Mandatory
CheckClose Контейнер с информацией о системе налогообложения и параметрах закрытия чека
Описание структуры CheckClose см. ниже
Object
Mandatory
CustomerContact Телефон в формате 79165554444 или Email Покупателя для отправки чека (1008) String [1..32]
Mandatory
AgentType Признак агента (1057): значения
Число от 1 до 127 (битовое поле), где номер бита обозначает, что Продавец:
Бит Описание
0Банковский платежный агент
1Банковский платежный субагент
2Платежный агент
3Платежный субагент
4Поверенный
5Комиссионер
6Иной агент
Integer
Optional
AdditionalUserAttribute Дополнительный реквизит пользователя (1084)
Описание структуры AdditionalUserAttribute см. ниже
Object
Optional
AdditionalAttribute Дополнительный реквизит чека (1192) String [1..16]
Optional
AutomatNumber Номер автомата (1036) String [1..20]
Optional
Customer Покупатель (клиент) (1227) String [1..243]
Optional
CustomerINN ИНН покупателя (клиента) (1228) String [10..12]
Optional
PaymentAgentOperation Операция платежного агента (1044) String [1..24]
Optional
PaymentAgentPhoneNumbers Телефоны платежного агента в формате +79995554444 (1073) Array of strings [1..19]
Optional
PaymentOperatorName Наименование оператора перевода (1026) String [1..64]
Optional
PaymentOperatorAddress Адрес оператора перевода (1005) String [1..243]
Optional
PaymentOperatorINN ИНН оператора перевода (1016) String [10..12]
Optional
PaymentOperatorPhoneNumber Телефоны оператора по приему платежей в формате +79995554444 (1074) Array of strings [1..19]
Optional
PaymentTransferOperatorPhoneNumbers Телефоны оператора перевода в формате +79995554444 (1075) Array of strings [1..19]
Optional
SettlementAddress Адрес расчетов (1009) String [1..243]
Optional
SettlementPlace Место расчетов (1187)
Параметр может использоваться для указания сайта, на котором формируется чек
String [1..243]
Optional
SupplierPhoneNumbers Телефоны поставщика в формате +79995554444 (1171) Array of strings [1..19]
Optional

Состав Cheque.Content.AdditionalUserAttribute

Параметр Описание (тег) Формат
Name Наименование дополнительного реквизита пользователя (1085) String [1..64]
Mandatory
Value Значение дополнительного реквизита пользователя (1086) String [1..175]
Mandatory

Состав элемента массива Cheque.Content.Positions

Параметр Описание (тег) Формат
Quantity Количество предмета расчета (товара, услуги и т.д.) (1023)
Десятичное число с точностью до 3 цифр после точки
Float
Mandatory
Price Цена в рублях за единицу предмета расчета с учетом скидок и наценок (1079)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
Tax Ставка НДС (1199): значения
Число от 1 до 6:
1Ставка НДС 20%
2Ставка НДС 10%
3Ставка НДС расч. 20/120
4Ставка НДС расч. 10/110
5Ставка НДС 0%
6НДС не облагается
Integer
Mandatory
Text Наименование предмета расчета (название товара, услуги и т.д.) (1030) String [1..128]
Mandatory
AdditionalAttribute Дополнительный реквизит предмета расчета (1191) String [1..64]
Optional
AgentType Признак агента по предмету расчета (1222): значения
Число от 1 до 127 (битовое поле), где номер бита обозначает, что оказывающий услугу Покупателю (клиенту) пользователь является:
Бит Описание
0Банковский платежный агент
1Банковский платежный субагент
2Платежный агент
3Платежный субагент
4Поверенный
5Комиссионер
6Иной агент
Integer
Optional
AgentInfo Данные агента (1223)
Описание структуры AgentInfo см. ниже
Object
Optional
CustomsDeclarationNumber Номер таможенной декларации (1231) String [1..32]
Optional
Excise Акциз (1229)
Десятичное число с точностью до 2 цифр после точки
Float
Optional
ManufacturerCountryCode Код страны происхождения товара (1230) String [1..3]
Optional
PaymentMethodType Способ расчета (1214): значения
Число от 1 до 7:
1Предоплата 100%
2Частичная предоплата
3Предварительная оплата (Аванс)
4Полный расчет
5Частичный расчет и кредит
6Передача в кредит
7Оплата кредита
Integer
Optional
PaymentSubjectType Предмет расчета (1212): значения
Число от 1 до 13:
1Товар
2Подакцизный товар
3Работа
4Услуга
5Ставка азартной игры
6Выигрыш азартной игры
7Лотерейный билет
8Выигрыш лотереи
9Предоставление РИД
10Платеж
11Агентское вознаграждение
12Составной предмет расчета
13Иной предмет расчета
Integer
Optional
NomenclatureCode Код товарной номенклатуры (1162) (base64 кодированный массив от 1 до 32 байт) String
Optional
SupplierINN ИНН поставщика (1226) String [10..12]
Optional
SupplierInfo Данные поставщика (1224)
Описание структуры SupplierInfo см. ниже
Object
Optional
UnitOfMeasurement Единица измерения предмета расчета (1197) String [1..16]
Optional

Состав Cheque.Content.Positions.AgentInfo

Параметр Описание (тег) Формат
PaymentAgentOperation Операция платежного агента (1044)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..24]
Optional
PaymentAgentPhoneNumbers Телефоны платежного агента в формате +79995554444 (1073)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional
PaymentOperatorName Наименование оператора перевода (1026)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..64]
Optional
PaymentOperatorAddress Адрес оператора перевода (1005)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [1..243]
Optional
PaymentOperatorINN ИНН оператора перевода (1016)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
String [10..12]
Optional
PaymentOperatorPhoneNumber Телефоны оператора по приему платежей в формате +79995554444 (1074)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional
PaymentTransferOperatorPhoneNumbers Телефоны оператора перевода в формате +79995554444 (1075)
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать
Array of strings [1..19]
Optional

Состав Cheque.Content.Positions.SupplierInfo

Параметр Описание (тег) Формат
Name Наименование поставщика (1225)
Строка длиной до (239 – N) символов, где N — это количество символов в телефонных номерах поля PhoneNumbers + 4 символа на каждый номер
String
Mandatory
PhoneNumbers Телефоны поставщика в формате +79995554444 (1171) Array of strings [1..19]
Optional

Состав Cheque.Content.CheckClose

Параметр Описание (тег) Формат
Payments Оплаты
Описание элемента Payments см. ниже
Array of objects
Mandatory
TaxationSystem Номер системы налогообложения (1055): значения
Число от 0 до 5:
0Общая, ОСН
1Упрощенная доход, УСН доход
2Упрощенная доход минус расход, УСН
3Единый налог на вмененный доход, ЕНВД
4Единый сельскохозяйственный налог, ЕСН
5Патентная система налогообложения
Integer
Mandatory

Состав элемента массива Cheque.Content.CheckClose.Payments

Параметр Описание (тег) Формат
Type Тип оплаты: значения
Число от 1 до 16:
1Наличными (1031)
2Безналичными (1081)
14Предварительная оплата (аванс) (1215)
15Последующая оплата (в кредит) (1216)
16Встречное предоставление (1217)
Integer
Mandatory
Amount Сумма оплаты в рублях
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory

Ответ

Пример успешного ответа [JSON]:

{ 
  "Success":true,
  "ErrCode":"NONE",
  "ErrMessages":null,
  "Status":"Accepted"
}

Пример ответа при получении ошибки от сервиса онлайн-касс [JSON]:

{
  "Success":true,
  "ErrCode":"NONE",
  "ErrMessages":[
    "Неизвестная группа"
  ],
  "Status":"BadRequest"
}
Параметр Описание Формат
Success Признак успешности выполнения операции в платежном шлюзе. Принимает значения:
true — операция успешна
false — операция неуспешна
Boolean
Mandatory
ErrCode Код ошибки платежного шлюза String
Mandatory
Status Статус чека. См. статусы чеков String
Mandatory
ErrMessages Сообщения об ошибках, полученные от сервиса онлайн-касс
Передаются, если получены от сервиса онлайн-касс
Array of strings
Optional
https://{Environment}.payture.com/apicheque/CreateCorrection/

Запрос CreateCorrection используется для создания чека коррекции без платежа.

Создание чека коррекции — асинхронный запрос, после которого чек оказывается в очереди на обработку. Помимо данных чека Продавец передает уникальный идентификатор документа, используя который, он сможет запросить статус чека. Данный идентификатор должен быть уникальным в пределах организации. Для передачи чека необходимо сформировать структуру данных в виде JSON.

Запрос

Пример тела запроса (минимальный набор параметров) [JSON]:

{
  "Key":"Merchant",
  "Password":"1234",
  "Body":{
    "Id":"pprcrnyf236wc4bu38uw",
    "Inn":"7710140679",
    "Content":{
      "Type":1,
      "TotalSum":100,
      "CashSum":0,
      "ECashSum":100,
      "TaxationSystem":1,
      "Description":"Описание коррекции",
      "CauseDocumentDate":"2019-09-17T00:00:00",
      "CauseDocumentNumber":"22000070248"
    }
  }
}

Пример тела запроса (максимальный набор параметров) [JSON]:

{
  "Key":"Merchant",
  "Password":"1234",
  "Body":{
    "Id":"tf73q69ft3rfs4ep2yld3v",
    "Inn":"7710140679",
    "Group":"main",
    "Content":{
      "Type":1,
      "TotalSum":100,
      "CashSum":0,
      "ECashSum":100,
      "TaxationSystem":1,
      "Description":"Описание коррекции",
      "CauseDocumentDate":"2019-09-17T00:00:00",
      "CauseDocumentNumber":"22000070249",
      "CorrectionType":0,
      "PrepaymentSum":0,
      "PostpaymentSum":0,
      "OtherPaymentTypeSum":0,
      "Tax1Sum":20,
      "Tax2Sum":0,
      "Tax3Sum":0,
      "Tax4Sum":0,
      "Tax5Sum":0,
      "Tax6Sum":0
    }
  }
}
Параметр Описание Формат
Key Наименование Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
Password Пароль для выполнения запросов apiecheque
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
Body Контейнер с информацией о чеке
Описание структуры Body см. ниже
Object
Mandatory

Состав Body

Параметр Описание Формат
Id Уникальный идентификатор чека String [1..64]
Mandatory
INN ИНН организации, для которой формируется чек String [10..12]
Mandatory
Content Данные чека
Описание структуры Content см. ниже
Object
Mandatory
Group Группа устройств, с помощью которых будет сформирован чек
По умолчанию «main»
String [1..32]
Optional

Состав Body.Content

Параметр Описание (тег) Формат
Type Тип документа (1054): значения
Число (только 1 или 3):
1Приход
3Расход
Integer
Mandatory
TotalSum Сумма расчета в рублях, указанного в чеке (1020)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
CashSum Сумма по чеку наличными в рублях (1031)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
ECashSum Сумма по чеку безналичными в рублях (1081)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
TaxationSystem Номер системы налогообложения (1055): значения
Число от 0 до 5:
0Общая, ОСН
1Упрощенная доход, УСН доход
2Упрощенная доход минус расход, УСН
3Единый налог на вмененный доход, ЕНВД
4Единый сельскохозяйственный налог, ЕСН
5Патентная система налогообложения
Integer
Mandatory
Description Описание коррекции (1177) String [1..244]
Mandatory
CauseDocumentDate Дата документа основания для коррекции (1178)
Строка в формате ISO8601. Время должно быть указано 00:00:00
String
Mandatory
CauseDocumentNumber Номер документа основания для коррекции (1179) String [1..32]
Mandatory
CorrectionType Тип коррекции (1173): значения
Число от 0 до 1:
0Самостоятельно
1По предписанию

По умолчанию 0
Integer
Mandatory
PrepaymentSum Сумма по чеку в рублях предоплатой (зачетом аванса и (или) предыдущих платежей) (1215)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
PostpaymentSum Сумма по чеку в рублях постоплатой (в кредит) (1216)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
OtherPaymentTypeSum Сумма по чеку в рублях встречным предоставлением (1217)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
Tax1Sum Сумма НДС чека в рублях по ставке 20% (1102)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
Tax2Sum Сумма НДС чека в рублях по ставке 10% (1103)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
Tax3Sum Сумма расчета в рублях по чеку с НДС по ставке 0% (1104)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
Tax4Sum Сумма расчета в рублях по чеку без НДС (1105)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
Tax5Sum Сумма НДС чека в рублях по расч. ставке 20/120 (1106)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
Tax6Sum Сумма НДС чека в рублях по расч. ставке 10/110 (1107)
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory

Ответ

Пример успешного ответа [JSON]:

{ 
  "Success":true,
  "ErrCode":"NONE",
  "ErrMessages":null,
  "Status":"Accepted"
}

Пример ответа при получении ошибки от сервиса онлайн-касс [JSON]:

{
  "Success":true,
  "ErrCode":"NONE",
  "ErrMessages":[
    "Отсутсвует поле 'CauseDocumentNumber'"
  ],
  "Status":"BadRequest"
}
Параметр Описание Формат
Success Признак успешности выполнения операции в платежном шлюзе. Принимает значения:
true — операция успешна
false — операция неуспешна
Boolean
Mandatory
ErrCode Код ошибки платежного шлюза String
Mandatory
Status Статус чека. См. статусы чеков String
Mandatory
ErrMessages Сообщения об ошибках, полученные от сервиса онлайн-касс
Передаются, если получены от сервиса онлайн-касс
Array of strings
Optional
https://{Environment}.payture.com/apicheque/Status/

Запрос Status используется для получения актуального статуса чека и информации о чеке.

Запрос

Пример тела запроса JSON:

{ 
  "Key":"Merchant",
  "Password":"1234",
  "Id":"6363737176995117182",
  "OrderId":""
}
Параметр Описание Формат
Key Наименование Терминала
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
Password Пароль для выполнения запросов apiecheque
Предоставляется с параметрами тестового/боевого доступа
String
Mandatory
Id Идентификатор чека, переданный в запросе или полученный из нотификации String [1..64]
Optional*
OrderId Идентификатор платежа в системе Продавца
Может использоваться, если чек был передан с платежом
String [1..50]
Optional*

*Должен быть задан хотя бы один из опциональных параметров. Если задан Id, поиск будет выполнять по этому параметру.

Ответ

Пример ответа [JSON]:

{
  "Success":true,
  "ErrCode":null,
  "Cheques":[
    {
      "Sended":false,
      "Cheque":{
        "Content":{
          ...
        },
        "Id":"1568707129",
        "DeviceSN":"0578050005001542",
        "DeviceRN":"0000000400054952",
        "FSNumber":"9999078900001341",
        "OFDName":"ООО \"Ярус\" (\"ОФД-Я\")",
        "OFDWebsite":"www.ofd-ya.ru",
        "OFDINN":"7728699517",
        "FNSWebsite":"www.nalog.ru",
        "CompanyINN":"7710140677",
        "CompanyName":"ООО «Ромашка»",
        "DocumentNumber":8750,
        "ShiftNumber":3420,
        "DocumentIndex":945,
        "ProcessedAt":"2019-09-17T10:58:00",
        "Change":0.0,
        "FP":"671302447"
      },
      "ErrCode":null,
      "Status":"Created"
    }
  ]
}
Параметр Описание Формат
Success Признак успешности выполнения операции в платежном шлюзе. Принимает значения:
true — операция успешна
false — операция неуспешна
Boolean
Mandatory
ErrCode Код ошибки платежного шлюза String
Mandatory
Cheques Список чеков по данному запросу
Передается, если «Success=True»
Описание элемента Cheques см. ниже
Array of objects
Optional

Состав элемента массива Cheques

Параметр Описание Формат
Sended Признак отправки чека
Отправка не всегда означает доставку чека Покупателю
Boolean
Mandatory
Status Статус чека. См. статусы чеков String
Mandatory
Cheque Фискальные данные чека. Передается, если «Status=Created»
Описание структуры Cheque см. ниже
Object
Optional
ErrCode Передается, если возникла внутренняя ошибка при добавлении данных текущего чека в ответ этого запроса String
Optional

Состав Cheques.Cheque

Параметр Описание Формат
Content Данные чека. Соответствует параметру Content в запросах на создание чека.
Различается в зависимости от типа чека:
для обычного чека — параметр Cheque.Content из запроса Create
для чека коррекции — параметр Body.Content из запроса CreateCorrection
Object
Mandatory
Id Идентификатор чека
Соответствует переданному в запросе
String [1..64]
Mandatory
DeviceSN Серийный номер устройства, пробившего чек String [1..20]
Mandatory
DeviceRN Регистрационный номер устройства, пробившего чек String [1..20]
Mandatory
FSNumber Номер фискального накопителя String [1..16]
Mandatory
OFDName Наименование ОФД String [1..256]
Mandatory
OFDWebsite Веб-сайт ОФД String [1..58]
Mandatory
OFDINN ИНН ОФД String [1..12]
Mandatory
FNSWebsite Веб-сайт ФНС String [1..256]
Mandatory
CompanyINN ИНН компании String [1..12]
Mandatory
CompanyName Название компании String [1..256]
Mandatory
DocumentNumber Номер фискального документа Integer
Mandatory
ShiftNumber Номер смены Integer
Mandatory
DocumentIndex Номер чека Integer
Mandatory
ProcessedAt Время регистрации фискального документа в ФН
Строка в формате ISO8601
String
Mandatory
Change Сдача в рублях
Десятичное число с точностью до 2 цифр после точки
Float
Mandatory
FP Фискальный признак String [1..10]
Mandatory
Статус Значение
AcceptedЗаявка на создание чека принята (находится в очереди на обработку кассой или в процессе обработки)
CreatedЧек сформирован и получен от кассы
ConflictЧек с указанным Id уже существует
BadRequestЗапрос на создание чека имеет неверный формат
UnauthorizedНе удалось авторизоваться для работы с кассой
UnknownСтатус не известен, чек не создан
TimeoutНе удалось получить данные чека за допустимое время от сериса онлайн-касс
NotFoundЧека с указанным Id не существует

Коды ошибок

Код ошибки Значение
NONE Операция выполнена без ошибок
ACCESS_DENIED Запрещены операции с данным набором параметров для Терминала
AMOUNT_ERROR Ошибка суммы операции. Превышена сумма либо сумма операции не проверена в биллинге
AMOUNT_EXCEED Сумма транзакции превышает доступный остаток средств на выбранном счете
API_NOT_ALLOWED Запрет использования API с данного IP
CARD_EXPIRED Истек срок действия карты
CARD_NOT_FOUND Не найдена карта по данному идентификатору
COMMUNICATE_ERROR Ошибка связи в физических каналах
CURRENCY_NOT_ALLOWED Валюта не разрешена для предприятия
CUSTOMER_NOT_FOUND Покупатель не найден
DUPLICATE_ORDER_ID Номер заказа уже использовался ранее
DUPLICATE_PROCESSING_ORDER_ID Заказ существует в процессинге с данным идентификатором
DUPLICATE_CARD Карта уже существует
DUPLICATE_USER Покупатель уже зарегистрирован
EMPTY_RESPONSE Пустой ответ процессинга
EMAIL_ERROR Ошибка при обработке сообщения электронной почты ошибка отправки сообщения
FRAUD_ERROR Недопустимая транзакция согласно настройкам антифродового фильтра
FRAUD_ERROR_CRITICAL_CARD Номер карты(BIN, маска) внесен в черный список антифродового фильтра на стороне эмитента
ILLEGAL_ORDER_STATE Попытка выполнения недопустимой операции для текущего состояния платежа
INTERNAL_ERROR Внутренняя ошибка шлюза
INVALID_PAYTUREID Неверный fingerprint устройства
INVALID_SIGNATURE Неверная подпись запроса
ISSUER_BLOCKED_CARD Владелец карты пытается выполнить транзакцию, которая для него не разрешена банком-эмитентом, либо произошла внутренняя ошибка эмитента
ISSUER_CARD_FAIL Банк-эмитент запретил интернет транзакции по карте
ISSUER_FAIL Владелец карты пытается выполнить транзакцию, которая для него не разрешена банком-эмитентом, либо внутренняя ошибка эмитента
ISSUER_LIMIT_FAIL Предпринята попытка, превышающая ограничения банка-эмитента на сумму или количество операций в определенный промежуток времени
ISSUER_LIMIT_AMOUNT_FAIL Предпринята попытка выполнить транзакцию на сумму, превышающую (дневной) лимит, заданный банком-эмитентом
ISSUER_LIMIT_COUNT_FAIL Превышен лимит на число транзакций: клиент выполнил максимально разрешенное число транзакций в течение лимитного цикла и пытается провести еще одну
ISSUER_TIMEOUT Эмитент не ответил в установленное время
MERCHANT_FORWARD Перенаправление на другой Терминал
MERCHANT_RESTRICTION Запрет МПС или эквайера на проведение операции мерчанту
MPI_CERTIFICATE_ERROR Ошибка сервиса MPI (шлюз)
MPI_RESPONSE_ERROR Ошибка сервиса MPI (МПС)
ORDER_NOT_FOUND Не найдена транзакция
ORDER_TIME_OUT Время платежа (сессии) истекло
PAYMENT_ENGINE_ERROR Ошибка взаимодействия в ядре процессинга
PROCESSING_ACCESS_DENIED Доступ к процессингу запрещен
PROCESSING_ERROR Ошибка функционирования системы, имеющая общий характер. Фиксируется платежной сетью или банком-эмитентом
PROCESSING_FRAUD_ERROR Процессинг отклонил мошенническую транзакцию
PROCESSING_TIME_OUT Не получен ответ от процессинга в установленное время
PROCESSING_ERROR_CODE_FAIL_CONVERT Невозможно конвертировать код ошибки процессинга
REFUSAL_BY_GATE Отказ шлюза в выполнении операции
THREE_DS_ATTEMPTS_FAIL Попытка 3DS авторизации неудачна
THREE_DS_AUTH_ERROR Ошибка авторизации 3DS
THREE_DS_ERROR Ошибка оплаты 3DS
THREE_DS_FAIL Ошибка сервиса 3DS
THREE_DS_NOT_ATTEMPTED 3DS не вводился
THREE_DS_NOTENROLLED Карта не вовлечена в систему 3DS
THREE_DS_TIME_OUT Превышено время ожидания 3DS
THREE_DS_USER_AUTH_FAIL Покупатель ввел неверный код 3DS
UNKNOWN_STATE Неизвестный статус транзакции
USER_NOT_FOUND Покупатель не найден
WRONG_AUTHORIZATION_CODE Неверный код авторизации
WRONG_CARD_INFO Введены неверные параметры карты
WRONG_CONFIRM_CODE Неверный код подтверждения
WRONG_CVV Недопустимый CVV
WRONG_EXPIRE_DATE Неправильная дата окончания срока действия
WRONG_PAN Неверный номер карты
WRONG_CARDHOLDER Недопустимое имя держателя карты
WRONG_PARAMS Неверный набор или формат параметров
WRONG_PAY_INFO Некорректный параметр PayInfo (неправильно сформирован или нарушена криптограмма)
WRONG_PHONE Неверный телефон
WRONG_USER_PARAMS Покупатель с такими параметрами не найден
RECURRING_PAY_NOT_FOUND Рекуррентный платеж не найден
WRONG_BINDING_PAYMENT Ошибка при попытке рекуррентного платежа
INSTALLMENT_NOT_ALLOWED Рассрочка не разрешена для дебетовых карт
OTHER_ERROR Другая ошибка
OFD_ERRORОшибка в ответе сервиса, взаимодействующим с кассами
CHEQUE_DATA_EMPTYДля всех оплат через Терминал должны отправляться чеки, но данные для чека не переданы в запросе
CHEQUE_DATA_INVALIDДля всех оплат через Терминал должны отправляться чеки, но переданы некорректные данные для чека
WRONG_CHEQUE_AMOUNTСумма позиций чека не совпадает с суммой, переданной для списания
CHEQUE_RESENDINGЧек уже был отправлен
CHEQUE_WRONG_RECIPIENTФормат адреса или телефона получателя чека невалидный
CHEQUE_TIMEOUTСтатус чека не получен за допустимое время от сервиса, взаимодействующего с кассами
CHEQUE_PARSE_ERRORОшибка при парсинге строки чека в json
CHEQUE_NOT_FOUNDЧек не найден
CHEQUE_WRONG_STATUSЧек имеет статус, отличный от ожидаемого (подробности зависят от контекста)
CHEQUE_DUPLICATEДубликат чека

Тестовые карты

В ходе тестирования технической интеграции с платежным шлюзом Payture Продавцу следует использовать тестовый сервис шлюза и параметры тестовых карт.

Использование параметров действующих банковских карт при тестировании строго запрещено!

Правила использования тестовых карт

Сумма платежа: от 1 до 100 руб.

Держатель карты: произвольное имя, только латинские символы и пробел, не менее 3 символов (Например: Test)

Тестовый сервис: https://sandbox3.payture.com

Тестирование кодов ошибок

curl https://sandbox3.payture.com/vwapi/Block \
-d VWID=Merchant \
--data-urlencode "Data= \
OrderId=865f86a3-d692-b544-4f0d-ae567fca9a67; \
PayToken=UGF5bWVudFRva2Vu; \
VWUserLgn=123@ya.ru; \
IP=243.242.221.132; \
ErrCode=PROCESSING_ERROR; \
Amount=12613; \
CardId=FreePay; \
VWUserPsw=2645363 \

Для тестирования кодов ошибки с использованием PayToken в Sandbox существует возможность возвращать код ошибки, переданный в запросе.

При этом необходимо указать необходимый код ошибки в поле Data HTTP-запроса.

Данный код возвращается для методов eWallet:

  • PaySubmit
  • Block
  • AddSubmit

Список тестовых карт

Номер картыCVC2/CVV2Срок действия (ММ/ГГ)Результат платежа
521885194695548412312/21Успешный платеж без 3DS с опциональным CVV
411111111111111212312/22Успешный платеж без 3DS с опциональным CVV
411111111110003112312/22Успешный платеж без 3DS с опциональным CVV
411111111110002312312/22Успешный платеж без 3DS с обязательным CVV
548673205886447112312/22Успешный платеж с 3DS
411111111111111112312/22Успешный платеж с 3DS
411111111111111412312/22Неуспешный платеж с 3DS
411111111111111512312/22Неуспешный платеж с 3DS
330000000000000152112/22Неуспешный платеж («недостаточно средств»)
440000000000000852109/11Неуспешный платеж («неверный срок действия карты»)
550000000000000452112/22Неуспешный платеж («номер карты в черном списке»)
660000000000000137412/22Неуспешный платеж («несуществующая карта»)
411110100000004612312/22«AMOUNT_EXCEED» во время блокировки (при превышении суммы в 100 рублей (Amount=10001))
411111111110005612312/22«PROCESSING_ERROR» во время блокировки
411111111110007212312/22«ISSUER_BLOCKED_CARD» во время блокировки
411111111110008012312/22«ISSUER_CARD_FAIL» во время блокировки
411111111110022112312/22«PROCESSING_ERROR» во время списания
411111111110062712312/22«PROCESSING_ERROR» во время разблокировки
411111111110202912312/22«PROCESSING_ERROR» во время возврата
410040111110006212312/22Таймаут 40 секунд во время блокировки
410040111110072412312/22Таймаут 40 секунд во время разблокировки
410040111110032812312/22Таймаут 40 секунд во время списания
410040111110302512312/22Таймаут 40 секунд во время возврата
220220111111001012312/22BIN MIR, успешный платеж с 3DS
67628000000000001112312/22BIN MAESTRO, успешный платеж с 3DS
639002000000000001012312/22BIN MAESTRO, успешный платеж с 3DS
67628065185460001012312/22BIN MAESTRO, успешный платеж с 3DS

Список тестовых карт

PayBox

Номер картыCVC2/CVV2Срок действия (ММ/ГГ)3DS кодРезультат платежа
440564500000615065309/25Успешный платеж без 3DS
548318500000029334309/25Успешный платеж без 3DS
377514500009951344609/25Успешный платеж без 3DS
400303500000537832312/25secure1Успешный платеж с 3DS
510145000000789845412/25Master1Успешный платеж с 3DS

BePaid

Номер картыРезультат платежа
4200000000000000Успешный платеж без 3DS
4005550000000019Неуспешный платеж без 3DS
4012001037141112Успешный платеж с 3DS
4012001037461114Неуспешный платеж с 3DS

Нотификации

Нотификации — это асинхронные ответы от Payture о результатах выполнения запросов.

Методы нотификации

Примеры нотификаций

Тип: Email HTTP POST
Код события: [EnginePaySuccess]
Is3DS: [False]
ForwardedTo: [NotForwarded]
Notification: [EnginePaySuccess]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [08.05.2019 15:36:27]
ErrCode: [NONE]
OrderId: [e83f0323-fca0-0f91-9db9-393523563bc5]
Amount: [12677]
MerchantId: [1]
Is3DS=False&ForwardedTo=NotForwarded&Notification=EnginePaySuccess&MerchantContract=Merchant&Success=True&TransactionDate=08.05.2019+15%3A36%3A27&ErrCode=NONE&OrderId=e83f0323-fca0-0f91-9db9-393523563bc5&Amount=12677&MerchantId=1
  • HTTP POST — HTTP POST запрос. По умолчанию запрос отправляется один раз. При необходимости через службу поддержки Payture можно установить количество повторных попыток отправки нотификации и период между ними (повторные попытки выполняются, если не был получен ответ «200 OK»). Тело запроса состоит из Url Encoded строки, содержащей пары ключей и их значений, разделённых символом «&» (амперсанд). Ключи и значения разделены символом «=» (равно).
  • Email — сообщение по указанному адресу, отправляется один раз.

Порядок подключения нотификации

В ходе подключения тестового доступа к платежному шлюзу Продавец направляет в службу поддержки Payture запрос на подключение. В запросе нужно указать выбранный метод нотификаций, адрес получения нотификаций и перечислить операции, для которых необходимо выполнять оповещение. При необходимости, перечислить дополнительные параметры, которые должны передаваться в рамках нотификации.

При переходе в коммерческую эксплуатацию все параметры метода нотификаций по умолчанию устанавливаются аналогичными соответствующим параметрам тестового доступа.

Внесение изменений в действующие параметры нотификаций производится по отдельному запросу Продавца в службу поддержки Payture.

Дополнительная безопасность

Примеры нотификаций при использовании шифрования

Encrypted Decrypted
DATA=4Rk65RLgsa7fUBoB72rz3TwrL3nHouyDQf91kK2eAPEEIp9DYqPFm0AnJh2eQBTcPVsfG9F8XzGtMu0zUuuxU%2FNxUVaxGDFw54n3kb5d%2FdnUMU2HaGeFTHGm%2F2p9JwmtTow82ZszX9e10u07a9x5xmn%2B3VXRJNttFcsiDBCuH3qdEmBYo9EhOVROjngki1aGucw0ZL3ifY4MEPbQrj0IWWcQ3LBGe2jhcaXc6iAGyKiDQZKymW0PwDvc3YAO29POzP0YB7tJtwPjIJgr%2FOSt31030P7hCtjM2XYjGPN4iy%2Fi2CV5bCw8ve01ZWP8XkPF
Is3DS=False;ForwardedTo=NotForwarded;Notification=EnginePaySuccess;MerchantContract=Merchant;Success=True;TransactionDate=08.05.2020 17:21:24;ErrCode=NONE;OrderId=ea2209f1-c062-700a-a0f7-41055f23f027;Amount=12495;MerchantId=1

По желанию Продавца, в целях повышения безопасности платежей, для метода нотификаций HTTP POST может применяться шифрование с использованием алгоритма AES-256-ECB. При этом тело запроса будет содержать один параметр DATA, в качестве значения которого указывается зашифрованная строка, содержащая пары ключей и их значений, разделённых символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно).

Обмен ключами шифрования осуществляется на этапе подключения, замена — в процессе взаимодействия по инициативе любой из сторон.

Нотификации Payture API

ОперацияВозможные нотификации
api/Pay Success: EngineBlockSuccess, EngineChargeSuccess, EnginePaySuccess
Fail: EnginePayFail, EngineBlockFail, EngineChargeFail
api/Block Success: EngineBlockSuccess
Fail: EngineBlockFail
api/Charge Success: EngineChargeSuccess
Fail: EngineChargeFail
api/Refund Success: EngineRefundSuccess
Fail: EngineRefundFail
api/Unblock Success: EngineUnblockSuccess
Fail: EngineUnblockFail

Нотификации InPay

ОперацияВозможные нотификации
apim/PaySuccess или Fail: MerchantPay, MerchantBlock
Success: EngineBlockSuccess, EngineChargeSuccess, EnginePaySuccess
Fail: EngineBlockFail, EngineChargeSuccess, EnginePayFail
apim/ChargeSuccess: EngineChargeSuccess
Fail: EngineChargeFail
apim/RefundSuccess или Fail: MerchantRefund
Success: EngineRefundSuccess
Fail: EngineRefundFail
apim/UnblockSuccess: EngineUnblockSuccess
Fail: EngineUnblockFail

Нотификации eWallet

ОперацияВозможные нотификации
vwapi/Pay Success: EngineBlockSuccess, EngineChargeSuccess, CustomerPaySuccess, EnginePaySuccess
Fail: EngineBlockFail, EngineChargeFail, CustomerPayFail, EnginePayFail
vwapi/RefundSuccess: CustomerRefundSuccess, EngineRefundSuccess
Fail: CustomerRefundFail, EngineRefundFail
vwapi/ChargeSuccess: EngineChargeSuccess
Fail: EngineChargeFail
vwapi/UnblockSuccess: EngineUnblockSuccess
Fail: EngineUnblockFail
vwapi/AddSuccess: EngineBlockSuccess, CustomerAddSuccess
Fail: EngineBlockFail, CustomerAddFail
vwapi/RemoveCardSuccess или Fail: CustomerDeleteCard

Нотификации сервиса Чеков

Возможные нотификации
ChequeSent, ChequeNotSent, ChequeAccepted, ChequeRejected, ChequeCreated, ChequeTimeout, ChequeNotAccepted

Нотификации ChargeBack

Возможные нотификации
ChargeBack

Описание нотификаций

НазваниеОписаниеПример (Email)
EngineBlockSuccessУспешная блокировка средств Пример
Is3DS: [False]
ForwardedTo: [NotForwarded]
Notification: [EngineBlockSuccess]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [09.08.2018 13:02:35]
ErrCode: [NONE]
OrderId: [636694166050528637]
Amount: [2500]
EngineBlockFailНеуспешная блокировка средств Пример
Is3DS: [False]
ForwardedTo: [NotForwarded]
Notification: [EngineBlockFail]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [09.08.2018 14:30:01]
ErrCode: [AMOUNT_EXCEED]
OrderId: [636694218513740423]
Amount: [232]
EnginePaySuccessУспешное списание средств Пример
Is3DS: [False]
ForwardedTo: [NotForwarded]
Notification: [EnginePaySuccess]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [09.08.2018 12:58:16]
ErrCode: [NONE]
OrderId: [636694163154551367]
Amount: [3500]
EnginePayFailНеуспешное списание средств Пример
Is3DS: [False]
ForwardedTo: [NotForwarded]
Notification: [EnginePayFail]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [09.08.2018 14:30:01]
ErrCode: [AMOUNT_EXCEED]
OrderId: [636694218513740423]
Amount: [232]
EngineChargeSuccessУспешное завершение средств Пример
Is3DS: [False]
ForwardedTo: [NotForwarded]
Notification: [EngineChargeSuccess]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [09.08.2018 14:25:08]
ErrCode: [NONE]
OrderId: [636694215634212517]
Amount: [300]
EngineChargeFailНеуспешное завершение средств Пример
Is3DS: [False]
ForwardedTo: [NotForwarded]
Notification: [EngineChargeFail]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [09.08.2018 14:31:33]
ErrCode: [PROCESSING_ERROR]
OrderId: [636694219488092941]
Amount: [2800]
EngineUnblockSuccessУспешная разблокировка средств Пример
Is3DS: [False]
NewAmount: [0]
OrderId: [636694215745929202]
Amount: [1400]
Notification: [EngineUnblockSuccess]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [09.08.2018 14:25:19]
ErrCode: [NONE]
EngineUnblockFailНеуспешная разблокировка средств Пример
Is3DS: [False]
NewAmount: [1900]
OrderId: [636694219992986858]
Amount: [1900]
Notification: [EngineUnblockFail]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [09.08.2018 14:32:24]
ErrCode: [PROCESSING_ERROR]
EngineRefundSuccessУспешный возврат средств Пример
Is3DS: [False]
NewAmount: [0]
OrderId: [636694215684050471]
Amount: [800]
Notification: [EngineRefundSuccess]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [09.08.2018 14:25:13]
ErrCode: [NONE]
EngineRefundFailНеуспешный возврат средств Пример
Is3DS: [False]
NewAmount: [200]
OrderId: [636694220420935985]
Amount: [200]
Notification: [EngineRefundFail]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [09.08.2018 14:33:06]
ErrCode: [PROCESSING_ERROR]
MerchantBlockБлокировка средств (с параметром Success=True/False) Пример
SessionId: [43bb096a-f8ed-4dcf-824f-035b5f3a7b86]
Is3DS: [False]
ForwardedTo: [NotForwarded]
Notification: [MerchantBlock]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [10.08.2018 14:50:42]
ErrCode: [NONE]
OrderId: [d424050f-4e22-40be-85ee-19fcc1646688]
Amount: [102]
MerchantPayСписание средств (с параметром Success=True/False) Пример
SessionId: [ab157c83-5a9d-4dde-b5f4-c8b448e607ff]
Is3DS: [False]
ForwardedTo: [NotForwarded]
Notification: [MerchantPay]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [10.08.2018 14:49:26]
ErrCode: [NONE]
OrderId: [17f76c0c-177f-46cb-b35c-620ed5b1189c]
Amount: [102]
MerchantRefundВозврат средств (с параметром Success=True/False) Пример
Is3DS: [False]
NewAmount: [0]
OrderId: [b3ee1dd0-8fa3-41d7-96e7-537822b45d5a]
Amount: [102]
Notification: [MerchantRefund]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [10.08.2018 14:51:43]
ErrCode: [NONE]
CustomerAddSuccessУспешная регистрация карты Пример
CardNumber: [411111xxxxxx0023]
CardId: [2770521a-597f-4a8d-b283-d9f5f8257589]
VWUserLgn: [101@ya.ru]
CardHolder: [CARD HOLDER]
OrderId: [[CUSTOMERS_ADD]-[9416342]]
Amount: [101]
ExpDate: [12/2018]
Notification: [CustomerAddSuccess]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [10.08.2018 12:21:30]
ErrCode: [NONE]
CustomerAddFailНеуспешная регистрация карты Пример
CardNumber: [411111xxxxxx0080]
CardId: []
VWUserLgn: [101@ya.ru]
CardHolder: [CARD HOLDER]
ExpDate: [12/2018]
Notification: [CustomerAddFail]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [10.08.2018 12:20:35]
ErrCode: [ISSUER_CARD_FAIL]
CustomerPaySuccessУспешное списание средств Пример
Is3DS: [False]
SessionId: [b7d55d5b-c323-4f9f-9dc4-4e864011b0c9]
CardNumber: [411111xxxxxx0023]
CardId: [d85a6a7f-f908-4f02-a8bfdd9d33561213]
VWUserLgn: [101@ya.ru]
ForwardedTo: [NotForwarded]
Notification: [CustomerPaySuccess]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [10.08.2018 14:02:27]
ErrCode: [NONE]
OrderId: [1fb56e1f-a533-407d-bca3-cc2c8ef87f04]
Amount: [102]
CustomerPayFailНеуспешное списание средств Пример
Is3DS: [False]
SessionId: [1c3ab2b6-944e-489f-a686-c977c6d9fbde]
CardNumber: [330000xxxxxx0001]
CardId: [87ee56bd-ec6e-4932-a8cbc85c81437824]
VWUserLgn: [101@ya.ru]
ForwardedTo: [NotForwarded]
Notification: [CustomerPayFail]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [10.08.2018 14:08:20]
ErrCode: [AMOUNT_EXCEED]
OrderId: [2031feb6-f2e6-4c21-be67-c669b9786027]
Amount: [102]
CustomerRefundSuccessУспешный возврат средств Пример
Is3DS: [False]
NewAmount: [0]
OrderId: [6075f4c6-a1d0-4366-a4ca-3100625bafa6]
Amount: [102]
Notification: [CustomerRefundSuccess]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [10.08.2018 14:09:36]
ErrCode: [NONE]
CustomerRefundFailНеуспешный возврат средств Пример
Is3DS: [False]
NewAmount: [102]
OrderId: [80cc7ce0-b2da-46bb-96e7-02416cdb7bc7]
Amount: [102]
Notification: [CustomerRefundFail]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [10.08.2018 14:10:32]
ErrCode: [PROCESSING_ERROR]
CustomerDeleteCardУдаление карты (с параметром Success=True/False) Пример
DeleteDate: [10.08.2018 12:30:50]
CardNumber: [411111xxxxxx0023]
CardId: [6fd5fa99-7e26-4637-84a4-8cc90d49c4d1]
VWUserLgn: [101@ya.ru]
CardHolder: [CARD HOLDER]
ExpDate: [12/2018]
Notification: [CustomerDeleteCard]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [10.08.2018 12:30:50]
ErrCode: [NONE]
ChequeSentЧек отправлен Покупателю Пример
OrderId: []
ChequeId: [bfh7k8f3j582c17d]
Type: [Pay]
Status: [Created]
Cheque: [Чек в Base64]
Notification: [ChequeSent]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [15.08.2018 19:02:53]
ErrCode: [NONE]
MerchantId: [140]
ChequeNotSentЧек не отправлен Покупателю Пример
OrderId: []
ChequeId: [bfh7k8f3j582c17d]
Type: [Pay]
Status: []
Cheque: [Чек в Base64]
Notification: [ChequeNotSent]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [15.08.2018 19:02:53]
ErrCode: [NONE]
ChequeCreatedЧек создан Пример
OrderId: []
ChequeId: [bfh7k8f3j582c17d]
Type: [Pay]
Status: [Created]
Cheque: [Чек в Base64]
Notification: [ChequeCreated]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [15.08.2018 19:02:52]
ErrCode: [NONE]
MerchantId: [140]
ChequeAcceptedЧек принят Пример
OrderId: [dfe29039-c795-44aa-8297-ae61e7102fc9]
ChequeId: []
Type: [Pay]
Status: [Accepted]
Cheque: []
Notification: [ChequeAccepted]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [15.08.2018 16:48:04]
ErrCode: [NONE]
MerchantId: [140]
ChequeNotAcceptedЧек не принят на стороне сервиса онлайн-касс Пример
OrderId: [dfe29039-c795-44aa-8297-ae61e7102fc9]
ChequeId: []
Type: [Pay]
Status: [NotAccepted]
Cheque: []
Notification: [ChequeNotAccepted]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [15.08.2018 16:48:04]
ErrCode: [NONE]
ChequeRejectedЧек отклонён на стороне платежного шлюза Пример
OrderId: []
ChequeId: []
Type: [Pay]
Status: [Unknown]
Cheque: []
Notification: [ChequeRejected]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [15.08.2018 16:27:26] ErrCode: []
ChequeTimeoutЧек не отправлен за допустимое время Пример
OrderId: [dfe29039-c795-44aa-8297-ae61e7102fc9]
ChequeId: [636699484844436085331]
Type: [Normal]
Status: [Accepted]
Cheque: []
Notification: [ChequeTimeout]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [15.08.2018 16:54:05]
ErrCode: [CHEQUE_TIMEOUT]
ChargeBackВозвратный платеж Пример
OrderId: [17f76c0c-177f-46cb-b35c-620ed5b1189c]
Amount: [1500]
ChargeBackDate: [27.08.2018 12:17:26]
CardHolder: [CARD HOLDER]
PANMask: [411111xxxxxx0080]
Notification: [ChargeBack]
MerchantContract: [Merchant]
Success: [False]
TransactionDate: [15.08.2018 16:27:26]
ErrCode: []

Статусы транзакции

СтатусЗначение
NewПлатеж зарегистрирован в шлюзе, но его обработка в процессинге не начата
PreAuthorized3DSПлатеж находится в процессе аутентификации по протоколу 3D Secure
AuthorizedСредства заблокированы, но не списаны (2-х стадийный платеж)
VoidedСредства на карте были заблокированы и разблокированы (2-х стадийный платеж)
ChargedДенежные средства списаны с карты Покупателя, платёж завершен успешно
RefundedУспешно произведен полный или частичный возврат денежных средств на карту Покупателя
ForwardedПлатеж был перенаправлен на другой Терминал
RejectedНеуспешный платеж
ErrorПоследняя операция по платежу завершена с ошибкой
ChargebackУспешно завершенная транзакция, по которой впоследствии поступила претензия от банка-эмитента