Page History
Table of Contents |
---|
1. Основные особенности оплаты токеном
Оплата токеном - это технология оплаты в магазинах и интернете с помощью некоторых мобильных устройств, основные производители которых предоставляют средства для проведения платежей через систему токенизации, например, Apple Pay, Samsung Pay или Google Pay.
Возможны 4 варианта проведения оплаты:
- Оплата через платёжный терминал, при этом мобильное устройство прикладывается к считывателю банковских карт аналогично прикладыванию карт с поддержкой бесконтактной оплаты. Такие платежи проводятся как POS транзакции.
- Оплата по кнопке, встроенной в мобильное приложение магазина (InApp схема). Такие платежи проводятся как ECOM транзакции.
- Оплата в браузере (Web схема), при этом получение шифрованного пакета с платёжными данными и токеном выполняется на стороне платёжных страниц АПК Ассист. Такие платежи проводятся как ECOM транзакции.
- Оплата в браузере (Web схема), при этом получение шифрованного пакета с платёжными данными и токеном выполняется на странице интернет-магазина. Такие платежи проводятся как ECOM транзакции.
Ассист предоставляет возможности организовать приём платежей токенами по всем 4 вариантам. Однако, отдельные провайдеры токенов поддерживают не все варианты проведения платежей. В таблице ниже представлены возможные варианты организации платежей токенами с использованием разных провайдеров.
...
Провайдер токена
...
POS оплата
...
Оплата по кнопке в мобильном приложении (InApp)
...
Оплата в браузере на стороне АПК Ассист (Web)
...
Оплата в браузере на стороне магазина (Web)
...
Apple Pay
...
Через приложение Assist.mPOS + считыватель карт
...
С использованием Assist.SDK для iOS
или
Apple Pay SDK + сервис TokenPay
...
Поддерживается только при платеже в браузере Safari на платформе MacOS
...
Только в браузере Safari на платформе MacOS, используя примеры работы с ApplePay JS API с сайта разработчиков Apple Pay и сервис TokenPay
...
Samsung Pay
...
Через приложение Assist.mPOS+ считыватель карт
...
С использованием Samsung Pay SDK + сервис TokenPay
...
Через интеграцию с платежными страницами АПК Ассист или из мобильного приложения через WebView
...
Не поддерживается со стороны Samsung Pay
...
Google Pay*
...
Через приложение Assist.mPOS+ считыватель карт
...
С использованием Google Pay API + сервис TokenPay
...
Платеж на мобильном устройстве, через браузер с поддержкой Payment Request API при переходе на платежную страницу Ассист с сайта магазина или из мобильного приложения магазина через WebView.
...
При платеже на мобильном устройстве, через браузер с поддержкой Payment Request API: используя примеры кода по работе с Payment Request API на сайте разработчиков Google и сервис TokenPay
*В настоящий момент в рамках Google Pay поддерживается оплата только токенизированной картой (ранее такой метод оплаты имел название Android Pay). Оплата привязанными к аккаунту Google картами невозможна в связи с ограничениями банков.
Таким образом, для разработчиков мобильных приложений доступны следующие варианты проведения оплаты:
Для Apple Pay:
- с использованием Assist SDK для iOS; (через WebView) — для оплаты по кнопке на платежной странице АПК Ассист;
- с использованием Assist.SDK для iOS – для оплаты по кнопке в приложении;
- с использованием Apple Pay SDK + сервис TokenPay - для оплаты по кнопке в приложении.
Для Google Pay:
...
Для Samsung Pay: только оплата по кнопке на платежной странице АПК Ассист:
- с использованием Samsung Pay SDK + сервис TokenPay — для оплаты по кнопке в приложении
- с использованием Assist SDK для Android (через WebView) — для оплаты по кнопке на платежной странице АПК Ассист.
Для приёма платежей токенами на web-сайте магазина доступны следующие варианты:
Для Google Pay: только при открытии платёжной страницы на мобильном устройстве в браузере с поддержкой Payment Request API:
- по кнопке на платежной странице АПК Ассист;
- с использованием Payment Request API браузера и сервис TokenPay.
Для Samsung Pay:
- по кнопке на платежной странице АПК Ассист.
Для Apple Pay только при открытии платёжной страницы в браузере Safari на платформе MacOS::
- по кнопке на платежной странице АПК Ассист;
- с использованием ApplePay JS API и сервиса TokenPay
Оплата токеном через кнопку в мобильном приложении (InApp)
Apple Pay
При проведении оплаты токеном по кнопке в мобильном приложении выполняются следующие действия:
- Покупатель выбирает товар или услугу в мобильном приложении магазина и нажимает кнопку оплатить Оплатить.
- Зашифрованный пакет с данными платежа и токеном формируется через обращение к SDK соответствующего провайдера: Apple Pay , Samsung Pay или Google Pay API.
- SDK провайдера проводит Apple Pay проводит необходимою авторизацию платежа покупателем на мобильном устройстве (PIN/отпечаток пальца).
- Зашифрованный пакет с данными платежа и токеном передается в сервис оплаты TokenPay на стороне АПК Ассист.
- АПК Ассист расшифровывает пакет и проводит платеж токеном.
- АПК Ассист возвращает результаты проведения оплаты в мобильное приложение.
...
Если в мобильном приложении предприятия (магазина) SDK Assist не используется, то для создания шифрованного пакета с данными о платеже необходимо использовать соответствующий SDK – Apple Pay SDK для IOS или Google Pay API для Android. Созданный шифрованный пакет с данными о платеже затем должен передаваться в АПК Ассист через сервис TokenPay.
Для организации приема платежей через кнопку в мобильном приложении нужно выполнить следующие подготовительные шаги:
- сделать заявку для подключения к функционалу сервиса обработки платежей TokenPay в службу технической поддержки АПК Ассист support@assist.ru;
- внедрить в свое приложение поддержку оплаты заказов токеном, используя Assist SDK, SDK Apple Pay, Google Pay API или Samsung Pay SDK вместе Pay вместе с обращением к сервису TokenPay;
- получить подтверждение от службы технической поддержки АПК Ассист о том, что все необходимые технические настройки для функционирования сервиса обработки платежей TokenPay при оплате товаров и услуг данному предприятию выполнены;
- подготовиться к приему платежей :при использовании Apple Pay - создать и подписать сертификат Apple Pay для выполнения платежей с помощью соответствующего раздела в ЛК АПК Ассист;.
- при использовании Google Pay для организации схемы шифрования пакета данных с токеном следует применять публичный ключ Public Key: 'BElVf3z1PE68riWbP0YRp4vC+0MuNbd6pqVAe1uHBHYGJvzZonlkVAp5CEEp2EEUswS7hS1y0RyNB3SR2FVExDQ=' и идентификатор мерчанта MerchantID:'16590966430175452581';
- при использовании Samsung Pay создать и подписать сертификат Samsung Pay для выполнения платежей с помощью соответствующего раздела в ЛК АПК Ассист;.
Google Pay
Samsung Pay:
https://<SERVER_NAME>/pay/tokenpay.cfm ,
где <SERVER_NAME> - адрес сервера который предоставляется службой поддержки Ассист в процессе подключения.
Список параметров запроса:
...
Название
...
Обязательное поле
...
Принимаемые значения
...
Значение по умолчанию
...
Описание
...
Да
...
Число
...
Идентификатор предприятия в системе АПК Ассист
...
Login
...
Да
...
8 - 20 символов
...
Логин учетной записи в АПК Ассист (лат. буквы и цифры, символ _)
...
Да
...
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 символов
...
Отчество покупателя
...
...
Да
...
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
Список параметров ответа:
...
Название
...
Значение
Google Pay
При проведении оплаты токеном по кнопке в мобильном приложении выполняются следующие действия:
- Покупатель выбирает товар или услугу в мобильном приложении магазина и нажимает кнопку Оплатить.
- Зашифрованный пакет с данными платежа и токеном формируется через обращение к SDK Google Pay API.
- SDK Google Pay проводит необходимою авторизацию платежа покупателем на мобильном устройстве (PIN/отпечаток пальца).
- Зашифрованный пакет с данными платежа и токеном передается в сервис оплаты TokenPay на стороне АПК Ассист.
- АПК Ассист расшифровывает пакет и проводит платеж токеном.
- АПК Ассист возвращает результаты проведения оплаты в мобильное приложение.
Если в мобильном приложении предприятия (магазина) SDK Assist не используется, то для создания шифрованного пакета с данными о платеже необходимо использовать Google Pay API для Android. Созданный шифрованный пакет с данными о платеже затем должен передаваться в АПК Ассист через сервис TokenPay.
Для организации приема платежей через кнопку в мобильном приложении нужно выполнить следующие подготовительные шаги:
- сделать заявку для подключения к функционалу сервиса обработки платежей TokenPay в службу технической поддержки АПК Ассист support@assist.ru;
- внедрить в свое приложение поддержку оплаты заказов токеном, используя Assist SDK, Google Pay API вместе с обращением к сервису TokenPay;
- получить подтверждение от службы технической поддержки АПК Ассист о том, что все необходимые технические настройки для функционирования сервиса обработки платежей TokenPay при оплате товаров и услуг данному предприятию выполнены;
- подготовиться к приему платежей - необходимо зарегистрироваться в Google Pay API, получить уникальный идентификатор для использования в качестве параметра MerchantID, установить значение «assist» для параметра gateway и указать значение параметра allowedCardAuthMethods = ["CRYPTOGRAM_3DS"] для организации схемы шифрования пакета данных с токеном или allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"], если необходимо также принимать платежи сохраненными в учетной записи Google нетокенизированными картами.
Samsung Pay
При проведении оплаты токеном по кнопке в мобильном приложении выполняются следующие действия:
- Покупатель выбирает товар или услугу в мобильном приложении магазина и нажимает кнопку Оплатить.
- Зашифрованный пакет с данными платежа и токеном формируется через обращение к SDK Samsung Pay API.
- SDK Samsung Pay проводит необходимою авторизацию платежа покупателем на мобильном устройстве (PIN/отпечаток пальца).
- Зашифрованный пакет с данными платежа и токеном передается в сервис оплаты TokenPay на стороне АПК Ассист .
- АПК Ассист расшифровывает пакет и проводит платеж токеном.
- АПК Ассист возвращает результаты проведения оплаты в мобильное приложение.
Если в мобильном приложении предприятия (магазина) SDK Assist не используется, то для создания шифрованного пакета с данными о платеже необходимо использовать Samsung Pay SDK для Android. Созданный шифрованный пакет с данными о платеже затем должен передаваться в АПК Ассист через сервис TokenPay.
Для организации приема платежей через кнопку в мобильном приложении нужно выполнить следующие подготовительные шаги:
- сделать заявку для подключения к функционалу сервиса обработки платежей TokenPay в службу технической поддержки АПК Ассист support@assist.ru;
- внедрить в свое приложение поддержку оплаты заказов токеном, используя Assist SDK, Samsung Pay SDK вместе с обращением к сервису TokenPay;
- получить подтверждение от службы технической поддержки АПК Ассист о том, что все необходимые технические настройки для функционирования сервиса обработки платежей TokenPay при оплате товаров и услуг данному предприятию выполнены;
- подготовиться к приему платежей - создать и подписать сертификат Samsung Pay для выполнения платежей с помощью соответствующего раздела в ЛК АПК Ассист.
Mir Pay
При проведении оплаты токеном по кнопке в мобильном приложении выполняются следующие действия:
- Покупатель выбирает товар или услугу в мобильном приложении магазина и нажимает кнопку Оплатить.
- Зашифрованный пакет с данными платежа и токеном формируется через обращение к SDK Mir Pay API.
- SDK Mir Pay проводит необходимою авторизацию платежа покупателем на мобильном устройстве (PIN/отпечаток пальца).
- Зашифрованный пакет с данными платежа и токеном передается в сервис оплаты TokenPay на стороне АПК Ассист.
- АПК Ассист расшифровывает пакет и проводит платеж токеном.
- АПК Ассист возвращает результаты проведения оплаты в мобильное приложение.
Если в мобильном приложении предприятия (магазина) SDK Assist не используется, то для создания шифрованного пакета с данными о платеже необходимо использовать Mir Pay SDK для Android. Созданный шифрованный пакет с данными о платеже затем должен передаваться в АПК Ассист через сервис TokenPay.
Для организации приема платежей через кнопку в мобильном приложении нужно выполнить следующие подготовительные шаги:
- сделать заявку для подключения к функционалу сервиса обработки платежей TokenPay в службу технической поддержки АПК Ассист support@assist.ru;
- внедрить в свое приложение поддержку оплаты заказов токеном, используя Assist SDK, Mir Pay SDK вместе с обращением к сервису TokenPay;
- получить подтверждение от службы технической поддержки АПК Ассист о том, что все необходимые технические настройки для функционирования сервиса обработки платежей TokenPay при оплате товаров и услуг данному предприятию выполнены;
- подготовиться к приему платежей - получить сертификат Mir Pay для выполнения платежей с помощью соответствующего раздела в ЛК АПК Ассист.
Диаграмма оплаты по токену
...
Параметры заказа
...
ordernumber
...
Номер заказа
...
billnumber
...
Уникальный номер заказа в системе АПК Ассист
...
testmode
...
Тестовый режим
...
ordercomment
...
Комментарий
...
orderamount
...
Оригинальная сумма заказа
...
ordercurrency
...
Оригинальная валюта заказа
...
firstname
...
Имя плательщика
...
lastname
...
Фамилия плательщика
...
middlename
...
Отчество плательщика
...
...
Email плательщика
...
...
Дата заказа по Гринвичу (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
...
...
Тип операции
...
...
Состояние операции
...
amount
...
Сумма операции
...
currency
...
Валюта операции
...
ipaddress
...
IP-адрес плательщика
...
clientip
...
IP-адрес совершившего операцию
...
meantype_id
...
ID платежного средства
...
...
Тип платежного средства
...
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 | ||
---|---|---|
| ||
{"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"
} |
...
- Покупатель выбирает товар в приложении магазина.
- Покупатель подтвердил заказ.
- Заказ сформирован на сервере магазина.
- Покупатель подтвердил оплату токеном в приложении.
- Сервер магазина получает заказ для оплаты.
- Зашифрованная платежная информация с токеном отправляется в систему АПК Ассист.
- АПК Ассист расшифровывает пакет с токеном и данными платежа.
- АПК Ассист проводит авторизацию (оплату) в Банкебанке-эквайере.
- Осуществление межбанковской транзакции.
- Банк-эквайер возвращает результат оплаты.
- АПК Ассист возвращает результат оплаты на сервер магазина.
- Результат оплаты отображается в приложении магазина.
- АПК Ассист отправляет фискальные данные на сервер магазина.
- АПК Ассист отправляет электронный чек покупателю с помощью Email и/или СМС.
Дополнительно можно ознакомиться с вариантами организации платежей токенами с использованием разных провайдеров.