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

Обновить оплату CRM

PATCH /v1/crm-payments/:id

Меняет платёжную систему оплаты CRM или её отметку «оплачена»: ставит отметку или снимает её.

Поля передаются плоско в корне JSON, без обёртки fields.

Параметры

Параметр Тип Обяз. Описание
id (path) number да ID оплаты. Список оплат объекта: GET /v1/crm-payments

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

Поле Тип Обяз. Описание
paid boolean нет true — поставить отметку «оплачена», false — снять её
paySystemId number нет ID существующей платёжной системы. Список: GET /v1/pay-systems. Значение 0 отклоняется, как и ID несуществующей системы

Передайте хотя бы одно из двух полей. Сумма оплаты складывается из позиций, напрямую её не задать.

Примеры

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/crm-payments/565" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "paySystemId": 3 }'

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/crm-payments/565" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "paySystemId": 3 }'

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

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

const { data } = await res.json()
console.log('Платёжная система:', data.paySystemName)

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

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

const { data } = await res.json()

Поля ответа

Возвращается оплата после изменения.

Поле Тип Описание
success boolean true при успехе
data.id number ID оплаты
data.accountNumber string Номер оплаты: номер связанного заказа и порядковый номер оплаты через /
data.paid string Отметка оплаты: Y — оплачена, N — нет
data.datePaid string | null Время последней отметки «оплачена», ISO 8601 со смещением часового пояса. null, если отметки не было
data.empPaidId number | null ID сотрудника, который последним отметил оплату. Список: GET /v1/users
data.paySystemId number ID платёжной системы. Список: GET /v1/pay-systems
data.sum number Сумма оплаты
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": 3,
    "sum": 0,
    "currency": "RUB",
    "paySystemName": "Банковский перевод (Контакты)"
  }
}

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

400 — paid передан не логическим значением:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "paid must be a boolean."
  }
}

Ошибки

HTTP Код Описание
400 MISSING_REQUIRED_FIELDS Тело не передано, не объект или пустой объект {}
400 READONLY_FIELD В теле есть поле кроме paid и paySystemId
400 INVALID_PARAMS paid не логическое значение, например строка "Y", или paySystemId отрицательный или не целое число
400 INVALID_ID id не положительное целое число
404 ENTITY_NOT_FOUND Оплаты с таким id нет
422 BITRIX_ERROR Платёжной системы с таким paySystemId нет, в том числе при 0 — сообщение Payment system has not been found
422 BITRIX_ERROR Битрикс24 отклонил запрос, причина — в error.message
422 BITRIX_NO_EFFECT Битрикс24 не подтвердил изменение
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 — Ошибки.

Известные особенности

paid в запросе и в ответе разного типа. В теле запроса paid — логическое значение true или false, в ответе — строка Y или N.

paid работает так же, как отметка и её снятие. paid: true ставит отметку, как POST /v1/crm-payments/:id/pay, paid: false снимает её, как POST /v1/crm-payments/:id/unpay. Повторный paid: true для оплаты с отметкой «оплачена» не меняет datePaid. Отметка не переводит деньги, но может запустить автоматизации, письмо или онлайн-чек.

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