Class MPSTransactionManager
java.lang.Object
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 java.lang.Object
-
Field Summary
Fields Modifier and Type Field Description static int
ACTION_CANCEL
static int
ACTION_CHANGE
static int
ACTION_CHECK
static int
ACTION_PAY
static int
ACTION_PAY_ON_CHECK
static int
ACTION_STATUS
protected javax.xml.parsers.DocumentBuilder
documentBuilder
static int
ERROR_MPS_CONTRACT_NOTFOUND
static int
ERROR_MPS_DATA
static int
ERROR_MPS_DATE
static int
ERROR_MPS_DATE_FIELD
static int
ERROR_MPS_EDIT_NOT_SUPPORTED
static int
ERROR_MPS_HASH
static int
ERROR_MPS_ISOFF
static int
ERROR_MPS_NUMBER_PATTERN
static int
ERROR_MPS_OUT_OF_MONEY
static int
ERROR_MPS_PAY_EXIST
static int
ERROR_MPS_PAY_NOTEXIST
static int
ERROR_MPS_REQUEST
static int
ERROR_MPS_SERVER
static int
ERROR_MPS_SUM_BIG
static int
ERROR_MPS_SUM_SMALL
static int
ERROR_MPS_SUM_TOOSMALLORBIG
static int
ERROR_MPS_TRANSACTION_ID_FIELD
static int
ERROR_MPS_TYPE
static java.lang.String
KEY_RESPONSE_PARAMETERS
protected static org.apache.logging.log4j.Logger
log
static int
MPS_CYBERPLAT
static int
MPS_FROMGATEWAY
static int
MPS_OSMP
protected static java.util.regex.Pattern
p1
protected static java.util.regex.Pattern
p2
protected static java.util.regex.Pattern
p3
protected static java.util.regex.Pattern
pNumber
static java.lang.String
REQUEST_ATTRIBUTE_PARAMETERS
static java.lang.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 - проверка (поиск) договора, возвращает найденный ContractTransaction
addTransaction(int id, java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, int contractId, java.util.Date time, java.math.BigDecimal sum, java.lang.String transId, java.lang.String rawNumber, int type, java.lang.String paymentComment)
Добавление платежа.Transaction
addTransaction(int id, java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, int contractId, java.util.Date time, java.math.BigDecimal scriptSum, java.math.BigDecimal sum, java.lang.String transId, java.lang.String rawNumber, int type, java.lang.String paymentComment)
Добавление платежа.Transaction
addTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, int contractId, java.util.Date time, java.math.BigDecimal sum, java.lang.String transId, java.lang.String rawNumber, int type, java.lang.String paymentComment)
Добавление платежа.protected void
cancelPreparedTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, Transaction transaction)
Отмена платежа, ранее подготовленного методом#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)
.void
cancelTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, Transaction transaction)
Отмена платежа если он еще не отмененprotected void
checkTime(MPSRequest mpsRequest)
protected void
checkValid(Conf.MPSSystem system, MPSRequest mpsRequest, java.sql.Connection con)
Проверка на валидность запросаprotected void
clearCanceledTransaction(java.sql.Connection con, int mid, int mpsId, Transaction transaction)
protected void
createTemporaryTable(java.sql.Connection con, java.lang.String tableName)
protected Transaction
executePreparedTransaction(java.sql.Connection con, int mid, Conf.MPSSystem system, Transaction result, java.lang.String paymentComment)
Завершение процедуры платежа - установка статусаTransactionStatus.PAYMENT_PAYED
, добавление платежа и обновление баланса договора.protected Transaction
executePreparedTransaction(java.sql.Connection con, int mid, Conf.MPSSystem system, Transaction result, java.lang.String paymentComment, java.math.BigDecimal sum)
Завершение процедуры платежа - установка статусаTransactionStatus.PAYMENT_PAYED
, добавление платежа и обновление баланса договора.protected Transaction
executePreparedTransaction(java.sql.Connection con, int mid, Conf.MPSSystem system, Transaction result, java.lang.String paymentComment, java.math.BigDecimal scriptSum, java.math.BigDecimal sum)
Завершение процедуры платежа - установка статусаTransactionStatus.PAYMENT_PAYED
, добавление платежа и обновление баланса договора.protected Contract
findContract(java.sql.Connection con, int moduleId, Conf.MPSSystem system, java.lang.String number, int type)
protected java.lang.String
getComment(Conf.MPSSystem system, Conf conf, java.sql.Connection con, Contract contract)
protected java.lang.String
getContractTitle(java.util.HashMap<java.lang.Integer,java.lang.String> contractTitles, java.sql.PreparedStatement getContractTitlePS, int contractId)
java.lang.String
getDefaultEncoding()
java.lang.String
getEncoding()
static MPSTransactionManager
getInstance(java.lang.String mpsId, Setup setup, int moduleId)
protected abstract byte[]
getResponse(java.sql.Connection con, Conf.MPSSystem system, MPSResponse response)
Формирование сырого ответа системе из MPSResponseprotected java.util.Map<java.lang.String,java.lang.String>
getResponseAttributes(java.sql.Connection con, Conf.MPSSystem system, MPSResponse response)
protected java.lang.String
getTable(java.sql.Connection con, int moduleId, java.util.Date time)
Transaction
getTransactionByTransId(java.sql.Connection con, int moduleId, java.lang.String mpsId, long transId, java.util.Date time)
Получение MPSPayment по транзакцииTransaction
getTransactionByTransId(java.sql.Connection con, int mid, java.lang.String mpsId, java.lang.String transId, java.util.Date time)
Получение MPSPayment по транзакцииTransaction
getTransactionByTransId(java.sql.Connection con, int moduleId, java.lang.String mpsId, java.math.BigInteger transId, java.util.Date time)
protected Transaction
getTransactionFromRS(java.sql.ResultSet rs)
Получение MPSPayment из ResultSetjava.util.List<Transaction>
getTransactionList(java.sql.Connection con, int moduleId, int contractId, int yy, int mm)
Получение списка платежей для договора за месяц (для web) upd 15.09 получение списка платежей всех системjava.util.List<Transaction>
getTransactionList(java.sql.Connection con, int moduleId, int contractId, java.lang.String mpsId, java.lang.String status, Page page)
java.util.List<Transaction>
getTransactionList(java.sql.Connection con, int moduleId, java.lang.String mpsId, java.util.Calendar from, java.util.Calendar to, int paymentTypeId, java.lang.String status)
Получение списка платежей за произвольный период с возможностью фильтрации по типу платежа (такая возможность используется, например, в платежной системе Paynet)java.util.List<Transaction>
getTransactionList(java.sql.Connection con, int mid, java.lang.String mpsId, Conf conf, java.util.Calendar from, java.util.Calendar until, boolean onlyPayed)
Получение списка платежей за период (Период в пределах одного месяца)java.util.List<Transaction>
getTransactionList(Setup setup, java.sql.Connection con, int moduleId, java.lang.String mpsId, java.util.Calendar from, java.util.Calendar until, boolean onlyPayed)
java.util.List<Transaction>
getTransactionListForDay(java.sql.Connection con, int mid, int mpsId, java.util.Calendar date)
Получение списка платежей за один деньprotected abstract java.util.List<Transaction>
getTransactionListFromFile(Conf.MPSSystem system, java.lang.String file)
protected java.util.List<Transaction>
getTransactionListFromFileByConfig(Conf.MPSSystem system, java.lang.String fileString)
protected java.util.List<Transaction>
getTransactionListFromFileByPattern(java.util.regex.Pattern pattern, java.util.Map<java.lang.String,java.lang.Integer> patternOrder, java.lang.String timeFormat, boolean osmpPrefix, java.lang.String fileString)
int
getUserLogin(java.sql.Connection con, int mid, int cid)
java.lang.String
getUserLoginFormatted(Setup setup, java.sql.Connection con, int mid, int cid)
protected void
onPayment(Conf.MPSSystem system, Payment payment)
protected java.math.BigInteger
parseBigInteger(java.lang.String value)
protected abstract MPSRequest
parseRequest(java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, javax.servlet.http.HttpServletRequest request)
Парсинг запроса от системыprotected Transaction
prepareTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, int contractId, java.util.Date time, java.math.BigDecimal sum, long transId, java.lang.String rawNumber, int type)
Описание параметров метода смотри у метода#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)
protected Transaction
prepareTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, int cid, java.util.Date time, java.math.BigDecimal sum, java.lang.String transId, java.lang.String rawNumber, int type)
Подготовка к проведению платежа.protected Transaction
prepareTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, int cid, java.util.Date time, java.math.BigDecimal sum, java.math.BigInteger transId, java.lang.String rawNumber, int type)
Описание параметров метода смотри у метода#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)
protected void
preProcess(Conf.MPSSystem system, MPSRequest mpsRequest, java.sql.Connection con)
protected abstract void
processError(MPSException ex, MPSResponse response)
Обработка ошибкиstatic ProcessRegister
processRegister(java.lang.String mpsId, java.lang.String file, java.lang.String fileName, java.util.Calendar from, java.util.Calendar until, Setup setup, java.sql.Connection con, int moduleId)
protected ProcessRegister
processRegister(MPSTransactionManager paymentManager, java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf conf, java.lang.String fileString, java.util.Calendar from, java.util.Calendar until)
Обработка реестра за период.protected abstract byte[]
processRequest(java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf conf, Conf.MPSSystem system, javax.servlet.http.HttpServletRequest httpRequest, javax.servlet.http.HttpServletResponse response)
Обработка запроса от системыstatic byte[]
processRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Setup setup, java.sql.Connection con, int moduleId, java.lang.String mpsId, java.util.concurrent.atomic.AtomicReference<Conf.MPSSystem> mpsSystem)
В зависимости от запроса нужным менеджером обрабатывает запросprotected void
processResponseEvent(MPSResponse response, org.w3c.dom.Element responseElement)
Создание и отправка синхронного события ДО ответа платёжной системе.void
reviseAddTransactions(java.sql.Connection con, int mid, java.lang.String mpsId, Setup setup, org.w3c.dom.Document payments)
Добавление платежей которые нашлись в реестре но не было в базеvoid
reviseCancelTransactions(java.sql.Connection con, int moduleId, java.lang.String mpsId, org.w3c.dom.Document payments)
Отмена платежей которых небыло в реестреvoid
reviseRestoreTransactions(java.sql.Connection con, int mid, java.lang.String mpsId, Setup setup, org.w3c.dom.Document payments)
Восстановление платежей, которые в базе были отменены, но в реестре естьvoid
searchTransactionList(SearchResult<Transaction> searchResult, java.lang.String systemId, int contractId, java.lang.String status, java.sql.Connection con, int moduleId)
Получение списка Transaction за периодvoid
setEncoding(java.lang.String encoding)
protected void
setResponseParameters(MPSResponse response, org.w3c.dom.Element responseElement)
void
setUserLogin(Setup setup, java.sql.Connection con, int moduleId, int contractId, java.lang.String _login)
protected void
systemAccountAdd(java.sql.Connection con, Conf.MPSSystem system, java.util.Date time, java.math.BigDecimal sum)
protected void
systemAccountDelete(java.sql.Connection con, int mid, Conf.MPSSystem system, java.util.Date time, java.math.BigDecimal sum)
protected byte[]
xmlSerialize(org.w3c.dom.Document doc)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
log
protected static org.apache.logging.log4j.Logger log -
REQUEST_ATTRIBUTE_PATH_INFO
public static final java.lang.String REQUEST_ATTRIBUTE_PATH_INFO- See Also:
- Constant Field Values
-
REQUEST_ATTRIBUTE_PARAMETERS
public static final java.lang.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 java.lang.String KEY_RESPONSE_PARAMETERS- See Also:
- Constant Field Values
-
pNumber
protected static final java.util.regex.Pattern pNumber -
p1
protected static final java.util.regex.Pattern p1 -
p2
protected static final java.util.regex.Pattern p2 -
p3
protected static final java.util.regex.Pattern p3 -
documentBuilder
protected final javax.xml.parsers.DocumentBuilder documentBuilder
-
-
Constructor Details
-
MPSTransactionManager
protected MPSTransactionManager()
-
-
Method Details
-
findContract
protected final Contract findContract(java.sql.Connection con, int moduleId, Conf.MPSSystem system, java.lang.String number, int type) throws MPSException- Throws:
MPSException
-
getContractTitle
protected final java.lang.String getContractTitle(java.util.HashMap<java.lang.Integer,java.lang.String> contractTitles, java.sql.PreparedStatement getContractTitlePS, int contractId) -
processRequest
public static byte[] processRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Setup setup, java.sql.Connection con, int moduleId, java.lang.String mpsId, java.util.concurrent.atomic.AtomicReference<Conf.MPSSystem> mpsSystem) throws ru.bitel.bgbilling.modules.mps.server.RequestProcessExceptionВ зависимости от запроса нужным менеджером обрабатывает запрос- Throws:
ru.bitel.bgbilling.modules.mps.server.RequestProcessException
-
getInstance
-
processRequest
protected abstract byte[] processRequest(java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf conf, Conf.MPSSystem system, javax.servlet.http.HttpServletRequest httpRequest, javax.servlet.http.HttpServletResponse response)Обработка запроса от системы -
parseRequest
protected abstract MPSRequest parseRequest(java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, javax.servlet.http.HttpServletRequest request) throws MPSExceptionПарсинг запроса от системы- Throws:
MPSException
-
processError
Обработка ошибки -
checkValid
protected void checkValid(Conf.MPSSystem system, MPSRequest mpsRequest, java.sql.Connection con) throws MPSExceptionПроверка на валидность запроса- Throws:
MPSException
-
preProcess
protected void preProcess(Conf.MPSSystem system, MPSRequest mpsRequest, java.sql.Connection con) throws MPSException- Throws:
MPSException
-
onPayment
-
checkTime
- Throws:
MPSException
-
parseBigInteger
protected java.math.BigInteger parseBigInteger(java.lang.String value) -
getTable
protected final java.lang.String getTable(java.sql.Connection con, int moduleId, java.util.Date time) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
createTemporaryTable
protected final void createTemporaryTable(java.sql.Connection con, java.lang.String tableName) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
addTransaction
public final Transaction addTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, int contractId, java.util.Date time, java.math.BigDecimal sum, java.lang.String transId, java.lang.String rawNumber, int type, java.lang.String paymentComment) throws java.lang.ExceptionДобавление платежа.- Parameters:
con
- соединение с БДmoduleId
- код модуля MPSmpsId
- код платежной системы в конфигурации модуля MPSsystem
- набор настроек платежной системыcontractId
- код договораtime
- дата/время платежаsum
- сумма платежа, пришедшая в запросе от платежной системыtransId
- код транзакции на стороне платежной системыrawNumber
- идентификатор абонента, который присылает paynet в запросеtype
- тип поиска.paymentComment
- комментарий платежа- Returns:
- платеж mps, добавленный в БД.
- Throws:
java.lang.Exception
-
addTransaction
public final Transaction addTransaction(int id, java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, int contractId, java.util.Date time, java.math.BigDecimal sum, java.lang.String transId, java.lang.String rawNumber, int type, java.lang.String paymentComment) throws java.lang.ExceptionДобавление платежа.- Parameters:
id
-con
- соединение с БДmoduleId
- код модуля MPSmpsId
- код платежной системы в конфигурации модуля MPSsystem
- набор настроек платежной системыcontractId
- код договораtime
- дата/время платежаsum
- сумма платежа, пришедшая в запросе от платежной системыtransId
- код транзакции на стороне платежной системыrawNumber
- идентификатор абонента, который присылает paynet в запросеtype
- тип поиска.paymentComment
- комментарий платежа- Returns:
- платеж mps, добавленный в БД.
- Throws:
java.lang.Exception
-
addTransaction
public Transaction addTransaction(int id, java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, int contractId, java.util.Date time, java.math.BigDecimal scriptSum, java.math.BigDecimal sum, java.lang.String transId, java.lang.String rawNumber, int type, java.lang.String paymentComment) throws java.lang.ExceptionДобавление платежа.- Parameters:
id
-con
- соединение с БДmoduleId
- код модуля MPSmpsId
- код платежной системы в конфигурации модуля MPSsystem
- набор настроек платежной системыcontractId
- код договораtime
- дата/время платежаscriptSum
- сумма платежа, полученная в скрипте по событиюMPSBeforePaymentEvent
.sum
- сумма платежа, пришедшая в запросе от платежной системыtransId
- код транзакции на стороне платежной системыrawNumber
- идентификатор абонента, который присылает paynet в запросеtype
- тип поиска.paymentComment
- комментарий платежа- Returns:
- платеж mps, добавленный в БД.
- Throws:
java.lang.Exception
-
prepareTransaction
protected final Transaction prepareTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, int contractId, java.util.Date time, java.math.BigDecimal sum, long transId, java.lang.String rawNumber, int type) throws java.lang.ExceptionОписание параметров метода смотри у метода#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)
- Throws:
java.lang.Exception
-
prepareTransaction
protected final Transaction prepareTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, int cid, java.util.Date time, java.math.BigDecimal sum, java.math.BigInteger transId, java.lang.String rawNumber, int type) throws java.lang.ExceptionОписание параметров метода смотри у метода#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)
- Throws:
java.lang.Exception
-
prepareTransaction
protected final Transaction prepareTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, int cid, java.util.Date time, java.math.BigDecimal sum, java.lang.String transId, java.lang.String rawNumber, int type) throws java.lang.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:
java.lang.Exception
-
executePreparedTransaction
protected final Transaction executePreparedTransaction(java.sql.Connection con, int mid, Conf.MPSSystem system, Transaction result, java.lang.String paymentComment) throws java.lang.ExceptionЗавершение процедуры платежа - установка статусаTransactionStatus.PAYMENT_PAYED
, добавление платежа и обновление баланса договора.- Parameters:
con
- экземпляр соединения с БДmid
- код модуля MPSsystem
- конфигурация платежной системы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)
java.lang.Exception
-
executePreparedTransaction
protected final Transaction executePreparedTransaction(java.sql.Connection con, int mid, Conf.MPSSystem system, Transaction result, java.lang.String paymentComment, java.math.BigDecimal sum) throws ru.bitel.bgbilling.common.BGExceptionЗавершение процедуры платежа - установка статусаTransactionStatus.PAYMENT_PAYED
, добавление платежа и обновление баланса договора.- Parameters:
con
- экземпляр соединения с БДmid
- код модуля MPSsystem
- конфигурация платежной системы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(java.sql.Connection con, int mid, Conf.MPSSystem system, Transaction result, java.lang.String paymentComment, java.math.BigDecimal scriptSum, java.math.BigDecimal sum) throws ru.bitel.bgbilling.common.BGExceptionЗавершение процедуры платежа - установка статусаTransactionStatus.PAYMENT_PAYED
, добавление платежа и обновление баланса договора.- Parameters:
con
- экземпляр соединения с БДmid
- код модуля MPSsystem
- конфигурация платежной системы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(java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, Transaction transaction) throws java.lang.ExceptionОтмена платежа, ранее подготовленного методом#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)
. Выставляется статусTransactionStatus.PAYMENT_CANCELED
. Метод срабатывает только тогда, когда статус платежа неTransactionStatus.PAYMENT_CANCELED
.- Parameters:
con
- экземлпяр соединения с БДmoduleId
- код модуля MPSmpsId
- код платежной системы в конфигурации модуля MPSsystem
- набор настроек платежной системыtransaction
- экземпляр платежа, добавленный методом#prepareTransaction(Connection, int, int, int, Date, BigDecimal, String, String, int)
- Throws:
java.lang.Exception
-
getTransactionByTransId
public final Transaction getTransactionByTransId(java.sql.Connection con, int moduleId, java.lang.String mpsId, long transId, java.util.Date time) throws java.lang.ExceptionПолучение MPSPayment по транзакции- Parameters:
transId
-- Returns:
- Throws:
java.lang.Exception
-
getTransactionByTransId
public final Transaction getTransactionByTransId(java.sql.Connection con, int moduleId, java.lang.String mpsId, java.math.BigInteger transId, java.util.Date time) throws java.lang.Exception- Throws:
java.lang.Exception
-
getTransactionByTransId
public final Transaction getTransactionByTransId(java.sql.Connection con, int mid, java.lang.String mpsId, java.lang.String transId, java.util.Date time) throws java.lang.ExceptionПолучение MPSPayment по транзакции- Parameters:
transId
-- Returns:
- Throws:
java.lang.Exception
-
cancelTransaction
public void cancelTransaction(java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf.MPSSystem system, Transaction transaction) throws java.lang.ExceptionОтмена платежа если он еще не отменен- Throws:
java.lang.Exception
-
clearCanceledTransaction
protected void clearCanceledTransaction(java.sql.Connection con, int mid, int mpsId, Transaction transaction) throws java.lang.Exception- Throws:
java.lang.Exception
-
searchTransactionList
public void searchTransactionList(SearchResult<Transaction> searchResult, java.lang.String systemId, int contractId, java.lang.String status, java.sql.Connection con, int moduleId)Получение списка Transaction за период -
getTransactionListForDay
public final java.util.List<Transaction> getTransactionListForDay(java.sql.Connection con, int mid, int mpsId, java.util.Calendar date) throws java.lang.ExceptionПолучение списка платежей за один день- Parameters:
date
-- Returns:
- Throws:
java.lang.Exception
-
getTransactionList
public java.util.List<Transaction> getTransactionList(java.sql.Connection con, int moduleId, int contractId, int yy, int mm)Получение списка платежей для договора за месяц (для web) upd 15.09 получение списка платежей всех систем- Parameters:
contractId
-yy
-mm
- is 0 based!- Returns:
-
getTransactionList
public java.util.List<Transaction> getTransactionList(Setup setup, java.sql.Connection con, int moduleId, java.lang.String mpsId, java.util.Calendar from, java.util.Calendar until, boolean onlyPayed) -
getTransactionList
public java.util.List<Transaction> getTransactionList(java.sql.Connection con, int mid, java.lang.String mpsId, Conf conf, java.util.Calendar from, java.util.Calendar until, boolean onlyPayed)Получение списка платежей за период (Период в пределах одного месяца)- Parameters:
from
-until
-- Returns:
-
getTransactionList
public java.util.List<Transaction> getTransactionList(java.sql.Connection con, int moduleId, java.lang.String mpsId, java.util.Calendar from, java.util.Calendar to, int paymentTypeId, java.lang.String status) throws ru.bitel.bgbilling.common.BGExceptionПолучение списка платежей за произвольный период с возможностью фильтрации по типу платежа (такая возможность используется, например, в платежной системе Paynet)- Parameters:
con
- экземпляр соединения с БДmoduleId
- код модуля MPSmpsId
- код платежной системы, определяемый в конфигурации модуля MPSfrom
- начало периода, с которого выгружаютя платежиto
- конец период, по который выгружаются платежиpaymentTypeId
- код типа платежаstatus
- статус платежа- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
getTransactionList
public java.util.List<Transaction> getTransactionList(java.sql.Connection con, int moduleId, int contractId, java.lang.String mpsId, java.lang.String status, Page page) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getTransactionFromRS
protected final Transaction getTransactionFromRS(java.sql.ResultSet rs) throws java.sql.SQLExceptionПолучение MPSPayment из ResultSet- Parameters:
rs
-- Returns:
- Throws:
java.sql.SQLException
-
actionCheck
action - проверка (поиск) договора, возвращает найденный Contract- Parameters:
request
-- Returns:
- Throws:
MPSException
-
processRegister
public static ProcessRegister processRegister(java.lang.String mpsId, java.lang.String file, java.lang.String fileName, java.util.Calendar from, java.util.Calendar until, Setup setup, java.sql.Connection con, int moduleId) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getTransactionListFromFileByConfig
protected final java.util.List<Transaction> getTransactionListFromFileByConfig(Conf.MPSSystem system, java.lang.String fileString) -
getTransactionListFromFileByPattern
protected final java.util.List<Transaction> getTransactionListFromFileByPattern(java.util.regex.Pattern pattern, java.util.Map<java.lang.String,java.lang.Integer> patternOrder, java.lang.String timeFormat, boolean osmpPrefix, java.lang.String fileString) -
processRegister
protected ProcessRegister processRegister(MPSTransactionManager paymentManager, java.sql.Connection con, int moduleId, java.lang.String mpsId, Conf conf, java.lang.String fileString, java.util.Calendar from, java.util.Calendar until) throws ru.bitel.bgbilling.common.BGExceptionОбработка реестра за период.- Parameters:
fileString
- реестрfrom
-until
-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
reviseCancelTransactions
public void reviseCancelTransactions(java.sql.Connection con, int moduleId, java.lang.String mpsId, org.w3c.dom.Document payments) throws ru.bitel.bgbilling.common.BGExceptionОтмена платежей которых небыло в реестре- Parameters:
payments
-- Throws:
ru.bitel.bgbilling.common.BGException
-
reviseAddTransactions
public void reviseAddTransactions(java.sql.Connection con, int mid, java.lang.String mpsId, Setup setup, org.w3c.dom.Document payments)Добавление платежей которые нашлись в реестре но не было в базе- Parameters:
payments
-
-
reviseRestoreTransactions
public void reviseRestoreTransactions(java.sql.Connection con, int mid, java.lang.String mpsId, Setup setup, org.w3c.dom.Document payments) throws ru.bitel.bgbilling.common.BGExceptionВосстановление платежей, которые в базе были отменены, но в реестре есть- Parameters:
payments
-- Throws:
ru.bitel.bgbilling.common.BGException
-
getTransactionListFromFile
protected abstract java.util.List<Transaction> getTransactionListFromFile(Conf.MPSSystem system, java.lang.String file) -
getUserLogin
public int getUserLogin(java.sql.Connection con, int mid, int cid) -
getUserLoginFormatted
public java.lang.String getUserLoginFormatted(Setup setup, java.sql.Connection con, int mid, int cid) -
setUserLogin
public void setUserLogin(Setup setup, java.sql.Connection con, int moduleId, int contractId, java.lang.String _login) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
setEncoding
public void setEncoding(java.lang.String encoding) -
getEncoding
public java.lang.String getEncoding() -
getDefaultEncoding
public java.lang.String getDefaultEncoding() -
getResponse
protected abstract byte[] getResponse(java.sql.Connection con, Conf.MPSSystem system, MPSResponse response)Формирование сырого ответа системе из MPSResponse -
processResponseEvent
Создание и отправка синхронного события ДО ответа платёжной системе. Должно обрабатываться в динамическом коде скриптом-обработчиком. для внесения доп.информации, например "fields" - полей- Parameters:
response
- - ответ платёжной системе
-
getComment
protected final java.lang.String getComment(Conf.MPSSystem system, Conf conf, java.sql.Connection con, Contract contract) -
systemAccountAdd
protected void systemAccountAdd(java.sql.Connection con, Conf.MPSSystem system, java.util.Date time, java.math.BigDecimal sum) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
systemAccountDelete
protected void systemAccountDelete(java.sql.Connection con, int mid, Conf.MPSSystem system, java.util.Date time, java.math.BigDecimal sum) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
setResponseParameters
-
getResponseAttributes
protected java.util.Map<java.lang.String,java.lang.String> getResponseAttributes(java.sql.Connection con, Conf.MPSSystem system, MPSResponse response) -
xmlSerialize
protected byte[] xmlSerialize(org.w3c.dom.Document doc)
-