Поля оплаты
GET /v1/payments/fields
Возвращает схему полей оплаты: типы, флаги только-для-чтения, список агрегируемых полей.
Примеры
curl — личный ключ
curl "https://vibecode.bitrix24.tech/v1/payments/fields" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl "https://vibecode.bitrix24.tech/v1/payments/fields" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/payments/fields', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { data } = await res.json()
console.log('Поля оплаты:', Object.keys(data.fields))
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/payments/fields', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id |
number | Идентификатор оплаты (только чтение) |
orderId |
number | Идентификатор заказа. Источник: `GET /v1/orders` |
paySystemId |
number | Идентификатор платёжной системы. Узнать ID можно из существующих оплат: `GET /v1/payments` или `POST /v1/payments/aggregate` с groupBy: "paySystemId" |
paySystemName |
string | Название платёжной системы (только чтение, заполняется из карточки платёжной системы) |
paySystemIsCash |
boolean | Принимает ли платёжная система наличные (только чтение) |
paySystemXmlId |
string | Внешний идентификатор платёжной системы для синхронизации (только чтение) |
sum |
number | Сумма оплаты |
currency |
string | Валюта оплаты. Список: `GET /v1/currencies` |
paid |
boolean | Помечена ли оплата как поступившая |
datePaid |
datetime | Дата отметки оплаты |
empPaidId |
number | Сотрудник, отметивший оплату (только чтение). Источник: `GET /v1/users` |
comments |
string | Комментарий к оплате |
accountNumber |
string | Порядковый номер оплаты на портале (только чтение) |
dateBill |
datetime | Дата выставления счёта |
datePayBefore |
datetime | Срок оплаты |
xmlId |
string | Внешний идентификатор для синхронизации |
responsibleId |
number | Ответственный сотрудник. Источник: `GET /v1/users` |
empResponsibleId |
number | Сотрудник, ответственный за оплату (только чтение). Источник: `GET /v1/users` |
dateResponsibleId |
datetime | Дата назначения ответственного сотрудника (только чтение) |
isReturn |
string | Признак возврата: "N" обычная оплата, "Y" возврат, "P" частичный возврат |
marked |
boolean | Помечена ли оплата как проблемная |
reasonMarked |
string | Причина пометки |
empMarkedId |
number | Сотрудник, поставивший пометку (только чтение). Источник: `GET /v1/users` |
dateMarked |
datetime | Дата пометки оплаты как проблемной (только чтение) |
psStatus |
string | Статус оплаты по данным платёжной системы |
psStatusCode |
string | Код статуса от платёжной системы |
psStatusDescription |
string | Описание статуса от платёжной системы |
psStatusMessage |
string | Сообщение от платёжной системы |
psSum |
number | Сумма оплаты по данным платёжного шлюза |
psCurrency |
string | Валюта оплаты по данным платёжного шлюза |
psResponseDate |
datetime | Дата ответа платёжного шлюза |
psInvoiceId |
string | Идентификатор счёта на стороне платёжного шлюза |
payVoucherNum |
string | Номер платёжного поручения |
payVoucherDate |
datetime | Дата платёжного поручения |
payReturnNum |
string | Номер документа возврата |
payReturnDate |
datetime | Дата возврата |
payReturnComment |
string | Комментарий к возврату |
empReturnId |
number | Сотрудник, оформивший возврат (только чтение). Источник: `GET /v1/users` |
priceCod |
number | Сумма наложенного платежа |
companyId |
number | Компания-плательщик из CRM. Источник: `GET /v1/companies` |
externalPayment |
boolean | Оплата создана во внешней системе |
id1c |
string | Идентификатор оплаты в 1С |
version1c |
string | Версия оплаты в 1С |
updated1c |
boolean | Обновлена ли оплата через 1С |
Массив aggregatable перечисляет поля, доступные для числовых функций и groupBy в `POST /v1/payments/aggregate`: sum, currency, paid, paySystemId, orderId, responsibleId. Массив batch — операции для `POST /v1/batch`: create, update, delete.
Пример ответа
{
"success": true,
"data": {
"fields": {
"id": { "type": "number", "readonly": true },
"orderId": { "type": "number", "readonly": false },
"paySystemId": { "type": "number", "readonly": false },
"paySystemName": { "type": "string", "readonly": true },
"paySystemIsCash": { "type": "boolean", "readonly": true },
"paySystemXmlId": { "type": "string", "readonly": true },
"sum": { "type": "number", "readonly": false },
"currency": { "type": "string", "readonly": false },
"paid": { "type": "boolean", "readonly": false },
"datePaid": { "type": "datetime", "readonly": false },
"empPaidId": { "type": "number", "readonly": true },
"comments": { "type": "string", "readonly": false },
"accountNumber": { "type": "string", "readonly": true },
"dateBill": { "type": "datetime", "readonly": false },
"datePayBefore": { "type": "datetime", "readonly": false },
"xmlId": { "type": "string", "readonly": false },
"responsibleId": { "type": "number", "readonly": false },
"empResponsibleId": { "type": "number", "readonly": true },
"dateResponsibleId": { "type": "datetime", "readonly": true },
"isReturn": { "type": "string", "readonly": false },
"marked": { "type": "boolean", "readonly": false },
"reasonMarked": { "type": "string", "readonly": false },
"empMarkedId": { "type": "number", "readonly": true },
"dateMarked": { "type": "datetime", "readonly": true },
"psStatus": { "type": "string", "readonly": false },
"psStatusCode": { "type": "string", "readonly": false },
"psStatusDescription": { "type": "string", "readonly": false },
"psStatusMessage": { "type": "string", "readonly": false },
"psSum": { "type": "number", "readonly": false },
"psCurrency": { "type": "string", "readonly": false },
"psResponseDate": { "type": "datetime", "readonly": false },
"psInvoiceId": { "type": "string", "readonly": false },
"payVoucherNum": { "type": "string", "readonly": false },
"payVoucherDate": { "type": "datetime", "readonly": false },
"payReturnNum": { "type": "string", "readonly": false },
"payReturnDate": { "type": "datetime", "readonly": false },
"payReturnComment": { "type": "string", "readonly": false },
"empReturnId": { "type": "number", "readonly": true },
"priceCod": { "type": "number", "readonly": false },
"companyId": { "type": "number", "readonly": false },
"externalPayment": { "type": "boolean", "readonly": false },
"id1c": { "type": "string", "readonly": false },
"version1c": { "type": "string", "readonly": false },
"updated1c": { "type": "boolean", "readonly": false }
},
"aggregatable": ["sum", "currency", "paid", "paySystemId", "orderId", "responsibleId"],
"batch": ["create", "update", "delete"]
}
}
Пример ответа при ошибке
403 — нет скоупа:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'sale' scope"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа sale |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов |
Полный список общих ошибок API — Ошибки.