- 1 Обязательные атрибуты запросов
- 2 ИДЕНТИФИКАЦИЯ ПЛАТЕЛЬЩИКА (ПРЕДВАРИТЕЛЬНЫЙ ПОИСК Presearch)
- 3 ОСНОВНОЙ ПОИСК ПОСЛЕ ПРЕДВАРИТЕЛЬНОГО
- 4 ПОИСК ПЛАТЕЛЬЩИКА (SEARCH)
- 5 ПРОВЕРКА ВОЗМОЖНОСТИ ЗАПИСИ ПЛАТЕЖА (CHECK)
- 5.1 Пример запроса
- 5.1.1 Коммунальный платеж
- 5.1.2 Интернет/телефония
- 5.2 Пример положительного ответа
- 5.3 Пример ответа с ошибкой
- 5.1 Пример запроса
- 6 ЗАПИСЬ ПЛАТЕЖА
- 6.1 Пример запроса
- 6.1.1 коммунальный платеж
- 6.1.2 Интернет/телефония
- 6.2 Пример положительного ответа
- 6.3 Пример ответа с ошибкой
- 6.1 Пример запроса
- 7 КОДЫ И ОПИСАНИЕ ОШИБОК
Обязательные атрибуты запросов
В запросах коренной тег должен быть <Transfer>.
В ответе атрибуты interface и action тега <Transfer> копируются с запроса. Если в ответе атрибут action имеет пустое значение — произошла системная ошибка, ошибка разбора xml или указаны неподдерживаемые значения атрибутов xmlns или interface.
Элементы и атрибуты запросов:
Элемент | Атрибут | Обязательность | Значение |
Transfer |
| + | Корневой элемент |
| interface | + | Константа (interface = "Debt") |
| action | + | Характерезирует тип запроса/ответа. Может принимать значения: Presearch, Search, Check, Pay, Cancel, Upload. |
Data |
| + | Описание данных ответа/запроса |
| xsi:type | + | Тип данных запроса. Может принимать значения: DebtPack, Payer, PayersTable, Payment, Gateway, ErrorInfo, Calculator, Entry, Pack (таблица 1) |
Расшифровка атрибутов xsi:type приведена в таблице
Элемент | Атрибут | Значение |
xsi:type |
| Тип данных запроса. |
Payer |
| Информация о плательщике. |
DebtPack |
| Ответ ПШ на запрос Search. Содержит информацию о задолженности плательщика. |
| billPeriod | Единный период услуг задолженности. |
| actualBills | дата обновления счетов задолженности |
PayersTable |
| Ответ ПШ на запрос Presearch. Содержит список плательщиков и их реквизитов. |
Payment |
| Платеж задолженности ПС. |
| id | Уникальный идентификатор платежа. |
Gateway |
| Ответ ПШ на успешный запрос записи, сторнирования, выгрузки и перерасчета комиссии. |
| reference | Уникальный идентификатор на стороне ПШ. |
ErrorInfo |
| Отрицательный ответ ПШ на запрос. |
| code | Код ошибки. |
Calculator |
| Ответ на запрос перерасчета. |
Entry |
| Одиночная выгрузка реестра (Одна проводка-одна xml) |
| number | Номер реестра |
| id | Уникальный идентификатор реестра |
Pack |
| Пакетная выгрузка реестра (Все проводки за опердень - одна xml) |
| number | Номер реестра |
| id | Уникальный идентификатор реестра |
ИДЕНТИФИКАЦИЯ ПЛАТЕЛЬЩИКА (ПРЕДВАРИТЕЛЬНЫЙ ПОИСК Presearch)
Предварительный поиск плательщика осуществляется, например, по адресу или номеру лицевого счета.
В случае поиска по адресу обязательно должны быть указаны код улицы и номер (название) дома. Если в адресе присутствует корпус, его нужно указывать в конце названия дома через слешь , или добавить как поисковый параметр. Если под заданные критерии попадает не более пяти лицевых счетов, будет возвращен их список.
Подробное описание элементов запроса Presearch:
Элемент | Атрибут | Значение | Кол-во элементов | Обязательность элемента | Примечание | |||
Transfer | interface | Debt | 1 | + | Константа (interface = "Debt") | |||
| action | Presearch | 1 | + | Метод запроса | |||
/Transfer/Data | xsi:type | Payer | 1 | + | Тип запроса | |||
/Transfer/Data/ | name | House | flat | street | ls | 1...n | + | Название параметра поиска:
|
| value | «строка» |
|
| Значение параметра поиска. |
Подробное описание элементов ответа Presearch:
Элемент | Атрибут | Значение | Кол-во элемен. | Обязательность | Примечание | |||
Transfer | interface | Dept | 1 | + | Константа (interface = "Debt") | |||
| action | Presearch | 1 | + | Метод запроса | |||
/Transfer/Data | xsi:type | PayersTable | 1 | + | Тип запроса | |||
/Transfer/Data/Headers |
|
| 1 | + | Шапка полей предварительного поиска | |||
/Transfer/Data/Headers/Header | name | любой | ls | fio | address) | 1...n | + | Пример элементов:
|
/Transfer/Data/Columns |
|
| 1 | + | Таблица | |||
/Transfer/Data/Columns/Column |
|
| 2...n | + | Колонка | |||
/Transfer/Data/Columns/Colum/Elemen |
|
| 1...n | + | Ячейка |
Пример запроса
Поиск по улице и по номеру дома
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Presearch"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Payer"> <Unit name="street" value="213434" /> <Unit name="house" value="34" /> </Data> </Transfer>
Поиск по улице, по номеру дома и номеру квартиры
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Presearch"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Payer"> <Unit name="street" value="213434" /> <Unit name="house" value="34" /> <Unit name="flat" value="2" /> </Data> </Transfer>
Поиск по лицевому счету
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Presearch"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Payer"> <Unit name="ls" value="710005007302" /> </Data> </Transfer>
Пример положительного ответа
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Presearch"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="PayersTable"> <Headers> <Header name="fio" /> <Header name="ls" /> </Headers> <Columns> <Column> <Element>Иванов Иван Иванович</Element> <Element>Иванов И.И.</Element> <Element>Иванова Е.В</Element> <Element>Иванов И</Element> <Element>Иванов Иван Иванович</Element> </Column> <Column> <Element>1210236</Element> <Element>1210236</Element> <Element>12102348</Element> <Element>1210236</Element> <Element>1210236</Element> </Column> </Columns> </Data> </Transfer>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<Transfer interface="Debt" action="Presearch">
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="PayersTable">
<Headers>
<Header name="fio" />
<Header name="ls" />
</Headers>
<Columns>
<Column>
<Element>Иванов Иван Иванович</Element>
<Element>Иванов И.И.</Element>
<Element>Иванова Е.В</Element>
<Element>Иванов И</Element>
<Element>Иванов Иван Иванович</Element>
</Column>
<Column>
<Element>1210236</Element>
<Element>1210236</Element>
<Element>12102348</Element>
<Element>1210236</Element>
<Element>1210236</Element>
</Column>
</Columns>
</Data>
</Transfer>
Пример ответа с ошибкой
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
Transfer
interface
=
"Debt"
action
=
"Presearch"
>
<
Message
>Уточните поисковые реквизиты</
Message
>
</
Data
>
</
Transfer
>
ОСНОВНОЙ ПОИСК ПОСЛЕ ПРЕДВАРИТЕЛЬНОГО
Результатом выполнения предварительного поиска является список плательщиков. Из этого списка клиент идентифицирует себя и после выбора получает информацию по задолженности.
Обязательный условием для корректной работы ПС является: в ответе на Search в тегах
/Transfer/Data/ServiceGroup/DebtService/PayerInfo/Phоne
/Transfer/Data/ServiceGroup/DebtService/PayerInfo/ls
/Transfer/Data/ServiceGroup/DebtService/serviceCode
значение одного из параметров Phоne/ls/serviceCode в разрезе услуги должно иметь уникальное содержание.
Подробное описание элементов запроса
Элемент | Атрибут | Значение | Кол-во элемента | Обязательность элемента | Примечание |
---|---|---|---|---|---|
Transfer | interface | Debt | 1 | + | Константа (interface = "Debt") |
| action | Search | 1 | + | Метод запроса |
/Transfer/Data | xsi:type | Payer | 1 | + | Тип запроса |
| presearchId |
| 1 | + | Уникальный идентификатор плательщика, который был выбран при предварительном поиске |
Подробное описание элементов ответа
Элемент | Атрибут | Значение | Кол-во элемент | Обязательность | Примечание |
---|---|---|---|---|---|
Transfer | interface | Debt | 1 | + | Константа (interface = "Debt") |
| action | Search | 1 | + | Метод запроса |
/Transfer/Data | xsi:type | DebtPack | 1 | + | Тип запроса |
/Transfer/Data/PayerInfo |
|
| 1 | + | Информация о плательщике для всех услуг |
| billIdentifier |
| 1 | + | Уникальный идентификатор плательщика |
/Transfer/Data/PayerInfo/Fio |
|
| 0...n | - | ФИО |
/Transfer/Data/PayerInfo |
|
| 0...n | - | Телефон |
/Transfer/Data/PayerInfo |
|
| 0...n | - | Адрес |
/Transfer/Data/ServiceGroup |
|
| 1 | + | Список услуг |
/Transfer/Data/ServiceGroup/DebtService |
|
| 1...n | + | Услуга |
| metersGlobalTarif |
| 0...1 | - | Глобальный тариф для услуг с приборами учета |
| serviceCode |
| 1 | + | Код услуги |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Описывает дополнительные параметры услуги |
| Dop |
| 1...n | + | Элемент дополнительного параметра |
| name | fine | 1 | + | Наименование дополнительного параметра (Например, Пеня) |
| value |
| 1 | + | Значение дополнительного параметра |
/Transfer/Data/ServiceGroup/ |
|
| 1 | - | Информация о поставщике услуг |
| mfo |
| 0...1 | - | МФО |
| okpo |
| 0...1 | - | ОКПО |
| account |
| 0...1 | - | Р/с поставщика услуг |
/Transfer/Data/ServiceGroup/ |
|
| 1 | + | Код поставщика услуг |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Наименование поставщика услуг |
/Transfer/Data/ServiceGroup/ |
|
| 1 | - | Информация о задолженности |
| amountToPay |
| 1 | - | Сумма к оплате |
| debt |
| 0...1 | - | Сумма задолженности. Отрицательное значение |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Год |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Месяц |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Начисленная сумма |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Остаточная сумма на счету клиента |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Сумма перерасчета |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Сумма субсидий |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Сумма льгот |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Сумма последней оплаты |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Описывает приборы учета (ПУ) |
| Meter |
| 1 | + | ПУ |
|
| previosValue | 1 | + | Предыдущие показания |
|
| tarif | 1 | - | Тариф для данной услуги |
|
| delta | 1 | - | Разница текущего и предедущего показаний счетчика |
|
| name | 1 | - | Наименование услуги |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Название услуги |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Назначение платежа |
/Transfer/Data/ServiceGroup/ |
|
| 1 | + | Информация о плательщике по данной услуге |
| any | any | 1 | + | Уникальный идентификатор плательщика |
| ls |
| 0...1 | - | Лицевой счет |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | ФИО |
/Transfer/Data/ServiceGroup/ |
|
| 0...1 | - | Телефон |
Пример запроса
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Search"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Payer" presearchId="12102348" /> </Transfer>
Пример положительного ответа
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Search"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="DebtPack"> <PayerInfo billIdentifier="12102348"> <Fio>Иванов Иван Иванович</Fio> <Phone>+321234214</Phone> <Address>пр.Ленина 10 кв 5</Address> </PayerInfo> <ServiceGroup> <DebtService serviceCode="101"> <CompanyInfo mfo="1242143" okpo="23412341234" account="2600123234"> <CompanyCode>1</CompanyCode> <CompanyName>КП Воддоканал</CompanyName> </CompanyInfo> <DebtInfo amountToPay="0.01" debt="0.01"> <Balance>0.01</Balance> </DebtInfo> <ServiceName>Холодныя вода</ServiceName> <Destination>Оплата за услугу "Холодная вода"</Destination> <PayerInfo billIdentifier="12102348" ls="12102348"> <Fio>Иванов Иван Иванович</Fio> <Phone>+321234214</Phone> </PayerInfo> </DebtService> </ServiceGroup> </Data> </Transfer>
ПОИСК ПЛАТЕЛЬЩИКА (SEARCH)
Тип | Атрибут |
Телекомуникационные компании |
|
Интернет-провайдеры |
|
Коммунальное предприятие |
|
Сетевые компании |
|
Оплата кредитов |
|
Обязательный условием для корректной работы ПС является: в ответе на Search в тегах
/Transfer/Data/ServiceGroup/DebtService/PayerInfo/Phоne
/Transfer/Data/ServiceGroup/DebtService/PayerInfo/ls
/Transfer/Data/ServiceGroup/DebtService/serviceCode
значение одного из параметров Phоne/ls/serviceCode в разрезе услуги должно иметь уникальное содержание.
Подробное описание элементов запроса:
Элемент | Атрибут | Значение | Кол-во елемент. | Обязательность | Примечание |
/Transfer | interface | Dept | 1 | + | Константа (interface = "Debt") |
| action | Search | 1 | + | Метод запроса |
/Transfer/Data | xsi:type | Payer | 1 | + | Тип запроса |
/Transfer/Data/Unit | name | любой (bill_identifier) | 1 | + | Уникальный идентификатор плательщика |
| value | any | 1 | + | значение |
Описание элементов ответа:
Элемент | Атрибут | Значение | Кол-во элем. | Обязательность | Примечание |
/Transfer | interface | Dept | 1 | + | Константа (interface = "Debt") |
| action | Search | 1 | + | Метод запроса |
/Transfer/Data | xsi:type | DebtPack | 1 | + | Тип запроса |
|
| actualBills | 1 | - | дата обновления базы задолженности |
/Transfer/Data/Message |
|
|
| - | Дополнительная информация от предприятия |
/Transfer/Data/DopData |
|
| 0...1 | - | Дополнительные параметры обьекта |
| Dop |
| 1...n | + | Элемент дополнительного параметра |
|
| name | 1 | + | Наименование дополнительного параметра |
|
| value | 1 | + | Значение дополнительного параметра |
/Transfer/Data/PayerInfo |
|
| 1 | + | Информация о плательщике для всех услуг |
| billIdentifier |
| 1 | + | Уникальный идентификатор плательщика |
| ls |
| 0...n | - | Номер лицевого счета |
/Transfer/Data/PayerInfo/ |
|
| 0...n | - | ФИО |
/Transfer/Data/PayerInfo |
|
| 0...n | - | Телефон |
/Тransfer/Data/PayerInfo/Address |
|
| 0...n | - | Адрес |
/Transfer/Data/ |
|
| 1 | + | Список услуг |
/Transfer/Data/ |
|
| 1...n | + | Услуга |
| serviceCode |
| 1 | + | Код услуги |
| metersGlobalTarif |
| 0...1 | - | Глобальный тариф для услуг с приборами учета |
| kassSymbol |
| 0...1 | - | Кассовый символ |
/Transfer/Data/ |
|
| 0...1 | - | Дополнительная информация от предприятия |
/Transfer/Data/ |
|
| 0...1 | - | Описывает дополнительных параметров объекта |
| Dop |
| 1...n | + | Элемент дополнительные параметры услуги |
|
| name | 1 | + | Наименование дополнительного параметра |
|
| value | 1 | + | Значение дополнительного параметра |
/Transfer/Data/ |
|
| 1 | - | Информация о поставщике услуг |
| mfo |
| 0...1 | - | МФО, без account не передается |
| okpo |
| 0...1 | - | ОКПО , без CompanyName не передается |
| account |
| 0...1 | - | Р/с поставщика услуг, без mfo не передается |
| companyId |
| 0...1 | - | Id в ПС |
/Transfer/Data/ |
|
| 1 | + | Код поставщика услуг |
/Transfer/Data/ |
|
| 0...1 | - | Наименование поставщика услуг, без okpo не передается |
/Transfer/Data/ |
|
| 1 | - | Информация о задолженности |
| amountToPay | «number» | 1 | - | Сумма к оплате |
| debt | «number» | 0...1 | - | Сумма задолженности. Отрицательное значение обозначает переплату, положительное — задолженность. |
/Transfer/Data/ |
|
| 0...1 | - | Год |
/Transfer/Data/ |
|
| 0...1 | - | Месяц |
/Transfer/Data/ |
|
| 0...1 | - | Начислено |
/Transfer/Data/ |
|
| 0...1 | - | Сумма перерасчета |
/Transfer/Data/ |
|
| 0...1 | - | Сумма субсидий |
/Transfer/Data/ |
|
| 0...1 | - | Сумма льгот |
/Transfer/Data/ |
|
| 0...1 | - | Сумма последней оплаты |
/Transfer/Data/ |
|
| 0...1 | - | Баланс на счете клиента |
/Transfer/Data/ |
|
| 0...1 | - | Описывает приборы учета (ПУ) |
| Meter |
| 1...n | + | ПУ |
|
| previosValue | 1 | + | Предыдущего показаний счетчика |
|
| currentvalue | 0...1 | - | Текущее показание счетчика |
|
| tarif | 0...1 | - | Тариф для данной услуги |
|
| delta | 0...1 | - | Разница текущего и предыдущего показаний счетчика |
|
| name | 0...1 | - | Наименование услуги |
/Transfer/Data/ |
| Водопо- | 0...1 | - | Название услуги |
/Transfer/ |
| Оплата за услуги "Водопотребление" | 0...1 | - | Назначение платежа |
/Transfer/Data/ |
|
| 1 | + | Информация о плательщике по данной услуге |
| billIdentifier |
| 1 | + | Уникальный идентифокатор плательщика |
| ls |
| 0...1 | - | Номер лицевого счета |
/Transfer/Data/PayerInfo/ |
|
| 0...1 | - | ФИО |
/Transfer/Data/PayerInfo |
|
| 0...1 | - | Телефон |
Пример запроса
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
Transfer
interface
=
"Debt"
action
=
"Search"
>
<
Unit
name
=
"bill_identifier"
value
=
"55666311147"
/>
</
Data
>
</
Transfer
>
Пример положительного ответа
<?xml version=
"1.0"
encoding=
"UTF-8"
?>
<Transfer
interface
=
"Debt"
action=
"Search"
>
<Data xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:type=
"DebtPack"
billPeriod=
"201206"
>
<Message>Данные о задолженности можно получить в Кассе!</Message>
<PayerInfo billIdentifier=
"1210236"
>
<Fio>Иванов Иван Иванович</Fio>
<Phone>+
321234214
</Phone>
<Address>пр.Ленина
10
кв
5
</Address>
</PayerInfo>
<ServiceGroup>
<DebtService serviceCode=
"101"
>
<Message>Тарифы на воду были изменены, за детальной информацией обращайтесь в ГорВодоканал!</Message>
<CompanyInfo mfo=
"1242143"
okpo=
"23412341234"
account=
"2600123234"
>
<CompanyCode>
1
</CompanyCode>
<CompanyName>КП Воддоканал</CompanyName>
</CompanyInfo>
<DebtInfo amountToPay=
"0.01"
debt=
"0.01"
>
<Charge>
0.01
</Charge>
</DebtInfo>
<ServiceName>Холодныя вода</ServiceName>
<Destination>Оплата за услугу
"Холодная вода"
</Destination>
<PayerInfo billIdentifier=
"1210236"
ls=
"122456"
>
<Fio>Иванов Иван Иванович</Fio>
<Phone>+
321234214
</Phone>
</PayerInfo>
</DebtService>
</ServiceGroup>
</Data>
</Transfer>
Пример ответа с ошибкой
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
Transfer
interface
=
"Debt"
action
=
"Search"
>
<
Message
>Абонент не найден</
Message
>
</
Data
>
</
Transfer
>
ПРОВЕРКА ВОЗМОЖНОСТИ ЗАПИСИ ПЛАТЕЖА (CHECK)
Описание элементов запроса:
Элемент | Атрибут | Значение | Кол-во элемент | Обязательность | Примечание | Пример |
/Transfer | interface | Dept | 1 | + | Константа (interface = "Debt") | <Transfer xmlns="http://debt.privatbank.ua/Transfer" action="Check" interface="Debt"> |
| action | Check | 1 | + | Метод запроса | |
/Transfer/Data | xsi:type | Payment | 1 | + | Тип запроса | <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Payment" number="732" id="1191"> |
|
| number | 1 | + | Номер платежа в платежной системе. Данный номер будет передан при записи платежа. | |
|
| id | 1 | + | Номер пакета платежа в платежной системе | |
/Transfer/Data/CompanyInfo |
|
| 1 | + | Информация о поставщике услуг | <CompanyInfo companyId="3012108"> <CompanyCode>TeremkiLan</CompanyCode> <CompanyName>TeremkiLan</CompanyName> </CompanyInfo> |
| companyId |
| 1 | + | Идентификатор поставщика услуг | |
/Transfer/Data/CompanyInfo/CompanyCode |
|
| 1 | + | Код поставщика услуг | |
/Transfer/Data/CompanyInfo/CompanyName |
|
| 1 | + | Наименование поставщика услуг | |
/Transfer/Data/PayerInfo |
|
| 1 | + | Информация о плательщике для всех услуг | <PayerInfo billIdentifier="1210236" ls="122456"> <Fio>Иванов Иван Иванович</Fio> <Phone>+321234214</Phone> <Address>пр.Ленина 10 кв 5</Address> </PayerInfo> |
| billIdentifier | any | 0...1 | - | значение будет в том случае, когда в методе Search поисковой параметр -billIdentifier | |
| ls | any | 0...1 | - | Номер лицевого счета | |
/Transfer/Data/PayerInfo |
|
| 0...1 | - | ФИО | |
/Тransfer/Data/PayerInfo/ |
|
| 0...1 | - | Телефон | |
/Тransfer/Data/PayerInfo/ |
|
| 0...1 | - | Адрес | |
/Тransfer/Data/TotalSum |
|
| 1 | + | Сумма платежа | <TotalSum>0.01</TotalSum> |
/Data/CreateTime |
|
| 1 | + | Время создания платежа | <CreateTime>2012-01-01T08:00:00.001+03:00</CreateTime> |
/Тransfer/Data/ServiceGroup |
|
| 1 | + | Список услуг | |
/Тransfer/Data/ServiceGroup/ |
|
| 1...n | + | Описание услуги | |
| sum |
| 1 | + | Сумма по услуге | <Service sum="0.01" serviceCode="102"> |
| serviceCode |
| 1 | + | Код услуги | |
/Тransfer/Data/ |
|
| 1 | + | Информация о поставщике услуги | <CompanyInfo> <CompanyCode>1</CompanyCode> <CompanyName>КП Воддоканал</CompanyName> </CompanyInfo> |
/Transfer/Data/ServiceGroup/Service/CompanyInfo/ |
|
| 1 | + | Код поставляющей организации в биллинговой системе | |
/Transfer/Data/ServiceGroup/Service/CompanyInfo/ |
|
| 1 | + | Наименование поставщика услуги | |
/Transfer/Data/ServiceGroup/Service/ServiceName |
|
| 1 | + | Наименование услуги | <ServiceName>Холоднaя вода</ServiceName> |
/Transfer/Data/ServiceGroup/Service/Destination |
|
| 1 | + | Назначение платежа | <Destination>Оплата за услугу "Холодная вода"</Destination> |
/Transfer/Data/ServiceGroup/Service/MeterData |
|
| 0...1 | - | Описывает приборы учета (ПУ) | <MeterData> <Meter previosValue="213" currentValue="214" tarif="0.01" delta="1" name="Холодная вода кухня" /> </MeterData> |
| Meter |
| 1...n | + | ПУ | |
|
| previosValue | 1 | + | Предыдущие показания счетчика | |
|
| currentvalue | 0...1 | - | Текущие показания счетчика | |
|
| tarif | 0...1 | - | Тариф | |
|
| delta | 0...1 | - | Разница текущего и предыдущего показаний счетчика | |
|
| name | 0...1 | - | Наименование услуги | |
/Transfer/Data/ServiceGroup/Service/DopData |
|
| 0...1 | - | Описывает дополнительные параметры услуги | <DopData> <Dop name="city_code" value="3" /> </DopData> |
| Dop |
| 1...n | + | Элемент дополнительного параметра | |
|
| name | 1 | + | Наименование дополнительного параметра | |
|
| value | 1 | + | Значение дополнительного параметра |
Описание элементов ответа:
Элемент | Атрибут | Значение | Обязательность | Кол-во элементов | Примечание |
/Transfer/Data | xsi:type | Gateway | + | 1 | Тип запроса |
| reference | number(12) | + | 1 | Код платежа, присвоенный билинговой системой. Значение идентификатора должно быть одинаковое по идентичным поисковым параметрам на check. |
Пример запроса
Коммунальный платеж
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Check"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Payment" number="0.0.345032104.1" id="740150719"> <CompanyInfo companyId="412341234"> <CompanyCode>1</CompanyCode> <CompanyName>КП Воддоканал</CompanyName> <DopData> <Dop name="доп информация" value="значение" /> </DopData> </CompanyInfo> <PayerInfo billIdentifier="1210236" ls="122456"> <Fio>Иванов Иван Иванович</Fio> <Phone>+321234214</Phone> <Address>пр.Ленина 10 кв 5</Address> </PayerInfo> <TotalSum>0.01</TotalSum> <CreateTime>2012-01-01T08:00:00.001+03:00</CreateTime> <ServiceGroup> <Service sum="0.01" serviceCode="102"> <CompanyInfo> <CompanyCode>1</CompanyCode> <CompanyName>КП Воддоканал</CompanyName> </CompanyInfo> <ServiceName>Холоднaя вода</ServiceName> <Destination>Оплата за услугу "Холодная вода"</Destination> <MeterData> <Meter previosValue="213" currentValue="214" tarif="0.01" delta="1" name="Холодная вода кухня" /> </MeterData> <DopData> <Dop name="city_code" value="3" /> </DopData> </Service> <Service sum="0.01" serviceCode="10"> <CompanyInfo> <CompanyCode>1</CompanyCode> <CompanyName>КП Воддоканал</CompanyName> </CompanyInfo> <ServiceName>Холоднaя вода</ServiceName> <Destination>Оплата за услугу "Холодная вода"</Destination> <MeterData> <Meter previosValue="213" currentValue="214" tarif="0.01" delta="1" name="Холодная вода кухня" /> </MeterData> <DopData> <Dop name="city_code" value="3" /> </DopData> </Service> </ServiceGroup> </Data> </Transfer>
Интернет/телефония
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Check"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Payment" number="732" id="1191"> <CompanyInfo companyId="3012108"> <CompanyCode>TeremkiLan</CompanyCode> <CompanyName>TeremkiLan</CompanyName> </CompanyInfo> <PayerInfo ls="122456"> <Fio>Иванов Иван Иванович</Fio> <Phone>+321234214</Phone> <Address>пр.Ленина 10 кв 5</Address> </PayerInfo> <TotalSum>0.01</TotalSum> <CreateTime>2012-01-01T08:00:00.001+03:00</CreateTime> <ServiceGroup> <CompanyInfo companyId="3012108"> <CompanyCode>TeremkiLan</CompanyCode> <CompanyName>TeremkiLan</CompanyName> </CompanyInfo> <ServiceName>Холоднaя вода</ServiceName> <Destination>Оплата за услугу "Холодная вода"</Destination> <Service sum="0.01" serviceCode="102" /> </ServiceGroup> </Data> </Transfer>
Пример положительного ответа
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Check"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Gateway" reference="987456321" /> </Transfer>
Пример ответа с ошибкой
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Check"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ErrorInfo" code="4"> <Message>Неверный формат даты</Message> </Data> </Transfer>
ЗАПИСЬ ПЛАТЕЖА
Описание элементов запроса:
Элемент | Атрибут | Значение | Обязательность | Кол-во элемен. | Примечание |
/Transfer | interface | Dept | + | 1 | Константа (interface = "Debt") |
| action | Pay | + | 1 | Метод запроса |
/Transfer/Data | xsi:type | Payment | + | 1 | Тип запроса |
| id |
| + | 1 | Уникальный идентификатор платежа платежной системы |
| number |
| - | 1 | Номер платежа в платежной системе. Не уникальный |
/Transfer/Data/ |
|
| - | 1 | Информация о поставщике услуг |
| companyId |
|
| 0..1 | Идентификатор поставщика услуг |
| inn |
| - | 0..1 | ОКПО/ИНН предприятия |
/Transfer/Data/CompanyInfo/CheckReference |
|
| - | 1 | Ответ внешней системы на Chek |
/Transfer/Data/CompanyInfo/CompanyCode |
|
| - | 1 | Код поставщика услуг |
/Transfer/Data/CompanyInfo/UnitCode |
|
| - | 1 | Код подразделения поставщика услуг |
/Transfer/Data/CompanyInfo/CompanyName |
|
| - | 0...1 | Наименование поставщика услуг |
/Transfer/Data/CompanyInfo/DopData |
|
| - | 0...1 | Дополнительные параметры о поставщике услуг |
| Dop |
| + | 1...n | Элемент дополнительного параметра |
|
| name | + | 1 | Наименование дополнительного параметра |
|
| value | + | 1 | Значение дополнительного параметра |
/Transfer/Data/PayerInfo |
|
| + | 1 | Информация о плательщика для всех услуг |
| any | any | + | 1 | Уникальный идентификатор плательщика |
| ls |
| - | 0...1 | Номер лицевого счета |
/Transfer/Data/PayerInfo/Fio |
|
| - | 0...1 | ФИО |
/Тransfer/Data/PayerInfo/ Phone |
|
| - | 0...1 | Телефон |
/Тransfer/Data/PayerInfo/Address |
|
| - | 0...1 | Адрес |
/Тransfer/Data/TotalSum |
|
| + | 1 | Сумма платежа |
/Тransfer/Data/ |
| YYYY.MM.DD"T"HH24:MI:SS.FF+hh | + | 1 | Время создания платежа |
/Тransfer/Data/ |
| YYYY.MM.DD"T"HH24:MI:SS.FF+hh | - | 0...1 | Время подтверждения оплаты платежа |
/Тransfer/Data/ |
|
| - | 0...1 | Идентификатор пакета платежей в БД |
/Тransfer/Data/SubNumberPack |
|
| - | 0...1 | Номер подпакета платежей в БД |
/Тransfer/Data/ |
|
| + | 1 | Список услуг |
/Тransfer/Data/ |
|
| - | 1...n | Услуга |
| sum |
| + | 1 | Сумма по услуге |
| serviceCode |
| + | 1 | Код услуги |
| id |
| - | 1 | Id услуги |
| idinvoice |
| - | 1 | id инвойса |
Тransfer/Data/ |
|
| + | 1 | Информация о плательщика по данной услуге |
| any | any | + |
| Уникальный идентификатор плательщика |
| ls |
| - | 0...n | Номер лицевого счета |
/Transfer/Data/PayerInfo/Fio |
|
| - | 0...1 | ФИО |
/Тransfer/Data/PayerInfo/Phone |
|
| - | 0...1 | Телефон |
/Тransfer/Data/PayerInfo/Address |
|
| - | 0...1 | Адрес |
/Тransfer/Data/ |
|
| - | 0...1 | Инофрмация о поставщике услуги |
/Transfer/Data/ |
|
| - | 0...1 | Код поставщика услуги |
/Transfer/Data/ |
|
| - | 0...1 | Наименование поставщика услуги |
/Transfer/Data/ |
|
| - | 0...1 | Дополнительные параметры о поставщике услуги |
| Dop |
| + | 1...n | Элемент дополнительного параметра |
|
| name | + | 1 | Наименование дополнительного параметра |
|
| value | + | 1 | Значение дополнительного параметра |
/Transfer/Data |
|
| - | 0...1 | Наименование услуги |
/Transfer/Data/ |
|
| - | 0...1 | Назначение платежа |
/Transfer/Data/ |
|
| - | 0...1 | Описывает приборы учет (ПУ) |
| Meter |
| + | 1...n | ПУ |
| previosValue |
| + | 1 | Предыдущие показания счетчика |
| currentvalue |
| - | 0...1 | Текущее показания счетчика |
| tarif |
| - | 0...1 | Тариф |
| delta |
| - | 0...1 | Разница текущего и предыдущего показаний счетчика |
| name |
| - | 0...1 | Наименование услуги |
Transfer/Data/ |
|
| - | 0...1 | Дополнительные параметры об услуге |
| Dop |
| + | 1...n | Элемент дополнительного параметра |
|
| name | + | 1 | Наименование дополнительного параметра |
|
| value | + | 1 | Значение дополнительного параметра |
Transfer/Data/ |
|
| - | 0...1 | Блок комиссии, рассчитанной ВС |
| type |
| + | 1 | Тип комиссии в ПС, рассчитанной во ВС |
| summ |
| + | 1 | Сумма комиссии по услуге |
Описание элементов ответа:
Элемент | Атрибут | Значение | Кол-во элементов | Обязательность | Примечание |
/Transfer/Data | xsi:type | Gateway | 1 | + | Тип данных запроса |
| reference | «number(12)» | 1 | + | Код платежа, присвоенный билинговой системой |
Пример запроса
коммунальный платеж
<?xml version="1.0" encoding="UTF-8"?> <Transfer interface="Debt" action="Pay"> <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Payment" id="314423214" number="6359.143.1"> <CompanyInfo inn="00000000" companyId="412341234"> <CompanyCode>1</CompanyCode> <UnitCode>2221</UnitCode> <CompanyName>КП Воддоканал</CompanyName> <DopData> <Dop name="доп информация" value="значение" /> </DopData> <CheckReference>987456321</CheckReference> </CompanyInfo> <PayerInfo billIdentifier="1210236" ls="122456"> <Fio>Иванов Иван Иванович</Fio> <Phone>+321234214</Phone> <Address>пр.Ленина 10 кв 5</Address> </PayerInfo> <TotalSum>0.01</TotalSum> <CreateTime>2012-01-01T08:00:00.001+03:00</CreateTime> <ConfirmTime>2013-08-06T16:55:04.120+03:00</ConfirmTime> <NumberPack>143</NumberPack> <SubNumberPack>1</SubNumberPack> <ServiceGroup> <Service sum="0.01" serviceCode="102" id="324124213"> <CompanyInfo> <CheckReference>987456321</CheckReference> <CompanyCode>1</CompanyCode> <UnitCode>2221</UnitCode> <CompanyName>КП Воддоканал</CompanyName> <DopData> <Dop name="city_code" value="3" /> </DopData> </CompanyInfo> <idinvoice>12345678</idinvoice> <ServiceName>Холодныя вода</ServiceName> <Destination>Оплата за услугу "Холодная вода"</Destination> <MeterData> <Meter previosValue="213" currentValue="214" tarif="0.01" delta="1" name="Холодная вода кухня" /> </MeterData> <DopData> <Dop name="city_code" value="3" /> </DopData> <Comissions> <Commision type="3" summ="0.99" /> <Commision type="1" summ="0.10" /> </Comissions> </Service> </ServiceGroup> </Data> </Transfer>
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
Transfer
interface
=
"Debt"
action
=
"Pay"
>
<
Data
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:type
=
"Payment"
id
=
"314423214"
number
=
"6359.143.1"
>
<
CompanyInfo
inn
=
"00000000"
companyId
=
"412341234"
>
<
CompanyCode
>1</
CompanyCode
>
<
UnitCode
>2221</
UnitCode
>
<
CompanyName
>КП Воддоканал</
CompanyName
>
<
DopData
>
<
Dop
name
=
"доп информация"
value
=
"значение"
/>
</
DopData
>
<
CheckReference
>987456321</
CheckReference
>
</
CompanyInfo
>
<
PayerInfo
billIdentifier
=
"1210236"
ls
=
"122456"
>
<
Fio
>Иванов Иван Иванович</
Fio
>
<
Phone
>+321234214</
Phone
>
<
Address
>пр.Ленина 10 кв 5</
Address
>
</
PayerInfo
>
<
TotalSum
>0.01</
TotalSum
>
<
CreateTime
>2012-01-01T08:00:00.001+03:00</
CreateTime
>
<
ConfirmTime
>2013-08-06T16:55:04.120+03:00</
ConfirmTime
>
<
NumberPack
>143</
NumberPack
>
<
SubNumberPack
>1</
SubNumberPack
>
<
ServiceGroup
>
<
Service
sum
=
"0.01"
serviceCode
=
"102"
id
=
"324124213"
>
<
CompanyInfo
>
<
CheckReference
>987456321</
CheckReference
>
<
CompanyCode
>1</
CompanyCode
>
<
UnitCode
>2221</
UnitCode
>
<
CompanyName
>КП Воддоканал</
CompanyName
>
<
DopData
>
<
Dop
name
=
"city_code"
value
=
"3"
/>
</
DopData
>
</
CompanyInfo
>
<
idinvoice
>12345678</
idinvoice
>
<
ServiceName
>Холодныя вода</
ServiceName
>
<
Destination
>Оплата за услугу "Холодная вода"</
Destination
>
<
MeterData
>
<
Meter
previosValue
=
"213"
currentValue
=
"214"
tarif
=
"0.01"
delta
=
"1"
name
=
"Холодная вода кухня"
/>
</
MeterData
>
<
DopData
>
<
Dop
name
=
"city_code"
value
=
"3"
/>
</
DopData
>
<
Comissions
>
<
Commision
type
=
"3"
summ
=
"0.99"
/>
<
Commision
type
=
"1"
summ
=
"0.10"
/>
</
Comissions
>
</
Service
>
</
ServiceGroup
>
</
Data
>
</
Transfer
>
Интернет/телефония
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
Transfer
interface
=
"Debt"
action
=
"Check"
>
<
CompanyInfo
>
<
CompanyCode
>1</
CompanyCode
>
</
CompanyInfo
>
<
PayerInfo
ls
=
"122456"
>
<
Fio
>Иванов Иван Иванович</
Fio
>
<
Phone
>+321234214</
Phone
>
<
Address
>пр.Ленина 10 кв 5</
Address
>
</
PayerInfo
>
<
TotalSum
>0.01</
TotalSum
>
<
CreateTime
>2012-01-01T08:00:00.001+03:00</
CreateTime
>
<
ServiceGroup
>
<
Service
sum
=
"0.01"
serviceCode
=
"102"
/>
</
ServiceGroup
>
</
Data
>
</
Transfer
>
Пример положительного ответа
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
Transfer
interface
=
"Debt"
action
=
"Pay"
>
<
Data
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:type
=
"Gateway"
reference
=
"987456321"
/>
</
Transfer
>
Пример ответа с ошибкой
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
Transfer
interface
=
"Debt"
action
=
"Pay"
>
<
Message
>Ошибка в формате денежной суммы</
Message
>
</
Data
>
</
Transfer
>
КОДЫ И ОПИСАНИЕ ОШИБОК
Коды ошибок, возвращаемые параметром ErrorInfo. Данные коды используются для всех типов запросов.
Код | Описание ошибки | Http- статус ошибки | Критичность ошибки |
1 | Неизвестный тип запроса | 200 | - |
2 | Абонент не найден | 200 | - |
3 | Ошибка в формате денежной суммы ("Сумма платежа" или "Сумма к оплате") | 200 | - |
4 | Неверный формат даты | 200 | - |
5 | Доступ с данного IP не предусмотрен | 200 | - |
6 | Найдено более одного плательщика. Уточните параметр поиска. | 200 | - |
7 | Дублирование платежа.Запись по данному платежу больше не формировать.* | 200 | + |
8 | Критическая ошибка. Запись по данному платежу больше не формировать. * | 200 | + |
99 | Другая ошибка провайдера (Можно указать любое другое сообщение) | 200 | - |
В таблице приведены стандартные рекомендуемые сообщения ошибок, которые можно перефразировать согласно специфики предприятия.
- оригинальный текст сообщения сохраняется в БД.