Pay — на стороне Продавца
https://{Environment}.payture.com/vwapi/PayКоманда для выполнения платежа, когда ввод данных платежных карт выполняется непосредственно на веб-странице или в мобильном приложении Продавца. Позволяет выполнить списание средств в рамках одностадийного платежа (SessionType=Pay) или блокирование средств в рамках двухстадийного платежа (SessionType=Block).
При этом возможны два сценария оплаты: зарегистрированной и незарегистрированной картой.
Внимание!
Для использования такого варианта оплаты Продавец должен соответствовать требованиям стандарта безопасности PCI DSS. Если Вы не имеете такого сертификата, мы рекомендуем использовать команду Pay — на стороне Payture.
Схема взаимодействия
Обратите внимание, при использовании аутентификации 3-D Secure порядок выполнения операции незначительно изменяется, как описано в разделе 3-D Secure.
Незарегистрированная карта
Команда Pay для выполнения списания или блокировки средств с незарегистрированной ранее карты. В запросе необходимо передать данные банковской карты Покупателя.
Запрос
curl https://sandbox3.payture.com/vwapi/Pay \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=VWMerchantside \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
CardId=FreePay; \
OrderId=5f63838d-fb03-00c6-c890-c67cfc1c54ea; \
Amount=12480; \
CardNumber=4111111111100031; \
CardHolder=Ivan Ivanov; \
EMonth=12; \
EYear=22; \
SecureCode=123; \
PhoneNumber=79156783333; \
IP=241.22.197.12; \
AdditionalField1=Value1; \
AdditionalField2=Value2" \В запросах наименования параметров чувствительны к регистру
| Параметр | Описание | Формат |
|---|---|---|
| VWID | Наименование платежного Терминала Предоставляется с параметрами тестового/рабочего доступа | String Mandatory |
| DATA | Параметры платежа Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно) | String Mandatory |
Состав ключей параметра DATA
| Параметр | Описание | Формат |
|---|---|---|
| VWUserLgn | Идентификатор Покупателя в системе Payture | String [1..50] Mandatory |
| VWUserPsw | Дополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя) | String [1..50] Mandatory |
| CardId | Для платежа по незарегистрированной карте необходимо передавать значение CardId=FreePay | String [36] Mandatory |
| OrderId | Уникальный идентификатор платежа в системе Продавца Рекомендуемый формат: GUID/UUID или Alphanumeric. Другие форматы могут вызвать сбои в работе банковских сервисов. | 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 |
| Email Покупателя Может передаваться, если не используется в качестве VWUserLgn | String [1..50] Optional | |
| IP | IP адрес Покупателя IPv4 или IPv6 | String Optional |
| Cheque | Информация о чеке в формате JSON, закодированная в Base64 | String Optional |
| Дополнительные параметры | Любые дополнительные параметры Продавца Дополнительных параметров может быть несколько. Каждый параметр передается отдельно | — Optional |
Пример параметра DATA (decoded):
VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=FreePay;
OrderId=5f63838d-fb03-00c6-c890-c67cfc1c54ea;
Amount=12480;
CardNumber=4111111111100031;
CardHolder=Ivan Ivanov;
EMonth=12;
EYear=22;
SecureCode=123;
SessionType=Block;
PhoneNumber=79156783333;
IP=241.22.197.12;
AdditionalField1=Value1;
AdditionalField2=Value2Ответ
XML строка с элементом Pay
Примеры ответов
<Pay VWUserLgn="123@ya.ru" OrderId="5f63838d-fb03-00c6-c890-c67cfc1c54ea" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="True" Amount="12480"/>| Параметр | Описание | Формат |
|---|---|---|
| Success | Признак успешности операции. Принимает значения:True — операция успешнаFalse — операция неуспешна3DS — необходима аутентификация 3‑D Secure | String Mandatory |
| VWUserLgn | Идентификатор Покупателя в системе Payture Соответствует переданному в запросе | String [1..50] Mandatory |
| OrderId | Идентификатор платежа в системе Продавца Соответствует переданному в запросе | String [1..50] Mandatory |
| MerchantOrderId | Идентификатор платежа в системе Payture Дополнительный идентификатор платежа, присвоенный системой Payture. Содержит номер попытки совершения платежа | String [1..50] Mandatory |
| Amount | Сумма платежа в копейках (или другая минимальная единица валюты терминала) Передается, если «Success=True» или «Success=3DS». Соответствует переданному в запросе | Integer Optional |
| ACSUrl | Адрес сервера аутентификации 3-D Secure Передается, если «Success=3DS» | String Optional |
| PaReq | Запрос на аутентификацию 3-D Secure Передается, если «Success=3DS» | String Optional |
| ThreeDSKey | Уникальный идентификатор транзакции (MD) Передается, если «Success=3DS» | String Optional |
| ThreeDSVersion | Версия протокола 3-D Secure: 1.0 — первая версия 2.1 — вторая версия Передается, если «Success=3DS» | String Optional |
| AddInfo | Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture Описание формата и возможных параметров доступно здесь | Object Optional |
| ErrCode | Код ошибки. См. коды ошибок Передается, если «Success=False» | String Optional |
Зарегистрированная карта
Команда Pay для выполнения списания или блокировки средств с зарегистрированной карты Покупателя. Карта должна находится в статусе «IsActive». В запросе необходимо передать идентификатор ранее добавленной карты — CardId.
Запрос
curl https://sandbox3.payture.com/vwapi/Pay \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d VWID=VWMerchantside \
--data-urlencode "DATA= \
VWUserLgn=123@ya.ru; \
VWUserPsw=2645363; \
CardId=00a94d92-1d84-44be-fa32-1c9591443347; \
OrderId=5f63838d-fb03-00c6-c890-c67cfc1c54ea; \
Amount=12480; \
SecureCode=123; \
IP=241.22.197.12; \
AdditionalField1=Value1; \
AdditionalField2=Value2" \В запросах наименования параметров чувствительны к регистру
| Параметр | Описание | Формат |
|---|---|---|
| VWID | Наименование платежного Терминала Предоставляется с параметрами тестового/рабочего доступа | String Mandatory |
| DATA | Параметры платежа Url Encoded строка, содержащая пары ключей и их значений, разделённые символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно) | String Mandatory |
Состав ключей параметра DATA
| Параметр | Описание | Формат |
|---|---|---|
| VWUserLgn | Идентификатор Покупателя в системе Payture | String [1..50] Mandatory |
| VWUserPsw | Дополнительный параметр доступа к приватной информации Покупателя (пароль Покупателя) | String [1..50] Mandatory |
| CardId | Идентификатор ранее зарегистрированной карты в системе Payture | String [36] Mandatory |
| OrderId | Уникальный идентификатор платежа в системе Продавца Рекомендуемый формат: GUID/UUID или Alphanumeric. Другие форматы могут вызвать сбои в работе банковских сервисов. | String [1..50] Mandatory |
| Amount | Сумма платежа в копейках (или другая минимальная единица валюты терминала) Цифры, не содержащие десятичных или других разделителей | Integer Mandatory |
| SecureCode | CVC2/CVV2 код 3 или 4 цифры. Обязательность передачи зависит от типа платежа и конфигурации платежного Терминала | Integer Optional |
| SessionType | Тип платежа. Определяет количество стадий платежа:Pay — одностадийный платеж (по умолчанию)Block — двухстадийный платеж | String Optional |
| IP | IP адрес Покупателя IPv4 или IPv6 | String Optional |
| Cheque | Информация о чеке в формате JSON, закодированная в Base64 | String Optional |
| Дополнительные параметры | Любые дополнительные параметры Продавца Дополнительных параметров может быть несколько. Каждый параметр передается отдельно | — Optional |
Пример параметра DATA (decoded):
VWUserLgn=123@ya.ru;
VWUserPsw=2645363;
CardId=00a94d92-1d84-44be-fa32-1c9591443347;
OrderId=5f63838d-fb03-00c6-c890-c67cfc1c54ea;
Amount=12480;
SecureCode=123;
SessionType=Block;
IP=241.22.197.12;
AdditionalField1=Value1;
AdditionalField2=Value2Ответ
XML строка с элементом Pay
Примеры ответов
<Pay VWUserLgn="123@ya.ru" OrderId="5f63838d-fb03-00c6-c890-c67cfc1c54ea" MerchantOrderId="[CUSTOMERS_PAY]-[1715289]-[1]" Success="True" Amount="12480"/>| Параметр | Описание | Формат |
|---|---|---|
| Success | Признак успешности операции. Принимает значения:True — операция успешнаFalse — операция неуспешна3DS — необходима аутентификация 3‑D Secure | String Mandatory |
| VWUserLgn | Идентификатор Покупателя в системе Payture Соответствует переданному в запросе | String [1..50] Mandatory |
| OrderId | Идентификатор платежа в системе Продавца Соответствует переданному в запросе | String [1..50] Mandatory |
| MerchantOrderId | Идентификатор платежа в системе Payture Дополнительный идентификатор платежа, присвоенный системой Payture. Содержит номер попытки совершения платежа | String [1..50] Mandatory |
| Amount | Сумма платежа в копейках (или другая минимальная единица валюты терминала) Передается, если «Success=True» или «Success=3DS». Соответствует переданному в запросе | Integer Optional |
| ACSUrl | Адрес сервера аутентификации 3-D Secure Передается, если «Success=3DS» | String Optional |
| PaReq | Запрос на аутентификацию 3-D Secure Передается, если «Success=3DS» | String Optional |
| ThreeDSKey | Уникальный идентификатор транзакции (MD) Передается, если «Success=3DS» | String Optional |
| ThreeDSVersion | Версия протокола 3-D Secure: 1.0 — первая версия 2.1 — вторая версия Передается, если «Success=3DS» | String Optional |
| AddInfo | Дополнительные параметры транзакции, которые могут быть переданы в ответе платежного шлюза по согласованию со службой поддержки Payture Описание формата и возможных параметров доступно здесь | Object Optional |
| ErrCode | Код ошибки. См. коды ошибок Передается, если «Success=False» | String Optional |
Pay — на стороне Payture
Команда открытия страницы оплаты на стороне платежного шлюза Payture. Выполняется после успешной команды инициализации платежа Init.
Незарегистрированная карта
Команда Pay для выполнения списания или блокировки средств с незарегистрированной ранее карты. В запросе необходимо передать данные банковской карты Покупателя.
