Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Протокол реализован для приема платежей через систему 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 );
    }
}
  • Нет меток