Встановлення IBAN Link для KeepinCRM
Сервіс встановлюється самостійно. Програмне забезпечення безкоштовне; хостинг і банківські комісії залежать від постачальника. Перевірте умови тарифів перед запуском.
Варіант 1: Vercel і Neon
- Створіть PostgreSQL у Neon та отримайте pooled connection string.
- Імпортуйте репозиторій сервісу у Vercel або використайте кнопку Deploy у README. Задайте DATABASE_URL, APP_URL, SESSION_SECRET, OWNER_PASSWORD, WEBHOOK_ISSUE_SECRET та WEBHOOK_PAYMENT_SECRET. Секрети мають бути різними та випадковими.
- Запустіть розгортання. Конфігурація проєкту виконує міграції після складання. Відкрийте адресу сервісу зі шляхом /login.
Умови Vercel Hobby обмежують комерційне використання; перевірте актуальні тарифи.
Варіант 2: Docker або Coolify
Для Docker клонуйте репозиторій, виконайте npm ci і npm run secrets -- --write, задайте DOMAIN і APP_URL у .env, потім виконайте docker compose up -d --build. Для Coolify використайте compose.coolify.yaml, налаштуйте змінні та спрямуйте домен на web:3000, не на migrate. Налаштуйте резервне копіювання.
Отримувач і KeepinCRM
У кабінеті додайте отримувача з реквізитами та ключем. У KeepinCRM створіть поле посилання і список отримувачів із точно такими самими ключами. Налаштуйте два вихідні вебхуки: створення посилання з Response $.payment_url та фіксацію оплати з фінансів. Перевірте обидві операції на тестовій угоді та активуйте інтеграцію в кабінеті.
Покрокове підключення KeepinCRM
- Переконайтеся, що тариф KeepinCRM підтримує тригери. У кабінеті IBAN Link додайте отримувача, збережіть реквізити та налаштування підключення, залишивши інтеграцію вимкненою.
- У налаштуваннях додаткових полів угод створіть текстове поле для посилання та список отримувачів. Значення списку мають точно збігатися з ключами отримувачів у кабінеті, включно з регістром і пробілами.
- Створіть вихідний webhook для угод: POST на
/api/webhooks/keepincrm/issue, Content-Typeapplication/json, заголовок Authorization із Bearer та значеннямWEBHOOK_ISSUE_SECRET. Умова — перехід на обраний етап оплати. Використайте JSON-шаблон із кабінету; вкажіть системну назву поля отримувача з префіксомcustom_fields.. У Response зіставте поле посилання з$.payment_url. - Створіть другий webhook для таблиці «Фінанси»: POST на
/api/webhooks/keepincrm/payment, той самий Content-Type і окремий Bearer-секретWEBHOOK_PAYMENT_SECRET. Умова —created_at, Response залиште порожнім; використайте JSON-шаблон із кабінету. Передається накопичена сума оплат угоди, а не сума одного платежу. - В одній тестовій угоді оберіть отримувача та переведіть її на етап оплати. Переконайтеся, що в угоду записано тестову адресу
/integration-check. Створіть у тій самій угоді проведений вхідний платіж у UAH і перевірте обидва тестові записи в розділі «Події». - У розділі підключення підтвердіть перевірку й увімкніть інтеграцію, позначивши обидва прапорці одночасно, потім збережіть налаштування. Запланований платіж (
planned: true) не закриває посилання; пізніша зміна його статусу не запускає webhook створення повторно.