Протокол реализован совместно с компанией ООО «UZPAYNET» (официальный сайт). Протокол работает через SOAP, реализованный в биллинге в модуле MPS.
Блок кода |
---|
|
#протокол для ПС Paynet
mps.<mpsId>.protocol=paynet
#Название ПС
mps.<mpsId>.title=Paynet
#протокол включен (1), выключен (0)
mps.<mpsId>.mode=1
#данные для авторизации ПС
mps.<mpsId>.login=user
mps.<mpsId>.passw=password
#динамический класс, который формирует нужные данные для ответа ПС при вызове метода getInformation. Например, информацию о балансе.
mps.<mpsId>.getInformation.class=
#настройка разделения платежей по типам. Общий формат: mps.<mpsId>.pid.<serviceId>=<payment_type_id>
#где mpsId - код конфигурации ПС в данном конфиге (если у вас в данном конфиге настроена только одна ПС, то mpsId=1)
#serviceId - код услуги с т.з. ПС paynet. Этот serviceId будет приходить в запросах от ПС, полный список этих serviceId нужно передать в ПС. Например serviceId = 1 (paynet), serviceId = 2 (click) и т.д. По этому полю будет идти разделение по типам платежей в биллинге.
#payment_type_id - код типа платежа из справочника типов платежей (меню Справочники-Типы платежей)
mps.<mpsId>.pid.1=
#запрет на проведение платежей для юр. лиц. true - запрещено проводить для юр. лиц, false - разрешено.
mps.<mpsId>.deny.jur= |
Остановимся подробнее на опции mps.<mpsId>.getInformation.class. Класс, прописанный в данной строке конфигурации, должен реализовать метод getResponceParameters интерфейса ru.bitel.bgbilling.modules.mps.server.bean.ws.paynet.ResponceParameters и возвращать java.util.Map<String, String>. Список возвращаемых параметров определяется по договоренности с платежной системой. Ниже представлен пример реализации для случая, когда необходимо вернуть в платежную систему информацию о балансе договора.
Блок кода |
---|
|
package ru.bitel.bgbilling.modules.mps.paynet;
import java.sql.Connection;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.modules.mps.server.bean.ws.paynet.ResponceParameters;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.Utils;
import bitel.billing.server.contract.bean.BalanceUtils;
public class GetResponceParameters
implements ResponceParameters
{
@Override
public Map<String, String> getResponceParameters( Connection con, Setup setup, int contractId )
throws BGException
{
Map<String, String> result = new HashMap<String, String>();
try(BalanceUtils bu = new BalanceUtils( con ))
{
result.put( "balance", Utils.formatBigDecimalSumm( bu.getBalance( new Date(), contractId ) ));
}
return result;
}
}
|