Создать карточный токен в Stripe через Java - PullRequest
0 голосов
/ 11 июня 2018

Я хочу использовать Stripe.com на стороне сервера.Когда я пытаюсь создать токен карты с помощью

curl https://api.stripe.com/v1/tokens \
   -u sk_test_qMabFX3j5ApELqUH8mEy6NDp: \
   -d card[number]=4242424242424242 \
   -d card[exp_month]=12 \
   -d card[exp_year]=2019 \
   -d card[cvc]=123

или с помощью

Stripe.apiKey = "sk_test_qMabFX3j5ApELqUH8mEy6NDp";

Map<String, Object> tokenParams = new HashMap<String, Object>();
Map<String, Object> cardParams = new HashMap<String, Object>();
cardParams.put("number", "4242424242424242");
cardParams.put("exp_month", 6);
cardParams.put("exp_year", 2019);
cardParams.put("cvc", "314");
tokenParams.put("card", cardParams);

Token.create(tokenParams);

, я вижу сообщение на своей панели инструментов: «Мы видели nnn запросов в последнем m дней с необработанными номерами кредитных карт "

Мои вопросы: 1) Могу ли я безопасно использовать Java API для создания токена карты?Если да, то как избежать таких сообщений?2) Или я должен использовать для этого элементы Stripe и один из их скриптов?

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

ВОПРОС 1 :

Можно ли безопасно использовать API Java для создания токена карты?Если да, как избежать таких сообщений?

ОТВЕТ:

Да, но для этого требуется наивысший уровень разрешения вместо SAQ A вам нужна SAQ D проверка.

Процесс проверки: https://stripe.com/docs/security#validating-pci-compliance (выберите вкладку " API Direct ")

Резюме:

  • Ваши транзакции должны быть защищены как физически, так и в коде, и отвечать всем требованиям (зашифрованная информация о карте через Интернет, защищенное соединение Wi-Fi, документация, если вы храните данные карты и т. Д..)
  • Вам необходимо заполнить этот PDF-файл и ежегодно загружать в Stripe: https://www.pcisecuritystandards.org/documents/PCI-DSS-v3_2_1-SAQ-D_Merchant.pdf
  • Ваше приложение должно соответствовать стандарту PCI DSS и должно быть заполнено в приведенной выше форме и иметь версии.: https://www.pcicomplianceguide.org/faq/
  • Если вы получаете более 6 миллионов транзакций в год, вы должны заполнять этот PDF один раз в год: https://www.pcisecuritystandards.org/documents/PCI-DSS-v3_2_1-ROC-Reporting-Template.pdf
  • Как я понимаю, это также должно удалить сообщение вПолосная панель приборов, на которую вы ссылаетесь.
  • Stripe's Radarфункциональность не будет работать

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

Создание токена: https://stripe.com/docs/api/tokens/create_card

Создание сбора:https://stripe.com/docs/api/charges/create


ВОПРОС 2 :

Или я должен использовать для этого элементы Stripe и один из их скриптов?

ОТВЕТ:

Нет, вам не нужно.Только если вам нужно более быстрое решение с более низким уровнем разрешений и меньшим количеством проблем, вы можете использовать предварительно созданные сценарии элементов Stripe.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

Использование Stripe.js v2 (не JAVA, а Javascript), чтобы самостоятельно собирать информацию о карте и создавать токен, требуется SAQ A-EP, для которого требуется более низкий уровень разрешений, чем у API с SAQ D. См. https://www.pcisecuritystandards.org/documents/PCI-DSS-v3_2_1-SAQ-A_EP.pdf

Но использование Stripe.js v2 без элемента устарело: https://stripe.com/docs/stripe-js/v2

Stripe.js v2 deprecation

Так что я не знаю, удалит ли это предупреждение системы безопасности на приборной панели ифункциональность может быть удалена позже. Таким образом, самый безопасный путь, если вам требуется самостоятельно обрабатывать информацию о карте, - это подтверждение SAQ D и ежегодное заполнение форм. (Для магазина на веб-сайте это не требуется, и вам следует использовать Elements,но для пользовательских аппаратных интеграций, таких как терминалы, сканеры NFC и т. д., это может быть самый простой / единственный способ, если вам нужно интегрировать себя).

0 голосов
/ 11 июня 2018

Если вы создаете токены карты на стороне сервера в Java, это означает, что ваши серверы получили необработанные данные карты.Даже если вы не сохраняете информацию в своей базе данных, вы все равно попадаете под более высокий уровень соответствия PCI, что будет большой работой, чтобы соответствовать.

Вместо этого вы должны токенизировать на стороне клиента, используя Элементы или Оформить заказ .Это позволит вам безопасно создать токен карты на стороне клиента и затем отправить этот токен на ваш сервер.Это также позволит вам попасть под SAQ-A, который является самым простым уровнем для соответствия PCI.Вы можете прочитать больше о различиях в документах Stripe здесь .

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