Сервис токенизации банковских карт Платежного шлюза GateLine

Сервис токенизации данных банковских карт платежного шлюза GateLine предназначен:

  • Для преобразования (токенизации) данных карт их обезличенными эквивалентам (Токенами)
  • Для преобразования Токена карты в данные карты

Сервис позволяет проводить токенизация следующих полей карточных данных:

  • Номер банковской Карты
  • Срок действия Карты
  • Код карты

Данный модуль располагается в контуре платежного шлюза GateLine, соответствующей требованиями PCI DSS SAQ A-EP. Ввод и отображение карточных данных осуществляется на платежной форме GateLine в среде PCI DSS.

Взаимодействие с Сервисом осуществляется:

  • Через iframe, размещенного в web-приложении пользователя для передачи/получения открытых карточных данных
  • Через API GateLine при использовании токенизированных карточных данных.

Общая схема информационного взаимодействия пользователя с Сервисом представлена на рис. ниже.

1. Подготовительные мероприятия

Для использования Сервиса токенизации Вам необходимо:

  • Заключить договора с компанией ООО “ОНЭЛИЯ ПРО”.
  • После регистрации Клиента в Платежном шлюзе GateLine вам будут направлены данные для проведения интеграции (MerchantId и др.).
  • Разместить на вашем web-приложении следующий Скрипт:

2. Токенизация карточных данных

2.1   Создание платежной формы

Для того, чтобы Скрипт SecureFields мог создать  в web-приложении Клиента области (iframes) для ввода номера карты и кода СVV в необходимом месте, создайте пустые элементы DOM и присвойте им уникальные идентификаторы.

Пример:

  • card-number-placeholder
  • cvv-placeholder

<form>
<div>
<div>
<label for="card-number-placeholder">Card Number</label>
<!-- card number container -->
<div id="card-number-placeholder" style="width: 250px;"></div>
</div>
<div>
<label for="cvv-placeholder">Cvv</label>
<!-- cvv container -->
<div id="cvv-placeholder" style="width: 90px;"></div>
</div>
<button type="button" id="go">Get Token!</button>
</div>
</form>

2.2.   Сохранение данных карт и получение идентификатора транзакции токенизации

Для сохранения данных карт в Сервисе для токенизации Вам необходимо:

  • Создать объект Secure Fields:

var secureFields = new SecureFields();
// Multiple instances might be created and used independently:
// e.g. var secureFields2 = new SecureFields();

  • Инициализируйте его с использованием вашего MerchantId и определить контейнеры для вставки Iframes:

secureFields.initTokenize( "1100007006", {
cardNumber: "card-number-placeholder",
cvv: "cvv-placeholder"                });

Дополнительно можете передать поля со сроком действия карты (expm, expy).

  • Отправить форму и подписаться на получения идентификатора транзакции для токенизации:

$(function() {
$("#go").click( function() {
secureFields.submit({ // submit the "form"
expm: 12,
expy: 26
});
});
});
secureFields.on("success", function(data) {
if(data.transactionId) {
// transmit data.transactionId and the rest
// of the form to your server
}
});

2.3.   Получение Токена карты

Для получения токенов ранее сохраненных данных карты используется вызов API методом с передачей идентификатора токенизации транзакции:

​​POST https://glproxy.dev.gateline.ru/v1/tokenizations/{transactionId}

В ответ метод возвращает тонизирование данные карты.

Пример:
{
"paymentMethod": "VIS",
"alias": "7LHXscqwAAEAAAGCq4LyxV20zPAFABWx",
"fingerprint": "F-dV5V8dE0SZLoTurWbq2HZp",
"maskedCard": "424242xxxxxx4242",
"aliasCVV": "ISlRs6QoSOyzdFl8t-hiW_-4",
"expiryYear": "25",
"expiryMonth": "06",
}

2.4.   Токенизация данных карт через API

Сервис позволяет получать данные карт для токенизации и через API.

Для проведения взаимодействия через API предусматриваются следующие процедуры:

  • Определяется схема данных, направляемых через API в Сервис, включая ответные данные (в этих схемах данных определяются поля, которые могут содержать номера карт и CVV)
  • В Сервисе создается Endpoint, уникальный для каждой схемы данных (unique PCI Proxy Endpoint). Параметры данных Endpoint предоставляются Клиенту. Есть возможность организовать предоставление параметров Endpoint для Партнеров Клиента, включая схему «White Label» через доменное имя Клиента.
  • В web-приложении Клиента создается конечный Endpoint для получения токенизированных данных, получаемых от Сервиса.

Пример:

Запрос для токенизации:
{"paymentMethod":{"paymentMode":"CREDIT_CARD","numberToken":"4012001037141112","cvvToken":321,"holderName":"Awe And","expiration":"12/2026"}

Передача информации с результатами токенизации:
{"paymentMethod":{"paymentMode":"CREDIT_CARD","numberToken":"7LHXscqwAAEAAAGGdZG-AIdBQYndAAyF","cvvToken":"hxM4pl5dSqubdfCgYyDfDyAq","holderName":"Awe And","expiration":"12/2026"}

PUSH-метод HTTPS фильтра:
POST https://glproxy.dev.gateline.ru/v1/push/{uniquePushKey}

uniquePushKey - уникальный идентификатор интеграции

3. Детокенизация карточных данных

Сервис позволяет отображать данные ранее токенизированной карты в web-приложении

Процесс детокенизация начинается с получения через API идентификатора транзакции детокенизации “transactionId” на основе передаваемого в Сервис Токена Карты.

Получение  transactionId осуществляется вызовом API метода POST /v1/transactions/secureFields/show с передачей в теле запроса "alias” и "aliasCVV” ранее токенизированной карты. В ответ метод возвращает, для примера: {"transactionId": "pY8Pt-lWIpkDECioNQVFJvNifCeM"}, который ограничен сроком жизни в 30 минут и может быть использован один раз.

Отображение карточных данных в определенных полях осуществляется в iframe скриптом SecureFields.

Для инициализации инстанса используется идентификатор транзакции детокенизации  “transactionId”, полученный ранее (п. 1.1).

Пример инициализации скрипта:

<script>
window.addEventListener('load', function() {
let secureFields = new SecureFields();
secureFields.init(
transactionId,
{
// Любые валидные селекторы
cardNumber: {
placeholderElementId: '#card_number_container'
},
cvv:  {
placeholderElementId: '#cvv_container'
}
}
);
// для отображения событий можно использовать
secureFields.on("ready", function(result) {
console.log(result);
});
secureFields.on("error", function(result) {
console.log(result);
});
});
</script>

4. Информационная безопасность

Для Клиентов, использующих Сервис, необходимо обеспечивать безопасность платежных данных, подтверждением чего является аттестат соответствия требованиям PCI DSS (самооценка  PCI DSS ).Для ввода и отображения чувствительных данных применяется скрипт SecureFields и iframe, что исключает контакт этих данных с сервером Клиента. Однако при этом, платежные данные после выполнения условий детокенизации отображаются пользователю,  и предъявляет требования к обеспечению безопасной работы с карточными данными и аутентификации пользователей. Подтверждением выполнения требований является аттестат соответствия требованиям PCI DSS (самооценка  PCI DSS ). Самооценка PCI DSS может проводиться Клиентами самостоятельно или с привлечением внешних аудиторов.

Gateline
УЛ. АВИАКОНСТРУКТОРА МИКОЯНА, Д. 12 125252 МОСКВА
+7 (499) 302-36-12 sales@gateline.ru