Разработчикам/Запуск

Безопасность

С вашим API-ключом можно тратить деньги из кошелька и читать коды карт. Берегите его и полученные коды так же, как банковские реквизиты и наличные.

См. также: Аутентификация · Вебхуки · Sandbox

#Ваши секреты

СекретПочему это важноГде хранить
API-ключ (cvb2b_...)Любой, у кого он есть, может оформлять заказы и читать коды.В менеджере секретов, только на серверах
Секрет вебхука (whsec_...)Подтверждает, что вебхук действительно пришёл от CardV.Только на сервере, который принимает вебхуки
Пароли от кабинетаOwner может создавать и открывать ключи.В менеджере паролей, с 2FA
  • Храните ключи только на своих серверах. Никогда не вставляйте их в приложения, браузер, URL, репозитории кода, заявки, чаты и письма.
  • Заведите отдельный ключ для каждой системы, чтобы отключить один, не останавливая остальные.
  • Ограничьте круг тех, кто может прочитать ключ. Меняйте ключ, когда уходит сотрудник с доступом.
  • Если ключ мог утечь, сразу отключите его в кабинете. Затем создайте новый и сообщите в поддержку CardV.
  • Включите двухэтапную проверку (2FA) для каждого Owner в кабинете.

#Коды и данные покупателей

GET/orders/{order_id} с API-ключом возвращает полные коды, готовые к использованию. Это номера карт, PIN-коды, защитные коды, данные QR и ссылки для активации. В заказе также повторяются данные вашего покупателя для пополнения (inputs).

  • Никогда не пишите в лог ответы по заказам, коды, ссылки для активации и inputs покупателей. Вместо этого записывайте ID: order_id, external_order_id, sku_id и HTTP-статус.
  • Никогда не пишите в лог заголовки X-Api-Key, X-Signature и X-CardV-Signature.
  • Храните коды в зашифрованном виде. Читать их должен только процесс, который выдаёт коды покупателям. Удаляйте их, когда истечёт ваш срок хранения.
  • Не кешируйте ответы по заказам в общих кешах, CDN и системах мониторинга. Отключите запись тел запросов и ответов для вызовов CardV.
  • redeem_url — это и есть код. Защищайте его как PIN-код.

#Сеть

  • Обращайтесь только к b2b.cardv.net и sandbox.cardv.net и только по HTTPS. Никогда не отключайте проверку сертификатов.
  • В рабочей среде используйте список разрешённых IP. Он ограничит ущерб, если ключ утечёт. Обновляйте его, когда меняются ваши серверы.
  • Проверяйте подпись каждого вебхука, отклоняйте устаревшее время и пропускайте дубликаты. Не закрывайте адрес вебхука авторизацией: доказательство подлинности — это подпись.

#Сотрудники и доступ

  • Давайте каждому пользователю кабинета минимальную роль, которой ему достаточно: Viewer — чтобы смотреть, Manager — чтобы заказывать и пополнять кошелёк, Owner — чтобы управлять безопасностью.
  • Удаляйте ушедших сотрудников из кабинета — и в Live, и в Sandbox.

#Журнал аудита

Журнал аудита в кабинете (для Owner) фиксирует действия, связанные с безопасностью: создание и открытие ключей, изменения списка разрешённых IP и секретов вебхуков. CardV также записывает заблокированные IP, ошибки подписи и превышения лимита запросов, а при подозрительной активности оповещается команда CardV.

Регулярно просматривайте журнал аудита. Любое неожиданное открытие ключа считайте возможной утечкой.

#Как сообщить о проблеме

Если вы подозреваете утечку ключа, мошеннические заказы или уязвимость на стороне CardV, сразу напишите на [email protected]. Укажите свой Merchant ID и номера заказов. Сами секреты никогда не присылайте.

Вопросы по интеграции? Напишите на [email protected], указав ваш Merchant ID и ID заказа или запроса.