Click

Протокол реализован для приема платежей через систему OOO «CLICK» (http://click.uz). Ниже приведен пример конфигурации для работы с платежной системой:

#протокол для ПС
mps.1.protocol=click
mps.1.protocol.ext=noBaseAuth,denyForJur
#Название ПС
mps.1.title=Click
#протокол включен (1), выключен (0)
mps.1.mode=1
#данные для авторизации ПС
mps.1.login=user
mps.1.passw=password
#тип платежа из справочника типов платежей
mps.1.pid=
#секрет
mps.1.secret=
#Если в системе имеется обработчик события "Перед занесением платежа",
#который изменяет входящую сумму платежа (например, переводит в валюту
#по курсу), то данный флаг позволяет заносить измененный платеж в таблицу
#баланса договора, а оригинальную сумму платежа заносить в таблицу платежей
#модуля mps.
mps.1.store.original.sum=true
#режим поиска
mps.1.search.mode=

В некоторых случаях бывает полезно изменить сумму платежа, которая заносится в БД. Например, в ситуации, когда баланс абонента ведется в некоторой валюте, а платежная система присылает сумму в местной валюте. Для такого варианта предусмотрено событие "Перед добавлением платежа", в обработчик которого передается сумма платежа в виде 123.45. Обработчик может установить свою сумму и вернуть ее в модуль. Событие называется ru.bitel.bgbilling.modules.mps.server.events.MPSBeforePaymentEvent и настраивается на вкладке Сервис->Автоматизация->Функции глобальных событий. Сумму платежа, пришедшую от платежной системы, можно получить с помощью метода getPaymetSum(), которая возвращает java.util.BigDecimal. Установить измененную сумму можно с помощью метода setPaymentSum(BigDecimal newSum).

Пример обработчика события:

Пример обработчика события
package ru.bitel.bgbilling.modules.mps;
 
import java.math.BigDecimal;
import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase;
import ru.bitel.bgbilling.modules.mps.server.events.MPSBeforePaymentEvent;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;
 
public class ModifyPaymentSumm
extends EventScriptBase<MPSBeforePaymentEvent>
{
@Override
public void onEvent( MPSBeforePaymentEvent event1, Setup setup2, ConnectionSet connectionSet3 )
throws Exception
{
BigDecimal sum = event1.getPaymentSum();
sum = sum.multiply( new BigDecimal( 1.18 ) );
event1.setPaymentSum( sum );
}
}