Що таке API-ключ і як його безпечно зберігати
API-ключ — секретний рядок, яким ваш сервер підтверджує сервісу, що запит надсилає саме він і від імені саме вашого проєкту.
Коли ваш сайт чи бот створює платіж, він звертається до API платіжного шлюзу і передає ключ — зазвичай у заголовку Authorization. Сервіс за ключем визначає проєкт і права. Фактично ключ — це пароль для програм: хто ним володіє, той може діяти від вашого імені в межах дозволеного.
Тому API-ключ ніколи не повинен потрапляти на клієнт. Його не можна вбудовувати в JavaScript на сайті, у мобільний застосунок, у публічний репозиторій чи в скриншоти документації. Він має жити лише на сервері — у змінних оточення чи менеджері секретів — і використовуватися тільки з бекенду.
Добра практика — розділяти ключі: окремі для тестового і робочого середовищ, окремі для різних сервісів, за можливості з мінімальними правами. Тоді витік одного ключа не відкриває доступ до всього. Корисно також періодично перевипускати ключі та видаляти невикористовувані. Не передавайте ключ підрядникам у месенджері: краще створити для них окремий ключ і відкликати його після завершення робіт.
Якщо ключ потрапив у публічний доступ — одразу відкличте його в кабінеті і створіть новий, а потім перевірте журнал операцій. Особливо небезпечні ключі з правом виплат, тому сервіси додають до них другий рівень захисту — підтвердження виплат 2FA, білий список адрес чи IP.
У Moonvex ключі створюються в розділі «Інтеграція», webhook можна перевірити тестовою подією, а виплати додатково підтверджуються двофакторною автентифікацією, тож одного ключа недостатньо, щоб вивести кошти.