ru.bitel.bgbilling.common.service

## Interface PaymentServiceProvider

- All Known Subinterfaces:
    AGRService, AlfabankService, AssistService, BVComService, ChronoPayService, PaykeeperService, PayMasterService, PayOnlineService, PSBService, QiwiService, RFIeCommerceService, RobokassaService, SberbankService, TinkoffService, UnitellerService, VepayService, YamoneyService

      public interface PaymentServiceProvider

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default void` | `autopaymentDeactivate(int contractId)` Деактивация автоплатежа.
    `default Autopayment` | `autopaymentGet(int contractId)` Получение текущего автоплатежа, если подключен.
    `default void` | `beginAutopaymentTransaction(int contractId, java.math.BigDecimal amount, javax.xml.ws.Holder<java.lang.String> url, javax.xml.ws.Holder<java.lang.String> mode, javax.xml.ws.Holder<MapHolder<java.lang.String,java.lang.String>> params, ContractAutopaymentMode autopaymentMode)` Начало проведения платежа для создания автоплатежа.
    `void` | `beginTransaction(int contractId, java.math.BigDecimal amount, javax.xml.ws.Holder<java.lang.String> url, javax.xml.ws.Holder<java.lang.String> mode, javax.xml.ws.Holder<MapHolder<java.lang.String,java.lang.String>> params)` Начало проведения платежа.
    `void` | `endTransaction(int contractId, java.math.BigDecimal amount, javax.xml.ws.Holder<java.lang.String> url, javax.xml.ws.Holder<java.lang.String> mode, javax.xml.ws.Holder<MapHolder<java.lang.String,java.lang.String>> params)` Нужно пока только для alfabank и sberbank, используется только contractId

- - ### Method Detail

    - #### beginTransaction

          void beginTransaction(int contractId,
                                java.math.BigDecimal amount,
                                javax.xml.ws.Holder<java.lang.String> url,
                                javax.xml.ws.Holder<java.lang.String> mode,
                                javax.xml.ws.Holder<MapHolder<java.lang.String,java.lang.String>> params)
                         throws ru.bitel.bgbilling.common.BGException,
                                ru.bitel.bgbilling.common.BGMessageException,
                                ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                ru.bitel.bgbilling.common.BGIllegalAccessException

      Начало проведения платежа.
      Parameters:
        `contractId` - ID договора
        `amount` - сумма платежа
        `url` - URL, на который нужно будет отправить запрос (с web-страницы абонента)
        `mode` - - режим, "redirect" - сделать редирект на указанный URL, "post" - отправить форму на указанный URL
        `params` - входящие параметры - ipAddress, phone (для платежной системы), исходящие - параметры формы, для которой нужно сделать post (если mode=="post").
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### beginAutopaymentTransaction

          default void beginAutopaymentTransaction(int contractId,
                                                   java.math.BigDecimal amount,
                                                   javax.xml.ws.Holder<java.lang.String> url,
                                                   javax.xml.ws.Holder<java.lang.String> mode,
                                                   javax.xml.ws.Holder<MapHolder<java.lang.String,java.lang.String>> params,
                                                   ContractAutopaymentMode autopaymentMode)
                                            throws ru.bitel.bgbilling.common.BGException,
                                                   ru.bitel.bgbilling.common.BGMessageException,
                                                   ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                                   ru.bitel.bgbilling.common.BGIllegalAccessException

      Начало проведения платежа для создания автоплатежа.
      Parameters:
        `contractId` - ID договора
        `amount` - сумма платежа
        `url` - URL, на который нужно будет отправить запрос (с web-страницы абонента)
        `mode` - - режим, "redirect" - сделать редирект на указанный URL, "post" - отправить форму на указанный URL
        `params` - входящие параметры - ipAddress, phone (для платежной системы), исходящие - параметры формы, для которой нужно сделать post (если mode=="post").
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### endTransaction

          void endTransaction(int contractId,
                              java.math.BigDecimal amount,
                              javax.xml.ws.Holder<java.lang.String> url,
                              javax.xml.ws.Holder<java.lang.String> mode,
                              javax.xml.ws.Holder<MapHolder<java.lang.String,java.lang.String>> params)
                       throws ru.bitel.bgbilling.common.BGException,
                              ru.bitel.bgbilling.common.BGMessageException,
                              ru.bitel.bgbilling.common.BGIllegalArgumentException,
                              ru.bitel.bgbilling.common.BGIllegalAccessException

      Нужно пока только для alfabank и sberbank, используется только contractId
      Parameters:
        `contractId` -
        `amount` -
        `url` -
        `mode` -
        `params` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### autopaymentGet

          default Autopayment autopaymentGet(int contractId)
                                      throws ru.bitel.bgbilling.common.BGException,
                                             ru.bitel.bgbilling.common.BGMessageException,
                                             ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                             ru.bitel.bgbilling.common.BGIllegalAccessException

      Получение текущего автоплатежа, если подключен.
      Parameters:
        `contractId` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`

    - #### autopaymentDeactivate

          default void autopaymentDeactivate(int contractId)
                                      throws ru.bitel.bgbilling.common.BGException,
                                             ru.bitel.bgbilling.common.BGMessageException,
                                             ru.bitel.bgbilling.common.BGIllegalArgumentException,
                                             ru.bitel.bgbilling.common.BGIllegalAccessException

      Деактивация автоплатежа. В биллинге удаляется привязка, возможен также вызов в платежную систему.
      Parameters:
        `contractId` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`
        `ru.bitel.bgbilling.common.BGIllegalAccessException`