Интеграция с платформой

В этом подразделе представлены ответы на вопросы о подключении к платформе и настройке и тестировании различной функциональности.

Рис. 1. Для чего нужен PCI DSS и как ему соответствовать?

Payment Card Industry Data Security Standard (PCI DSS) — это стандарт по надлежащей защите данных платёжных карт. Он разработан Советом по стандартам безопасности индустрии платёжных карт (PCI SSC) и устанавливает требования для всех организаций, применяющих в своей деятельности обработку, хранение или передачу данных платёжных карт. Соблюдать требования этого стандарта обязаны все стороны, задействованные в проведении платежей с использованием платёжных карт — без соблюдения этих требований проводить такие платежи нельзя.

Чтобы подтверждать соответствие требованиям PCI DSS и иметь возможность проводить платежи с использованием платёжных карт, со стороны мерчанта необходимо своевременно предоставлять соответствующие документы платёжным системам (таким как Visa, Mastercard и Amex), напрямую или через провайдеров. Разные платёжные системы могут предъявлять разные требования к таким документам, в том числе с учётом фактов компрометации данных и прочих факторов, поэтому необходимость предоставления конкретным мерчантом тех или иных документов рассматривается индивидуально.

В случаях с платёжными системами Visa и Mastercard документы о соответствии PCI DSS следует предоставлять Benker. К таким документам относятся:

  • Для всех мерчантов — отчёт о результатах ASV-сканирования.

    Эти сканирования должны выполняться авторизованными поставщиками (PCI SSC Approved Scanning Vendor, ASV) ежеквартально, а также после каждого значительного изменения сетевой инфраструктуры.

  • Для мерчантов с количеством операций более 6 миллионов в год (уровня 1) — аттестат соответствия (Attestation of Compliance, AOC).
  • Для мерчантов с количеством операций до 6 миллионов в год (уровней 2, 3 и 4) — опросный лист (Self-Assessment Questionnaire, SAQ).

    С вопросами о правилах заполнения опросных листов можно обращаться к курирующему менеджеру Benker.

После проверки всех требуемых документов можно проводить платежи с использованием карт этих платёжных систем — об этом, как и об истечении сроков действия отдельных документов, мерчанта оповещает курирующий менеджер Benker.

В случаях с другими платёжными системами, как правило, документы о соответствии PCI DSS следует предоставлять напрямую этим платёжным системам, но можно уточнять необходимость их предоставления Benker у курирующего менеджера.

Рис. 2. Куда отправлять запросы?

Платёжная платформа Benker устроена таким образом, что для каждого из её интерфейсов используется свой базовый адрес.

Это важно учитывать в тех случаях, когда, например, для одних действий используется Payment Page, а для других — Gate. А для получения через Data API информации о балансе средств после проведения этой выплаты — запрос на третий адрес: https://data.benker.io/v1. Такое изобилие адресов, конечно, может вызвать путаницу, но всё-таки мы верим, что оно вполне поддаётся пересчёту и осмыслению.

Информация о базовых адресах, структурах запросов и прочих особенностях каждого из интерфейсов нашей платформы представлена в описании работы с этими интерфейсами, а полный список адресов для программных и пользовательских действий выглядит следующим образом:

  • https://api.benker.io для взаимодействия через Gate. Например, адрес для запроса на получение статуса платежа выглядит как https://api.benker.io/v2/payment/status. Подробная информация о работе с запросами к Gate API представлена в разделе Формат запроса.
  • https://paymentpage.benker.io для взаимодействия через Payment Page. Например, GET-запрос на проведение платежа выглядит как GET /payment?payment_currency=EUR&project_id=42&payment_amount=1000&... HTTP/1.1 Host: https://paymentpage.benker.io. Подробная информация о работе с запросами к Payment Page API представлена в разделе Формат запроса.
  • https://data.benker.io/v1 для взаимодействия через Data API. Например, адрес для запроса на получение балансов выглядит как https://data.benker.io/v1/balance/get. Подробная информация о работе с запросами к Data API представлена в разделе Использование Data API для Dashboard.
  • dashboard.benker.io для доступа сотрудников мерчантов к веб-интерфейсу Dashboard.
Рис. 3. В чём различия между платежом и операцией?

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

Операция в контексте платформы — это однократное действие над денежными средствами в рамках проведения платежа. Для проведения одного платежа, с учётом его специфики, могут требоваться как одна, так и множество операций, но в любом случае такое разделение помогает контролировать расчёты на уровне цельных историй-платежей и конкретных действий-операций.

Для каждого платежа в платформе используется его идентификатор (payment_id), который задаётся со стороны мерчанта, передаётся в запросах в платёжную платформу и однозначно идентифицирует платёж в рамках проекта. Такие идентификаторы могут состоять из цифр, букв латинского алфавита и других символов в кодировке UTF-8 и не должны превышать 255 знаков: например, payment-123 или cosmoshop.sale_456. При получении корректного запроса в платформе регистрируется платёж и инициируется выполнение операции по этому платежу. Каждой операции в платформе присваивается идентификатор (operation_id), уникальный в рамках платформы. Эти идентификаторы передаются в оповещениях и отображаются в интерфейсе Dashboard.