Package ru.bitel.bgbilling.modules.qiwi.server.bean

# Class AbstractQiwiProtocol

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.modules.qiwi.server.bean.AbstractQiwiProtocol

Direct Known Subclasses:
  `QiwiRest`

public abstract class AbstractQiwiProtocol extends ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
Абстрактный класс протокола модуля Qiwi. Все реализации должны быть наследниками этого класса. Не забыть про фабрику протоколов.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected static enum`
  `AbstractQiwiProtocol.QiwiResultCode`
  Коды ошибок.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected Connection`
  `connection`
  Набор соединений с БД.
  `protected ContractManager`
  `contractManager`
  Менеджер для работы с договорами в БД.
  `protected int`
  `moduleId`
  Код модуля Qiwi
  `protected ModuleSetup`
  `moduleSetup`
  Конфигурация модуля Qiwi

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractQiwiProtocol(Connection con, int moduleId, ModuleSetup moduleSetup)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `addPayment(Transaction transaction, TransactionManager manager)`
  `abstract String`
  `beginTransaction(int contractId, String phone, BigDecimal sum, String successUrl, String failUrl)`
  Метод выставления счета абоненту из ЛК биллинга.
  `abstract void`
  `cancelTransaction(Transaction transaction)`
  Отмена НЕОПЛАЧЕННОГО выставленного счета.
  `abstract void`
  `checkRefundStatus(Transaction transaction)`
  `abstract void`
  `checkTransaction(Transaction transaction)`
  Проверка текущего состояния транзакции на сервере Qiwi.
  `abstract void`
  `refundTransaction(Transaction transaction)`
  Возврат средств (полный или частичный) по оплаченному счету.

  ### 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

  - ### moduleSetup

    protected ModuleSetup moduleSetup
    Конфигурация модуля Qiwi

  - ### moduleId

    protected int moduleId
    Код модуля Qiwi

  - ### connection

    protected Connection connection
    Набор соединений с БД.

  - ### contractManager

    protected ContractManager contractManager
    Менеджер для работы с договорами в БД.

- ## Constructor Details

  - ### AbstractQiwiProtocol

    public AbstractQiwiProtocol(Connection con, int moduleId, ModuleSetup moduleSetup)

- ## Method Details

  - ### beginTransaction

    public abstract String beginTransaction(int contractId, String phone, BigDecimal sum, String successUrl, String failUrl) throws ru.bitel.bgbilling.common.BGException
    Метод выставления счета абоненту из ЛК биллинга. Метод возвращет url, на который должен быть перенаправлен абонент после выставления счета.
    Parameters:
      `contractId` - код договора
      `phone` - номер телефона абонента в формате 7xxxxxxxxxx
      `sum` - сумма счета
      `successUrl` - url, куда будет перенаправлен абонент после успешной оплаты. Настраивается в конфигурации модуля, либо приходит в запросе от нового ЛК.
      `failUrl` - url, куда будет перенаправлен абонент в случае неудачной оплаты. Настраивается в конфигурации модуля, либо приходит в запросе от нового ЛК.
    Returns:
      url, на который будет перенаправлен абонент после успешного выставления счета
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkTransaction

    public abstract void checkTransaction(Transaction transaction) throws ru.bitel.bgbilling.common.BGException
    Проверка текущего состояния транзакции на сервере Qiwi.
    Parameters:
      `transaction` - экземпляр транзакции в бд биллинга
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### cancelTransaction

    public abstract void cancelTransaction(Transaction transaction) throws ru.bitel.bgbilling.common.BGException
    Отмена НЕОПЛАЧЕННОГО выставленного счета.
    Parameters:
      `transaction` - транзакция, которую хотим отменить.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### refundTransaction

    public abstract void refundTransaction(Transaction transaction) throws ru.bitel.bgbilling.common.BGException
    Возврат средств (полный или частичный) по оплаченному счету.
    Parameters:
      `transaction` - транзакция, по которой хотим вернуть средства.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkRefundStatus

    public abstract void checkRefundStatus(Transaction transaction) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### addPayment

    protected void addPayment(Transaction transaction, TransactionManager manager) throws Exception
    Throws:
      `Exception`