ПриватБанк ver.2 (кассы, терминалы, privat24)

Вернуться на уровень выше

Доступно с версии 2.5.4.

Сообщите менеджеру Server URL вида https://admin.ispnet.demo/ajax/index/privat2ndversion и то, что работаете по второй версии протокола.

Алгоритм работы:

  • предварительный поиск (Presearch)
  • поиск после предварительного поиска (Search после Presearch)
  • оплата услуг (Pay)

Также, что Ваш companyCode = 1 и serviceCode = 101. Для предварительного поиска (ПП) абонентов (по полям: uid, login, номер договора) использовать функцию Presearch и присылать параметр для поиска как ls. Т.е. запрос на ПП должен иметь вид:

<?xml version="1.0" encoding="UTF­8" standalone="yes"?>
<Transfer xmlns="http://debt.privatbank.ua/Transfer" interface="Debt" action="Presearch">
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema­instance" xsi:type="Payer">
<Unit name="ls" value="testuser" />
</Data>
</Transfer>

После него выполняется "Поиск (Search) после ПП", в котором по идентификатору абонента (bill_identifier = uid) производится получение информации о нём и рекомендуемый платёж.

В завершение происходит Оплата (метод Pay).

Пояснения:

"Server URL" Обязательно должен быть внешним доменом!
Не забываем заменить "admin.ispnet.demo" на свой Внешний домен, который доступен из интернет или внешний IP на котором доступна "админка".
http или https несущественно, главное чтобы по этой ссылке(https://admin.ispnet.demo) вы могли попадать в админку из интернета.
В данный момент доступны для использования методы: Presearch, "Search после Presearch" и Pay.
Операции запроса "Check" и "Cancel" в данный момент не поддержаны.

Методы SearchAfterPresearch и Search

Запрос:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Transfer action="Search" interface="Debt" xmlns="http://debt.privatbank.ua/Transfer">
   <Data xsi:type="Payer"  presearchId="3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</Transfer>

Ответ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Transfer xmlns="http://debt.privatbank.ua/Transfer" interface="Debt" action="Search">
      <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="DebtPack" >
        <DopData>
          <Dop name="login" value="office"/>
          <Dop name="uid" value="3"/>
          <Dop name="dogovor" value="12345"/>
        </DopData>
        <PayerInfo billIdentifier="3">
          <Fio>Криворукий Степан  Иванвич</Fio>
          <Address>Киев Гоголя 1</Address>
        </PayerInfo>
        <ServiceGroup>
          <DebtService serviceCode="101" >
            <CompanyInfo>
              <CompanyCode>1</CompanyCode>
            </CompanyInfo>
            <DebtInfo amountToPay="0" debt="-1210.81"/>
            <PayerInfo billIdentifier="3">
              <Fio>Криворукий Степан  Иванвич</Fio>
            </PayerInfo>
          </DebtService>
        </ServiceGroup>
      </Data>
    </Transfer>
Существующие данные в ответе можно использовать для построения шаблонов
Пример шаблона назначения платежа: "Оплата згідно договору NoXXXXX від Iванова Івана Івановича, UID=1234, login=XXXX"
ЭлементАтрибутОписание
/Transfer/Data/DopData Дополнительные параметры абонента (uid, login, dogovor)
/Transfer/Data/PayerInfo/Address Адрес
/Transfer/Data/PayerInfo/Fio ФИО
/Transfer/Data/ServiceGroup/DebtService/DebtInfo amountToPay Сумма к оплате
/Transfer/Data/ServiceGroup/DebtService/DebtInfo debt Сумма задолженности. Отрицательное значение обозначает переплату, положительное — задолженность.
 <DopData>
     <Dop name="login" value="office"/>
     <Dop name="uid" value="3"/>
     <Dop name="dogovor" value="12345"/>
 </DopData>
  <Fio>Криворукий Степан  Иванвич</Fio>
  <Address>Киев Гоголя 1</Address>
  <DebtInfo amountToPay="0" debt="-1210.81"/>    

При использовании "Предварительного Поиска" поиск абонента производится по uid, login, номер договора. Поиск и оплата происходит для основных групп пользователей: обычный (базовый) и замороженный.

Если же сразу производить "Поиск", то однозначная идентификация абонента производится по полю uid.

По запросу на поиск, будет возвращены Ф.И.О. пользователя в виде "Иванов Михаил Иванович" и сумма, рекомендуемая к оплате с учётом текущего депозита и индивидуальной скидки абонента.

В зависимости от того в каком виде будет получен запрос, сервер MikBill автоматически его обработает, настроек не требует.

Открываем "Настройки"→"Системные опции". Вкладка "Терминалы"

Не забываем отметить "Разрешить".
Параметр Пояснение
Обязательные:
подсеть 217.117.64.232/32,217.117.68.232/32 (по состоянию на июль 2017) Подсеть, из которой разрешён доступ (уточняйте у менеджера - может она изменилась)
Название компании ваше название компании
МФО мфо для р/с
ОКПО окпо для р/с
Р/Ср/с компании
Не обязательные:
процент отчислений Необходимо для отчетности

Так же выберете способы, какими Вы хотите, чтоб система искала абонентов: UID, login, номер договора. Будут использованы все выбранные Вами варианты.

Всё, настройка закончена.

Провайдер имеет договор с ПриватБанком и расчетный счет.

Клиент приходит в кассу и говорит кассиру "я хочу пополнить счет своего провайдера" (и называет его). Абонент называет свой UID или ЛОГИН или НОМЕР ДОГОВОРА.

Кассир делает запрос в биллинг на поиск пользователя и сначала получает список "возможных" пользователей (например, если у Вас в системе могут совпадать UID одного абонента с логином другого). По ФИО абонента кассир уточняет, найден ли абонент правильно. Если всё верно, то делается запрос на уточнение состояния баланса абонента и сумму рекомендательного платежа.

С версии 2.7.15 в MikBiLL появилась возможность выполнять перевод средств абонента при пополнении на различные Р/С исходя из свойств абонента, а именно того, кто является его дилером.

Для этого Вам необходимо сначала в ПриватБанке установить, за какой ID отвечает какой Р/С. ID пользователя будет возвращено в атрибуте CompanyCode:

<ServiceGroup><DebtService serviceCode="101" ><CompanyInfo><ServiceGroup><DebtService serviceCode="101" >
<CompanyCode>ID_ДИЛЕРА</CompanyCode>
</CompanyInfo>
</DebtService></ServiceGroup>

, где ID_ДИЛЕРА и будет ID дилера, которому принадлежит абонент.

Так же Вам необходимо в системных опциях включить свойство "Привязать к дилеру" в настройке "ПриватБанк v.2".

Если у абонента не будет дилера, то будет возвращён в месте ID_ДИЛЕРА "0" - предусмотрите этот вариант за ранее, если считаете, что у Вас могут быть такие абоненты.
  • billing/preferences/payment_system/privatbank_kassa.txt
  • Последние изменения: 10 месяц (-ев) назад
  • — Максим Ступаков