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

Оплата с использованием карты

Передача параметров платежа

Для работы в данном режиме предусмотрен web-сервис silentpay.

URL запроса для скрытого режима оплаты:

https://<SERVER-NAME>/pay/silentpay.cfm

Список параметров, передаваемых в режиме silentpay:

Название

Обяза- тельное поле

Принимаемые значения

Значение по умолчанию

Описание

Merchant_ID

Да

Число


Идентификатор предприятия в системе АПК Ассист

Login

Да

Строка


Ваш логин

Password

Да

Строка


Ваш пароль

OrderNumber

Да/Нет

128 символов


Номер заказа в системе расчетов предприятия.

OrderAmount

Да

Число, 15 цифр (разделитель «.»)


Сумма платежа в оригинальной валюте (например, 10.34)

OrderCurrency

Нет

3 символа

Валюта юр.лица или предприятия

Код валюты, в которой указана сумма платежа OrderAmount (RUB, USD, EUR)

OrderComment

Нет

256 символов


Комментарий

Delay

Нет

0 – одностадийный механизм работы,
1- двустадийный механизм

0

Признак авторизации кредитной карты при двустадийном механизме работы

Language

Нет

RU – русский
EN - английский

Язык юр.лица или предприятия

Язык авторизационных страниц

ClientIP

Нет



IP адрес покупателя

Card type

Нет

1 – VISA
2 - EC/MC
3 – DCL
4 – JCB
5- AMEX


Идентификатор типа карты для оплаты.

Cardnumber

Да



Номер карты

Cardholder

Да

70 символов без цифр. Разделитель – пробел.


Держатель карты.

Expiremonth

Да

1-12


Месяц окончания действия карты

Expireyear

Да

Год в формате YYYY


Год окончания действия карты

Cvc 2

Да



CVC2 код

Lastname

Да

70 символов без цифр


Фамилия покупателя

Firstname

Да

70 символов без цифр


Имя покупателя

Middlename

Нет

70 символов без цифр


Отчество покупателя

Email

Да

128 символов


E-mail покупателя

Address

Нет

256 символов


Адрес покупателя

HomePhone

Нет

64 символа


Домашний телефон покупателя

WorkPhone

Нет

20 символов


Рабочий телефон покупателя

MobilePhone

Нет

20 символа


Мобильный телефон покупателя

Fax

Нет

20 символа


Факс покупателя

Country

Нет

3 символа


Код страны покупателя

State

Нет

3 символа


Код региона покупателя

City

Нет

70 символа


Город покупателя

Zip

Нет

25 символа


Индекс предприятия связи покупателя

isConvert

Нет

0 - Не конвертировать в базовую валюту

1 - Не конвертировать при возможности

2 - Всегда конвертировать

1

Флаг конвертации валюты платежа в базовую валюту

Format

Нет

1 – CSV
2 – WDDX
3 – XML
4 - SOAP

1

Формат выдачи результата.

Signature

Нет

строка


Формируется строка по определенным правилам.

На базе этой строки алгоритмом MD5 формируется дайджест.  Дайджест подписывается закрытым RSA ключом мерчанта. Длина ключа  - 1024. Полученная байтовая последовательность является подписью магазина. Подпись передается нам в виде дополнительного параметра, закодированного в виде строки BASE64

RecurringIndicator

Нет

1 –рекуррентный платеж

0 - обычный платеж

0

Признак рекуррентного платежа

RecurringMinAmount

Нет/Да

Число, 15 цифр (разделители «.», «,»)


Минимальная сумма рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1

RecurringM ax Amount

Нет/Да

Число, 15 цифр

(разделители «.», «,»)


Максимальная сумма рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1

RecurringPeriod

Нет/Да

Число, 10 цифр


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

RecurringMaxDate

Нет/Да

Строковое представление даты в формате DD.MM.YYYY


Дата окончания рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1

GenerateReceipt *

Нет

0 или 1

1

Разрешение формирования фискального чека. При значении параметра 0 формирование фискального чека запрещено для данного заказа.

Tax*

Нет

10 символов

Определяется настройкой предприятия "Ставка налога по умолчанию" и используется в режиме без передачи позиций чека (вся сумма должна проводится с одной ставкой).

Идентификатор ставки налога

ReceiptLine *

Нет

128 символов

Определяется настройкой предприятия "Шаблон строки чека по умолчанию" и используется в режиме без передачи позиций чека).

Текстовое описание позиции чека, если по чеку проводится одна единственная позиция.

FPMode *

Нет

Число

Определяется настройкой предприятия "Признак способа расчета по умолчанию" и используется в режиме без передачи позиций чека.

Признак способа расчета .

ChequeItems**

Нет

Структура данных


Параметры позиций чека

CustomerNumberНет32 символа
Внутренний номер клиента предприятия (мерчанта)
SaveCardНет

1 – карта привязывается к данному номеру клиента;

0 – карта не привязывается
0

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

Если карта для данного номера клиента уже была сохранена ранее, то параметр игнорируется.

*          параметры, необходимые при использовании сервиса фискализации АПК Ассист.

**       параметры, необходимые при передаче позиций чека, подробное описание здесь.

Пример запроса HTTP POST проведения платежа в скрытом режиме silentpay:

<FORM ACTION="https://SERVER-NAME/pay/silentpay.cfm " method="POST">
<INPUT TYPE="hidden" NAME="Merchant_ID" VALUE="Ваш Merchant_ID">
<INPUT TYPE="hidden" NAME="Login" VALUE="Ваш логин">
<INPUT TYPE="hidden" NAME="Password" VALUE="Ваш пароль">
<INPUT TYPE="hidden" NAME="OrderNumber" VALUE="011001-10">
<INPUT TYPE="hidden" NAME="OrderAmount" VALUE="22">
<INPUT TYPE="hidden" NAME="OrderCurrency" VALUE="RUB">
<INPUT TYPE="hidden" NAME="OrderComment" VALUE="оплата заказа 011001-10">
<INPUT TYPE="hidden" NAME="Delay" VALUE="0">
<INPUT TYPE="hidden" NAME="isConvert" VALUE="1">
<INPUT TYPE="hidden" NAME="Language" VALUE="RU">
<INPUT TYPE="hidden" NAME="ClientIP" VALUE="IP адрес покупателя">
<INPUT TYPE="hidden" NAME="Cardtype" VALUE="Тип карты">
<INPUT TYPE="hidden" NAME="Cardnumber" VALUE="Номер карты">
<INPUT TYPE="hidden" NAME="Cardholder" VALUE="Владелец карты">
<INPUT TYPE="hidden" NAME="Expiremonth" VALUE="срок действия карты - месяц">
<INPUT TYPE="hidden" NAME="Expireyear" VALUE=" срок действия карты - год">
<INPUT TYPE="hidden" NAME="Cvc2" VALUE="код CVC2 или CVV2">
<INPUT TYPE="hidden" NAME="Lastname" VALUE="Фамилия покупателя">
<INPUT TYPE="hidden" NAME="Firstname" VALUE="Имя покупателя">
<INPUT TYPE="hidden" NAME="Middlename" VALUE="Отчество покупателя">
<INPUT TYPE="hidden" NAME="Email" VALUE="Email покупателя">
<INPUT TYPE="hidden" NAME="Address" VALUE="Адрес покупателя ">
<INPUT TYPE="hidden" NAME="Homephone" VALUE="Домашний телефон покупателя">
<INPUT TYPE="hidden" NAME="Workphone" VALUE="Рабочий телефон покупателя">
<INPUT TYPE="hidden" NAME="Mobilephone" VALUE="Мобильный телефон покупателя">
<INPUT TYPE="hidden" NAME="Fax" VALUE="Факс покупателя">
<INPUT TYPE="hidden" NAME="Country" VALUE="Страна">
<INPUT TYPE="hidden" NAME="State" VALUE="Регион">
<INPUT TYPE="hidden" NAME="City" VALUE="Город">
<INPUT TYPE="hidden" NAME="Zip" VALUE="Индекс отделения связи">
<INPUT TYPE="hidden" NAME="TestMode" VALUE="Тестовый режим">
<INPUT TYPE="hidden" NAME="Format" VALUE="Формат представления результата">
<INPUT TYPE="hidden" NAME="GenerateReceipt" VALUE="1">
<INPUT TYPE="hidden" NAME="Tax" VALUE="Идентификатор ставки налога">
<INPUT TYPE="hidden" NAME="ReceiptLine" VALUE="Наименование позиции чека">
<INPUT TYPE="hidden" NAME="FPMode" VALUE="Признак способа расчета">
<INPUT TYPE="Submit"></FORM>

Описание веб-сервиса для формата SOAP:

https://<SERVER-NAME>/pay/silentpay.wsdl

Список возвращаемых параметров:

Название

Значение

ordernumber

Номер заказа

billnumber

Полный уникальный номер операции в системе

testmode

Тестовый режим

ordercomment

Комментарий

orderamount

Оригинальная сумма заказа

ordercurrency

Оригинальная валюта заказа

amount

Сумма операции

currency

Валюта операции

rate

Курс валюты

firstname

Имя плательщика

lastname

Фамилия плательщика

middlename

Отчество плательщика

email

Email плательщика

ipaddress

IP-адрес плательщика

meantypename

Тип платежного средства

meansubtype

Подтип платежного средства

meannumber

Номер платежного средства

cardholder

Держатель платежного средства

cardexpirationdate

Срок действия карты

issuebank

Название банка-эмитента

bankcountry

Страна банка-эмитента

orderdate

Дата заказа по Гринвичу (GMT)

orderstate

Статус заказа

responsecode

Код возврата

message

Сообщение

customermessage

Сообщение о результате для покупателя

recommendation

Рекомендации

approvalcode

Код авторизации

protocoltypename

Протокол

processingname

Процессинг

operationtype

Тип операции

packetdate

Дата формирования запроса по Гринвичу (GMT)

signature

1) Для типа подписи MD5 - пусто

2) Для типа PGP – значение X, подписанное закрытым ключом АПК Ассист, закодированное в BASE64

pareq

Пакет запроса по 3D-Secure авторизации

ascurl

Адрес для переадресации плательщика для прохождения 3D-Secure авторизации

Результат запроса в зависимости от выбранного формата получения будет выглядеть следующим образом.

В формате CSV:

Название поля:Значение поля Название поля:Значение поля....Название поля:Значение поля

В формате WDDX:

Значение поля Значение поля Значение поля Значение поля Значение поля Значение поля.................

В формате XML:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<!DOCTYPE result [
<result firstcode='Первый код' secondcode='Второй код' count='Кол-во объектов'>
<orders><order>
<ordernumber>Номер заказа</ordernumber>
<responsecode>Код возврата</response_code>
<recommendation>Рекомендации</recommendation>
<message>Сообщение</message>
<ordercomment>Комментарий</ordercomment>
<orderdate>Дата и время платежа</orderdate>
<amount>Сумма платежа</amount>
<currency>Код валюты</currency>
<meantypename>Тип карты</meantype>
<meannumber>Номер карты</meannumber>
<lastname>Фамилия</lastname>
<firstname>Имя</firstname>
<middlename>Отчество</middlename>
<issuebank>Название банк-эмитента</ issuebank >
<email>Адрес элекртонной  почты</email>
<bankcountry>Код страны банка-эмитента</bankcountry>
<rate>Курс валюты</rate>
<approvalcode>Код авторизации</approvalcode>
<meansubtype>Подтип карты</meansubtype>
<cardholder>Держатель карты</cardholder>
<cardexpirationdate>Срок действия карты</cardexpirationdate>
<ipaddress>IP-адрес покупателя</ipaddress>
<protocoltypename>Тип протокола</protocoltypename>
<testmode>Указание на тестовый платеж</ testmode >
<customermassage> Сообщение пользователю</customermassage >
<orderstate>Состояние</orderstate>
<processingname>Название процессинга</ processingname>
<operationtype>Код операции</operationtype>
<billnumber>Номер платежа</billnumber>
<orderamount>Сумма платежа  в оригинальной валюте</orderamount>
<ordercurrency>Оригинальная валюта </ordercurrency>
<paketdate>Дата и время получения пакета </paketdate>
<signature> </signature>
<pareq>Значение pareq </pareq>
<ascurl>URL банка-эмитента </ascurl>
</order></orders></result>

В формате SOAP:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://www.paysecure.ru/ws/">
<soapenv:Header/>
<soapenv:Body>
<ws:SilentPayResponse>
<return> 
<ordernumber xsi:type="xsd:string">Номер заказа</ordernumber>
<responsecode xsi:type="xsd:string">Код возврата</response_code>
<recommendation xsi:type="xsd:string">Рекомендации</recommendation>
<message xsi:type="xsd:string">Сообщение</message>
<ordercomment xsi:type="xsd:string">Комментарий</ordercomment>
<orderdate xsi:type="xsd:string">Дата и время платежа</orderdate>
<amount xsi:type="xsd:string">Сумма платежа</amount>
<currency xsi:type="xsd:string">Код валюты</currency>
<meantypename
xsi:type="xsd:string">Тип карты</meantype>
<meannumber xsi:type="xsd:string">Номер карты</meannumber>
<lastname xsi:type="xsd:string">Фамилия</lastname>
<firstname xsi:type="xsd:string">Имя</firstname>
<middlename xsi:type="xsd:string">Отчество</middlename>
<issuebank xsi:type="xsd:string">Название банк-эмитента</issuebank>
<email xsi:type="xsd:string">Адрес элекртонной  почты</email>
<bankcountry xsi:type="xsd:string">Код страны банка-эмитента</bankcountry>
<rate xsi:type="xsd:string">Курс валюты</rate>
<approvalcode xsi:type="xsd:string">Код авторизации</approvalcode>
<meansubtype xsi:type="xsd:string">Подтип карты</meansubtype>
<cardholder xsi:type="xsd:string">Держатель карты</cardholder>
<cardexpirationdate xsi:type='xsd:string'>Срок действия карты</cardexpirationdate>
<ipaddress xsi:type="xsd:string">IP-адрес
покупателя</ipaddress>
<protocoltypename xsi:type="xsd:string">Тип протокола</protocoltypename>
<testmode xsi:type="xsd:string">Указание на тестовый платеж</ testmode>
<customermassage xsi:type="xsd:string">Сообщение пользователю</customermassage>
<orderstate xsi:type="xsd:string">Состояние</orderstate>
<processingname xsi:type="xsd:string">Название процессинга</processingname>
<operationtype xsi:type="xsd:string">Код операции</operationtype>
<billnumber xsi:type="xsd:string">Номер платежа</billnumber>
<orderamount xsi:type="xsd:string">Сумма платежа  в оригинальной валюте</orderamount>
<ordercurrency xsi:type="xsd:string">Оригинальная валюта</ordercurrency>
<paketdate xsi:type="xsd:string">Дата и время получения пакета</paketdate>
<signature xsi:type="xsd:string"> </signature>
<pareq xsi:type="xsd:string">Значение pareq </pareq>
<ascurl xsi:type="xsd:string">URL банка-эмитента </ascurl>
</return>
</ws:SilentPayResponse>
</soapenv:Body>
</soapenv:Envelope>

В случае успешной оплаты код возврата responsecode принимает значение AS000.

В случае неуспешной оплаты responsecode принимает значения AS100-AS998 (кроме специального кода AS110, если необходима авторизация по 3-D Secure, подробнее см. здесь).

Если запрос на оплату не может быть обработан, в результате вернутся ненулевые значения параметров firstcode, secondcode.

Если в ответе получен responsecode AS300, а статусы заказа (orderstate) и операции (operationstate) - In Process (В процессе), то актуальный статус оплаты можно получить позже через запрос к сервису получения результатов orderresult.

Если результат оплаты не получен (например, вследствие сетевых проблем), то его можно получить позже через запрос к сервису orderresult.

Пример результата запроса в формате XML, вернувшего ошибку (неправильный пароль):

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<!DOCTYPE result [...]> 
<result firstcode="7" secondcode="102" count="0"></result>

С описанием первого и второго кодов автоматизированных интерфейсов можно ознакомиться здесь.

Рекуррентный платеж

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

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

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

Для совершения следующего рекуррентного платежа необходимо отправить запрос на сервер АПК Ассист методом HTTP POST или SOAP (в кодировке UTF-8).

URL запроса для рекуррентного платежа:

https://<SERVER-NAME>/recurrent/rp.cfm

Список параметров запроса

Название

Обязательное поле

Принимаемые значения

Значение по умолчанию

Описание

BillNumber

Да

15 или 16 цифр


BillNumber первого заказа

OrderNumber

Да

128 символов


Номер нового заказа для рекуррентного платежа

Merchant _ ID

Да

Число


Идентификатор предприятия в АПК Ассист

Login

Да

8 - 20 символов 


Логин (лат. буквы и цифры, символ _)

Password

Да

8 - 20 символов 


Пароль (лат. буквы и цифры)

Amount

Да

Число, 15 цифр (разделитель «.»)

Сумма рекуррентного платежа


Currency

Да

3 символа

Валюта рекуррентного платежа

TestMode

Нет

0 – рабочий режим,

1 – тестовый режим

Режим работы предприятия

Должен совпадать с режимом (рабочий или тестовый) первого платежа

OrderComment

Нет

256 символов


Комментарий

Language

Нет

RU

EN

EN

Язык вывода результатов

Format

Нет

1 – CSV
2 – WDDX
3 – XML
4 - SOAP

1 для POST запроса,

4 для SOAP

Формат выдачи результатов

Пример запроса для формата HTTP POST:

<FORM ACTION="https://test.paysecure.ru/recurrent/rp.cfm" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="BillNumber" VALUE="511111100000001.1">
<INPUT TYPE="HIDDEN" NAME="OrderNumber" VALUE="A1_R1">
<INPUT TYPE="HIDDEN" NAME="Merchant_ID" VALUE="Ваш Merchant_ID">
<INPUT TYPE="HIDDEN" NAME="Login" VALUE="Ваш логин">
<INPUT TYPE="HIDDEN" NAME="Password" VALUE="Ваш пароль">
<INPUT TYPE="HIDDEN" NAME="Amount" VALUE="20">
<INPUT TYPE="HIDDEN" NAME="Currency" VALUE="RUB">
<INPUT TYPE="HIDDEN" NAME="Format" VALUE="3">
<INPUT TYPE="HIDDEN" NAME="Language" VALUE="EN">
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Выполнить">
</FORM>

Список параметров ответа:

Название

Значение

billnumber

Уникальный номер заказа в системе АПК Ассист, расширенный формат

ordernumber

Номер заказа

testmode

Тестовый режим

ordercomment

Комментарий

orderamount

Оригинальная сумма заказа

ordercurrency

Оригинальная валюта заказа

firstname

Имя плательщика

lastname

Фамилия плательщика

middlename

Отчество плательщика

Email

Email плательщика

orderdate

Дата заказа по Гринвичу (GMT)

orderstate

Статус заказа

packetdate

Дата формирования запроса по Гринвичу (GMT)

signature


operationtype

Тип операции

amount

Сумма операции

currency

Валюта операции

ipadress

IP-адрес плательщика

meantypename

Тип платежного средства

meansubtype

Подтип платежного средства

meannumber

Номер платежного средства

cardholder

Держатель платежного средства

cardexpirationdate

Срок действия карты

issuebank

Название банка-эмитента

bankcountry

Страна банка-эмитента

rate

Курс валюты

responsecode

Код возврата

message

Сообщение о результате операции

customermessage

Сообщение о результате для покупателя

recommendation

Рекомендация

approvalcode

Код авторизации

protocoltypename

Протокол

processingname

Процессинг

В качестве значения поля <meannumber> возвращаются первые 6 и последние 4 цифры номера карты, остальные цифры скрыты символом *.

Дополнительные параметры (для СПМ)

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

Дополнительно к основному списку параметров, передаваемых в режиме silentpay, магазин может передать следующие необязательные параметры:

Название

Принимаемые значения

Описание

HEADER_HTTP_USER_AGENT

Строковый (255 байт)

Заголовок http запроса USER-AGENT

HEADER_HTTP_ACCEPT

Строковый (255 байт)

Заголовок http запроса ACCEPT

HEADER_HTTP_ACCEPT_LANGUAGE

Строковый (128 байт)

Заголовок http запроса ACCEPT-LANGUAGE

HEADER_HTTP_REFERER

Строковый (255 байт)

Заголовок http запроса REFERER

HEADER_REMOTE_HOST

Строковый (16 символов)

Переменная окружения REMOTE_ADDRESS.

HEADER_HTTP_FORWARDED

Строковый (16 байт)

Заголовок http запроса FORWARDED

HEADER_HTTP_X_FORWARDED_FOR

Строковый (16 байт)

Заголовок http запроса FORWARDED-FOR

HEADER_HTTP_VIA

Строковый (128 байт)

Заголовок http запроса VIA

CLIENT_JS_VER

Строковый (16 символов)

при помощи JS

CLIENT_LOCAL_TIME

Строковый (128 символов)

при помощи JS

CLIENT_SCREEN_RES

Строковый (16 символов)

Screen.width + 'x' + screen.height

CLIENT_SCREEN_COLORS

Числовой (15)

Screen.pixelDepth

CLIENT_JS_BROWSER_NAME

Строковый (255 символов)

navigator.appName

CLIENT_TIME_ZONE

Числовой (5)

Временная зона в часах.

Формула перевода: (-GMT_H). Например, GMT +2 будет соответствовать значению -2.

CLIENT_COOKIES

Строковый (16 символов)


CLIENT_JAVA

Логическое (true, false)

navigator.javaEnabled()

CLIENT_STYLESHEETS

Логическое (true, false)

Document.stylesheet.disabled

CLIENT_BROWSER_PLATFORM

Строковый (64 символа)

navigator.platform

CLIENT_SYSTEM_LANGUAGE

Строковый (5 байт)

navigator.systemLanguage

CLIENT_BROWSER_LANGUAGE

Строковый (5 байт)

navigator. language

CLIENT_USER_LANGUAGE

Строковый (5 байт)

navigator. userLanguage

CLIENT_PROCESSOR

Строковый (16 символов)

navigator.cpuClass

CLIENT_CONNECTION

Строковый (16 символов)

navigator.connectionType

CLIENT_HOSTADDRESS

Строковый (16 символов)

Вычисленный на базе HOST_ADDRESS и DNS lookup

CLIENT_HOSTNAME

Строковый

(70 символов)

Переменная окружения HOST_ADDRESS


3D-Secure авторизация

Для магазинов, работающих по режиму silentpay, реализована возможность оплаты по картам, требующим 3D-Secure авторизации (в случае, если у магазина и процессинга выполнены соответствующие настройки).

При оплате картой, требующей авторизации по 3D-Secure, АПК Ассист возвращает код ответа (response_code) AS110. В пакет ответа по режиму silentpay добавляются также дополнительные поля pareq и acsurl для авторизации клиента по 3D-Secure.

Клиент должен быть перенаправлен на сайт банка-эмитента по адресу, указанному в параметре acsurl (acsurl - значение, полученное в пакете результата режима silentpay от АПК Ассист).

В форме должны содержаться следующие поля:

AcsUrl

Url банка-эмитента. Значение, полученное в пакете результата режима silentpay от АПК Ассист.

PaReq

Значение, полученное в пакете результата режима silentpay от АПК Ассист.

TermUrl

Url магазина для получения результата от банка эмитента.

MD

Идентификатор, по которому в дальнейшем связывается результат, полученный от банка, и заказ. Данное поле возвращается от банка эмитента.

Пример запроса HPPT POST к банку-эмитенту:

<FORM ACTION="acsurl - значение, полученное от АПК Ассист в пакете режима silentpay" method="POST">
<INPUT TYPE="hidden" NAME="PaReq" VALUE="pareq - значение, полученное от АПК Ассист в пакете режима silentpay ">
<INPUT TYPE="hidden" NAME="TermUrl" VALUE="url магазина для получения результата от банка-эмитента">
<INPUT TYPE="hidden" NAME="MD" VALUE="любые данные магазина">
<INPUT TYPE="submit" NAME="Submit_3DS" class="button" VALUE="Продолжить">
</FORM>

Банк-эмитент возвращает следующие поля:

PaRes   

Пакет результата

MD

Идентификатор, введенный ранее

Для продолжения процесса авторизации по 3D-Secure магазину необходимо передать в АПК Ассист пакет результата авторизации по 3D-Secure pares. Данная функциональность реализована в веб-сервисе get3DSec.

Get3DSec передача параметров авторизации карты по 3D-Secure

URL для передачи запроса:

https://<SERVER-NAME>/get3dsec/ws3dsec.cfm

Формат запроса и ответа SOAP, wsdl-описание сервиса доступно по URL:

https://<SERVER-NAME>/get3dsec/get3dsec.wsdl

Магазин должен отправить в АПК Ассист значение параметра pares, полученное в ответе от банка-эмитента. Для этого необходимо отправить запрос в формате SOAP.

Входные параметры:

Метод: send3dsparams

Параметр

Обязательное поле

Описание

merchant_id

Да

Идентификатор магазина в системе АПК Ассист

login

Да

Ваш логин

password

Да

Ваш пароль

ordernumber

Да

Номер заказа, для которого передаются параметры 3DS

pares

Да

Пакет результата по 3DS

language

Нет

Язык

Пример SOAP запроса:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<send3dsparams xmlns="urn:assist-processor">
<merchant_id>Идентификатор предприятия</merchant_id>
<login>Ваш логин</login>
<password>Ваш пароль</password>
<ordernumber>Номер заказа</ordernumber>
<language>Язык</language>
<pares>Значение, полученное в пакете результата от банка-эмитента</pares>
</send3dsparams>
<s:Body>
<s:Envelope>

Возвращаемая информация: пакет результата режима silentpay.

В случае возникновения ошибки:

<?xml version="1.0" encoding="windows-1251" standalone="no" ?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Fault>
<faultcode>Первый код</faultcode> 
<faultstring>Второй код</faultstring> 
<detail />
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Оплата с использованием токена

При проведении оплаты токеном Google Pay в браузере на стороне магазина выполняются следующие действия:


  1. Покупатель выбирает товары на сайте интернет-магазина и нажимает кнопку оплаты Google Pay (доступно в браузерах с поддержкой Payment Request API на мобильных устройствах).
  2. После нажатия кнопки оплаты через Google Pay осуществляется вызов Payment Request API и передача сертификата с публичным ключом Ассист.
  3. Открывается специальный диалог браузера, в котором можно выбрать одну из карт, привязанных в мобильном приложении Google Pay.
  4. После выбора карты покупателю предлагается приложить палец к считывателю для подтверждения платежа. 
  5. Приложение Google Pay формирует зашифрованный пакет с токеном и данными платежа и возвращает его скрипту страницы магазина.
  6. Зашифрованный пакет с токеном и данными платежа передается в сервис TokenPay АПК Ассист. 
  7. АПК Ассист расшифровывает пакет с токеном и данными платежа. 
  8. АПК Ассист проводит оплату токеном через процессинг расчётного банка одним из способов:

    -токеном, если покупатель использовал токенизированную карту;
    -как COF-операцию нетокенизированной картой, если это разрешено для предприятия и имеется соответствующий процессинг;
    -как ECOM- операцию нетокенизированной картой с переадресацией покупателя на страницу ввода CVC2 и/или дополнительной аутентификацией 3DSecure.
     
  9. АПК Ассист возвращает результаты проведения оплаты интернет-магазину.

При проведении оплаты токеном Apple Pay в браузере на стороне магазина выполняются следующие действия:

  1. Покупатель выбирает товары на сайте интернет-магазина и нажимает кнопку оплаты Apple Pay (доступно только в браузере Safari на платформе MacOS).
  2. После нажатия кнопки оплаты через Apple Pay осуществляется вызов Payment Request API и передача сертификата с публичным ключом мерчанта. Одновременно открывается специальный диалог, в котором можно будет выбрать одну из карт, привязанных в мобильном приложении Apple Pay.
  3. После выбора карты покупателю направляется PUSH уведомление на iPhone и предлагается приложить палец к считывателю для подтверждения платежа.
  4. Приложение Apple Pay формирует зашифрованный пакет с токеном и данными платежа и возвращает его скрипту страницы магазина.
  5. Зашифрованный пакет с токеном и данными платежа передается в сервис TokenPay АПК Ассист.
  6. АПК Ассист расшифровывает пакет с токеном и данными платежа.
  7. АПК Ассист проводит оплату токеном через процессинг расчётного банка.
  8. АПК Ассист возвращает результаты проведения оплаты интернет-магазину.

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

  • сделать заявку для подключения платёжных средств для оплаты токенами (Apple Pay, Google Pay) в службу технической поддержки АПК Ассист support@assist.ru;
  • интегрировать в код своей страницы:
    • для получения шифрованного пакета с токеном и данными платежа:
      • Payment Request API для Google Pay;
      • ApplePay JS API для Apple Pay;
    • для проведения оплаты – обращение к сервису TokenPay;
  • получить подтверждение от службы технической поддержки АПК Ассист о том, что все необходимые технические настройки для приёма платежей токенами при оплате товаров и услуг данному предприятию выполнены;
  • подготовиться к приему платежей:
  • при использовании Apple Pay создать и подписать сертификат Apple Pay для выполнения платежей с помощью соответствующего раздела в ЛК АПК Ассист;
  • при использовании Google Pay необходимо зарегистрироваться в Google Pay API, получить уникальный идентификатор для использования в качестве параметра MerchantID, установить значение «assist» для параметра gateway и указать allowedCardAuthMethods = ["CRYPTOGRAM_3DS"] для организации схемы шифрования пакета данных с токеном или allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"], если необходимо также принимать платежи сохраненными в учетной записи Google нетокенизированными картами.


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

Наверх