Интеграции CMS, CRM и ERP Опубликовано 29 июня 2026 г. 8 мин чтения

Оплата в Bitrix24 и amoCRM в Армении: счета, статусы и webhooks

CRM должна видеть не только факт оплаты, но и понятный платежный статус, ссылку на счет, provider reference и историю повторных попыток.

Оплата в Bitrix24 и amoCRM в Армении: счета, статусы и webhooks

Ключевые темы

Оплата в Bitrix24 и amoCRM в Армении: счета, статусы и webhooksИнтеграции CMS, CRM и ERPинтеграция оплаты с CRMоплата по ссылке из CRMWooCommerce payment gateway ArmeniaOpenCart vPOS ArmeniaERP платежи

Связанные публичные страницы

Если нужен не только разбор, а страница продукта, API или операционного сценария, начните с этих разделов VPOS.am.

CRM не должна быть платежным провайдером

Bitrix24, amoCRM или Kommo удобны для менеджеров, но финальный платежный статус должен приходить из server-side проверки.

CRM deal -> Payment backend
Deal or invoice triggers payment request; backend owns provider status, webhook verification and final sync.

Частая ошибка - считать, что CRM сама может быть источником истины по оплате. Менеджер создал сделку, отправил ссылку, клиент перешел на оплату, но финальное состояние должно подтверждаться backend: через проверенный webhook, provider reference и повторную проверку статуса.

CRM в этом сценарии хранит бизнес-контекст: сделку, счет, клиента, менеджера, комментарии и задачи. Платежный слой хранит попытку оплаты, статус, сумму, валюту, время, request id и техническую историю. Так поддержка видит картину целиком, а бухгалтерия получает пригодные данные для сверки.

  • не обновлять сделку только по redirect клиента;
  • хранить provider reference рядом с CRM invoice/deal id;
  • разделять created, pending, paid, failed, expired и refunded;
  • логировать повторную отправку payment link менеджером.

Как проектировать статусы сделок и счетов

CRM-статусы должны помогать менеджеру, а не повторять все технические статусы провайдера один в один.

Normalized CRM statuses
Payment attempt statuses are mapped to manager-friendly deal stages and exception tasks.

Для CRM полезнее нормализованный набор статусов: ожидает оплаты, оплачен, ошибка оплаты, истек срок, нужен ручной review, частичный возврат, полный возврат. Внутри backend может хранить больше технических деталей, но менеджеру нужен короткий список действий.

Отдельно нужно описать правила переходов. Например, failed не должен закрывать счет навсегда, если клиент может повторить попытку. Pending не должен отправлять товар или услугу. Refunded не должен удалять историю оплаты из сделки.

  • связать payment attempt с конкретным счетом или сделкой;
  • создавать задачу менеджеру только для исключений;
  • не перетирать paid случайным старым webhook;
  • показывать paidAt, amount, currency и provider reference.

Что учитывать в webhooks и повторных попытках

CRM API может отвечать с задержками и лимитами, поэтому синхронизация оплаты должна быть идемпотентной и повторяемой.

Webhook -> queue -> CRM update
Verified event goes through idempotent processing, retry queue, audit log and CRM update.

Webhook от платежного провайдера может прийти повторно, прийти раньше redirect или прийти в момент, когда CRM API временно недоступен. Поэтому обработчик должен проверять подпись, сохранять событие, применять idempotency key и обновлять CRM через контролируемую очередь.

Если обновление CRM не прошло, платеж нельзя терять. Нужно оставить внутренний paid-статус, записать ошибку синхронизации, повторить операцию и показать оператору исключение только после нескольких неуспешных попыток.

  • проверять подпись или server-side статус провайдера;
  • делать CRM update идемпотентным;
  • повторять временные ошибки API;
  • хранить audit trail по ручным исправлениям.

FAQ

Можно ли обновлять сделку в CRM сразу после перехода клиента на success page?

Нет. Success page полезна для клиента, но CRM лучше обновлять после server-side проверки платежа или доверенного webhook. Redirect может быть закрыт, повторен или открыт без финального статуса.

Что делать, если CRM API недоступен во время оплаты?

Платежный backend должен сохранить финальный статус, поставить CRM-синхронизацию в retry и показать исключение оператору, если повторные попытки не прошли.

Нужно ли менеджеру видеть все технические статусы провайдера?

Обычно нет. Менеджеру нужен нормализованный статус и понятное действие. Технические детали лучше хранить в audit trail и платежной карточке.