sale.paysystem.handler.add
Описание
sale.paysystem.handler.add( fields )
Метод добавляет рест-обработчик.
Параметры
Параметр | Описание | С версии |
---|---|---|
fields | Набор полей(массив вида array("поле":"значение"[, ...])) , содержащий значения, описывающие обработчик.
Доступные поля:
|
Примеры
Пример 1
BX24.callMethod( "sale.paysystem.handler.add", { 'NAME' : 'Обработчик.Rest', // Название обработчика 'SORT' : 100, // Сортировка 'CODE' : 'resthandlercode', // Уникальный код обработчика в системе 'SETTINGS' : { // Настройки обработчика 'CURRENCY' : {'RUB'}, // Список валют, которые поддерживает обработчик 'FORM_DATA' : { // Настройки формы 'ACTION_URI' : 'https://payment_service_url', // URL, на который будет отправляться форма 'METHOD' : 'POST', // Метод отправки формы 'PARAMS' : { // Карта соответствия полей между полями формы и параметрами обработчика: массив вида array(код_поля => код_параметра_обработчика) 'serviceid' : 'REST_SERVICE_ID', 'invoiceNumber' : 'PAYMENT_ID', 'Sum' : 'PAYMENT_SHOULD_PAY', 'customer' : 'PAYMENT_BUYER_ID', } }, 'CODES' : { // Список параметров обработчика "REST_SERVICE_ID" : { // Код параметра "NAME" : 'Номер магазина', // Название параметра "DESCRIPTION" : 'Номер магазина', // Описание параметра 'SORT' : 100, // Сортировка }, "REST_SERVICE_KEY" : { "NAME" : 'Секретный ключ', "DESCRIPTION" : 'Секретный ключ', 'SORT' : 300, }, "PAYMENT_ID" : { "NAME" : 'Номер оплаты', 'SORT' : 400, 'GROUP' : 'PAYMENT', 'DEFAULT' : { 'PROVIDER_KEY' : 'PAYMENT', 'PROVIDER_VALUE' : 'ACCOUNT_NUMBER' } }, "PAYMENT_SHOULD_PAY" : { "NAME" : 'Сумма оплаты', 'SORT' : 600, 'GROUP' : 'PAYMENT', 'DEFAULT' : { 'PROVIDER_KEY' : 'PAYMENT', 'PROVIDER_VALUE' : 'SUM' } }, "PS_CHANGE_STATUS_PAY" : { "NAME" : 'Автоматическая смена статуса оплаты', 'SORT' : 700, "INPUT" : { 'TYPE' : 'Y/N' }, }, "PAYMENT_BUYER_ID" : { "NAME" : 'Код покупателя', 'SORT' : 1000, 'GROUP' : 'PAYMENT', // тип значения строка, чекбокс и т.д. 'DEFAULT' : { // Значение по умолчанию 'PROVIDER_KEY' : 'ORDER', // Тип значения(см. доступный список ниже) 'PROVIDER_VALUE' : 'USER_ID' // Значение(см. доступный список ниже) } } } } }, function(result) { if(result.error()) console.error(result.error()); else console.info("Обработчик добавлен с ID " + result.data()); } );
Пример 2
Начиная с версии 20.5.0 модуля sale добавлено новое значение FIELDS вместо старого PARAMS (появилась возможность передавать произвольные поля для REST-обработчиков платёжных систем).
Если значение ключа CODE
- строка, то значение будет использоваться для поиска соответствия между полями формы и параметрами обработчика: массив вида array('CODE' => 'код_параметра_обработчика')
. Название и значение будут получены из параметров обработчика ('CODES'
).
Если в ключе CODE
передан объект, то в форме оплаты будет добавлено поле указанного типа.
Поддерживаются типы:
- STRING (строка)
- Y/N (чекбокс)
- ENUM (список)
По умолчанию поля формы скрыты. Чтобы сделать поле видимым, необходимо передать 'VISIBLE' : 'Y'
.
BX.rest.callMethod( "sale.paysystem.handler.add", { 'NAME' : 'Обработчик.Rest', 'SORT' : 100, 'CODE' : 'resthandlercodedoc', 'SETTINGS' : { 'CURRENCY' : ['RUB'], 'FORM_DATA' : { 'ACTION_URI' : 'https://payment_service_url', 'METHOD' : 'POST', 'FIELDS' : { 'phone' : { 'CODE': { 'NAME' : 'Номер телефона', 'TYPE' : 'STRING', } 'VISIBLE' : 'Y', }, 'paymentId' : { 'CODE' : 'PAYMENT_ID', 'VISIBLE' : 'Y' }, 'serviceid' : { 'CODE' : 'REST_SERVICE_ID' } } }, 'CODES' : { "REST_SERVICE_ID" : { "NAME" : 'Номер магазина', "DESCRIPTION" : 'Номер магазина', 'SORT' : 100, }, "REST_SERVICE_KEY" : { "NAME" : 'Секретный ключ', "DESCRIPTION" : 'Секретный ключ', 'SORT' : 300, }, "PAYMENT_ID" : { "NAME" : 'Номер оплаты', 'SORT' : 400, 'GROUP' : 'PAYMENT', 'DEFAULT' : { 'PROVIDER_KEY' : 'PAYMENT', 'PROVIDER_VALUE' : 'ACCOUNT_NUMBER' } }, "PAYMENT_SHOULD_PAY" : { "NAME" : 'Сумма оплаты', 'SORT' : 600, 'GROUP' : 'PAYMENT', 'DEFAULT' : { 'PROVIDER_KEY' : 'PAYMENT', 'PROVIDER_VALUE' : 'SUM' } }, "PS_CHANGE_STATUS_PAY" : { "NAME" : 'Автоматическая смена статуса оплаты', 'SORT' : 700, "INPUT" : { 'TYPE' : 'Y/N' }, }, "PAYMENT_BUYER_ID" : { "NAME" : 'Код покупателя', 'SORT' : 1000, 'GROUP' : 'PAYMENT', 'DEFAULT' : { 'PROVIDER_KEY' : 'ORDER', 'PROVIDER_VALUE' : 'USER_ID' } } } } }, function(result) { if(result.error()) console.error(result.error()); else console.info("Обработчик добавлен с ID " + result.data()); } );
Примечание: Если передавать и FIELDS, и PARAMS, то будет использоваться только FIELDS.
Возможные значения
Возможные значения PROVIDER_KEY | |
---|---|
ORDER | Параметры |
PROPERTY | Свойства счета |
PAYMENT | Оплата |
USER | Пользователь |
VALUE | Значение типа строка |
Y\N | Чекбокс |
Возможные значения PROVIDER_VALUE | |
---|---|
ORDER |
ID: ID (для счетов соответствует 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: ID ACCOUNT_NUMBER: Номер оплаты, DATE_BILL: Дата и время выставления, DATE_BILL_DATE: Дата выставления (без времени), SUM: Сумма оплаты, CURRENCY: Валюта |
USER |
ID: Код покупателя, LOGIN: Логин, NAME: Имя, SECOND_NAME: Отчество, LAST_NAME: Фамилия, EMAIL: EMail, PERSONAL_PROFESSION: Профессия, PERSONAL_WWW: Персональный веб-сайт, PERSONAL_ICQ: Номер ICQ, PERSONAL_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: Страна компании |
© «Битрикс»,
2001-2021,
«1С-Битрикс», 2021
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.