Скрипт checkout

Checkout — скрипт, который прописывается на вашем сайте, собирает из указанной формы карточные данные и составляет из них криптограмму для оплаты через наш API.


Криптограмма формируется алгоритмом RSA с длиной ключа в 2048 бит и удовлетворяет стандарту по защите карточных данных. При соблюдении описанных ниже требований карточные данные к вам не попадают, но ваш сервер всё равно влияет на их безопасность.

Требования
Требования к форме:
  • Должна работать по HTTPS соединению с валидным SSL сертификатом.
  • На полях не должно быть атрибута "name" — это предотвращает попадание карточных данных на сервер при отправке формы.
  • Поле для ввода номера карты должно поддерживать ввод от 14 до 19 цифр
Требования к криптограмме:
  • Должна формироваться только оригинальным скриптом checkout, загруженным с адресов системы.
  • Криптограмму нельзя хранить после оплаты и использовать повторно.
Требования к безопасности по PCI DSS:

С точки зрения PCI DSS, подобный способ подключения классифицируется как "E-commerce merchants who outsource all payment processing to PCI DSS validated third parties, and who have a website(s) that doesn’t directly receive cardholder data but that can impact the security of the payment transaction. No electronic storage, processing, or transmission of any cardholder data on the merchant’s systems or premises.", то есть обработка платежных данных выполняется третьей стороной, но сайт влияет на безопасность карточных данных.


Для соблюдения требований стандарта, необходимо заполнять лист самооценки SAQ-EP и ежеквартально проходить ASV тестирование.

Подробнее про соответствие требованиям PCI читайте в разделе PCI DSS.

Установка
Для создания криптограммы необходимо прописать на странице с платежной формой скрипт checkout
Создать форму для ввода карточных данных
Поля ввода карточных данных должны быть помечены атрибутами:
  • data-cp="cardNumber" — поле с номером карты
  • data-cp="expDateMonthYear" — поле со сроком действия в формате MMYY
  • data-cp="expDateMonth" — поле с месяцем срока действия
  • data-cp="expDateYear" — поле с годом срока действия
  • data-cp="cvv" — поле с кодом CVV
Прописать скрипт для создания криптограммы

Отправить криптограмму и имя держателя карты на сервер и вызывать метод оплаты через API
Пример платежной формы

Для заполнения формы используйте тестовый номер карты 4925 0000 0000 0087, остальные данные — произвольные.