Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

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

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

...

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

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

Для магазинов, работающих по режиму 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

Anchor
4
4

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

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

...

Code Block
languagexml
<?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>

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

2.1. Оплата токеном в браузере на стороне магазина

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


Image Added

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

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

Image Added

  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 для организации схемы шифрования токена следует применять публичный ключ Public Key: 'BElVf3z1PE68riWbP0YRp4vC+0MuNbd6pqVAe1uHBHYGJvzZonlkVAp5CEEp2EEUswS7hS1y0RyNB3SR2FVExDQ=' и идентификатор мерчанта MerchantID:'16590966430175452581'.

Anchor
tokenpay
tokenpay

2.2. Передача платежной информации TokenPay

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

URL запроса для передачи зашифрованного блока данных о платеже:

https://<SERVER_NAME>/pay/tokenpay.cfm ,

где <SERVER_NAME> - адрес сервера который предоставляется службой поддержки Ассист в процессе подключения.

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

Название

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

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

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

Описание

Merchant_ID

Да

Число


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

Login

Да

8 - 20 символов


Логин учетной записи в АПК Ассист (лат. буквы и цифры, символ _)

Password

Да

8 - 20 символов


Пароль учетной записи в АПК Ассист (лат. буквы и цифры)

OrderNumber

Да

128 символов


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

OrderAmount

Да

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


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

OrderCurrency

Нет

3 символа

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

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

OrderComment

Нет

256 символов


Комментарий

Delay

Нет

0 – одностадийный механизм работы

1- двустадийный механизм

0

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

Language

Нет

RU - русский,

EN - английский

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

Язык квитанции об оплате

ClientIP

Нет

Максимум 15 цифр, 4 разделителя «.»


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

TokenType

Нет

1 – Apple Pay;

2 – Google Pay;

3 – Samsung Pay

1

Идентификатор типа платежного токена

PaymentToken

Нет

JSON


Платежный токен

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

Нет

4 – SOAP
5 – JSON

5

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

Signature

Нет

строка


Формируется строка, сшитая из следующих параметров заказа:

Merchant_ID;OrderNumber;OrderAmount;OrderCurrency, разделенных точкой с запятой.

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

RecurringIndicator

Нет

1 –

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

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

0

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

RecurringMinAmount

Нет/Да

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


Минимальная сумма рекуррентных платежей.

Обязателен при RecurringIndicator = 1

RecurringMaxAmount

Нет/Да

Число, 15 цифр

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


Максимальная сумма рекуррентных платежей.

Обязателен при RecurringIndicator = 1

RecurringPeriod

Нет/Да

Число, 10 цифр


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

Обязателен при RecurringIndicator = 1

RecurringMaxDate

Нет/Да

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


Дата окончания рекуррентных платежей.

Обязателен при RecurringIndicator = 1

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

Название

Значение

Параметры заказа

ordernumber

Номер заказа

billnumber

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

testmode

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

ordercomment

Комментарий

orderamount

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

ordercurrency

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

firstname

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

lastname

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

middlename

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

Email

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

orderdate

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

orderstate

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

packetdate

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

signature

  • для типа подписи MD5 – пусто;
  • · для типа PGP – значение X, подписанное закрытым ключом АПК Ассист, закодированное в BASE64.

checkvalue

uppercase(md5(uppercase(md5(SALT) + md5(Х)))), где SALT – секретное слово; Х – результат строковой склейки параметров merchant_id, ordernumber, orderamount, ordercurrency, orderstate (без разделителей), + -строковая склейка

Параметры операции

billnumber

Расширенный формат billnumber

operationtype

Тип операции

operationstate

Состояние операции

amount

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

currency

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

ipaddress

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

clientip

IP-адрес совершившего операцию

meantype_id

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

meantypename

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

meansubtype

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

meannumber

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

cardholder

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

issuebank

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

bankcountry

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

responsecode

Код возврата

message

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

customermessage

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

recommendation

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

approvalcode

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

protocoltypename

Протокол

processingname

Процессинг

operationdate

Дата и время операции (GMT)

authresult

Результат аворизации по 3DSecure (Y - успешно, N - неуспешно, A - Attempt, U – неизвестно)

authrequired

Результат проверки вовлеченности карты (1 – вовлечена, 0 – не вовлечена, -1 – неизвестно, null – ошибка при определении вовлеченности)

slipno

Номер финансовой транзакции, отправляемый в процессинг

Warning

Внимание! В рамках одного заказа может быть проведено несколько операций (оплаты, подтверждения оплаты, отмены). Более того, в рамках одного заказа может быть несколько операций оплаты, если некоторые из них были неуспешными. Успешная операция оплаты заказа может быть только одна. В этих случаях в ответе на запрос о результатах операций по номеру заказа может быть несколько вложенных операций для одного номера заказа.

Warning

Внимание! В полученном ответе необходимо проверить значение параметра testmode. Если платеж был выполнен в тестовом режиме (testmode=1), то отгружать товар или оказывать услугу по текущему заказу не требуется.

Пример результата запроса в формате JSON:

Code Block
languagexml
{"order":
{
    "ordernumber":"26012015_4"
    ,"billnumber":"5899110210668265"
    ,"testmode":"0"
    ,"ordercomment":"тестовый платеж"
    ,"orderamount":"24.00"
    ,"ordercurrency":"RUB"
    ,"firstname":""
    ,"lastname":""
    ,"middlename":""
    ,"email":""
    ,"orderdate":"26.01.2015 17:25:39"
    ,"orderstate":"Timeout"
    ,"fraud_state":""
    ,"fraud_reason":""
    ,"checkvalue":"85C6C974AADC1CADFCFD195730ED090B"
    ,"operations":[
{"billnumber":"5899110210668265.1"
,"operationtype":"100"
,"operationstate":"TimeOut"
,"amount":"24.00"
,"currency":"RUB"
,"clientip":"10.20.10.85"
,"ipaddress":"0.0.0.0"
,"meantype_id":"61"
,"meantypename":"SamsungPay"
,"meansubtype":""
,"meannumber":""
,"cardholder":""
,"issuebank":"UNKNOWN"
,"bankcountry":"UNKNOWN"
,"responsecode":"AS200"
,"message":"Data input timeout."
,"customermessage":"Data input timeout."
,"recommendation":""
,"approvalcode":""
,"protocoltypename":"NET"
,"processingname":""
,"operationdate":"26.01.2015 17:25:39"
,"authresult":""
,"authrequired":""
,"slipno":""}
]
}
,"packetdate":"26.01.2015 18:16:19"
}

Диаграмма оплаты по токену

  1. Покупатель выбирает товар в приложении магазина.
  2. Покупатель подтвердил заказ.
  3. Заказ сформирован на сервере магазина.
  4. Покупатель подтвердил оплату токеном в приложении.
  5. Сервер магазина получает заказ для оплаты.
  6. Зашифрованная платежная информация с токеном отправляется в систему Ассист.
  7. Ассист расшифровывает пакет с токеном и данными платежа.
  8. Ассист проводит авторизацию (оплату) в Банке-эквайере. 
  9. Осуществление межбанковской транзакции.
  10. Банк-эквайер возвращает результат оплаты.
  11. Ассист возвращает результат оплаты на сервер магазина.
  12. Результат оплаты отображается  в приложении магазина.
  13. Ассист отправляет фискальные данные на сервер магазина.
  14. Ассист отправляет электронный чек покупателю с помощью Email и/или СМС.