Если протокол платежной системы поддерживает передачу URL для возврата абонента после платежа в магазин, то ЛК сам передает данный URL. Если же URL прописывается в админке платежной системы, то
в случае, если указывается только один URL, укажите путь к странице payment.xml (она находится там же, где и index.xhtml):
https://my.provider.ru/payment.xhtml
в случае, если указывается два URL - для удачного и не удачного платежа, то укажите соответственно:
https://my.provider.ru/payment.xhtml?result=success https://my.provider.ru/payment.xhtml?result=failure
В файле mybgbilling-payment.groovy настраивается, какие платежные системы будут присутствовать при проведении оплаты из личного кабинета. Часто значения по умолчанию не требуют изменений. ЛК сам создаст список провайдеров из платежных модулей и при проведении оплаты отобразит те из них, модули которых подключены к данному договору.
paymentConfig { /* Если true - то используются только провайдеры/модули, которые указаны в providers. */ replaceProviders = false /* Показывать оплату через модуль Card */ showCard = false /* Нужно ли указывать email/телефон при оплате */ needReceiptContacts = true providers = [ ] /* Список возможных способов пополнения можно указать вручную, но также нужно учитывать, что если модуль отсутствует на договоре - то пункт с соответствующим модулем будет исключен из списка. */ payments = [ ] }
Если вы хотите, чтобы дополнительно отображался вариант с активацией карты оплаты модуля Card, укажите в конфигурации showCard=true.
При необходимости к текущим платежным системам вы можете добавить кнопку-ссылку:
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 = [ ] }
Также для некоторых случаев с помощью providers можно переопределить конфигурацию провайдера, например, указать для Яндекс.Денег, какие именно типы платежей можно принимать:
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 предназначен для указания режимов оплаты и их порядка на странице вручную. Если в этом параметре указаны какие-то режимы, то при проведении платежа будут доступны только они (при дополнительном условии, что соответствующий модуль подключен к договору):
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' } ] }
Еще один пример:
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 или телефон перед проведением оплаты (введенную информацию далее можно использовать при создании электронного чека).