# LiqPay + Krokul CRM

Так. Krokul CRM інтегрується з LiqPay. З угоди Krokul формує сторінку оплати LiqPay з order_id угоди, а колбек LiqPay на server_url після перевірки підпису проводить планову оплату фактом. Зв’язку будують через API і вебхуки Krokul.

**Статус:** Через API і вебхуки.

## Що отримує команда

### Сторінка оплати LiqPay з картки угоди

Менеджер натискає «Посилання на оплату» в угоді. Krokul складає checkout LiqPay з action pay, сумою й валютою планової оплати, описом і order_id, що веде на угоду, підписує data приватним ключем магазину й дає клієнту посилання на сторінку оплати.

### Колбек success проводить оплату

Після оплати LiqPay надсилає на server_url поля data і signature. Krokul перевіряє підпис, декодує data, знаходить угоду за order_id і для статусу success проводить план фактом. Подія `payment.received` іде в облік, а повне покриття рахунку дає `invoice.paid`.

### Один payment_id, одна оплата

Krokul зберігає payment_id LiqPay як зовнішній ключ оплати. Повторний колбек з тим самим payment_id знаходить уже проведену оплату й другого факту не створює.

### Повернення видно в угоді

Колбек зі статусом reversed означає, що LiqPay повернув гроші. Krokul записує повернення в угоду, зменшує оплачене й лишає запис у стрічці, щоб бухгалтер бачив причину розбіжності з рахунком.

### Невдала спроба не губиться

Статуси failure і error лишають оплату плановою, а в стрічці угоди з’являється запис про невдалу спробу. Менеджер бачить, що клієнт пробував платити, і може запропонувати інший спосіб.

## Що передається між системами

| LiqPay | Krokul | Напрям | Коли |
|---|---|---|---|
| Checkout: action pay, amount, currency, description, order_id, server_url | Планова оплата угоди | Krokul → LiqPay | Менеджер створює посилання на оплату |
| Колбек на server_url зі статусом success | Оплата-факт угоди, подія `payment.received` | LiqPay → Krokul | Клієнт оплатив |
| payment_id | Зовнішній ключ оплати | LiqPay → Krokul | Під час першого колбека |
| Колбек зі статусом reversed | Повернення в угоді, запис у стрічці | LiqPay → Krokul | Після повернення коштів |
| Колбек зі статусом failure або error | Запис про невдалу спробу, план лишається відкритим | LiqPay → Krokul | Оплата не пройшла |

## Як підключити сьогодні

### Власний потік через API і вебхуки Krokul

1. Скопіюйте public_key і private_key з налаштувань API магазину в кабінеті LiqPay, а в Krokul випустіть ключ API зі scope на угоди й оплати.
2. Ваш обробник складає checkout LiqPay з action pay, сумою, order_id угоди та server_url, що веде на нього ж, і підписує data приватним ключем.
3. На колбек зі статусом success обробник звіряє signature, проводить оплату через `payment/api-create` з `cardUuid` угоди й прив’язує payment_id LiqPay до оплати через `externalRef/api-set`.
4. Підпишіть вебхук Krokul на `payment.received` та `invoice.paid`, щоб облік дізнавався про гроші. Доставка несе заголовок `x-crm-signature`, і ваш приймач перевіряє його секретом.

### Для інтеграторів

Посилання LiqPay створюється й через публічний API Krokul. Роут `payment/api-link` приймає угоду й суму, а параметр `provider` зі значенням `liqpay` додається, коли валюту приймають кілька провайдерів. payment_id LiqPay доступний як зовнішній ключ `externalRef`, а подія `payment.received` приходить підписаним вебхуком із журналом доставок і повторною відправкою.

[Документація API](https://app.krokul.com/api/v1/docs)

## Питання й відповіді

### Як Krokul перевіряє колбек LiqPay?

Krokul рахує base64 від хешу рядка private_key + data + private_key, як описано в документації LiqPay. Колбек без правильного підпису Krokul відхиляє й нічого не проводить.

### Як не записати одну оплату LiqPay двічі?

Krokul зберігає payment_id як зовнішній ключ оплати. Повторний колбек з тим самим payment_id другого факту не створює.

### Що бачить менеджер, якщо оплата LiqPay не пройшла?

Запис у стрічці угоди зі статусом LiqPay. Планова оплата лишається відкритою, і менеджер може надіслати нове посилання.

## Обмеження

Повернення коштів і скасування оплати робиться в кабінеті LiqPay або через його API, а Krokul отримує результат колбеком зі статусом reversed. Регулярні платежі й донати (дії subscribe і paydonate) лишаються в LiqPay, а для оплати угоди Krokul використовує дію pay.

## Пов’язані сервіси

- [monobank](https://krokul.com/uk/integrations/monobank/index.md)
- [WayForPay](https://krokul.com/uk/integrations/wayforpay/index.md)
- [NovaPay](https://krokul.com/uk/integrations/novapay/index.md)
- [ПриватБанк](https://krokul.com/uk/integrations/privatbank/index.md)
- [Checkbox](https://krokul.com/uk/integrations/checkbox/index.md)

[Платежі й банки (Україна)](https://krokul.com/uk/integrations/category/payments-ua/index.md)

LiqPay є торговою маркою її власника. Krokul не афілійований із LiqPay.

Оновлено: 2026-10-12

---

Застосунок: https://app.krokul.com/ · API: https://app.krokul.com/api/v1/docs
