Bitrix

Связь способов доставки с платежными системами в компоненте bitrix:sale.order.ajax

Часто требуется сделать так, чтобы в оформлении заказа какие-то платежные системы показывались только для определенных служб доставки. Например, для доставки Почта РФ может быть только банковский перевод, либо наличный расчет.
В этом может помочь нам свойство DELIVERY2PAY_SYSTEM компонента bitrix:sale.order.ajax .
Значение свойства должно представляет собой массив вида:

Array(
    Array(
        ID_службы_доставки=>array(ID_платежной_системы, ID_платежной_системы, …),
        ID_службы_доставки=>array(ID_платежной_системы, ID_платежной_системы, …)
    )
)

ID служб доставки можно взять из списков на страницах настройки служб доставки настраиваемых /bitrix/admin/sale_delivery.php?lang=ru и автоматизированных /bitrix/admin/sale_delivery_handlers.php?lang=ru .

Причем у настраиваемых служб доставки цифровой идентификатор, а у автоматизированных — символьный и определяется он  как SID:»ID_профиля доставки».
Например, если SID = russianpost, а название профиля — light, то идентификатор будет — russianpost:light .

Идентификаторы платежных систем всегда цифровые и их можно узнать на странице /bitrix/admin/sale_pay_system.php?lang=ru

Приведу напоследок пример как может выглядеть заданное свойство DELIVERY2PAY_SYSTEM  в компоненте bitrix:sale.order.ajax:

«DELIVERY2PAY_SYSTEM» =>
Array(
    Array(
        «russianpost:light»=>array(1, 2),
        «1»=>array(2)
    )
),
Надеюсь, что это краткая заметка помогла вам.

Отставить комментарий

Ваш электронный адрес не будет опубликован.Обязательные для заполнения поля отмечены *

один × три =