Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Блок кода
languagescala
 
menu {
	// список пунктов верхнего уровня
	def firstLevel = [];
	children = firstLevel;
	
	// Новости
	firstLevel << menu( page: "kernel/news", icon: "fa-newspaper-o", title: "menu.news" )
	
	// если авторизован по логину/паролю
	if( isCustomer() ) {
	
		// Уведомления + Рассылки
		firstLevel << menu( page: "kernel/notificationsEx", subPage: "notifications", icon: "fa-envelope-o", 
							title: "menu.notifications", badge: "#{notificationBean.getUnreadCount()}", badgeUpdate: "#{notificationBean.populate()}" )
	
	} else {
	
		// Уведомления
		firstLevel << menu( page: "kernel/notifications", subPage: "", icon: "fa-envelope-o", title: "menu.notifications" )
	
	}
	// Баланс
	firstLevel << menu( page: "kernel/balance", icon: "fa-rub", title: "menu.balance" )
	
	// если авторизован по логину/паролю
	if( isCustomer() ) {
	
		// Лимит
		firstLevel << menu( page: "kernel/limit", icon: "fa-umbrella", title: "menu.limit" )
		
		// Тарифные опции
		firstLevel << menu( page: "kernel/tariffOptions", icon: "fa-cogs", title: "menu.tariffOptions" )
 
...

Конфигурация приема платежей (mybgbilling-payment.groovy)

В файле mybgbilling-payment.groovy настраивается, какие платежные системы будут присутствовать при проведении оплаты из личного кабинета. Часто значения по умолчанию не требуют изменений. ЛК сам создаст список провайдеров из платежных модулей и при проведении оплаты отобразит те из них, модули которых подключены к данному договору.

Блок кода
languagescala
paymentConfig {

	/* Если true - то используются только провайдеры/модули, которые указаны в providers. */
    replaceProviders = false
    /* Показывать оплату через модуль Card */
    showCard = false
    /* Нужно ли указывать email/телефон при оплате */
    needReceiptContacts = true

    providers = [
    
    ]

	/* Список возможных способов пополнения можно указать вручную, но также нужно учитывать, что если модуль отсутствует на договоре - 
		то пункт с соответствующим модулем будет исключен из списка.  */
    payments = [

    ]
}

Если вы хотите, чтобы дополнительно отображался вариант с активацией карты оплаты модуля Card, укажите в конфигурации showCard=true

Блок кода
languagescala
paymentConfig {

	...

    /* Показывать оплату через модуль Card */
    showCard = true

    ...
}

При необходимости к текущим платежным системам вы можете добавить кнопку-ссылку:

Блок кода
languagescala
paymentConfig {

	/* Если true - то используются только провайдеры/модули, которые указаны в providers. */
    replaceProviders = false
    /* Показывать оплату через модуль Card */
    showCard = false
    /* Нужно ли указывать email/телефон при оплате */
    needReceiptContacts = true

    providers = [

    	// внешняя ссылка
		provider {
        	id = "externalLinkQiwi"
        	title = "Qiwi"
        	image = 'static/images/logos/qiwi.png'
			config = config {
				url = 'https://qiwi.com/payment/form.action?provider=297'
			}
    	}
    ]

    payments = [

    ]
}
Информация
Обратите внимание на параметр replaceProviders. Если он указан true, то не будет автоматической подгрузки провайдеров из платежных модулей - будут только те провайдеры, которые указаны в providers. Т.е. если его установить в true в конфигурации, что представлена выше, то при проведении платежа будет доступна только эта внешняя ссылка, даже если к договору подключены какие-то платежные модули.

Также для некоторых случаев с помощью providers можно переопределить конфигурацию провайдера, например, указать для Яндекс.Денег, какие именно типы платежей можно принимать:

Блок кода
languagescala
paymentConfig {

	/* Если true - то используются только провайдеры/модули, которые указаны в providers. */
    replaceProviders = false
    /* Показывать оплату через модуль Card */
    showCard = false
    /* Нужно ли указывать email/телефон при оплате */
    needReceiptContacts = true

    providers = [
    
    	// для Яндекс.Деньги возможно нужно указать типы платежей
        provider {
        	// код модуля Яндекс.Деньги
			moduleId = кодмодуля
			config = config {
				//Список доступных типов оплаты (Из в ЦПП). Пример: PC:Оплата со счета Яндекс.Денег;AC:Оплата с банковской карты;MC:Платеж со счета мобильного телефона;GP:Оплата наличными через кассы и терминалы;WM:Оплата с кошелька в системе WebMoney;SB:Оплата через Сбербанк Онлайн
				//paymentTypes = 'PC:payment.yamoney.PC;AC:payment.yamoney.AC;MC:payment.yamoney.MC;GP:payment.yamoney.GP;WM:payment.yamoney.WM;SB:payment.yamoney.SB'
				paymentTypes = 'PC:payment.yamoney.PC'
			}
    	}
    ]

    payments = [

    ]
}

Параметр payments предназначен для указания режимов оплаты и их порядка на странице вручную. Если в этом параметре указаны какие-то режимы, то при проведении платежа будут доступны только они (при дополнительном условии, что соответствующий модуль подключен к договору):

Блок кода
languagescala
paymentConfig {

	/* Если true - то используются только провайдеры/модули, которые указаны в providers. */
    replaceProviders = false
    /* Показывать оплату через модуль Card */
    showCard = false
    /* Нужно ли указывать email/телефон при оплате */
    needReceiptContacts = true

    providers = [

    ]

    payments = [

        payment {
            title = 'payment.bankCard'
            image = 'static/images/logos/visa_mastercard.png'
            providerId = 'yamoney'
            type = 'bankCard'
            config = config {
                paymentTypes = 'AC:payment.yamoney.AC'
            }
        },


        payment {
            title = 'payment.yamoney'
            image = 'static/images/logos/yamoney.png'
            providerId = 'yamoney'
            type = 'bankCard'
            config = config {
                paymentTypes = 'PC:payment.yamoney.PC'
            }
        }, 


        payment {
            title = 'payment.card'
            image = 'static/images/logos/card.png'
            providerId = 'card'
        }
    ]
}

Еще один пример:

Блок кода
languagescala
paymentConfig {

	/* Если true - то используются только провайдеры/модули, которые указаны в providers. */
    replaceProviders = false
    /* Показывать оплату через модуль Card */
    showCard = false
    /* Нужно ли указывать email/телефон при оплате */
    needReceiptContacts = true

    providers = [

        provider {
             id = "externalLinkQiwi"
             title = "Qiwi"
             image = 'static/images/logos/qiwi.png'
             config = config {
                 url = 'https://qiwi.com/payment/form.action?provider=297'
             }
        }
    ]

    payments = [

        payment {
            title = 'payment.bankCard'
            image = 'static/images/logos/visa_mastercard.png'
            providerId = 'yamoney'
            type = 'bankCard'
            config = config {
                paymentTypes = 'AC:payment.yamoney.AC'
            }
        },


        payment {
            title = 'payment.yamoney'
            image = 'static/images/logos/yamoney.png'
            providerId = 'yamoney'
            type = 'bankCard'
            config = config {
                paymentTypes = 'PC:payment.yamoney.PC'
            }
        }, 


        payment {
            providerId = ’externalLinkQiwi’
        }
    ]
}

Параметр needReceiptContacts указывает, нужно ли абоненту указывать email или телефон перед проведением оплаты (введенную информацию далее можно использовать при создании электронного чека).

Обновление личного кабинета

...