Інтеграція сервісу оплати рахунків PortmoneDirect до банківських систем обслуговування клієнтів. Технічний опис
Терміни та визначення
Термін | Визначення |
---|---|
Мерчант, Партнер | Організація, що уклала договір з Portmone.com про надання послуг з приймання платежів |
Покупець, Клієнт | Відвідувач Інтернет-магазину Мерчанта з метою ознайомлення з асортиментом товарів (послуг) та здійснення покупки |
Картка, Платіжна картка | Платіжні картки міжнародних платіжних систем Visa, Mastercard та Національної платіжної системи ПРОСТІР |
Авторизація | Процес надання прав доступу або інших повноважень Покупцеві, програмі або процесу |
CVV2/CVC2 | CVV2 (Card Verification Value 2) – тризначний код перевірки дійсності картки платіжної системи Visa. Платіжна система Mastercard має аналогічний код перевірки дійсності – CVC2 (Card Validation Code 2) |
Банк-еквайр | Банк, що організовує точки приймання банківських карток (термінали, банкомати) та здійснює весь комплекс фінансових операцій, пов'язаних з виконанням розрахунків і платежів за банківськими картками в цих точках |
Банк-емітент банківських карток | Банк, що є учасником платіжної системи та здійснює випуск (емісію) та обслуговування банківських карток |
IBAN | Міжнародний номер банківського рахунку (англ. International Bank Account Number) |
1. Загальна інформація
Використовується технологія REST. Запити та відповіді передаються HTTPS-каналом (зверніть увагу – на даний момент сервером підтримується тільки протокол TLS 1.2).
Запити від хоста агента на сервер Portmone.com передаються у вигляді повідомлень типу POST.
Звернiть увагу, що всi параметри передаються в тiлi POST запиту, нi в якому разi не в тiлi URL. У прикладах запитів на початку рядка вказано знак
?
- це не є вказівкою до використання повідомлень типу GET.
URL для виклику методів: https://direct.portmone.com.ua/api/directcash/.
З кожним запитом передаються два обов’язкових параметри – login
та password
(логін та пароль компанії-реселера). Логін, пароль та HTTPS-сертифікат мають бути надані менеджером Portmone.
Формат відповідей - XML. Для передачі даних використовується кодування UTF-8.
Формат дати - DD.MM.YYYY.
Приклад рядка запиту на доставку рахунку:
method=bills.create&login=логін&password=пароль&version=2&payeeId=значення&contractNumber=значення
Приклад успішної відповіді:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="ok">
[тут xml-дані]
</rsp>
Приклад відповіді, якщо сталася помилка:
Для версії 1:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
Для версії 2 і більше:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
<error_description>Докладний опис помилки (версія протоколу – 2) </error_description>
</rsp>
Протокол
Без задання, версія протоколу дорівнює «1».
Якщо у запиті переданий параметр version=2
, стають доступними зміни, введені для версії протоколу «2».
Локалізація
У версії протоколу «2» доданий необов’язковий параметр lang
(можливі значення: ru – російська мова, uk – українська мова, en – англійська мова). Параметр локалізує атрибутивні значення та назви послуг у відповіді (але не назву компанії). Якщо параметр не переданий, результат повертається українською мовою.
У разі використання у запиті версії протоколу «2» (version=2
) та значень параметру lang
, у відповіді в блоці <tariff_items>
будуть передані значення тегів <name/>
та <*_name/>
, локалізовані потрібною мовою.
Для версії протоколу «2» у відповіді в блоці <tariff_items>
відсутні теги <name_ua/>
та <name_en/>
(у зв’язку з введенням параметру lang
).
Приклад використання параметру lang
.
Запит:
method=bills.create&payeeId=1755&login=PortmoneDirectTest&password=**************
&version=2&contractNumber=639512625&lang=uk
Відповідь:
<rsp status="ok">
<bill id="598984149">
<payee id="1755">lifecell</payee>
<contractNumber title="Номер телефона (без +380)">639512625</contractNumber>
<attribute1/>
<attribute2/>
<attribute3/>
<attribute4/>
<bill_attribute1/>
<bill_attribute2/>
<bill_attribute3/>
<bill_attribute4/>
<date>21.01.2020</date>
<description>Рахунок створений автоматично для поповнення балансу</description>
<amount>0.00</amount>
<debt>0.00</debt>
<sum>0.00</sum>
<status>created</status>
<paidAmount/>
<payDate/>
<payee_export_flag/>
<auth_code/>
<transaction_id/>
<payment_point/>
</bill>
</rsp>
У відповіді параметр <contractNumber title>
локалізований російською мовою.
Опис структури XML
Опис структури відповіді у XML-форматі наведений у Додатку 1.
2. Методи
Назва методу | Опис |
---|---|
2.1. bills.create | результатом виклику методу bills.create є створення на боці Portmone.com підписки на отримання рахунків для необхідної компанії та повернення ID рахунку (billId ) |
2.2. bills.createByPhone | результатом виклику цього методу є створення на боці Portmone.com рахунку на поповнення мобільного телефону та повернення ID компанії-одержувача платежу (payeeId ) і ID рахунку (billId ) |
2.3. bills.createAll | цей метод використовується для отримання рахунків компаній, що виставляють кілька рахунків за поточний місяць |
2.4. bills.pay | за допомогою цього методу виконується оплата рахунку |
2.5. bills.get | метод використовується, якщо необхідно отримати інформацію про рахунок (дізнатися статус рахунку). Потрібно викликати, якщо на метод оплати bills.pay отримана помилка зєднання, отримана відповідь не очікуваного формату, який не відповідає протоколу. А також якщо отримані помилки p009, p017, p100. |
2.6. bills.paymentOrder | реєстр передається банком до Portmone.com для контролю платежів, що надсилаються, та формування необхідних контрольних реєстрів до кожної організації за необхідним протоколом. Містить список виконаних транзакцій та реквізити платежу покриття. |
2.7. bills.date | метод використовується для отримання контрольного списку транзакцій за період (день). Необхідний для контролю транзакцій, що відбулись/ не відбулись |
2.8. bills.exported | метод використовується для отримання контрольного списку транзакцій за період (день), кошти за яким були надіслані постачальнику послуги (біллеру) |
2.9. bills.balance | метод використовується для перегляду балансу по компанії-біллеру (PAYEE ) на поточний момент |
2.10. bills.payees | метод використовуєьтся для отримання параметрів біллерів (PAYEE ) |
2.11. bills.regions | метод використовується для отримання списку доступних регіонів та списку біллерів (PAYEE ) для кожного регіону |
2.12. bills.additionalPayees | метод використовується для отримання списку компаній, рахунки яких може сплачувати клієнт |
2.13. search.regions | метод використовується для отримання повного списку регіонів України |
2.14. search.regionsExtended | метод використовується для отримання списку регіонів України з пошуком за назвою регіону |
2.15. search.citiesByRegion | метод використовується для отримання списку населених пунктів для вказаного регіону |
2.16. search.citiesByRegionExtended | метод використовується для отримання списку населених пунктів вказаного регіону за назвою населеного пункту |
2.17. search.streetsByCity | метод використовується для отримання списку вулиць вказаного населеного пункту |
2.18. search.streetsByCityExtended | метод використовується для отримання списку вулиць вказаного населеного пункту з пошуком за назвою вулиці |
2.19. search.housesByStreet | метод використовується для отримання списку будинків для вказаної вулиці |
2.20. search.housesByStreetExtended | метод використовується для отримання списку будинків для вказаної вулиці з пошуком за номером будинку |
2.21. search.apartmentsByHouse | метод використовується для отримання списку квартир за відомим ідентифікатором будинку (тільки для багатоквартирних будинків) |
2.22. search.apartmentsByHouseExtended | метод використовується для отримання списку квартир за відомим ідентифікатором будинку (тільки для багатоквартирних будинків) з пошуком за номером квартири |
2.23. search.userDocsByAddress* | метод використовується для отримання списку рахунків за знайденим ідентифікатором будинку (для приватних будинків) або квартири (для багатоквартирних будинків). Повертає рахунки з повною відповідністю за адресою |
2.24. companies.top10ByRegion* | метод використовується для отримання списку ТОП 10 компаній за ідентификатором регіону (часткова відповідність) |
2.25. companies.top10ByCity* | метод використовується для отримання списку ТОП 10 компаній за ідентифікатором міста (часткова відповідність) |
2.26. companies.top10ByStreet* | метод використовується для отримання списку ТОП 10 компаній за ідентификатором вулиці (часткова відповідність) |
2.27. companies.top10ByHouse* | метод використовується для отримання списку ТОП 10 компаній за відомим ідентифікатором будинку (повна відповідність для будинку або часткова для квартири) |
2.28. companies.top10ByAddress* | метод використовується для отримання списку компаній за відомим ідентифікатором будинку (для приватних будинків) або квартири (для багатоквартирних будинків). Повертає рахунки з повною та частковою відповідністю за адресою |
2.29. bills.getreference | метод використовується для отримання списку значень вказаного довідника з використанням пов'язаного значення з дов ідника верхнього рівня |
2.30. bills.update | є частиною методу 2.4. bills.pay, використовується для оновлення рахунку без зміни його статусу |
2.31. bank.params.guaranteeAmount | метод перевірки суми гарантійного платежу по партнеру згідно індивідуального логіну |
2.32. bills.recreate | метод для створення копії сплаченого рахунку |
2.33. bills.cancel | метод для відміни оплат, які знаходяться в статусі PAYED (всі версії протоколу) |
2.34. counters.get | метод для передачі показів лічильника без оплати (для вхідних компаній) - створення запиту |
2.35. counters.set | метод для передачі показів лічильника без оплати (передача даних в компанію, показники, які вніс клієнт) |
* Як використовувати методи пошуку компаній
- Якщо відомий тільки ідентифікатор регіону (
regionId
), шукаємо рахунки за регіоном (використовуючи метод companies.top10ByRegion)- Якщо відомий ідентифікатор міста (
cityId
), шукаємо рахунки для зазначеного міста (використовуючи метод companies.top10ByCity)- Якщо відомий ідентифікатор вулиці (
streetId
), шукаємо за вулицею (використовуючи метод companies.top10ByStreet)- Якщо відомий ідентифікатор будинку (
houseId
), шукаємо за будинком (використовуючи метод companies.top10ByHouse)- Якщо будинок багатоквартирний (
hasApartments=Y
), є ідентифікатор квартири (apartment id
), використовуємо метод companies.top10ByAddress (якщо немає повної відповідності за адресою, метод шукає рахунки по вищих пунктах (за будинком, вулицею, містом тощо)) або метод search.userDocsByAddress (повертає рахунки тільки з повною відповідністю параметру пошуку).
2.1. Запит на доставку рахунку
Метод: bills.create
Опис: результатом виклику метода bills.create є створення на боці Portmone.com рахунку для необхідної компанії та повернення ID рахунку (billId
- унікального ідентифікатору платежу). Відповідь містить дані про останній доступний не оплачений рахунок. Якщо компанія не надає рахунки, система портмоне створює рахунок на 0 суму і повертає його партнеру для оплати.
Перед викликом методу bills.create необхідно звертати увагу на значення тегу <balance_source>
, що отримане при виконанні методу bills.payees. Якщо <balance_source>Y</balance_source>
для компанії, то здійснюється виклик методу bills.create. У інших випадках здійснюється виклик методу bills.createAll.
Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
payeeId | ID компанії-одержувача платежу | Так |
contractNumber | Основний реквізит (ідентифікатор) клієнта в цій компанії | Так |
billNumber | Номер замовлення | Ні |
attribute1-4 | Додаткові реквізити | Ні |
Приклад запиту:
method=bills.create&login=логін&password=пароль&version=2&payeeId=значення&contractNumber=значення
Приклад успішної відповіді: див. Додаток 1.
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
2.2. Запит на доставку рахунку за номером телефону
Метод: bills.createByPhone
Опис: результатом виклику цього методу є створення на боці Portmone.com рахунку на поповнення мобільного телефону та повернення ID компанії-одержувача платежу (payeeId
) і ID рахунку (billId
).
Для оплати рахунку необхідно викликати метод bills.pay.
Схема взаємодії:
- Клієнт на сайті Партнера (компанії-реселера) вказує номер мобільного телефону для поповнення.
- П артнер передає ці дані до Portmone.com за допомогою методу bills.createByPhone.
- Portmone.com за кодом оператора зв’язку визначає ID компанії, до якої належить телефон клієнта, та надсилає Партнерові XML-повідомлення з ID компанії-одержувача платежу (
payeeId
) та ID рахунку (billId
). - Партнер виконунує запит оплати рахунку методом bills.pay.
- Portmone.com здійснює переказ коштів постачальнику послуги.
Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
contractNumber | Номер телефону, на який здійснюється поповнення. Формат номеру: 9 цифр, без "+380" (наприклад, 673334411) | Так |
billAmount | Сума платежу (дорівнюватиме 0, якщо інше не було задане) | Ні |
billNumber | Номер замовлення (рахунку) у системі компанії-реселера | Ні |
attribute1-4 | Додаткові реквізити | Ні |
Приклад запиту:
method=bills.createByPhone&login=логін&password=пароль&version=2&contractNumber=значення
&billAmount=значення
Приклад успішної відповіді:
<rsp status="ok">
<bill id="508828105">
<payee id="2065">Київстар</payee>
<contractNumber title="Номер телефону (без +380)">973452341</contractNumber>
<attribute1/>
<attribute2 title="Номер квитанції Київстар"/>
<attribute3/>
<attribute4/>
<bill_attribute1/>
<bill_attribute2/>
<bill_attribute3/>
<bill_attribute4/>
<date>12.06.2019</date>
<description>Рахунок створений автоматично для поповнення балансу</description>
<amount>0.00</amount>
<debt>0.00</debt>
<sum>0.00</sum>
<status>created</status>
<paidAmount/>
<payDate/>
<payee_export_flag/>
<auth_code/>
<transaction_id/>
<payment_point/>
</bill>
</rsp>
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
2.3. Запит на доставку всіх рахунків, виставлених за поточний місяць
Метод: bills.createAll
Опис: цей метод використовується для отримання рахунків компаній, що виставляють кілька рахунків за поточний місяць. За набором параметрів цей метод повністю ідентичний методу bills.create.
Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
payeeId | ID компанії-одержувача платежу | Так |
contractNumber | Основний реквізит (ідентифікатор) клієнта в цій компанії | Так |
billNumber | Номер замовлення | Ні |
attribute1-4 | Додаткові реквізи ти | Ні |
Приклад запиту:
method=bills.createAll&login=логін&password=пароль&version=2&payeeId=значення&contractNumber=значення
Приклад успішної відповіді: у разі успіху повертається секція bills
, що містить для кожного з рахунків XML, описаний у Додатку 1.
<?xml version="1.0" encoding="utf-8"?>
<rsp status="ok">
<bills>
<bill id="id">
…
</bill>
<bill id="id">
…
</bill>
<bill id="id">
…
</bill>
</bills>
</rsp>
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
Основна компанія та компанії-одержувачі:
Платіжна система Portmone.com надає можливість розщеплення платежу, тобто зарахув ання суми платежу, що отриманий від клієнта, на декількох одержувачів (постачальників товару або послуги).
Основна компанія – це компанія, яку ви відображаєте клієнтові при сплаті за послугу/товар та вказуєте у запитах на отримання рахунків. Такі компанії створюються, наприклад, з метою групування послуг, що надаються (приклад: ГІОЦ (payeeId = 8004
), ГЕРЦ (payeeId = 4568
)).
Компанія-одержувач – це активна компанія, що надає послугу або товар, але клієнтові вона не відображається.
При запиті на payeeId
основної компанії метод bills.createAll у відповідь поверне Вам рахунки з payeeId
компаній-одержувачів, по яким і буде проходити оплата.
2.4. Оплата рахунку
Метод: bills.pay
Опис: за допомогою цього методу виконується оплата рахунку.
У випадку якщо по послузі debt_state <> 'E'
то відповідний debt не повинен враховуватися в загальну суму оплати по рахунку
Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
billId | ID рахунку. Його повертає метод bills.create (або bills.createByPhone – у разі поповнення мобільного телефону) | Так |
amount | Сума, що сплачується (вона може відрізнятись від запропонованої у рахунку) | Так |
auth_code | Код авторизації | Ні |
transaction_id | ID транзакції | Ні |
payment_point | Унікальний опис торгової точки партнера | Так |
payer_iban або payer_card_number або payer_phone_number | iban відправника, хто ініціює переказ, приймає значення 29 символів ------------------------------------------------------------------------------ Карти, відправника, хто ініціює переказ, приймає значення 16 цифр ------------------------------------------------------------------------------ Номер телефону платника в форматі +38ХХХХХХХХХХ | Так |
Приклад запиту:
method=bills.pay&login=логін&password=пароль&version=2&billId=значення&amount=значення&payer_iban=значення
або
method=bills.pay&login=логін&password=пароль&version=2&billId=значення&amount=значення&payer_card_number=значення
Приклад успішної відповіді:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="ok">
<bill id="1046347926">
<payee id="6968">Воля ТБ та/або Інтернет</payee>
<contractNumber title="Номер договору">901386637</contractNumber>
<attribute1 title="Адреса">Київ, Архипенка Олександра, б.4А, кв.185</attribute1>
<attribute2 />
<attribute3 />
<attribute4 />
<bill_attribute1 />
<bill_attribute2 />
<bill_attribute3 />
<bill_attribute4 />
<date>11.01.2022</date>
<description>Рахунок створений автоматично для поповнення балансу</description>
<amount>0.00</amount>
<debt>0.00</debt>
<sum>0.00</sum>
<status>paid</status>
<paidAmount>31000.00</paidAmount>
<payDate>12.01.2022 08:49:29</payDate>
<payee_export_flag>N</payee_export_flag>
<auth_code />
<transaction_id />
<payment_point>PORTMONEDIRECTTEST</payment_point>
<bill_attribute10>UA77*********************6900</bill_attribute10>
</bill>
</rsp>
У випадку і відсутнього payer_iban
і payer_card_number
система повертатиме помилку
Приклад відповіді, якщо сталася помилка:
<rsp status="fail">
<error code="р013">Неправильні параметри ідентифікації клієнта.</error>
<error_description>Неправильні параметри ідентифікації клієнта.</error_description>
</rsp>
Параметри для платежів більше 30000 грн:
Опис: за законодавством України: для оплати понад 30000 грн (крім категорій комунальних послуг та податків) - необхідно передавати та зберігати ПІБ клієнта та ІПН з прив'язкою до транзакції (або ПІБ та дату народження, якщо ІПН у клієнта відсутня за релігійними переконаннями).
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
billId | ID рахунку. Його повертає метод bills.create (або bills.createByPhone – у разі поповнення мобільного телефону) | Так |
amount | Сума, що сплачується (вона може відрізнятись від запропонованої у рахунку) | Так |
first_name | Ім'я клієнта | Так |
last_name | Прізвище клієнта | Так |
middle_name | По батькові клієнта | Так |
taxId | ІПН клієнта | Так |
birth_date | Дата народження клієнта | Так, якщо ІПН у клієнта відсутня за релігійними переконаннями |
Приклад запиту для платежів більше 30000 грн:
curl --location --request POST 'http://127.0.0.1/api/directcash' \
--form 'version="2"' \
--form 'lang="uk"' \
--form 'login="PortmoneDirectTest"' \
--form 'password="PortmoneDirect"' \
--form 'method="bills.pay"' \
--form 'billId="1046347926"' \
--form 'amount="31000"' \
--form 'first_name="Антон"' \
--form 'last_name="Волоха"' \
--form 'middle_name="Олександрович"' \
--form 'taxId="9999"' \
--form 'birth_date="03.08.1998"'
--form 'payer_iban="UA773510050000026003590876900"'
Приклад успішної відповіді:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="ok">
<bill id="1078035627">
<payee id="6968">Воля ТБ та/або Інтернет</payee>
<contractNumber title="Номер договору">901386637</contractNumber>
<attribute1 title="Адреса">Київ, Архипенка Олександра, б.4А, кв.185</attribute1>
<attribute2 />
<attribute3 />
<attribute4 />
<bill_attribute1 />
<bill_attribute2 />
<bill_attribute3 />
<bill_attribute4 />
<date>11.01.2022</date>
<description>Рахунок створений автоматично для поповнення балансу</description>
<amount>0.00</amount>
<debt>0.00</debt>
<sum>0.00</sum>
<status>paid</status>
<paidAmount>31000.00</paidAmount>
<payDate>12.01.2022 08:49:29</payDate>
<payee_export_flag>N</payee_export_flag>
<auth_code />
<transaction_id />
<payment_point>PORTMONEDIRECTTEST</payment_point>
<bill_attribute10>UA77*********************6900</bill_attribute10>
</bill>
</rsp>
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="o003">
<![CDATA[Ошибка при оплате счета.]]>
</error>
<error_description>
<![CDATA[bills.pay 02 - Счета нет или счет уже оплачен.]]>
</error_description>
</rsp>
Параметри для «універсальних» айтемів (передаються у масиві tariff_items
):
Параметр | Опис | Обов’язковий |
---|---|---|
id | ID лічильника | Так |
amount | Розрахована сума за лічильником | Так |
prev_counter | Попереднє значення лічильника | Ні |
counter | Поточне значення лічильника | Ні |
tariff | Тариф | Ні |
subsidy | Субсидія | Ні |
debt | Сплачений борг | Ні |
attribute1 | Атрибут 1 (версія протоколу – 2) | Ні |
attribute2 | Атрибут 2 (версія протоколу – 2) | Ні |
attribute3 | Атрибут 3 (версія протоколу – 2) | Ні |
Параметри prev_counter
, counter
, tariff
, subsidy
, debt
, attribute1
, attribute2
, attribute3
передаються, якщо в отриманому рахунку відповідні теги не порожні.
Якщо параметр переданий, він обов’язково повинен мати значення («порожні» параметри не допускаються).
Сума, що сплачується цілком за рахунком, повинна дорівнювати сумі переданих значень amount
та debt
за всіма айтемами.
Приклад рядка запиту для компаній без айтемів:
method=bills.pay&login=логін&password=пароль&version=2&billId=значення&amount=значення
Той же запит з даними по айтемах:
method=bills.pay&login=логін&password=пароль&version=2&billId=значення&amount=значення&
tariff_items[111111][id]=значення&tariff_items[111111][counter]=значення&
tariff_items[111111][prev_counter]=значення&tariff_items[111111][tariff]=значення&
tariff_items[111111][subsidy]=значення&tariff_items[111111][debt]=значення
де tariff_items
— назва масиву з даними по айтемах; 111111 — ID айтему; counter
, prev_counter
, tariff
, subsidy
, debt
та amount
— дані по айтему.
Приклад успішної відповіді: див. Додаток 1.
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
2.5. Інформація про рахунок
Метод: bills.get
Опис: метод використовується, якщо необхідно отримати інформацію про рахунок (дізнатися статус рахунку). Потрібно викликати, якщо на метод оплати bills.pay отримана помилка зєднання, отримана відповідь не очікуваного формату, який не відповідає протоколу. А також якщо отримані помилки p009, p017, p100. Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
billId | ID рахунку (його повертає метод bills.create) | Так |
Приклад запиту:
method=bills.get&login=логін&password=пароль&version=2&billId=значення
Приклад успішної відповіді: див. Додаток 1.
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
2.6. Реєстр надісланих платежів
Метод: bills.paymentOrder
Опис: реєстр передається банком до Portmone.com для контролю платежів, що надсилаються, та формування необхідних контрольних реєстрів до ко жної організації за необхідним протоколом. Містить список виконаних транзакцій та реквізити платежу покриття.
Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
xml | Реєстр у XML-форматі | Так |
Приклад реєстру у XML-форматі:
<?xml version="1.0" encoding="utf-8"?>
<payment_order order_date="DD.MM.YYYY" order_number="Номер платіжного доручення"
payee_id="ID компанії-отримувача" total_amount="Сума отриманих платежів"
total_compensation="Сума компенсацій платіжного доручення"
total_commission="Сума комісій платіжного доручення" trx_count="2">
<transactions>
<trx>
<bill_id>ID рахунку</bill_id>
<trx_amount>Сума транзакції</trx_amount>
<compensation>Сума,що перерахована біллеру</compensation>
</trx>
<trx>
<bill_id>ID рахунку</bill_id>
<trx_amount>Сума транзакції</trx_amount>
<compensation>Сума,що перерахована біллеру</compensation>
</trx>
</transactions>
</payment_order>
Де total_commission
– сума комісій за всіма транзакціями цього платіжного доручення, total_compensation
– сума компенсацій за всіма транзакціями цього платіжного доручення. Для кожної транзакції (<trx>
) commission
= trx_amount
- compensation
.
Приклад успішної відповіді:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="ok">
<paymentOrder>
<record id="значення"/>
</paymentOrder>
</rsp>
Успішна відповідь – опис полів:
Параметр | Опис |
---|---|
record id | ID платежу в Portmone.com, яким зафіксоване це повідомлення |
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
Зверніть увагу – якщо реєстр за дату з будь-якої причини не був переданий (розрив зв'язку через таймаут, повідомлення про помилку, отримане від системи PortmoneDirect і т. д.), цей реєстр має бути переданий у наступний сеанс зв'язку разом з реєстром за поточну дату.
2.7. Контрольний реєстр транзакцій
Метод: bills.date
Опис: метод використовуєт ься для отримання контрольного списку транзакцій за період (день). Необхідний для контролю транзакцій, що відбулись/ не відбулись.
Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
date | Дата, для якої виводиться реєстр. Формат: DD.MM.YYYY | Так |
Приклад запиту:
method=bills.date&login=логін&password=пароль&date=DD.MM.YYYY
Приклад успішної відповіді:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="ok">
<bills>
<bill id="значення">
<name>Коротка назва компанії-отримувача</name>
<contractNumber title="значення">значення</contractNumber>
<attribute1 title="значення">значення</attribute1>
<attribute2 title="значення">значення</attribute2>
<attribute3 title="значення">значення</attribute3>
<attribute4 title="значення">значення</attribute4>
<bill_attribute1>значення</bill_attribute1>
<bill_attribute2>значення</bill_attribute2>
<bill_attribute3>значення</bill_attribute3>
<bill_attribute4>значення</bill_attribute4>
<status>значення</status>
<transaction_id>значення</transaction_id>
<paidAmount>значення</paidAmount>
<payDate>DD.MM.YYYY HH:mm:ss</payDate>
<payee_export_date>DD.MM.YYYY HH:mm:ss</payee_export_date>
<payee_export_flag>значення</payee_export_flag>
<bank_commission>значення</bank_commission>
<payee_id>значення</payee_id>
</bill>
</bills>
</rsp>
Успішна відповідь – опис полів:
Параметр | Опис |
---|---|
bill id | ID рахунку (для транзакції устатусі RETURN, bill id набуває нового унікального значення |
сontractNumber title | Номер договору |
status | Статус транзакції на боці Portmone.com. Можливі значення: PAYED, RETURN |
transaction_id | Ідентифікатор, наданий транзакції банком-партнером (передається під час виклику методу bills.pay). Для транзакцій у статусі RETURN буде набувати значення ID оригінальної транзакції (списання) |
paidAmount | Сплачена сума |
payDate | Дата оплати |
payee_export_date | Дата спроби передачі коштів постачальнику послуги |
payee_export_flag | Статус передачі (можливі значення: Y, N, R, E) |
bank_commission | Винагорода банку, у грн (версія протоколу – 2). Параметр може приймати як додатні, так і від'ємні значення |
name | Назва компанії-отримувача |
payee_id | унікальний ідентифікатор компанії (версія протоколу – 3) |
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
Приклад відповіді по транзакції в статус RETURN:
<bill id="1367371577"> - унікальне bill id при поверненні
<name>lifecell</name>
<contractNumber title="Номер телефону (без +380)">667678994</contractNumber>
<attribute1/>
<bill_attribute1/>
<attribute2/>
<bill_attribute2/>
<attribute3/>
<bill_attribute3/>
<attribute4/>
<bill_attribute4/>
<status>RETURN</status> - статус повернення
<paidAmount>-5.00</paidAmount> - сума повернення, від'ємне значення
<payDate>28.03.2023 16:04:01</payDate> - дата оплати
<transaction_id>1367371282</transaction_id> - bill ID оригінальнох операції, по котрій виконано повернення
<payee_export_date>28.03.2023 16:04:01</payee_export_date> - дата та час повернення
<payee_export_flag/>
<bank_commission>-0.50</bank_commission>
2.8. Контрольний реєстр коштів, переданих постачальнику послуги
Метод: bills.exported
Опис: метод використовується для отримання контрольного списку транзакцій за період (день), кошти за яким були надіслані постачальнику послуги (біллеру). Необхідний для контролю прив'язування коштів.
Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
payeeId | ID компанії | Так |
date | Дата, для якої виводиться реєстр. Формат: DD.MM.YYYY | Так |
Приклад запиту:
method=bills.exported&login=логін&password=пароль&version=2&payeeId=значення&date=DD.MM.YYYY
Приклад успішної відповіді:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="ok">
<bills>
<bill id="значення">
<contractNumber title="значення">значення</contractNumber>
<attribute1 title="значення">значення</attribute1>
<attribute2 title="значення">значення</attribute2>
<attribute3 title="значення">значення</attribute3>
<attribute4 title="значення">значення</attribute4>
<bill_attribute1>значення</bill_attribute1>
<bill_attribute2>значення</bill_attribute2>
<bill_attribute3>значення</bill_attribute3>
<bill_attribute4>значення</bill_attribute4>
<status>значення</status>
<transaction_id>значення</transaction_id>
<paidAmount>значення</paidAmount>
<payDate>DD.MM.YYYY HH:mm:ss</payDate>
<payee_export_date>DD.MM.YYYY HH:mm:ss</payee_export_date>
<payee_export_flag>значення</payee_export_flag>
</bill>
</bills>
</rsp>
Успішна відповідь – опис полів:
Параметр | Опис |
---|---|
bill id | ID рахунку |
сontractNumber title | Номер договору |
status | Статус транзакції на боці Portmone.com. Можливі значення: PAYED, RETURN |
transaction_id | Ідентифікатор, наданий транзакції банком-партнером (передаєтсья під час виклику метода bills.pay). Для транзакцій у статусі RETURN буде набувати значення ID оригінальної транзакції (списання) |
paidAmount | Сплачена сума |
payDate | Дата оплати |
payee_export_date | Дата спроби передачі коштів постачальнику послуги |
payee_export_flag | Статус передачі (можливі значення: Y, N, R, E) |
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
2.9. Запит даних по балансу компанії-реселера
Метод: bills.balance
Опис: метод використовується для перегляду балансу по компанії-біллеру (PAYEE
) на поточний момент.
Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
payeeId | ID компанії | Так |
Приклад запиту:
method=bills.balance&login=логін&password=пароль&version=2&payeeId=значення
Приклад успішної відповіді:
<?xml version="1.0" encoding="UTF-8"?>
<rsp status="ok">
<payee id="значення">
<balance>значення</balance>
</payee>
</rsp>
Успішна відповідь – опис полів:
Параметр | Опис |
---|---|
payee id | ID компанії, для якої виконується запит балансу |
balance | Баланс у компанії |
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
2.10. Запит інформації про доступні компанії-біллери
Метод: bills.payees
Опис: метод використовується для отримання параметрів біллерів* (PAYEE
). За замовченням відбувається завантаження всіх даних по доступним компаніям на поточний момент. При додаванні необов'язкового параметру LastUpdateDate
, лише даних, по яким були будь-які зміни від вказаної дати.
При додаванні одночасно необов'язкового параметру LastUpdateDate
та deleted
зі значенням on
, лише деактивовані компанії, починаючи з дати в параметрі LastUpdateDate
.
*з числа тих, для яких на цей логін заведені платіжні термінали.
Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
LastUpdateDate | Дата, від якої вносились будь-які зміни. Формат: DD.MM.YYYY | Ні |
deleted | Деактивовані компанії | Ні |
Приклад запиту:
1. method=bills.payees&login=логін&password=пароль&version=2
2. method=bills.payees&login=логін&password=пароль&version=2&lastUpdateDate=DD.MM.YYYY
3. method=bills.payees&login=логін&password=пароль&version=2&lastUpdateDate=DD.MM.YYYY&deleted=on
Структура успішної відповіді:
<?xml version="1.0" encoding="UTF-8"?>
<rsp status="ok">
<payee id="значення">
<header_payee>Використовується деякими партнерами</header_payee>
<merchant>Використовується деякими партнерами</merchant>
<terminal>Використовується деякими партнерами</terminal>
<name>Коротка назва компанії-отримувача (для пунктів меню)</name>
<name_in_check>Юридична назва компанії-отримувача</name_in_check>
<image_file>Посилання на логотип компанії</image_file>
<contact_info>Контактна особа</contact_info>
<zkpo>Код ЄДРПОУ компанії</zkpo>
<bank_name>Назва банку компанії-отримувача</bank_name>
<bank_code> МФО банку компанії-отримувача</bank_code>
<bank_account>Р/р компанії-отримувача або номер рахунку за стандартом IBAN
</bank_account>
<contract_number_title>Назва 1-го реквізиту </contract_number_title>
<contract_number_type>Тип 1-го реквізиту (N - число; C - рядок; P – платіжна
картка; R, L - ієрархічний довідник) </contract_number_type>
<related_references>
<reference id="ID довідника" order_number="Порядковий номер">
Назва довідника</reference>
</related_references>
<contract_number_size>Розмір 1-го реквізиту</contract_number_size>
<contract_number_hint>Підказка клієнту для введення першого реквізиту
</contract_number_hint>
<contract_number_mask>Маска вводу першого реквізиту</contract_number_mask>
<attributes>
<attribute1>
<title>Назва атрибуту</title>
<type>Тип атрибуту (N - numeric; C - character; D - data;
R, L - hierarchical dictionary)</type>
<size>Максимальний розмір</size>
<related_references>
<reference id="ID довідника" order_number="Порядковий номер">
Назва довідника</reference>
</related_references>
</attribute1>
<attribute2>
<title>Назва атрибуту</title>
<type>Тип атрибуту (N - numeric; C - character; D - data;
R, L - hierarchical dictionary)
</type>
<size>Максимальний розмір</size>
<related_references>
<reference id="ID довідника" order_number="Порядковий номер">
Назва довідника</reference>
</related_references>
</attribute2>
<attribute3>
<title>Назва атрибуту</title>
<type>Тип атрибуту (N - numeric; C - character; D - data;
R, L - hierarchical dictionary)</type>
<size>Максимальний розмір</size>
<related_references>
<reference id="ID довідника" order_number="Порядковий номер">
Назва довідника</reference>
</related_references>
</attribute3>
<attribute4>
<title>Назва атрибуту</title>
<type>Тип атрибуту (N - numeric; C - character; D - data;
R, L - hierarchical dictionary)</type>
<size>Максимальний розмір</size>
<related_references>
<reference id="ID довідника" order_number="Порядковий номер">
Назва довідника</reference>
</related_references>
</attribute4>
</attributes>
<min_pay_amount>Розмір мінімального платежу</min_pay_amount>
<pay_round_amount> Чи дозволити сплачувати з копійками (Y- тільки цілі суми,
N- дозволити з копійками)</pay_round_amount>
<pay_different_amount> Чи дозволити оплату на суму, що відрізняється від
отриманої у рахунку (Y, N)</pay_different_amount>
<bill_source> Компанія допускає оплату за рахунками (Y, N) (оплата за
виставленими рахунками)</bill_source>
<balance_source> Компанія допускає оплату з поповне ння балансу (Y, N)(оплата
без виставленого рахунку)</balance_source>
<pay_order_description_format> Формат банківського призначення платежу
</pay_order_description_format>
<billing_day>Дата завантаження рахунків (версія протоколу – 2)</billing_day>
<max_pay_amount>Максимальна сума оплати (версія протоколу – 2) </max_pay_amount>
<bank_tariff>Винагорода банку, яку необхідно конвертувати у відсотки
(версія протоколу – 2)</bank_tariff>
<bank_tariff (значення з мінусом)>Винагорода ФК, яку необхідно конвертувати у відсотки
(версія протоколу – 2)</bank_tariff>
<bank_amount>Винагорода Портмоне, у грн (версія протоколу – 2) </bank_amount>
<min_bank_amount>Мінімальна сума винагороди Портмоне від кожної транзакції, у грн
(версія протоколу – 2)</min_bank_amount>
<min_bank_amount (значення з мінусом)>Не використовується (версія протоколу – 2)</min_bank_amount>
<max_bank_amount>На цей час не використовується (версія про токолу – 2)
</max_bank_amount>
<bank_deduction>На цей час не використовується (версія протоколу – 2)
</bank_deduction>
<bank_deduction_amount>Винагорода банку, яка утримується банком перед
відправкою покриття. Це значення необхідно конвертувати у відсотки
(версія протокол у – 2)</bank_deduction_amount>
<min_bank_deduction_amount>На цей час не використовується (версія протоколу – 2)
</min_bank_deduction_amount>
<max_bank_deduction_amount>На цей час не використовується (версія протоколу – 2)
</max_bank_deduction_amount>
<hide>Компанія-одержувач, що не призначена для відображення клієнтам
(версія протоколу – 2)</hide>
<payee_groups>
<payee_group id="1001">типу послуг, що надаються біллером: мобільний зв’язок</payee_group>
<payee_group id="1003">типу послуг, що надаються біллером: інтернет</payee_group>
<payee_group id="1006">типу послуг, що надаються біллером: телефонія</payee_group>
</payee_groups> (версія протоколу – 3)
<payee_group_name> назва групи, до якої належить сервіс </payee_group_name> (версія протоколу – 2 і більше)
<service_in_check>назва послуги для квитанції </service_in_check> (версія протоколу – 2 і більше)
</payee>
…
</rsp>
Зверніть увагу!
Параметр<hide>
:
<hide>N</hide>
- основна (шапочна) компанія, призначена для відображення сервісу для клієнта
<hide>Y</hide>
- підшапочний сервіс, скривається при відображенні для клієнта
Параметр<image_file>
необхідно аналізувати лише для основних (шапочних) компаній, по яким передається `N ``. В image_file зазначається URL джерела, звідки логотип можна завантажити.
Параметр<pay_different_amount>
Чи дозволити оплату на суму, що відрізняється від отриманої у рахунку (Y, N) (версія протоколу – 1)</pay_different_amount>
Важливо! при відсутності «універсальних» айтемів (передаються у масивіtariff_items
) у відповіді на метод bills.create/bills.createAll (версія протоколу – 2 і більше)</pay_different_amount>
аналізується<pay_different_amount>
Довідники
Поля attribute1_type
, attribute2_type
, attribute3_type
, attribute4_type
, contract_number_type
можуть приймати значення R та L.
Це означає, що відповідні поля attribute1
, attribute2
, attribute3
, attribute4
, contract_number
мають складний тип даних і значення цих полів повинно формуватись на основі ієрархічних довідників.
Тобто, якщо будь-яке з полів attribute1_type
, attribute2_type
, attribute3_type
, attribute4_type
, contract_number_type
приймає значення R або L, необхідно послідовно викликати метод bills.getreference з відповідними параметрами до отримання кінцевого рівня ієрархії та знаходження ідентифікатора/значення рядку довідника.
Після цього, для подальшої обробки та формування коректного призначення платежу та реквізитів, до методу bills.create у відповідному полі (attribute1
, attribute2
, attribute3
, attribute4
, contract_number
) повинен бути переданий або ідентифікатор рядку довідника нижнього рівня (<item id>
) при типі поля R, або значення рядку довідника нижнього рівня (<name>
) при типі поля L.
Приклад довідника типу R:
<contract_number_type>R</contract_number_type>
<related_references>
<reference id="1180" order_number="1">
Регіон:
</reference>
<reference id="1183" order_number="2">
Найменування отримувача:
</reference>
<reference id="4308" order_number="3">
Населений пункт/район:
</reference>
</related_references>
де:
<related_references>
– описує ієрархію довідників;
<reference id>
– унікальний ідентифікатор довідника в системі Portmone.com (тип INT);
<reference order_number="1">
– порядковий номер довідника в ієрархії (у порядку зростання; тип INT);
<reference></reference>
– назва поточного рівня довідника для клієнта (тип String).
Для довідника типу L вигляд відповіді буде аналогічним, за винятком значення параметру contract_number_type
.
Приклади роботи з довідниками наведені у розділі 5 "Приклади" (Робота з довідниками типу R, Робота з довідниками типу L).
Приклад успішної відповіді:
<?xml version="1.0" encoding="UTF-8"?>
<rsp status="ok">
...
<payee id="23782">
<header_payee>1185</header_payee>
<merchant>X</merchant>
<terminal>X</terminal>
<name>Єдиний податок з фіз. осіб підприємців</name>
<name_in_check>Платежі до бюджету</name_in_check>
<image_file>https://cdn-images.portmone.com.ua/company/128_128/9974.png</image_file>
<contact_info></contact_info>
<zkpo>00032129</zkpo>
<bank_name>АТ «Ощадбанк»</bank_name>
<bank_code>300465</bank_code>
<bank_account>29240000087016</bank_account>
<contract_number_title>Управление казначейства</contract_number_title>
<contract_number_type>R</contract_number_type>
<related_references>
<reference id="1180" order_number="1">Регіон:</reference>
<reference id="1183" order_number="2">Найменування отримувача:</reference>
<reference id="4308" order_number="3">Населений пункт/район:</reference>
</related_references>
<contract_number_size>4308</contract_number_size>
<attributes>
<attribute1>
<title>ІПН</title>
<type>N</type>
<size/>
</attribute1>
<attribute2>
<title>За період</title>
<type>L</type>
<size>4311</size>
<related_references>
<reference id="4310" order_number="1"parent_value="attribute1">Групи дитячіх садочків м. Київ</reference>
<reference id="4311" order_number="2"parent_value="attribute2">Вихованці дитячіх садочків м. Київ</reference>
</related_references>
</attribute2>
<attribute3>
<title>Период</title>
<type>N</type>
<size/>
</attribute3>
<attribute4>
<title>ФИО</title>
<type>C</type>
<size/>
</attribute4>
</attributes>
<min_pay_amount>1</min_pay_amount>
<pay_round_amount>N</pay_round_amount>
<pay_different_amount>N</pay_different_amount>
<payee_group_id>1100</payee_group_id>
<payee_group_name>Податки, платежі до бюджету</payee_group_name>
<bill_source>N</bill_source>
<balance_source>Y</balance_source>
<pay_order_description_format>(_____) Покриття по транзакцiям сплати рахункiв
через систему Portmone.com згiдно договору ____вiд____ на суму___
(_____) - код банку)</pay_order_description_format>
</payee>
...
</rsp>
parent_value
опціональний параметр, передається у випадку викорисатання зв'язаних словників материнською компанією.header_payee
параметр для зв'язки компаній,передається лише у відповідь метода bills.payees.Означає до якої основної компанії належить поточне payee id. Параметр існує лише для версій протоколу – 2, 3. Для основних компаній - це поле буде порожнє.
Зверніть увагу! У полі
bank_code
буде переданий номер МФО банку компанії-отримувача – у разі заповнення реквізитів платежу у форматі "розрахунковий рахунок + код МФО", або 0 (нуль) – у разі заповнення номеру рахунку за стандартом IBAN.У полі
bank_account
буде передаватись розрахунковий рахунок компанії-отримувача або IBAN (в залежності від того, який з реквізитів був заповнений при здійсненні платежу). Також слід звернути увагу на те, що в цьому полі раніше передавались лише числа, тепер будуть також передаватись літери згідно з форматом IBAN (29 літерно-цифрових символів).У полі
merchant
буде передане значення PAYANY у разі роботи з компанією, яка надає послуги, без прямого договру.
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>
2.11. Запит інформації про компанії-біллери у контексті регіонів
Метод: bills.regions
Опис: метод використовується для отримання списку доступних* регіонів та списку біллерів (PAYEE
) для кожного регіону.
*з числа тих, для яких на цей логін заведені платіжні термінали.
Якщо ідентифікатор регіону не встановлений то вважається, що компанія належить до усих регіонів України.
Параметри:
Параметр | Опис | Обов’язковий |
---|---|---|
login | Логін компанії-реселера в системі Portmone.com | Так |
password | Пароль компанії-реселера в системі Portmone.com | Так |
method | Назва методу | Так |
Приклад запиту:
method=bills.regions&login=логін&password=пароль&version=2
Приклад успішної відповіді:
<?xml version="1.0" encoding="UTF-8"?>
<rsp status="ok">
<regions>
<region id="значення">
<name>Назва регіону (наприклад — м. Київ)</name>
<payees>
<payee id="значення">
<name>Назва компанії (наприклад — ВОЛЯ Броадбенд, м. Київ) </name>
</payee>
…
</payees>
</region>
…
</regions>
</rsp>
Приклад відповіді, якщо сталася помилка:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="fail">
<error code="Код помилки">Опис помилки</error>
</rsp>