Можно ли использовать SagePay merchantSessionKeys и cardIdentifiers для предоставления конечным пользователям? - PullRequest
0 голосов
/ 11 июня 2019

В настоящее время я работаю над интеграцией SagePay на основе REST, используя комбинацию Django на бэкэнде и Vue / Nuxt на передней панели.

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

  1. Клиент отправляет запрос на мой бэкэнд-сервер для merchantSessionKey через распознаватель GraphQL.
  2. Бэкэнд-распознаватель графена использует секретный ключ интеграции торговца и пароль (хранящиеся в переменных среды), чтобы сделать пост-запрос для merchantSessionKey.и возвращает его во внешний интерфейс Vue.
  3. Пользователь заполняет форму кредитной карты (используя Собственная форма интеграции SagePay )
  4. Я использую данные карты для создания cardIdentifierчто я буду хранить в своем состоянии vuex и использовать позже для дальнейшей транзакции.

Безопасно ли это делать?Очевидно, что он будет защищен через https, и я правильно настрою CORS, когда все пойдет в производство, но технически я храню merchantSessionKey и cardIdentifier на компьютере конечного пользователя.

1 Ответ

0 голосов
/ 17 июля 2019

Оба истекают через 400 секунд и должны быть отправлены вместе в POST Регистрации Платежа, аутентифицированном вашим поставщиком / учетной записью IntegrationKey и IntegrationPassword с вашего сервера, IP-адрес которого внесен в белый список Sage Pay. MSK требуется для аутентификации вызова токенизации карты из браузера клиента в конечную точку Sage Pay. В результате вы получаете cardIdentifier / Token. Этот метод освобождает ваш сервер от информации о владельце карты, но все (MSK, Token, PAN и CV2) могут существовать в браузере клиента.

IntegrationKey и IntegrationPassword не могут быть сохранены в браузере клиента.

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

Я просмотрел его с помощью QSA

...