Інтеграція сервісу оплати рахунків 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.
Нотифікації завантаження рахунків п о компаніях
Нотифікацій партнеру направляються після завантаження рахунку по кожній компанії. Партнер має надати URL, на який зможуть приймати POST запит для свого опрацювання.
Приклади запитів:
<?xml version="1.0" encoding="UTF-8"?><req name="billsLoaded"><payee id="16020"/></req>
<?xml version="1.0" encoding="UTF-8"?><req name="billsLoaded"><payee id="140264"/><payee id="140235"/></req>
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ХХХХХХХХХХ | Так |
| first_name | Ім'я клієнта | Так |
| last_name | Прізвище клієнта | Так |
| middle_name | По батькові клієнта | Так |
| taxId | ІПН клієнта або серія та номер паспорту | Так |
| payment_notes | Призначення платежу що партнер виводить в квитанцію користувачу | Так |
| ultimate_debtor_name | ПІБ фактичного платника | Так, параметр приймається пустим і заповненим |
| ultimate_debtor_taxId | ІПН фактичного платника або cерія та номер паспорту | Так, параметр приймається пустим і заповненим |
Приклад запиту:
https://direct.portmone.com.ua/api/directcash?version=1&method=bills.pay&login=PORTMONEDIRECTTEST&password=PortmoneDirect&payment_point&billId=2390133292&amount=5&auth_code=30.06.2026&transaction_id=transaction id&first_name=Петро&last_name=Петренко&middle_name=Петрович&birth_date&taxId=1111111111&payer_iban&payer_card_number&payer_phone_number&ultimate_debtor_name=Ім'я Фактичного Платника&ultimate_debtor_taxId=AA111111&payment_notes=Призначення платежу
Приклад успішної відповіді:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="ok">
<bill id="2390133292">
<payee id="2065">Київстар</payee>
<contractNumber title="Номер телефону (без +380) ">991111111</contractNumber>
<attribute1 />
<attribute2 title="Номер квитанцii Київстар">P</attribute2>
<attribute3 />
<attribute4 />
<bill_attribute1 />
<bill_attribute2 />
<bill_attribute3 />
<bill_attribute4 />
<date>03.07.2026</date>
<description>Рахунок створений автоматично для поповнення балансу</description>
<amount>0.00</amount>
<debt>0.00</debt>
<sum>0.00</sum>
<status>paid</status>
<paidAmount>5.00</paidAmount>
<payDate>03.07.2026 08:57:11</payDate>
<payee_export_flag>N</payee_export_flag>
<auth_code>30.06.2026</auth_code>
<transaction_id>transaction id</transaction_id>
<payment_point>PORTMONEDIRECTTEST</payment_point>
<bill_attribute10 />
</bill>
</rsp>
Виключення: Для безготівкових платежів дані платника обов'язкові по кожній транзакції, окрім категорії комунальні платежі. Для готівкових платежів дані платника (ПІБ та ІПН) не обов'язкові, якщо сума транзакції менше 5000 грн, але номер та дата платіжної інструкції, призначення платежу, піб фактичного отримувача обов'язкові.
У випадку і відсутнього payer_iban і payer_card_number система повертатиме помилку
Приклад відповіді, якщо сталася помилка:
<rsp status="fail">
<error code="р013">Неправильні параметри ідентифікації клієнта.</error>
<error_description>Неправильні параметри ідентифікації клієнта.</error_description>
</rsp>
Приклад рядка запиту для компаній без айтемів:
https://direct.portmone.com.ua/api/directcash?version=1&method=bills.pay&login=PORTMONEDIRECTTEST&password=PortmoneDirect&payment_point&billId=2390133292&amount=5&auth_code=30.06.2026&transaction_id=transaction id&first_name=Петро&last_name=Петренко&middle_name=Петрович&birth_date&taxId=1111111111&payer_iban&payer_card_number&payer_phone_number&ultimate_debtor_name=Ім'я Фактичного Платника&ultimate_debtor_taxId=AA111111&payment_notes=Призначення платежу
Приклад успішної відповіді:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="ok">
<bill id="2390133292">
<payee id="2065">Київстар</payee>
<contractNumber title="Номер телефону (без +380) ">992756181</contractNumber>
<attribute1 />
<attribute2 title="Номер квитанцii Київстар">P</attribute2>
<attribute3 />
<attribute4 />
<bill_attribute1 />
<bill_attribute2 />
<bill_attribute3 />
<bill_attribute4 />
<date>03.07.2026</date>
<description>Рахунок створений автоматично для поповнення балансу</description>
<amount>0.00</amount>
<debt>0.00</debt>
<sum>0.00</sum>
<status>paid</status>
<paidAmount>5.00</paidAmount>
<payDate>03.07.2026 08:57:11</payDate>
<payee_export_flag>N</payee_export_flag>
<auth_code>30.06.2026</auth_code>
<transaction_id>transaction id</transaction_id>
<payment_point>PORTMONEDIRECTTEST</payment_point>
<bill_attribute10 />
</bill>
</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>
2.12. Запит компаній, що надають рахунки для клієнта, за раніше отриманим рахунком
Метод: bills.additionalPayees
Опис: метод використовується для отримання списку компаній, рахунки яких може сплачувати клієнт. Після отримання клієнтом запитуваного рахунку можна здійснити запит списку компаній (та ідентифікаторів клієнта в цих компаніях), що надають послуги за тією ж адресою. Якщо список, що повертається, не порожній, можна запропонувати клієнту обрати компанії, рахунки яких він бажає сплатити та здійснити запит цих рахунків стандартним методом. Пошук компаній здійснюється за адресою клієнта.
Параметри:
| Параметр | Опис | Обов’язковий |
|---|---|---|
| login | Логін компанії-реселера в системі Portmone.com | Так |
| password | Пароль компанії-реселера в системі Portmone.com | Так |
| method | Назва методу | Так |
| billId | ID рахунку (його повертає метод bills.create) | Так |
Приклад запиту:
method=bills.additionalPayees&login=логін&password=пароль&version=2&billId=значення
Приклад успішної відповіді:
<?xml version="1.0" encoding="utf-8"?>
<rsp status="ok">
<payee id="ID компанії, оплату рахунку якої можна запропонувати клієнту">
<contract_number> ідентифікатор клієнта в цій компанії </contract_number>
<attribute1> додатковий ідентифікатор клієнта в цій компанії </attribute1>
<attribute2> додатковий ідентифікатор клієнта в цій компанії </attribute2>
<attribute3> додатковий ідентифікатор клієнта в цій компанії </attribute3>
<attribute4> додатковий ідентифікатор клієнта в цій компанії </attribute4>
</payee>
</rsp>