Отправка данных PCI через Node.js (авторизовать. net) - PullRequest
1 голос
/ 19 июня 2020

Клиент попросил меня настроить оплату картой через авторизацию. net. Однако я заметил, что node SDK не обновлялся в течение года, а их Node SDK упоминается только на некоторых из их страниц do c (так что у меня сложилось впечатление, что они не в центре внимания).

У меня многолетний опыт использования Braintree Payments и Stripe . У них обоих есть отличная поддержка Node, а также добавляемые / размещенные поля для React (интерфейс). Этот подход удалил с моего сервера большую часть требований соответствия PCI.

Однако мой клиент не может использовать Braintree или Stripe, потому что они продают ограниченные элементы, которые не разрешены ToS Braintree и Stripe. В настоящее время они используют Authorize. net и хотели бы, чтобы я продолжал поддерживать это на их новом веб-сайте.

Кажется, мой единственный вариант - напрямую отправить данные карты из моего интерфейса React на мой сервер Node API. Это доставляет мне дискомфорт. Как указано в руководстве Stripe по PCI , существует более 300 мер безопасности в PCI DSS, которые необходимо соблюдать при отправке данных PCI на серверы.

Вот пример их ввода кредитной карты на узел, взят из их примеров Репозиторий GitHub .

    var creditCard = new ApiContracts.CreditCardType();
    creditCard.setCardNumber('4242424242424242');
    creditCard.setExpirationDate('0822');
    creditCard.setCardCode('999');

    var paymentType = new ApiContracts.PaymentType();
    paymentType.setCreditCard(creditCard);

Мой вопрос:

  1. В 2020 году отправка данных карты через мою server больше с таким количеством провайдеров, предлагающих размещенные поля. Это обоснованное беспокойство?
  2. Нужно ли мне проверять мой код Node.js и соответствие PCI с помощью QSA ?

дополнительная ссылка:

Ответы [ 2 ]

0 голосов
/ 08 июля 2020

Эй, я считаю, что пакет accept. js будет тем, что вам нужно. https://developer.authorize.net/api/reference/features/acceptjs.html Обычно он берет одноразовый платежный код после получения вашего почтового запроса со стороны клиента и отправляет его на ваш сервер вместо формирования конфиденциальной кредитной карты. Я сам пытаюсь с этим работать. Может быть, мы могли бы сотрудничать. Я новичок в оплате узлов. Я разместил вопрос по этому поводу здесь. Я хотел бы автоматически запускать api со значениями c Dynami со стороны моего клиента через почтовый запрос с использованием файлов javascript. Как я могу этого добиться? дайте мне знать, если это поможет

0 голосов
/ 19 июня 2020

При написании этого вопроса я обнаружил, что у кого-то были такие же проблемы, как у меня, в PHP / Magento в другом переполнении стека post .

Использование авторизации. net s Принять. js вы можете отправлять платежные реквизиты напрямую на их серверы и использовать одноразовый платеж (например, Braintree / Stripe) вместо реквизитов карты.

Принять. js - это JavaScript библиотека для отправки данных безопасного платежа непосредственно в Authorize. Net. Принять. js собирает данные о платеже и отправляет их напрямую нам в обмен на одноразовый токен или одноразовый идентификатор платежа. Вы можете использовать этот одноразовый номер платежа вместо платежных данных в последующем вызове API createTransactionRequest.

Наша библиотека JavaScript предлагает разработчикам два варианта рабочего процесса для приема платежей:

  • Вариант 1. Разместите свою собственную платежную форму для решения PCI-DSS SAQ A-EP, которое дает вам полный контроль над процессом оплаты клиентов. страницу для сбора информации о карте в соответствии с требованиями PCI-DSS SAQ A. Информацию о полностью размещенном платежном решении, которое вы можете перенаправить своих клиентов или встроить в iFrame на своей странице, см. В нашей документации по Accept Hosted.
...