sale.paysystem.add
Добавить платежную систему
Описание
Метод добавляет платежную систему.
Параметры
NAME
string
обязательный
Название платежной системы
DESCRIPTION
string
необязательный
Описание платежной системы
PERSON_TYPE_ID
sale_person_type.id
обязательный
Идентификатор типа плательщика
BX_REST_HANDLER
sale_paysystem_handler.CODE
обязательный
Код REST-обработчика, указанный при добавлении обработчика методом sale.paysystem.handler.add
ACTIVE
string
необязательный
Индикатор активности платежной системы. Возможные значения:
- Y — да
- N — нет
Если не передано, то по умолчанию N
SETTINGS
object
необязательный
Список значений настроек обработчика в формате {"field_1": "value_1", ... "field_N": "value_N"}, где field — название настройки, а value — объект, содержащий ключи TYPE и VALUE (описание смотрите ниже).
Структура настроек задается при добавлении обработчика платежной системы в методе sale.paysystem.handler.add в ключе CODES параметра SETTINGS
ENTITY_REGISTRY_TYPE
string
необязательный
Привязка платежной системы:
- ORDER — значение для заказов магазина, сделок, смарт-процессов
- CRM_INVOICE — значение для счетов CRM
- CRM_QUOTE — значение для коммерческих предложений CRM
Если не передано, то по умолчанию CRM_INVOICE.
Тип плательщика PERSON_TYPE_ID должен относиться к тому же типу привязки
LOGOTYPE
string
необязательный
Логотип платежной системы (картинка в формате Base64)
NEW_WINDOW
string
необязательный
Флаг, отвечающий за настройку «Открывать в новом окне». Возможные значения:
- Y — да
- N — нет
Если не передано, то по умолчанию N
XML_ID
string
необязательный
Внешний идентификатор платежной системы. Может быть использован как дополнительный параметр для фильтрации в sale.paysystem.list
Возможные значения ключа TYPE
ORDER
необязательный
Параметры
PROPERTY
необязательный
Свойства счета
PAYMENT
необязательный
Оплата
USER
необязательный
Пользователь
VALUE
необязательный
Произвольное значение типа строка
Y\N
необязательный
Флажок
Возможные значения ключа VALUE
ORDER
необязательный
ID— идентификаторACCOUNT_NUMBER— номер заказаORDER_TOPIC— темаDATE_INSERT— дата заказаDATE_INSERT_DATE— дата заказа без времениDATE_BILL— дата и время выставленияDATE_BILL_DATE— дата выставленияDATE_PAY_BEFORE— срок оплатыSHOULD_PAY— сумма счетаCURRENCY— валютаPRICE— стоимость заказаPRICE_DELIVERY— стоимость доставкиDISCOUNT_VALUE— величина скидкиUSER_ID— код покупателяPAY_SYSTEM_ID— код платежной системыDELIVERY_ID— код службы доставкиTAX_VALUE— налогUSER_DESCRIPTION— комментарий
PAYMENT
необязательный
ID— идентификаторACCOUNT_NUMBER— номер оплатыDATE_BILL— дата и время выставленияDATE_BILL_DATE— дата выставления без времениSUM— сумма счетаCURRENCY— валютаPAID— оплаченоDATE_PAID— дата оплатыPAY_SYSTEM_ID— код платежной системыPAY_VOUCHER_NUM— номер ваучераPAY_VOUCHER_DATE— дата ваучераDATE_PAY_BEFORE— оплатить доXML_ID— индентификатор XMLPAY_SYSTEM_NAME— название платежной системыCOMPANY_ID— код компанииPAY_RETURN_NUM— номер возвратаPAY_RETURN_DATE— дата возвратаPAY_RETURN_COMMENT— коментарий возврата
USER
необязательный
ID— код покупателя,LOGIN— логинNAME— имяSECOND_NAME— отчествоLAST_NAME— фамилияEMAIL— EMailPERSONAL_PROFESSION— профессияPERSONAL_WWW— персональный веб-сайтPERSONAL_ICQ— номер ICQPERSONAL_GENDER— полPERSONAL_FAX— номер факсаPERSONAL_MOBILE— номер телефонаPERSONAL_STREET— адресPERSONAL_MAILBOX— почтовый ящикPERSONAL_CITY— городPERSONAL_STATE— штатPERSONAL_ZIP— индексPERSONAL_COUNTRY— странаWORK_COMPANY— компанияWORK_DEPARTMENT— отделWORK_POSITION— должностьWORK_WWW— сайт компанииWORK_PHONE— рабочий телефонWORK_FAX— рабочий факсWORK_STREET— адрес компанииWORK_MAILBOX— рабочий почтовый ящикWORK_CITY— город компанииWORK_STATE— штат компанииWORK_ZIP— индекс компанииWORK_COUNTRY— страна компании
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"NAME":"Оплата картой","DESCRIPTION":"Легко оплачивайте покупки картой.","XML_ID":"my_ps_id","PERSON_TYPE_ID":1,"BX_REST_HANDLER":"resthandlercode","ACTIVE":"Y","ENTITY_REGISTRY_TYPE":"ORDER","LOGOTYPE":"/* base64 image */","NEW_WINDOW":"N","SETTINGS":{"REST_SERVICE_ID":{"TYPE":"VALUE","VALUE":"SERVICE ID VALUE"},"REST_SERVICE_KEY":{"TYPE":"VALUE","VALUE":"KEY ID VALUE"},"PAYMENT_ID":{"TYPE":"PAYMENT","VALUE":"ACCOUNT_NUMBER"}}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/sale.paysystem.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"NAME":"Оплата картой","DESCRIPTION":"Легко оплачивайте покупки картой.","XML_ID":"my_ps_id","PERSON_TYPE_ID":1,"BX_REST_HANDLER":"resthandlercode","ACTIVE":"Y","ENTITY_REGISTRY_TYPE":"ORDER","LOGOTYPE":"/* base64 image */","NEW_WINDOW":"N","SETTINGS":{"REST_SERVICE_ID":{"TYPE":"VALUE","VALUE":"SERVICE ID VALUE"},"REST_SERVICE_KEY":{"TYPE":"VALUE","VALUE":"KEY ID VALUE"},"PAYMENT_ID":{"TYPE":"PAYMENT","VALUE":"ACCOUNT_NUMBER"}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/sale.paysystem.add
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
try {
const response = await $b24.actions.v2.call.make<number>({
method: 'sale.paysystem.add',
params: {
NAME: 'Card payment',
DESCRIPTION: 'Pay for your purchases easily by card.',
XML_ID: 'my_ps_id',
PERSON_TYPE_ID: 1,
BX_REST_HANDLER: 'resthandlercode',
ACTIVE: 'Y',
ENTITY_REGISTRY_TYPE: 'ORDER',
LOGOTYPE: '/* base64 image */',
NEW_WINDOW: 'N',
SETTINGS: {
REST_SERVICE_ID: {
TYPE: 'VALUE',
VALUE: 'SERVICE ID VALUE',
},
REST_SERVICE_KEY: {
TYPE: 'VALUE',
VALUE: 'KEY ID VALUE',
},
PAYMENT_ID: {
TYPE: 'PAYMENT',
VALUE: 'ACCOUNT_NUMBER',
},
},
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Added payment system ID:', result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function addPaySystem() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'sale.paysystem.add',
params: {
NAME: 'Card payment',
DESCRIPTION: 'Pay for your purchases easily by card.',
XML_ID: 'my_ps_id',
PERSON_TYPE_ID: 1,
BX_REST_HANDLER: 'resthandlercode',
ACTIVE: 'Y',
ENTITY_REGISTRY_TYPE: 'ORDER',
LOGOTYPE: '/* base64 image */',
NEW_WINDOW: 'N',
SETTINGS: {
REST_SERVICE_ID: {
TYPE: 'VALUE',
VALUE: 'SERVICE ID VALUE',
},
REST_SERVICE_KEY: {
TYPE: 'VALUE',
VALUE: 'KEY ID VALUE',
},
PAYMENT_ID: {
TYPE: 'PAYMENT',
VALUE: 'ACCOUNT_NUMBER',
},
},
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Added payment system ID:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addPaySystem)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
settings = {
"REST_SERVICE_ID": {
"TYPE": "VALUE",
"VALUE": "SERVICE ID VALUE",
},
"REST_SERVICE_KEY": {
"TYPE": "VALUE",
"VALUE": "KEY ID VALUE",
},
"PAYMENT_ID": {
"TYPE": "PAYMENT",
"VALUE": "ACCOUNT_NUMBER",
},
}
try:
bitrix_response = client.sale.paysystem.add(
name="Card payment",
description="Pay for your purchases easily by card.",
xml_id="my_ps_id",
person_type_id=1,
bx_rest_handler="resthandlercode",
active=True,
entity_registry_type="ORDER",
logotype="/* base64 image */",
new_window=False,
settings=settings,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'sale.paysystem.add',
[
'NAME' => 'Оплата картой',
'DESCRIPTION' => 'Легко оплачивайте покупки картой.',
'XML_ID' => 'my_ps_id',
'PERSON_TYPE_ID' => 1,
'BX_REST_HANDLER' => 'resthandlercode',
'ACTIVE' => 'Y',
'ENTITY_REGISTRY_TYPE' => 'ORDER',
'LOGOTYPE' => '/* base64 image */',
'NEW_WINDOW' => 'N',
'SETTINGS' => [
'REST_SERVICE_ID' => [
'TYPE' => 'VALUE',
'VALUE' => 'SERVICE ID VALUE',
],
'REST_SERVICE_KEY' => [
'TYPE' => 'VALUE',
'VALUE' => 'KEY ID VALUE',
],
'PAYMENT_ID' => [
'TYPE' => 'PAYMENT',
'VALUE' => 'ACCOUNT_NUMBER',
],
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding payment system: ' . $e->getMessage();
}
BX24.callMethod(
"sale.paysystem.add",
{
'NAME' : 'Оплата картой',
'DESCRIPTION': 'Легко оплачивайте покупки картой.',
'XML_ID': 'my_ps_id',
'PERSON_TYPE_ID' : 1,
'BX_REST_HANDLER' : 'resthandlercode',
'ACTIVE' : 'Y',
'ENTITY_REGISTRY_TYPE': 'ORDER',
'LOGOTYPE': '/* base64 image */',
'NEW_WINDOW': 'N',
'SETTINGS' : {
'REST_SERVICE_ID' : {
'TYPE' : 'VALUE',
'VALUE' : 'SERVICE ID VALUE'
},
'REST_SERVICE_KEY' : {
'TYPE' : 'VALUE',
'VALUE' : 'KEY ID VALUE'
},
'PAYMENT_ID': {
'TYPE': 'PAYMENT',
'VALUE': 'ACCOUNT_NUMBER',
}
}
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'sale.paysystem.add',
[
'NAME' => 'Оплата картой',
'DESCRIPTION' => 'Легко оплачивайте покупки картой.',
'XML_ID' => 'my_ps_id',
'PERSON_TYPE_ID' => 1,
'BX_REST_HANDLER' => 'resthandlercode',
'ACTIVE' => 'Y',
'ENTITY_REGISTRY_TYPE' => 'ORDER',
'LOGOTYPE' => '/* base64 image */',
'NEW_WINDOW' => 'N',
'SETTINGS' => [
'REST_SERVICE_ID' => [
'TYPE' => 'VALUE',
'VALUE' => 'SERVICE ID VALUE'
],
'REST_SERVICE_KEY' => [
'TYPE' => 'VALUE',
'VALUE' => 'KEY ID VALUE'
],
'PAYMENT_ID' => [
'TYPE' => 'PAYMENT',
'VALUE' => 'ACCOUNT_NUMBER',
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "sale.paysystem.add", b24.Params{
"NAME": "Оплата картой",
"DESCRIPTION": "Легко оплачивайте покупки картой.",
"XML_ID": "my_ps_id",
"PERSON_TYPE_ID": 1,
"BX_REST_HANDLER": "resthandlercode",
"ACTIVE": "Y",
"ENTITY_REGISTRY_TYPE": "ORDER",
"LOGOTYPE": "/* base64 image */",
"NEW_WINDOW": "N",
"SETTINGS": b24.Params{
"REST_SERVICE_ID": b24.Params{
"TYPE": "VALUE",
"VALUE": "SERVICE ID VALUE",
},
"REST_SERVICE_KEY": b24.Params{
"TYPE": "VALUE",
"VALUE": "KEY ID VALUE",
},
"PAYMENT_ID": b24.Params{
"TYPE": "PAYMENT",
"VALUE": "ACCOUNT_NUMBER",
},
},
})
if err != nil {
return fmt.Errorf("sale.paysystem.add: %w", err)
}
var newID b24.ID
if err := json.Unmarshal(res.Result, &newID); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("идентификатор:", newID)
Ответ
HTTP-статус: 200
{
"result": 1,
"time": {
"start": 1712132792.910734,
"finish": 1712132793.530359,
"duration": 0.6196250915527344,
"processing": 0.032338857650756836,
"date_start": "2024-04-03T10:26:32+02:00",
"date_finish": "2024-04-03T10:26:33+02:00",
"operating_reset_at": 1705765533,
"operating": 3.3076241016387939
}
}
Возвращаемые данные
result
integer
Идентификатор добавленной платежной системы
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "ERROR_CHECK_FAILURE",
"error_description": "Parameter NAME is not defined"
}
| Код | Описание | Значение |
|---|---|---|
ACCESS_DENIED |
Недостаточно прав для добавления платежной системы | 403 |
ERROR_CHECK_FAILURE |
Не указано значение обязательного поля либо значение одного из полей указано неверно | 400 |
ERROR_PAY_SYSTEM_ADD |
Прочие ошибки. Подробную информацию об ошибке смотрите в error_description |
400 |
ERROR_HANDLER_NOT_FOUND |
Обработчик, указанный в параметре BX_REST_HANDLER, не найден |
400 |
ERROR_PERSON_TYPE_NOT_FOUND |
Тип плательщика, указанный в параметре PERSON_TYPE_ID, не найден |
400 |

