Ключи платёжного API хранят на сервере в переменных окружения или в хранилище секретов, а не в коде, репозитории и не в мессенджерах. Ключ даёт право создавать платежи от имени магазина, поэтому утечка равнозначна доступу к деньгам.
Где хранить
- Переменные окружения на сервере — минимально достаточный вариант.
- Хранилище секретов — если инфраструктура сложнее одного сервера.
- Не в репозитории. Даже приватный репозиторий — не место для ключей: доступ к нему шире, чем кажется, а история хранит всё.
- Не в браузере. Секретный ключ не должен попадать в клиентский код ни при каких условиях.
Кто должен иметь доступ
Доступ к ключам нужен приложению и одному-двум ответственным людям, а не всей команде. Разработчик, менеджер и подрядчик по рекламе не должны видеть один и тот же секрет.
Отдельно стоит закрыть личный кабинет: права сотрудников там тоже стоит ограничивать по задачам.
Что делать при подозрении на утечку
- Выпустите новый ключ и переключите на него приложение.
- Отзовите старый.
- Проверьте операции за период, когда ключ мог быть скомпрометирован.
- Разберитесь, как он утёк, — иначе история повторится.
Смежное
Никогда не собирайте у себя номера карт: это отдельное требование, о нём — в ответе что такое PCI DSS. Проверка подписи входящих уведомлений описана в ответе что такое вебхук.