Package ru.bitel.bgbilling.modules.mps.server.bean.protocol

# Class MPSTransactionManager

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.modules.mps.server.bean.protocol.MPSTransactionManager

Direct Known Subclasses:
  `BiSysTransactionManager`, `CitiPayTransactionManager`, `ClickTransactionManager`, `ComepayTransactionManager`, `CPTransactionManager`, `EasyPayTransactionManager`, `ElecsnetAbstractTransactionManager`, `EmpayTransactionManager`, `EPortTransactionManager`, `FreecashTransactionManager`, `GenericOSMPTransactionManager`, `KaspiTransactionManager`, `MbankTransactionManager`, `OptimaPlusTransactionManager`, `OSMPTransactionManager`, `Payfon24TransactionManager`, `PaynetTransactionManager`, `PegasTransactionManager`, `QuickPayTransactionManager`, `RapidaOldTransactionManager`, `RapidaTransactionManager`, `SberbankTransactionManager`, `SbrfTransactionManager`, `SfourAlternativeTransactionManager`, `UepcTransactionManager`, `UnikassaTransactionManager`, `VtbTransactionManager`, `XPlatTransactionManager`

public abstract class MPSTransactionManager extends ru.bitel.bgbilling.kernel.base.server.logger.BGLogger

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `ACTION_CANCEL`
  `static final int`
  `ACTION_CHANGE`
  `static final int`
  `ACTION_CHECK`
  `static final int`
  `ACTION_PAY`
  `static final int`
  `ACTION_PAY_ON_CHECK`
  `static final int`
  `ACTION_STATUS`
  `protected final DocumentBuilder`
  `documentBuilder`
  `static final int`
  `ERROR_MPS_CONTRACT_NOTFOUND`
  `static final int`
  `ERROR_MPS_DATA`
  `static final int`
  `ERROR_MPS_DATE`
  `static final int`
  `ERROR_MPS_DATE_FIELD`
  `static final int`
  `ERROR_MPS_EDIT_NOT_SUPPORTED`
  `static final int`
  `ERROR_MPS_HASH`
  `static final int`
  `ERROR_MPS_ISOFF`
  `static final int`
  `ERROR_MPS_NUMBER_PATTERN`
  `static final int`
  `ERROR_MPS_OUT_OF_MONEY`
  `static final int`
  `ERROR_MPS_PAY_EXIST`
  `static final int`
  `ERROR_MPS_PAY_NOTEXIST`
  `static final int`
  `ERROR_MPS_REQUEST`
  `static final int`
  `ERROR_MPS_SERVER`
  `static final int`
  `ERROR_MPS_SUM_BIG`
  `static final int`
  `ERROR_MPS_SUM_SMALL`
  `static final int`
  `ERROR_MPS_SUM_TOOSMALLORBIG`
  `static final int`
  `ERROR_MPS_TRANSACTION_ID_FIELD`
  `static final int`
  `ERROR_MPS_TYPE`
  `static final String`
  `KEY_RESPONSE_PARAMETERS`
  `static final int`
  `MPS_CYBERPLAT`
  `static final int`
  `MPS_FROMGATEWAY`
  `static final int`
  `MPS_OSMP`
  `protected static final Pattern`
  `p1`
  `protected static final Pattern`
  `p2`
  `protected static final Pattern`
  `p3`
  `protected static final Pattern`
  `pNumber`
  `static final String`
  `REQUEST_ATTRIBUTE_PARAMETERS`
  `static final String`
  `REQUEST_ATTRIBUTE_PATH_INFO`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `MPSTransactionManager()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected Contract`
  `actionCheck(MPSRequest request)`
  action - проверка (поиск) договора, возвращает найденный Contract
  `final Transaction`
  `addTransaction(int id, Connection con, int moduleId, String mpsId, Conf.MPSSystem system, int contractId, Date time, BigDecimal sum, String transId, String rawNumber, int type, String paymentComment)`
  Добавление платежа.
  `Transaction`
  `addTransaction(int id, Connection con, int moduleId, String mpsId, Conf.MPSSystem system, int contractId, Date time, BigDecimal scriptSum, BigDecimal sum, String transId, String rawNumber, int type, String paymentComment)`
  Добавление платежа.
  `final Transaction`
  `addTransaction(Connection con, int moduleId, String mpsId, Conf.MPSSystem system, int contractId, Date time, BigDecimal sum, String transId, String rawNumber, int type, String paymentComment)`
  Добавление платежа.
  `protected final void`
  `cancelPreparedTransaction(Connection con, int moduleId, String mpsId, Conf.MPSSystem system, Transaction transaction)`
  Отмена платежа, ранее подготовленного методом `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`.
  `void`
  `cancelTransaction(Connection con, int moduleId, String mpsId, Conf.MPSSystem system, Transaction transaction)`
  Отмена платежа если он еще не отменен
  `protected final void`
  `checkTime(MPSRequest mpsRequest)`
  `protected void`
  `checkValid(Conf.MPSSystem system, MPSRequest mpsRequest, Connection con)`
  Проверка на валидность запроса
  `protected void`
  `clearCanceledTransaction(Connection con, int mid, int mpsId, Transaction transaction)`
  `protected final void`
  `createTemporaryTable(Connection con, String tableName)`
  `protected final Transaction`
  `executePreparedTransaction(Connection con, int mid, Conf.MPSSystem system, Transaction result, String paymentComment)`
  Завершение процедуры платежа - установка статуса `TransactionStatus.PAYMENT_PAYED`, добавление платежа и обновление баланса договора.
  `protected final Transaction`
  `executePreparedTransaction(Connection con, int mid, Conf.MPSSystem system, Transaction result, String paymentComment, BigDecimal sum)`
  Завершение процедуры платежа - установка статуса `TransactionStatus.PAYMENT_PAYED`, добавление платежа и обновление баланса договора.
  `protected final Transaction`
  `executePreparedTransaction(Connection con, int mid, Conf.MPSSystem system, Transaction result, String paymentComment, BigDecimal scriptSum, BigDecimal sum)`
  Завершение процедуры платежа - установка статуса `TransactionStatus.PAYMENT_PAYED`, добавление платежа и обновление баланса договора.
  `protected final Contract`
  `findContract(Connection con, int moduleId, Conf.MPSSystem system, String number, int type)`
  `protected final String`
  `getComment(Conf.MPSSystem system, Conf conf, Connection con, Contract contract)`
  `protected final String`
  `getContractTitle(HashMap<Integer,String> contractTitles, PreparedStatement getContractTitlePS, int contractId)`
  `String`
  `getDefaultEncoding()`
  `String`
  `getEncoding()`
  `static MPSTransactionManager`
  `getInstance(String mpsId, Setup setup, int moduleId)`
  `protected abstract byte[]`
  `getResponse(Connection con, Conf.MPSSystem system, MPSResponse response)`
  Формирование сырого ответа системе из MPSResponse
  `protected Map<String,String>`
  `getResponseAttributes(Connection con, Conf.MPSSystem system, MPSResponse response)`
  `protected final String`
  `getTable(Connection con, int moduleId, Date time)`
  `final Transaction`
  `getTransactionByTransId(Connection con, int moduleId, String mpsId, long transId, Date time)`
  Получение MPSPayment по транзакции
  `final Transaction`
  `getTransactionByTransId(Connection con, int moduleId, String mpsId, String transId, Date time)`
  Получение MPSPayment по транзакции
  `final Transaction`
  `getTransactionByTransId(Connection con, int moduleId, String mpsId, BigInteger transId, Date time)`
  `protected final Transaction`
  `getTransactionFromRS(ResultSet rs)`
  Получение MPSPayment из ResultSet
  `List<Transaction>`
  `getTransactionList(Connection con, int moduleId, int contractId, int yy, int mm)`
  Получение списка платежей для договора за месяц (для web) upd 15.09 получение списка платежей всех систем
  `List<Transaction>`
  `getTransactionList(Connection con, int moduleId, int contractId, String mpsId, String status, Page page)`
  `List<Transaction>`
  `getTransactionList(Connection con, int moduleId, String mpsId, Calendar from, Calendar to, int paymentTypeId, String status)`
  Получение списка платежей за произвольный период с возможностью фильтрации по типу платежа (такая возможность используется, например, в платежной системе Paynet)
  `List<Transaction>`
  `getTransactionList(Connection con, int mid, String mpsId, Conf conf, Calendar from, Calendar until, boolean onlyPayed)`
  Получение списка платежей за период (Период в пределах одного месяца)
  `List<Transaction>`
  `getTransactionList(Setup setup, Connection con, int moduleId, String mpsId, Calendar from, Calendar until, boolean onlyPayed)`
  `final List<Transaction>`
  `getTransactionListForDay(Connection con, int mid, String mpsId, Calendar date)`
  Получение списка платежей за один день
  `protected abstract List<Transaction>`
  `getTransactionListFromFile(Conf.MPSSystem system, String file)`
  `protected final List<Transaction>`
  `getTransactionListFromFileByConfig(Conf.MPSSystem system, String fileString)`
  `protected final List<Transaction>`
  `getTransactionListFromFileByPattern(Pattern pattern, Map<String,Integer> patternOrder, String timeFormat, boolean osmpPrefix, String fileString)`
  `int`
  `getUserLogin(Connection con, int mid, int cid)`
  `String`
  `getUserLoginFormatted(Setup setup, Connection con, int mid, int cid)`
  `protected void`
  `onPayment(Conf.MPSSystem system, Payment payment)`
  `protected BigInteger`
  `parseBigInteger(String value)`
  `protected abstract MPSRequest`
  `parseRequest(Connection con, int moduleId, String mpsId, Conf.MPSSystem system, jakarta.servlet.http.HttpServletRequest request)`
  Парсинг запроса от системы
  `protected final Transaction`
  `prepareTransaction(Connection con, int moduleId, String mpsId, int contractId, Date time, BigDecimal sum, long transId, String rawNumber, int type)`
  Описание параметров метода смотри у метода `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`
  `protected final Transaction`
  `prepareTransaction(Connection con, int moduleId, String mpsId, int cid, Date time, BigDecimal sum, String transId, String rawNumber, int type)`
  Подготовка к проведению платежа.
  `protected final Transaction`
  `prepareTransaction(Connection con, int moduleId, String mpsId, int cid, Date time, BigDecimal sum, BigInteger transId, String rawNumber, int type)`
  Описание параметров метода смотри у метода `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`
  `protected void`
  `preProcess(Conf.MPSSystem system, MPSRequest mpsRequest, Connection con)`
  `protected abstract void`
  `processError(MPSException ex, MPSResponse response)`
  Обработка ошибки
  `static ProcessRegister`
  `processRegister(String mpsId, String file, String fileName, Calendar from, Calendar until, Setup setup, Connection con, int moduleId)`
  `protected ProcessRegister`
  `processRegister(MPSTransactionManager paymentManager, Connection con, int moduleId, String mpsId, Conf conf, String fileString, Calendar from, Calendar until)`
  Обработка реестра за период.
  `static byte[]`
  `processRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Setup setup, Connection con, int moduleId, String mpsId, AtomicReference<Conf.MPSSystem> mpsSystem)`
  В зависимости от запроса нужным менеджером обрабатывает запрос
  `protected abstract byte[]`
  `processRequest(Connection con, int moduleId, String mpsId, Conf conf, Conf.MPSSystem system, jakarta.servlet.http.HttpServletRequest httpRequest, jakarta.servlet.http.HttpServletResponse response)`
  Обработка запроса от системы
  `protected void`
  `processResponseEvent(MPSResponse response, Element responseElement)`
  Создание и отправка синхронного события ДО ответа платёжной системе.
  `void`
  `reviseAddTransactions(Connection con, int mid, String mpsId, Setup setup, Document payments)`
  Добавление платежей которые нашлись в реестре но не было в базе
  `void`
  `reviseCancelTransactions(Connection con, int moduleId, String mpsId, Document payments)`
  Отмена платежей которых не было в реестре
  `void`
  `reviseRestoreTransactions(Connection con, int mid, String mpsId, Setup setup, Document payments)`
  Восстановление платежей, которые в базе были отменены, но в реестре есть
  `void`
  `searchTransactionList(SearchResult<Transaction> searchResult, String systemId, int contractId, String status, Connection con, int moduleId)`
  Получение списка Transaction за период
  `void`
  `setEncoding(String encoding)`
  `protected void`
  `setResponseParameters(MPSResponse response, Element responseElement)`
  `void`
  `setUserLogin(Setup setup, Connection con, int moduleId, int contractId, String _login)`
  `protected void`
  `systemAccountAdd(Connection con, Conf.MPSSystem system, Date time, BigDecimal sum)`
  `protected void`
  `systemAccountDelete(Connection con, int mid, Conf.MPSSystem system, Date time, BigDecimal sum)`
  `protected byte[]`
  `xmlSerialize(Document doc)`

  ### Methods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger

  `error, error, error, getLogger, logError, logError`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### REQUEST_ATTRIBUTE_PATH_INFO

    public static final String REQUEST_ATTRIBUTE_PATH_INFO
    See Also:
      - Constant Field Values

  - ### REQUEST_ATTRIBUTE_PARAMETERS

    public static final String REQUEST_ATTRIBUTE_PARAMETERS
    See Also:
      - Constant Field Values

  - ### MPS_FROMGATEWAY

    public static final int MPS_FROMGATEWAY
    See Also:
      - Constant Field Values

  - ### MPS_CYBERPLAT

    public static final int MPS_CYBERPLAT
    See Also:
      - Constant Field Values

  - ### MPS_OSMP

    public static final int MPS_OSMP
    See Also:
      - Constant Field Values

  - ### ACTION_CHECK

    public static final int ACTION_CHECK
    See Also:
      - Constant Field Values

  - ### ACTION_PAY

    public static final int ACTION_PAY
    See Also:
      - Constant Field Values

  - ### ACTION_STATUS

    public static final int ACTION_STATUS
    See Also:
      - Constant Field Values

  - ### ACTION_CANCEL

    public static final int ACTION_CANCEL
    See Also:
      - Constant Field Values

  - ### ACTION_CHANGE

    public static final int ACTION_CHANGE
    See Also:
      - Constant Field Values

  - ### ACTION_PAY_ON_CHECK

    public static final int ACTION_PAY_ON_CHECK
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_SERVER

    public static final int ERROR_MPS_SERVER
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_REQUEST

    public static final int ERROR_MPS_REQUEST
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_CONTRACT_NOTFOUND

    public static final int ERROR_MPS_CONTRACT_NOTFOUND
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_PAY_EXIST

    public static final int ERROR_MPS_PAY_EXIST
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_PAY_NOTEXIST

    public static final int ERROR_MPS_PAY_NOTEXIST
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_DATE

    public static final int ERROR_MPS_DATE
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_SUM_TOOSMALLORBIG

    public static final int ERROR_MPS_SUM_TOOSMALLORBIG
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_ISOFF

    public static final int ERROR_MPS_ISOFF
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_HASH

    public static final int ERROR_MPS_HASH
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_EDIT_NOT_SUPPORTED

    public static final int ERROR_MPS_EDIT_NOT_SUPPORTED
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_TYPE

    public static final int ERROR_MPS_TYPE
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_NUMBER_PATTERN

    public static final int ERROR_MPS_NUMBER_PATTERN
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_TRANSACTION_ID_FIELD

    public static final int ERROR_MPS_TRANSACTION_ID_FIELD
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_DATE_FIELD

    public static final int ERROR_MPS_DATE_FIELD
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_OUT_OF_MONEY

    public static final int ERROR_MPS_OUT_OF_MONEY
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_DATA

    public static final int ERROR_MPS_DATA
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_SUM_SMALL

    public static final int ERROR_MPS_SUM_SMALL
    See Also:
      - Constant Field Values

  - ### ERROR_MPS_SUM_BIG

    public static final int ERROR_MPS_SUM_BIG
    See Also:
      - Constant Field Values

  - ### KEY_RESPONSE_PARAMETERS

    public static final String KEY_RESPONSE_PARAMETERS
    See Also:
      - Constant Field Values

  - ### pNumber

    protected static final Pattern pNumber

  - ### p1

    protected static final Pattern p1

  - ### p2

    protected static final Pattern p2

  - ### p3

    protected static final Pattern p3

  - ### documentBuilder

    protected final DocumentBuilder documentBuilder

- ## Constructor Details

  - ### MPSTransactionManager

    protected MPSTransactionManager()

- ## Method Details

  - ### findContract

    protected final Contract findContract(Connection con, int moduleId, Conf.MPSSystem system, String number, int type) throws MPSException
    Throws:
      `MPSException`

  - ### getContractTitle

    protected final String getContractTitle(HashMap<Integer,String> contractTitles, PreparedStatement getContractTitlePS, int contractId)

  - ### processRequest

    public static byte[] processRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Setup setup, Connection con, int moduleId, String mpsId, AtomicReference<Conf.MPSSystem> mpsSystem) throws ru.bitel.bgbilling.modules.mps.server.RequestProcessException
    В зависимости от запроса нужным менеджером обрабатывает запрос
    Throws:
      `ru.bitel.bgbilling.modules.mps.server.RequestProcessException`

  - ### getInstance

    public static MPSTransactionManager getInstance(String mpsId, Setup setup, int moduleId)

  - ### processRequest

    protected abstract byte[] processRequest(Connection con, int moduleId, String mpsId, Conf conf, Conf.MPSSystem system, jakarta.servlet.http.HttpServletRequest httpRequest, jakarta.servlet.http.HttpServletResponse response) throws Exception
    Обработка запроса от системы
    Throws:
      `Exception`

  - ### parseRequest

    protected abstract MPSRequest parseRequest(Connection con, int moduleId, String mpsId, Conf.MPSSystem system, jakarta.servlet.http.HttpServletRequest request) throws Exception
    Парсинг запроса от системы
    Throws:
      `Exception`

  - ### processError

    protected abstract void processError(MPSException ex, MPSResponse response)
    Обработка ошибки

  - ### checkValid

    protected void checkValid(Conf.MPSSystem system, MPSRequest mpsRequest, Connection con) throws MPSException
    Проверка на валидность запроса
    Throws:
      `MPSException`

  - ### preProcess

    protected void preProcess(Conf.MPSSystem system, MPSRequest mpsRequest, Connection con) throws MPSException
    Throws:
      `MPSException`

  - ### onPayment

    protected void onPayment(Conf.MPSSystem system, Payment payment)

  - ### checkTime

    protected final void checkTime(MPSRequest mpsRequest) throws MPSException
    Throws:
      `MPSException`

  - ### parseBigInteger

    protected BigInteger parseBigInteger(String value)

  - ### getTable

    protected final String getTable(Connection con, int moduleId, Date time) throws SQLException
    Throws:
      `SQLException`

  - ### createTemporaryTable

    protected final void createTemporaryTable(Connection con, String tableName) throws SQLException
    Throws:
      `SQLException`

  - ### addTransaction

    public final Transaction addTransaction(Connection con, int moduleId, String mpsId, Conf.MPSSystem system, int contractId, Date time, BigDecimal sum, String transId, String rawNumber, int type, String paymentComment) throws Exception
    Добавление платежа.
    Parameters:
      `con` - соединение с БД
      `moduleId` - код модуля MPS
      `mpsId` - код платежной системы в конфигурации модуля MPS
      `system` - набор настроек платежной системы
      `contractId` - код договора
      `time` - дата/время платежа
      `sum` - сумма платежа, пришедшая в запросе от платежной системы
      `transId` - код транзакции на стороне платежной системы
      `rawNumber` - идентификатор абонента, который присылает paynet в запросе
      `type` - тип поиска.
      `paymentComment` - комментарий платежа
    Returns:
      платеж mps, добавленный в БД.
    Throws:
      `Exception`

  - ### addTransaction

    public final Transaction addTransaction(int id, Connection con, int moduleId, String mpsId, Conf.MPSSystem system, int contractId, Date time, BigDecimal sum, String transId, String rawNumber, int type, String paymentComment) throws Exception
    Добавление платежа.
    Parameters:
      `id` -
      `con` - соединение с БД
      `moduleId` - код модуля MPS
      `mpsId` - код платежной системы в конфигурации модуля MPS
      `system` - набор настроек платежной системы
      `contractId` - код договора
      `time` - дата/время платежа
      `sum` - сумма платежа, пришедшая в запросе от платежной системы
      `transId` - код транзакции на стороне платежной системы
      `rawNumber` - идентификатор абонента, который присылает paynet в запросе
      `type` - тип поиска.
      `paymentComment` - комментарий платежа
    Returns:
      платеж mps, добавленный в БД.
    Throws:
      `Exception`

  - ### addTransaction

    public Transaction addTransaction(int id, Connection con, int moduleId, String mpsId, Conf.MPSSystem system, int contractId, Date time, BigDecimal scriptSum, BigDecimal sum, String transId, String rawNumber, int type, String paymentComment) throws Exception
    Добавление платежа.
    Parameters:
      `id` -
      `con` - соединение с БД
      `moduleId` - код модуля MPS
      `mpsId` - код платежной системы в конфигурации модуля MPS
      `system` - набор настроек платежной системы
      `contractId` - код договора
      `time` - дата/время платежа
      `scriptSum` - сумма платежа, полученная в скрипте по событию `MPSBeforePaymentEvent`.
      `sum` - сумма платежа, пришедшая в запросе от платежной системы
      `transId` - код транзакции на стороне платежной системы
      `rawNumber` - идентификатор абонента, который присылает paynet в запросе
      `type` - тип поиска.
      `paymentComment` - комментарий платежа
    Returns:
      платеж mps, добавленный в БД.
    Throws:
      `Exception`

  - ### prepareTransaction

    protected final Transaction prepareTransaction(Connection con, int moduleId, String mpsId, int contractId, Date time, BigDecimal sum, long transId, String rawNumber, int type) throws Exception
    Описание параметров метода смотри у метода `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`
    Throws:
      `Exception`

  - ### prepareTransaction

    protected final Transaction prepareTransaction(Connection con, int moduleId, String mpsId, int cid, Date time, BigDecimal sum, BigInteger transId, String rawNumber, int type) throws Exception
    Описание параметров метода смотри у метода `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`
    Throws:
      `Exception`

  - ### prepareTransaction

    protected final Transaction prepareTransaction(Connection con, int moduleId, String mpsId, int cid, Date time, BigDecimal sum, String transId, String rawNumber, int type) throws Exception
    Подготовка к проведению платежа. Метод добавляет платеж в таблицу mps_payment со статусом `TransactionStatus.PAYMENT_NOT_PAYED`. Баланс договора не меняется.
    Parameters:
      `con` - экземпляр соединения с БД.
      `moduleId` - код модуля mps.
      `mpsId` - код платежной системы, по которой проводится платеж. Настраивается в конфигурации модуля mps.
      `cid` - код договора, на который принимается платеж.
      `time` - время совершения платежа, приходящее от платежной системы.
      `sum` - сумма платежа, пришедшая в запросе от платежной системы.
      `transId` - код транзакции на стороне платежной системы.
      `rawNumber` - идентификатор абонента, пришедший в запросе от платежной системы.
      `type` - тип поиска
    Returns:
      платеж в виде сущности `Transaction` со статусом `#PAYMENT_NOT_PAYED`.
    Throws:
      `Exception`

  - ### executePreparedTransaction

    protected final Transaction executePreparedTransaction(Connection con, int mid, Conf.MPSSystem system, Transaction result, String paymentComment) throws Exception
    Завершение процедуры платежа - установка статуса `TransactionStatus.PAYMENT_PAYED`, добавление платежа и обновление баланса договора.
    Parameters:
      `con` - экземпляр соединения с БД
      `mid` - код модуля MPS
      `system` - конфигурация платежной системы
      `result` - экземпляр платежа, добавленный методом `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`
      `paymentComment` - комментарий платежа
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException` - См. `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`
      `Exception`

  - ### executePreparedTransaction

    protected final Transaction executePreparedTransaction(Connection con, int mid, Conf.MPSSystem system, Transaction result, String paymentComment, BigDecimal sum) throws ru.bitel.bgbilling.common.BGException
    Завершение процедуры платежа - установка статуса `TransactionStatus.PAYMENT_PAYED`, добавление платежа и обновление баланса договора.
    Parameters:
      `con` - экземпляр соединения с БД
      `mid` - код модуля MPS
      `system` - конфигурация платежной системы
      `result` - экземпляр платежа, добавленный методом `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`
      `paymentComment` - комментарий платежа
      `sum` - оригинальная сумма платежа, пришедшая в запросе от платежной системы.
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException` - См. `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`

  - ### executePreparedTransaction

    protected final Transaction executePreparedTransaction(Connection con, int mid, Conf.MPSSystem system, Transaction result, String paymentComment, BigDecimal scriptSum, BigDecimal sum) throws ru.bitel.bgbilling.common.BGException
    Завершение процедуры платежа - установка статуса `TransactionStatus.PAYMENT_PAYED`, добавление платежа и обновление баланса договора.
    Parameters:
      `con` - экземпляр соединения с БД
      `mid` - код модуля MPS
      `system` - конфигурация платежной системы
      `result` - экземпляр платежа, добавленный методом `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`
      `paymentComment` - комментарий платежа
      `scriptSum` - сумма платежа, которая могла быть изменена скриптом на событие `MPSBeforePaymentEvent`
      `sum` - оригинальная сумма платежа, пришедшая в запросе от платежной системы.
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException` - См. `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`

  - ### cancelPreparedTransaction

    protected final void cancelPreparedTransaction(Connection con, int moduleId, String mpsId, Conf.MPSSystem system, Transaction transaction) throws Exception
    Отмена платежа, ранее подготовленного методом `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`. Выставляется статус `TransactionStatus.PAYMENT_CANCELED`. Метод срабатывает только тогда, когда статус платежа не `TransactionStatus.PAYMENT_CANCELED`.
    Parameters:
      `con` - экземлпяр соединения с БД
      `moduleId` - код модуля MPS
      `mpsId` - код платежной системы в конфигурации модуля MPS
      `system` - набор настроек платежной системы
      `transaction` - экземпляр платежа, добавленный методом `#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)`
    Throws:
      `Exception`

  - ### getTransactionByTransId

    public final Transaction getTransactionByTransId(Connection con, int moduleId, String mpsId, long transId, Date time) throws Exception
    Получение MPSPayment по транзакции
    Parameters:
      `transId` -
    Returns:
    Throws:
      `Exception`

  - ### getTransactionByTransId

    public final Transaction getTransactionByTransId(Connection con, int moduleId, String mpsId, BigInteger transId, Date time) throws Exception
    Throws:
      `Exception`

  - ### getTransactionByTransId

    public final Transaction getTransactionByTransId(Connection con, int moduleId, String mpsId, String transId, Date time) throws Exception
    Получение MPSPayment по транзакции
    Parameters:
      `transId` -
    Returns:
    Throws:
      `Exception`

  - ### cancelTransaction

    public void cancelTransaction(Connection con, int moduleId, String mpsId, Conf.MPSSystem system, Transaction transaction) throws Exception
    Отмена платежа если он еще не отменен
    Throws:
      `Exception`

  - ### clearCanceledTransaction

    protected void clearCanceledTransaction(Connection con, int mid, int mpsId, Transaction transaction) throws Exception
    Throws:
      `Exception`

  - ### searchTransactionList

    public void searchTransactionList(SearchResult<Transaction> searchResult, String systemId, int contractId, String status, Connection con, int moduleId)
    Получение списка Transaction за период

  - ### getTransactionListForDay

    public final List<Transaction> getTransactionListForDay(Connection con, int mid, String mpsId, Calendar date) throws Exception
    Получение списка платежей за один день
    Parameters:
      `date` -
    Returns:
    Throws:
      `Exception`

  - ### getTransactionList

    public List<Transaction> getTransactionList(Connection con, int moduleId, int contractId, int yy, int mm)
    Получение списка платежей для договора за месяц (для web) upd 15.09 получение списка платежей всех систем
    Parameters:
      `contractId` -
      `yy` -
      `mm` - is 0 based!
    Returns:

  - ### getTransactionList

    public List<Transaction> getTransactionList(Setup setup, Connection con, int moduleId, String mpsId, Calendar from, Calendar until, boolean onlyPayed)

  - ### getTransactionList

    public List<Transaction> getTransactionList(Connection con, int mid, String mpsId, Conf conf, Calendar from, Calendar until, boolean onlyPayed)
    Получение списка платежей за период (Период в пределах одного месяца)
    Parameters:
      `from` -
      `until` -
    Returns:

  - ### getTransactionList

    public List<Transaction> getTransactionList(Connection con, int moduleId, String mpsId, Calendar from, Calendar to, int paymentTypeId, String status) throws ru.bitel.bgbilling.common.BGException
    Получение списка платежей за произвольный период с возможностью фильтрации по типу платежа (такая возможность используется, например, в платежной системе Paynet)
    Parameters:
      `con` - экземпляр соединения с БД
      `moduleId` - код модуля MPS
      `mpsId` - код платежной системы, определяемый в конфигурации модуля MPS
      `from` - начало периода, с которого выгружаютя платежи
      `to` - конец период, по который выгружаются платежи
      `paymentTypeId` - код типа платежа
      `status` - статус платежа
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getTransactionList

    public List<Transaction> getTransactionList(Connection con, int moduleId, int contractId, String mpsId, String status, Page page) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getTransactionFromRS

    protected final Transaction getTransactionFromRS(ResultSet rs) throws SQLException
    Получение MPSPayment из ResultSet
    Parameters:
      `rs` -
    Returns:
    Throws:
      `SQLException`

  - ### actionCheck

    protected Contract actionCheck(MPSRequest request) throws MPSException
    action - проверка (поиск) договора, возвращает найденный Contract
    Parameters:
      `request` -
    Returns:
    Throws:
      `MPSException`

  - ### processRegister

    public static ProcessRegister processRegister(String mpsId, String file, String fileName, Calendar from, Calendar until, Setup setup, Connection con, int moduleId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getTransactionListFromFileByConfig

    protected final List<Transaction> getTransactionListFromFileByConfig(Conf.MPSSystem system, String fileString)

  - ### getTransactionListFromFileByPattern

    protected final List<Transaction> getTransactionListFromFileByPattern(Pattern pattern, Map<String,Integer> patternOrder, String timeFormat, boolean osmpPrefix, String fileString)

  - ### processRegister

    protected ProcessRegister processRegister(MPSTransactionManager paymentManager, Connection con, int moduleId, String mpsId, Conf conf, String fileString, Calendar from, Calendar until) throws ru.bitel.bgbilling.common.BGException
    Обработка реестра за период.
    Parameters:
      `fileString` - реестр
      `from` -
      `until` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### reviseCancelTransactions

    public void reviseCancelTransactions(Connection con, int moduleId, String mpsId, Document payments) throws ru.bitel.bgbilling.common.BGException
    Отмена платежей которых не было в реестре
    Parameters:
      `payments` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### reviseAddTransactions

    public void reviseAddTransactions(Connection con, int mid, String mpsId, Setup setup, Document payments)
    Добавление платежей которые нашлись в реестре но не было в базе
    Parameters:
      `payments` -

  - ### reviseRestoreTransactions

    public void reviseRestoreTransactions(Connection con, int mid, String mpsId, Setup setup, Document payments) throws ru.bitel.bgbilling.common.BGException
    Восстановление платежей, которые в базе были отменены, но в реестре есть
    Parameters:
      `payments` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getTransactionListFromFile

    protected abstract List<Transaction> getTransactionListFromFile(Conf.MPSSystem system, String file)

  - ### getUserLogin

    public int getUserLogin(Connection con, int mid, int cid)

  - ### getUserLoginFormatted

    public String getUserLoginFormatted(Setup setup, Connection con, int mid, int cid)

  - ### setUserLogin

    public void setUserLogin(Setup setup, Connection con, int moduleId, int contractId, String _login) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### setEncoding

    public void setEncoding(String encoding)

  - ### getEncoding

    public String getEncoding()

  - ### getDefaultEncoding

    public String getDefaultEncoding()

  - ### getResponse

    protected abstract byte[] getResponse(Connection con, Conf.MPSSystem system, MPSResponse response) throws Exception
    Формирование сырого ответа системе из MPSResponse
    Throws:
      `Exception`

  - ### processResponseEvent

    protected void processResponseEvent(MPSResponse response, Element responseElement)
    Создание и отправка синхронного события ДО ответа платёжной системе. Должно обрабатываться в динамическом коде скриптом-обработчиком. для внесения доп.информации, например "fields" - полей
    Parameters:
      `response` - - ответ платёжной системе

  - ### getComment

    protected final String getComment(Conf.MPSSystem system, Conf conf, Connection con, Contract contract)

  - ### systemAccountAdd

    protected void systemAccountAdd(Connection con, Conf.MPSSystem system, Date time, BigDecimal sum) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### systemAccountDelete

    protected void systemAccountDelete(Connection con, int mid, Conf.MPSSystem system, Date time, BigDecimal sum) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### setResponseParameters

    protected void setResponseParameters(MPSResponse response, Element responseElement)

  - ### getResponseAttributes

    protected Map<String,String> getResponseAttributes(Connection con, Conf.MPSSystem system, MPSResponse response)

  - ### xmlSerialize

    protected byte[] xmlSerialize(Document doc)