Для AI-агентов: markdown этой страницы — /docs-content/entities/crm-payments.md индекс документации — /llms.txt

Оплаты CRM

Оплаты объекта CRM, например сделки: создание оплаты, наполнение её товарами из товарных строк объекта, отметка «оплачена» и её снятие.

Битрикс24 API: crm.item.payment.* Скоуп: crm

Создать оплату CRM

POST /v1/crm-payments

Создаёт пустую оплату для объекта CRM, например сделки: без позиций, с нулевой суммой и без отметки «оплачена».

Товары в оплату добавляются следующим шагом — позициями оплаты. Поля передаются плоско в корне JSON, без обёртки fields.

Поля запроса (body)

Поле Тип Обяз. Описание
entityTypeId number да Тип объекта CRM. Для сделки — 2
entityId number да ID объекта CRM. Для сделки — ID из GET /v1/deals
paySystemId number нет ID платёжной системы, неотрицательное целое. Список: GET /v1/pay-systems. Если не передан или равен 0, платёжная система назначается автоматически, её ID придёт в ответе

Сумму и отметку оплаты при создании задать нельзя.

Примеры

curl — личный ключ

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/crm-payments" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "entityTypeId": 2, "entityId": 8761, "paySystemId": 1 }'

curl — OAuth-приложение

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/crm-payments" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "entityTypeId": 2, "entityId": 8761, "paySystemId": 1 }'

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm-payments', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ entityTypeId: 2, entityId: 8761, paySystemId: 1 }),
})

const { data } = await res.json()
console.log('ID оплаты:', data.id, 'номер:', data.accountNumber)

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm-payments', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ entityTypeId: 2, entityId: 8761, paySystemId: 1 }),
})

const { data } = await res.json()

Поля ответа

HTTP-статус успешного ответа — 201.

Поле Тип Описание
success boolean true при успехе
data.id number ID созданной оплаты
data.accountNumber string Номер оплаты: номер связанного заказа и порядковый номер оплаты через /, например 1029/2
data.paid string Отметка оплаты, у новой оплаты — N
data.datePaid null У новой оплаты — null
data.empPaidId null У новой оплаты — null
data.paySystemId number ID платёжной системы — переданный или назначенный автоматически. Список: GET /v1/pay-systems
data.sum number Сумма оплаты, у новой оплаты — 0
data.currency string Код валюты. Список: GET /v1/currencies
data.paySystemName string Название платёжной системы
meta.readbackUnavailable boolean Приходит только со значением true, когда оплата создана, а перечитать её не удалось. Тогда data содержит только id. Повторять создание не нужно — получите оплату по этому id

Пример ответа

JSON
{
  "success": true,
  "data": {
    "id": 565,
    "accountNumber": "1029/2",
    "paid": "N",
    "datePaid": null,
    "empPaidId": null,
    "paySystemId": 1,
    "sum": 0,
    "currency": "RUB",
    "paySystemName": "Банковский перевод (Компании)"
  }
}

Пример ответа при ошибке

400 — paySystemId отрицательный или не целое число:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "paySystemId must be a non-negative integer."
  }
}

Ошибки

HTTP Код Описание
400 MISSING_REQUIRED_FIELDS Не передан entityTypeId или entityId, либо значение не положительное целое
400 READONLY_FIELD В теле есть поле кроме entityTypeId, entityId и paySystemId
400 INVALID_PARAMS paySystemId отрицательный или не целое число
404 ENTITY_NOT_FOUND Объекта CRM с таким entityTypeId и entityId нет
422 BITRIX_NO_EFFECT Оплата не создана, например платёжной системы с таким paySystemId нет. Новой оплаты у объекта при этом не появляется
422 BITRIX_ERROR У объектов CRM этого типа нет оплат, например у лида с entityTypeId равным 1. Сообщение — Для данной сущности функционал создания оплат недоступен
422 BITRIX_ERROR Битрикс24 отклонил запрос, причина — в error.message
403 BITRIX_ACCESS_DENIED У пользователя ключа нет доступа к объекту CRM или оплате в Битрикс24
403 WRITE_BLOCKED_READONLY_KEY Ключу запрещена запись
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 TOKEN_MISSING API-ключ не имеет настроенных токенов
401 MISSING_API_KEY Не передан X-Api-Key

Полный список общих ошибок API — Ошибки.

Смотрите также