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

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

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

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

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

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

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

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

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

Страница оплаты — 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 и пройти его верификацию. Это может повлечь дополнительные финансовые и организационные затраты. Если у Вас нет возможности пройти верификацию по стандарту PCI DSS, Вы не сможете использовать платежную функциональность Payture API. В этом случае мы рекомендуем использовать интерфейс Payture InPay или Payture eWallet.

Возможности

Интерфейс API Payture позволяет выполнять стандартный набор операций электронной коммерции при условии ввода данных банковских карт на странице Продавца:

PayБыстрое проведение платежа одной командой
BlockБлокировка средств на карте Покупателя
ChargeЗавершение платежа со списанием средств с карты Покупателя
UnblockОтмена блокировки средств на карте Покупателя
RefundВозврат средств (полный или частичный) на карту Покупателя
GetStateУточнение текущего состояния платежа

Интеграция с платежным шлюзом

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

Запрос Payture API

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

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

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

Ответ Payture API

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

<{Command} Key="Value" Key2="Value2"/>

Payture API Scheme

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

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

Обратите внимание: после включения аутентификации 3-D Secure формат операций Block/Pay незначительно изменяется, как описано в разделе 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=12330 \
-d OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc \
--data-urlencode "PayInfo= \
PAN=4111111111100031; \
EMonth=12; \
EYear=22; \
CardHolder=Ivan Ivanov; \
SecureCode=123; \
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
Amount=12330" \
--data-urlencode "CustomFields = \
IP=114.126.97.138; \
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=4111111111100031;
EMonth=12;
EYear=22;
CardHolder=Ivan Ivanov;
SecureCode=123;
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc;
Amount=12330

Внимание! Параметры 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=114.126.97.138;
Description=MyTestTransaction
Параметр Описание Формат
IP IP адрес Покупателя
IPv4 или IPv6
String
Optional
Description Дополнительное описание платежа String
Optional

Ответ

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

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

Success: True False 3DS
<Pay OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="True" Amount="12330"/>
<Pay OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="3DS" Amount="12330" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}"/>
Параметр Описание Формат
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
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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \
-d PaRes={PaRes} \

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

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

Ответ

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

https://{Environment}.payture.com/api/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=12330 \
-d OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc \
--data-urlencode "PayInfo= \
PAN=4111111111100031; \
EMonth=12; \
EYear=22; \
CardHolder=Ivan Ivanov; \
SecureCode=123; \
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
Amount=12330" \
--data-urlencode "CustomFields = \
IP=114.126.97.138; \
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=4111111111100031;
EMonth=12;
EYear=22;
CardHolder=Ivan Ivanov;
SecureCode=123;
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc;
Amount=12330

Внимание! Параметры 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=114.126.97.138;
Description=MyTestTransaction
Параметр Описание Формат
IP IP адрес Покупателя
IPv4 или IPv6
String
Optional
Description Дополнительное описание платежа String
Optional

Ответ

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

Success: True False 3DS
<Block OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="True" Amount="12492"/>
<Block OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Block OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="3DS" Amount="12725" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}"/>

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
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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \
-d PaRes={PaRes} \

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

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

Ответ

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

https://{Environment}.payture.com/api/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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

Параметр Описание Формат
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="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Amount="12564"/>
<Charge Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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

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

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

curl https://sandbox3.payture.com/api/Unblock \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

Запрос

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

Ответ

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

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

Success: True False
<Unblock Success="True" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" NewAmount="0"/>
<Unblock Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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

Этот запрос используется для возврата денежных средств, списанных командой 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=12330 \
-d OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

Параметр Описание Формат
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="e2cc86a9-2306-487d-56cc-5bf4e59636bc" NewAmount="0"/>
<Refund Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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

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

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

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

Запрос

curl https://sandbox3.payture.com/api/GetState \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

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

Ответ

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

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

Success: True False
<GetState Success="True" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" State="Refunded" Forwarded="False" MerchantContract="Merchant" Amount="12330" RRN="003770024290"/>
<GetState Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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 для мобильного приложения.

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

Возможности

Страница оплаты поддерживается возможность аутентификации Покупателя по протоколу 3-D Secure.

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

Стандартный набор операций электронной коммерции для интерфейса 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=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
Amount=12330; \
Product=Ticket; \
Total=123.3; \
Phone=79156783333; \
Description=MyTestTransaction; \
Url=https://payture.com/result?orderid={orderid}&result={success}" \

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

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

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

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

SessionType=Pay;
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc;
Amount=12330;
Total=123.3;
Product=Ticket;
Phone=79156783333;
Description=MyTestTransaction;
Url=https://payture.com/result?orderid={orderid}&result={success}

Пример параметра 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

Ответ

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

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

Success: True False
<Init Success="True" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Amount="12330" SessionId="9201354a-3ba8-bcdc-e695-8ce8c8c969a1"/>
<Init Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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=9201354a-3ba8-bcdc-e695-8ce8c8c969a1 \

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

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

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

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

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

https://{Environment}.payture.com/apim/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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

ПараметрОписаниеФормат
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="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Amount="12330"/>
<Charge Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

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

Ответ

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

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

Success: True False
<Unblock Success="True" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" NewAmount="0"/>
<Unblock Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \
-d Amount=12330 \

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

ПараметрОписаниеФормат
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="e2cc86a9-2306-487d-56cc-5bf4e59636bc" NewAmount="2000"/>
<Refund Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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

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

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

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

Запрос

curl https://sandbox3.payture.com/apim/GetState \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

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

Ответ

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

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

Success: True False
<GetState Success="True" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" State="Refunded" Forwarded="False" MerchantContract="Merchant" Amount="12330" RRN="003770024290"/>
<GetState Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

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

Ответ

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

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

Success: True False
<PayStatus Success="True" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantContract="Merchant" Amount="12330" State="Charged" Forwarded="False"/>
<PayStatus Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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 предоставляет ряд дополнительных возможностей, ориентированных на удобство постоянных Покупателей той или иной системы электронных платежей. eWallet предлагает функциональность по регистрации Покупателей в системе и привязке платежных карт к учетным записям зарегистрированных Покупателей.

Возможности

Интерфейс Payture eWallet обеспечивает управление учетными записями Покупателей, управление платежными картами, и наконец, проведение платежных операций с картами Покупателей:

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

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

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

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

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

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

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

<{Command} Key="Value" Key2="Value2" />

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

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

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

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

Шаблоны для Payture eWallet

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

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

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

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

Система также предлагает возможность регистрации Покупателя не отдельной командой, а автоматически, при исполнении команды добавления карты. Для активации этой опции, пожалуйста, обратитесь в службу поддержки 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

Этот запрос служит для проверки существования Покупателя в платежной системе Payture.

Запрос

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Активация карты, опциональная операция, заключающаяся в проверке случайной суммы, заблокированной на карте при ее регистрации. Неактивированная карта не может быть использована для оплаты
GetListПолучение актуальной информации о картах Покупателя. Например, с целью активации, удаления карты или проведения платежа
RemoveУдаление карты из списка карт Покупателя
https://{Environment}.payture.com/vwapi/Add

Данный запрос служит для регистрации новой платежной карты в системе Payture и ее привязки к Покупателю, ранее зарегистрированному в системе. При регистрации карты происходит блокировка произвольной суммы (от 1 до 5000 копеек) на карте Покупателя для подтверждения права владения Покупателя указанной картой. Значение суммы необходимо ввести при активации карты после ее добавления.

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

Внимание! Платежи по зарегистрированной карте возможны только после ее активации.

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

Payture eWallet API Card Add Scheme

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

Запрос 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=4111111111100031; \
EMonth=12; \
EYear=22; \
CardHolder=Ivan Ivanov; \
SecureCode=123; \
PhoneNumber=79156783333" \

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

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

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

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

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardNumber=4111111111100031;
EMonth=12;
EYear=22;
CardHolder=Ivan Ivanov;
SecureCode=123;
PhoneNumber=79156783333
Параметр Описание Формат
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

Ответ

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

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

Success: True False 3DS
<Add VWUserLgn="123@ya.ru" Success="True" CardName="521885xxxxxx5484" CardId="fccec59d-176d-cf6d-220f-d117dafed76e"/>
<Add VWUserLgn="123@ya.ru" Success="False" ErrCode="WRONG_CARD_INFO"/>
<Add VWUserLgn="123@ya.ru" Success="3DS" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" CardName="521885xxxxxx5484" CardId="fccec59d-176d-cf6d-220f-d117dafed76e"/>
Параметр Описание Формат
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
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional
https://{Environment}.payture.com/vwapi/Add

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

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

Запрос Add

curl https://sandbox3.payture.com/vwapi/Add \
-d SessionId=9201354a-3ba8-bcdc-e695-8ce8c8c969a1 \

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

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

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

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

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=fccec59d-176d-cf6d-220f-d117dafed76e \
-d PaRes={PaRes} \

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

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

Ответ

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

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

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

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

Запрос

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=fccec59d-176d-cf6d-220f-d117dafed76e; \
Amount=101" \

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

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

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

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

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=fccec59d-176d-cf6d-220f-d117dafed76e;
Amount=12330
Параметр Описание Формат
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="fccec59d-176d-cf6d-220f-d117dafed76e"/>
<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=fccec59d-176d-cf6d-220f-d117dafed76e" \

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

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

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

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

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=fccec59d-176d-cf6d-220f-d117dafed76e
Параметр Описание Формат
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="fccec59d-176d-cf6d-220f-d117dafed76e"/>
<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

Запрос позволяет получить список платежных карт, зарегистрированных выбранным Покупателем в системе 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. Выполняется перед перенаправлением Покупателя на страницу платежного шлюза 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=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
Amount=12330; \
Product=Ticket; \
Total=123.3; \
Description=MyTestTransaction; \
PhoneNumber=79156783333; \
Url=https://payture.com/result?orderid={orderid}&result={success}" \

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

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

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

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

SessionType=Pay;
VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc;
Amount=12330;
Product=Ticket;
Total=123.3;
Description=MyTestTransaction;
PhoneNumber=79156783333;
Url=https://payture.com/result?orderid={orderid}&result={success}

Пример параметра 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

Ответ

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

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

Success: True False
<Init Success="True" Amount="0" SessionId="9201354a-3ba8-bcdc-e695-8ce8c8c969a1" 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

Запрос служит для списания средств в рамках одностадийного платежа (SessionType=Pay) или для блокирования средств при двухстадийном платеже (SessionType=Block).

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

Запрос на выполнение платежа непосредственно на веб-странице Продавца.

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

Payture eWallet API Pay Merchant Scheme

Запрос 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=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
Amount=12330; \
CardNumber=4111111111100031; \
CardHolder=Ivan Ivanov; \
EMonth=12; \
EYear=22; \
SecureCode=123; \
PhoneNumber=79156783333; \
IP=114.126.97.138" \

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

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

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

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

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=FreePay;
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc;
Amount=12330;
CardNumber=4111111111100031;
CardHolder=Ivan Ivanov;
EMonth=12;
EYear=22;
SecureCode=123;
SessionType=Block;
PhoneNumber=79156783333;
IP=114.126.97.138
Параметр Описание Формат
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

Ответ

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

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

Success: True False 3DS
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="True" Amount="12330"/>
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="3DS" Amount="12330" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}"/>
Параметр Описание Формат
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
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional

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

Запрос

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=fccec59d-176d-cf6d-220f-d117dafed76e; \ 
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
Amount=12330; \
SecureCode=123; \
IP=114.126.97.138" \

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

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

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

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

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=fccec59d-176d-cf6d-220f-d117dafed76e;
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc;
Amount=12330;
SecureCode=123;
SessionType=Block;
IP=114.126.97.138
Параметр Описание Формат
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

Ответ

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

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

Success: True False 3DS
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="True" Amount="12330"/>
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="3DS" Amount="12330" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}"/>
Параметр Описание Формат
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
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional

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

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

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

Payture eWallet API Pay Payture Scheme

Запрос Pay

curl https://sandbox3.payture.com/vwapi/Pay \
-d SessionId=9201354a-3ba8-bcdc-e695-8ce8c8c969a1 \

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

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

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

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

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

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

Запрос 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=fccec59d-176d-cf6d-220f-d117dafed76e; \
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
Amount=12330" \

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

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

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

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

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=fccec59d-176d-cf6d-220f-d117dafed76e;
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc;
Amount=12330;
SessionType=Block
Параметр Описание Формат
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

Ответ

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

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

Success: True False
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="True" Amount="12330"/>
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
Параметр Описание Формат
SuccessПризнак успешности операции. Принимает значения:
True — операция успешна
False — операция неуспешна
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=fccec59d-176d-cf6d-220f-d117dafed76e \
-d PaRes={PaRes} \

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

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

Ответ

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

https://{Environment}.payture.com/vwapi/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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

Параметр Описание Формат
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="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Amount="12330"/>
<Charge Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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

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

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

Внимание! Для успешной разблокировки средств необходимо, чтобы на момент исполнения запроса платеж имел статус 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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

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

Ответ

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

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

Success: True False
<Unblock Success="True" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" NewAmount="0"/>
<Unblock Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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

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

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

Внимание! Для успешного возврата необходимо, чтобы на момент исполнения запроса платеж имел статус 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=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
Password=123; \
Amount=12330" \

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

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

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

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

OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc;
Amount=12330;
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="e2cc86a9-2306-487d-56cc-5bf4e59636bc" NewAmount="7800"/>
<Refund Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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

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

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

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

Запрос

curl https://sandbox3.payture.com/vwapi/GetState \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d Key=Merchant \
-d OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc \

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

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

Ответ

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

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

Success: True False
<GetState Success="True" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" State="Refunded" Forwarded="False" MerchantContract="Merchant" Amount="12330" RRN="003770024290" VWUserLgn="123@ya.ru" CardId="fccec59d-176d-cf6d-220f-d117dafed76e" PANMask="521885xxxxxx5484"/>
<GetState Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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=e2cc86a9-2306-487d-56cc-5bf4e59636bc" \

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

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

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

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

OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc
Параметр Описание Формат
OrderIdУникальный идентификатор платежа в системе ПродавцаString [1..50]
Mandatory

Ответ

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

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

Success: True False
<PayStatus Success="True" VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Forwarded="False" Amount="12330" CardId="fccec59d-176d-cf6d-220f-d117dafed76e" Status="Charged"/>
<PayStatus Success="False" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" 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

Интеграция

Программный интерфейс 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

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

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

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

Ниже приведены примеры программной интеграции с некоторыми наиболее распространенными системами мобильных платежей.

Запрос

func paymentAuthorizationViewController( _ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: (PKPaymentAuthorizationStatus) -> Void) {

    paymentToken = payment.token
    let url = NSURL( string: "https://sandbox3.payture.com/api/MobilePay")
    let request = NSMutableURLRequest( url: url! as URL, 
        cachePolicy: NSURLRequest.CachePolicy.reloadIgnoringLocalCacheData, timeoutInterval: 30 )

    request.httpMethod = "POST"

    do
    {
        request.httpBody = ("PayToken="+paymentToken.paymentData.base64EncodedString()+
            "&Key=TestTerminal").data(using: String.Encoding.utf8)
    }
    catch {}

    self.Success=false;
    self.ErrCode="";

    var error: NSCocoaError?
    // send the request
    NSURLConnection.sendAsynchronousRequest( request as URLRequest, queue: OperationQueue()) 
    {
        (response, data, error) -> Void in
        if error != nil {
            completion( PKPaymentAuthorizationStatus.failure)      
        } else {
            let string = NSString( data: data!, encoding: String.Encoding.utf8.rawValue);
            self.xmlParser = XMLParser( data: data!)
            self.xmlParser.delegate = self
            self.xmlParser.parse()
            if(self.Success)
            {
                completion( PKPaymentAuthorizationStatus.success)

                DispatchQueue.main.asynchronously() {
                    self.performSegue(withIdentifier: ProductTableViewController.confirmationSegue, sender: self)
                }
            }
            else
            {
                DispatchQueue.main.asynchronously() {
                    let alert = UIAlertView()
                    alert.title = "Error"
                    alert.message = "Operation exit with Error Code:\n" + self.ErrCode
                    alert.addButton( withTitle: "Close")
                    alert.show()
                }
                completion( PKPaymentAuthorizationStatus.failure)
            }
        }
    }       
}

Ответ

func parser( _ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String: String])
{
    let success = attributeDict[ "Success" ]
    if success != nil
    {
        self.Success = ( attributeDict[ "Success" ]! as NSString).boolValue
        if( !self.Success )
        {
            self.ErrCode = attributeDict[ "ErrCode" ]! as String;
        }
        else
        {
            self.OrderId = attributeDict[ "OrderId" ]! as String;
        }
    }
}
private PaymentDataRequest createPaymentDataRequest() {
    PaymentDataRequest.Builder request =
        PaymentDataRequest.newBuilder()
            .setTransactionInfo(
                TransactionInfo.newBuilder()
                    .setTotalPriceStatus(WalletConstants.TOTAL_PRICE_STATUS_FINAL)
                    .setTotalPrice("10.00")
                    .setCurrencyCode("USD")
                    .build())
            .addAllowedPaymentMethod(WalletConstants.PAYMENT_METHOD_CARD)
            .addAllowedPaymentMethod(WalletConstants.PAYMENT_METHOD_TOKENIZED_CARD)
            .setCardRequirements(
                CardRequirements.newBuilder()
                    .addAllowedCardNetworks(
                        Arrays.asList(
                            WalletConstants.CARD_NETWORK_AMEX,
                            WalletConstants.CARD_NETWORK_DISCOVER,
                            WalletConstants.CARD_NETWORK_VISA,
                            WalletConstants.CARD_NETWORK_MASTERCARD))
                    .build());

    PaymentMethodTokenizationParameters params =
        PaymentMethodTokenizationParameters.newBuilder()
            .setPaymentMethodTokenizationType(
                WalletConstants.PAYMENT_METHOD_TOKENIZATION_TYPE_PAYMENT_GATEWAY)
            .addParameter("gateway", "payture")
            .addParameter("gatewayMerchantId", "12345678901234567890")
            .build();

    request.setPaymentMethodTokenizationParameters(params);
    return request.build();
}
@Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
      case LOAD_PAYMENT_DATA_REQUEST_CODE:
        switch (resultCode) {
          case Activity.RESULT_OK:
            PaymentData paymentData = PaymentData.getFromIntent(data);
            String token = paymentData.getPaymentMethodToken().getToken();
      String tokenBase64 = Base64.encodeToString(token.getBytes(), Base64.DEFAULT).replace("\n", "");
       
      String response = sendPost(Constants.Terminal,tokenBase64,Long.toString(mItemInfo.getTotalPrice()),"");

      try {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        ByteArrayInputStream input = new ByteArrayInputStream(response.getBytes("UTF-8"));
        Document doc = builder.parse(input);
        Element root = doc.getDocumentElement();
        String Success = root.getAttribute("Success").toLowerCase();
        TextView text =  (TextView) findViewById(R.id.OrderCompleteInfo);
        if (Success.equalsIgnoreCase("true"))
        {
          text.setText(String.format("Your order confirmation number is %s.\n\nYour purchase will be shipped within two business days.",root.getAttribute("OrderId")));
        } else {
          text.setText(String.format("Operation exit with exception %s.",root.getAttribute("ErrCode")));
        }

      } catch (Exception e) {
        e.printStackTrace();
      } 
            break;
          case Activity.RESULT_CANCELED:
            break;
          case AutoResolveHelper.RESULT_ERROR:
            Status status = AutoResolveHelper.getStatusFromIntent(data);
            // Log the status for debugging.
            // Generally, there is no need to show an error to
            // the user as the Google Pay API will do that.
            break;
          default:
            // Do nothing.
        }
        break;
      default:
        // Do nothing.
    }
  }

private String sendPost(String Key,String PayToken,String Amount,String SecureCode) throws Exception
{
  String url = "https://sandbox3.payture.com/api/MobilePay";

  URL obj = new URL(url);
  HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
  
  con.setRequestMethod("POST");

  String urlParameters = String.format("Key=%s&PayToken=%s&Amount=%s&SecureCode=%s",Key,PayToken,Amount,SecureCode);

  // Send post request
  con.setDoOutput(true);
  DataOutputStream wr = new DataOutputStream(con.getOutputStream());
  wr.writeBytes(urlParameters);
  wr.flush();
  wr.close();

  int responseCode = con.getResponseCode();

  BufferedReader in = new BufferedReader(
      new InputStreamReader(con.getInputStream()));
  String inputLine;
  StringBuffer response = new StringBuffer();

  while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
  }
  in.close();
  return response.toString();
}
@Override
public void onSuccess(com.samsung.android.sdk.samsungpay.v2.payment.PaymentInfo response,
            String paymentCredential, Bundle extraPaymentData) {
  Log.d(TAG, "Transaction : Succeeded");
  String PayToken = paymentCredential.replace('\n', ' ');
  PayToken = Base64.encodeToString(PayToken.getBytes(), Base64.DEFAULT);
  PayToken = PayToken.replace("\n", "");
  final String finalPayToken = PayToken;
  final Object lock = new Object();
  try {
    Thread thread = new Thread(new Runnable() {
      public void run() {
      {
        synchronized (lock) {
          try {
            String response = sendPost(Constants.Terminal, finalPayToken);

            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            ByteArrayInputStream input = new ByteArrayInputStream(response.getBytes("UTF-8"));
            Document doc = builder.parse(input);
            Element root = doc.getDocumentElement();
            String Success = root.getAttribute("Success").toLowerCase();
            if (Success.equalsIgnoreCase("true"))
            {
              text.setText(String.format("Your order confirmation number is %s.\n\nYour purchase will be shipped within two business days.",root.getAttribute("OrderId")));
            } else {
              text.setText(String.format("Operation exit with exception %s.",root.getAttribute("ErrCode")));
            }
          } catch (Exception e) {
            e.printStackTrace();
          }
          lock.notify();
        }
    }}});
    thread.start();
    thread.wait();
  } catch (Exception e) {
    e.printStackTrace();
    enableSamsungPayButton();
    initOrderDetails();
  }
}

private String sendPost(String Key,String PayToken) throws Exception
{
  String url = "https://sandbox3.payture.com/api/MobilePay";

  URL obj = new URL(url);
  HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
  
  con.setRequestMethod("POST");

  String urlParameters = String.format("Key=%s&PayToken=%s",Key,PayToken);

  // Send post request
  con.setDoOutput(true);
  DataOutputStream wr = new DataOutputStream(con.getOutputStream());
  wr.writeBytes(urlParameters);
  wr.flush();
  wr.close();

  int responseCode = con.getResponseCode();

  BufferedReader in = new BufferedReader(
      new InputStreamReader(con.getInputStream()));
  String inputLine;
  StringBuffer response = new StringBuffer();

  while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
  }
  in.close();
  return response.toString();
}

API

Программный интерфейс 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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \
-d Checksum=true \
-d Amount=12330 \

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

Параметр Описание Формат
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»
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="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="True" Amount="12330"/>
<Pay OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="3DS" Amount="12330" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}"/>

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
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=e2cc86a9-2306-487d-56cc-5bf4e59636bc \
-d Checksum=true \
-d Amount=12330 \

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

Параметр Описание Формат
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»
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="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="True" Amount="12330"/>
<Block OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Block OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Key="Merchant" Success="3DS" Amount="12330" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}"/>

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
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=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
Amount=12330; \
PayToken={PayToken}; \
SessionType=Block" \

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

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

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

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

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=FreePay;
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc;
Amount=12330;
PayToken={PayToken};
SessionType=Block;
SecureCode=123;
IP=114.126.97.138
Параметр Описание Формат
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
SecureCode CVV2/CVC2 код
Параметр обязателен при оплате нетокенизированной картой через Google Pay
Integer
Optional
IPIP адрес Покупателя
IPv4 или IPv6
String
Optional
Cheque Информация о чеке в формате JSON, закодированная в Base64 String
Optional

Ответ

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

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

Success: True False 3DS
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="True" Amount="12330"/>
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" Success="False" ErrCode="DUPLICATE_ORDER_ID"/>
<Pay VWUserLgn="123@ya.ru" OrderId="e2cc86a9-2306-487d-56cc-5bf4e59636bc" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="3DS" Amount="12330" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}"/>
Параметр Описание Формат
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
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}" \

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

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

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

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

VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
PayToken={PayToken};
SecureCode=123;
PhoneNumber=79156783333
Параметр Описание Формат
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

Ответ

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

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

Success: True False 3DS
<Add VWUserLgn="123@ya.ru" Success="True" CardName="411111xxxxxx1112" CardId="fccec59d-176d-cf6d-220f-d117dafed76e"/>
<Add VWUserLgn="123@ya.ru" Success="False" ErrCode="WRONG_CARD_INFO"/>
<Add VWUserLgn="123@ya.ru" Success="3DS" ACSUrl="{ACSUrl}" PaReq="{PaReq}" ThreeDSKey="{ThreeDSKey}" CardName="411111xxxxxx1112" CardId="fccec59d-176d-cf6d-220f-d117dafed76e"/>
Параметр Описание Формат
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
AddInfo Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture
Описание формата и возможных параметров доступно здесь
Object
Optional
ErrCodeКод ошибки. См. коды ошибок
Передается, если «Success=False»
String
Optional

Кассы по 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 не существует

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=12330 \
-d OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc \
--data-urlencode "PayInfo= \
PAN=4111111111100031; \
EMonth=12; \
EYear=22; \
CardHolder=Ivan Ivanov; \
SecureCode=123; \
OrderId=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
Amount=12330;" \
--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=4111111111100031;
Параметр Описание Формат
CardTo Номер карты, на которую будет совершен перевод (карта-приемник)
Цифры без пробелов
String [13..19]
Mandatory

Ответ

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

Коды ошибок

Код ошибки Значение
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=e2cc86a9-2306-487d-56cc-5bf4e59636bc; \
PayToken=UGF5bWVudFRva2Vu; \
VWUserLgn=123@ya.ru; \
IP=114.126.97.138; \
ErrCode=PROCESSING_ERROR; \
Amount=12330; \
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 о результатах выполнения запросов.

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

  • HTTP POST — запрос повторяется несколько раз с периодичностью 10 секунд до получения ответа «200 OK». Тело запроса будет состоять из Url Encoded строки, содержащей пары ключей и их значений, разделённых символом «&» (амперсанд). Ключи и значения разделены символом «=» (равно).
  • Email — сообщение по указанному адресу, отправляется один раз.
  • SMS — сообщение по указанному номеру, отправляется один раз.

Подробное описание нотификаций: состав, возможность расширения параметров и описание всех параметров нотификаций см. в документе Нотификации 2.0.

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

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

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

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

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

По желанию Продавца, в целях повышения безопасности платежей, для метода нотификаций 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 или SMS
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Успешно завершенная транзакция, по которой впоследствии поступила претензия от банка-эмитента