Skip to main content

Інтеграція з Google Pay

1. Вступ

Google Pay™ – швидкий та простий спосіб, що дозволяє вам сплачувати карткою без необхідності вводити платіжні дані для кожного платежу. Дані картки надійно зберігаються у Google. Цей метод оплати доступний для всіх пристроїв (мобільних телефонів або комп'ютерів), незалежно від операційної системи та веб-браузера.

2. Підключення через сторінку Portmone.com

Попередні умови

  1. Необхідно укласти договір з Portmone.com.

  2. Потрібно погодитись з умовами надання послуг Google Pay.

Опис

При такому способі підключення немає необхідності у додаткових інтеграціях. Кнопка Google Pay буде відображена на сторінці оплати Portmone.com. Керувати методами оплати та порядком, в якому відображаються платіжні інструменти (в тому числі й Google Pay), можливо за допомогою JSON-запиту (див. розділ 3.2 документації) або звернувшись до менеджера із співпраці.

Приклад сторінки оплати з кнопкою Google Pay

3. Підключення через Google Pay API

Попередні умови

  1. Необхідно зареєструватися для використання Google Pay API.
  2. Ваш сайт повинен працювати за схемою HTTPS і підтримувати протокол TLS.
  3. Щоб інтегрувати свій веб-сайт або мобільний додаток з Google Pay, використовуйте наступні інструкції:

• Документація:

a) для мобільних додатків

b) для веб-сайтів

• Вимоги з брендування

a) для мобільних додатків

b) для веб-сайтів

Як це працює?

Схема взаємодії з Google Pay

  1. Ви робите запит зі свого додатку на отримання зашифрованих даних платежу.
  2. Google Pay повертає зашифровані дані платежу після аутентифікації покупця.
  3. Ви надсилаєте зашифровані дані платежу до вашого серверу.
  4. Ви надсилаєте JSON-запит, що містить зашифровані дані, до Portmone.com.
  5. Ми надсилаємо вам результат платежу.
  6. Ви сповіщаєте покупця про результат.

Як інтегрувати метод Google Pay?

Крок 1. Використовуйте Google Pay API для отримання PaymentData.

Параметри налаштування:

a. allowPaymentMethods : CARD

b. tokenizationSpecification = { "type": "PAYMENT_GATEWAY"}

allowedCardNetworks = ['MASTERCARD', 'VISA'];

allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];

c. gateway = portmonecom

d. gatewayMerchantId - Унікальний ідентифікатор Інтернет-магазину. Надається кожному Партнерові індивідуально при підключенні до системи Portmone.com.

Приклад набору даних, що повертаються Google Pay:

{
"apiVersionMinor":0,
"apiVersion":2,
"paymentMethodData":{
"description":"Mastercard •••• 5179",
"tokenizationData":{
"type":"PAYMENT_GATEWAY",
"token":{"signature":"MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur","intermediateSigningKey":{"signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhRrvGB0kZ1248MEJAPwX0YfrQInhyyRM7nyGFjQuzGSViZG3QC9NMvXR9Zd6uVcVzAz+6K/+NEGIWbX8zbk6A\\u003d\\u003d\",\"keyExpiration\":\"1571208568000\"}","signatures":["MEUCIQCR6vIEiyHB8qmlho4/tLd7W8CIGrZDJlCI48CBHeFPvQIgLZJIe4cZv6pYtYYa56QCI/vvg1GqXTP3bTBjO49r5mI\u003d"]},"protocolVersion":"ECv2","signedMessage":"{\"encryptedMessage\":\"k85CGUMmd5PaGmQlHFqHc0HrDZmjM1yG82rFB/p31ZyUleN5nihzjOZif/BKXwg3XA2oLXqBSSWcAdfZwXxCEOqvAQE+kpTC7qVO4wTPip6RruraT6vO9M9FtIf0kcqzYSAN7pl1SUA5jC9rHrqucPoh0/FSspup78SWBt8TnmVKC9O3sQhIZ3SMoGOG4mdjtIrgCwWH2cbrxUH0dHAqOe5ANGOY/mII4nTEp7xaKu41hK/kFE15zVyqgPJXP9bPxzMVk/ozEZSfhSzVTS+9stjkU/kT5EibKB3O1bbxyybKcGQ5vxBOtNOBKKd/NuqNmN2eEK3UbSKb1M3gv45gT9cCeEvlzO7Wg0N100vUBp9RPDN9TH4tj4w578sWFKfTi6FsSrZB27SGWcU0EaKHO9buo94mRBY5yqffF3bKg5mAMPzjDhyHSujqWKAs9C5fBzMEuEr2z7A23kfLqBceH5uS9LJMiZ/yVKCwfpY9u2XyCjKdp7I\\u003d\",\"ephemeralPublicKey\":\"BAMDAtfgcPNuzItrwGLigGj3rtxmyHhZLwx1B4RJZ2oo11jpFf3SA6a3utryCMmlCEcqLfLn6WDH2ArrNBGn+Ew\\u003d\",\"tag\":\"T/qhZ/XY5/3Fe4QBKafm6NqS6EzwVeiKXhRlp8NeWrA\\u003d\"}"}
},
"type":"CARD",
"info":{
"cardNetwork":"MASTERCARD",
"cardDetails":"5179"
}
}
}

Дані, що отримані в параметрі token, необхідно надіслати до API Portmone.com, використовуючи параметр запиту gPayToken.

Метод: GPay

URL: https://www.portmone.com.ua/r3/api/gateway.

Параметри запиту:

ПараметрОписОбов'язковий
loginЛогін Інтернет-магазину для доступу до управління акаунтомТак
passwordПароль Інтернет-магазинуТак
gPayTokenТокен, що отриманий мерчантом від системи Google PayТак
payeeIdУнікальний ідентифікатор Інтернет-магазину. Надається кожному Партнерові індивідуально при підключенні до системи Portmone.comТак
billAmountСума оплати. Розділювач крапка. Наприклад: "10.21"Так
descriptionКоментар до замовлення / опис призначення платежуНі
shopOrderNumberНомер замовлення (рахунку) у системі Інтернет-магазинуНі
emailRecipientАдреса електронної пошти КлієнтаНі
preauthFlagОзнака преавторизації платежу (значення "Y" вказує на те, що ця оплата здійснюється з використанням процедури преавторизації, значення "N" – звичайна оплата без преавторизації)Ні
billCurrencyВалюта проведення платежу. Можливі значення: UAH, USD, EUR, GBP, BYN, KZT, RUB (значення без задання – UAH)Ні
shop_site_idКанал оплати у системі PortmoneНі
threeDsСекція параметрів, що використовується для зазначення URL мерчанта (termUrl або appUrl), на який буде перенаправлено клієнта після успішного проходження перевірки 3D SecureНі
termUrlНеобхідно встановити значення "Y" або не використовувати цей параметрНі
appUrlЗначення appUrl мерчанта (у разі інтеграції GPay у мобільний додаток)Ні
clientIpЗначення IP адреси платникаНі

Приклад запиту:

{
"method":"GPay",
"params": {
"data":{
"login":"wdishop",
"password":"wdi451",
"gPayToken":{"signature":"MEUCIQD+9/PnFvB+Lo6d/eHpgqQrMvmRDZdW1AcjQKavHrcPmQIgeVjR1hXqH7hkCn+VZqx/kjdofMIYbyL15Xp52mR9+2s\u003d","intermediateSigningKey":{"signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBOHyOhwWk6SK5nqhFBBI1hSvWHAaOO0Ukbrl56zx7fPNttFFKs2U10f6EWbdhULrv4QT4qMNbyVAq8ig1jdsYA\\u003d\\u003d\",\"keyExpiration\":\"1570945959000\"}","signatures":["MEYCIQCe6t42U5OemtGGdYC6npBNbVxe1HbTF8pUkSD7mO+CWAIhAI/0M/XQuW6i8reT0LCNHKoNfgWYwOWHBoj2wpZdgKHh"]},"protocolVersion":"ECv2","signedMessage":"{\"encryptedMessage\":\"U9ChAIukmQ85TdZKAU/26mJUwUt3cVpJmx/JtFi350F/KiRNiIEGi1CmkgVe+ohzikkKLo37Ty3YQjyjVHNTHmF3AyNVTIJCL7qYybt+aFNI1XFlpv3ArWU+fH8Bi190tl7lLyyeNjWx8L402spsLpuUe9OLLjazIq0Vfjw3wRZ2B2+ybUrnoz5Iydapn8B7c/QqR7w53n6svIK58q7eL159Ano0GyfLpUOLLQ949MhP1ze***UzapUGtMd0k0c/4Nnkfs2TnN6ETEtP8y9J29hYKGVOCo79rRSN2xLsYXGNawIiPc6082HWB82JyuW2bfWAL1R0W+2iql2dBWY\\u003d\",\"ephemeralPublicKey\":\"BPYYpVT5INyXSwoNbP/HuGkjQnfnUwUPMH2bCp6Od3EoihnegFZObjP0IVvDA5YfNlLDJjHutBDj30GW5Fei8xw\\u003d\",\"tag\":\"qt4FcCGO4rp969CBBTPJ0nhAeQeR+rOM0FmXk8DdGLQ\\u003d\"}"},
"payeeId":"1185",
"billAmount":"10.21",
"description":"test payment",
"shopOrderNumber":"123456",
"attribute1":"1",
"attribute2":"2",
"attribute3":"3",
"attribute4":"4",
"emailRecipient":"[email protected]",
"billCurrency":"UAH",
"preauthFlag":"N",
"shop_site_id" : "",
"threeDs":{
"termUrl":"Y",
"appUrl":"https://portmone2.com/r3/ecommerce/test/master-test-from"
},
"clientIp": "127.0.0.7"
}
},
"id": "1"
}

Параметри відповіді:

ПараметрОпис
statusРезультат оплати. Можливі значення:
- PAYED – оплата успішна,
- REJECTED – відмова,
- CREATED – замовлення створено, але не оплачено
errorCodeКод помилки. Якщо значення параметру "0" – оплата успішна або потрібна додаткова перевірка (див. значення параметру isNeed3Ds). Якщо значення параметру більше за 0 або порожнє – сталася помилка
errorТекст помилки (див. Таблицю кодів відмов)
shopBillIdІдентифікатор транзакції (платіжного документу) у системі Portmone.com
billAmountПередана у запиті сума транзакції
billNumberНомер замовлення (рахунку) у системі Інтернет-магазину. До 120 символів
attribute1Службове поле, заповнюється на розсуд компанії
attribute2Службове поле, заповнюється на розсуд компанії
attribute3Службове поле, заповнюється на розсуд компанії
attribute4Службове поле, заповнюється на розсуд компанії
cardMaskМаска Картки/ Токену платника
actionMPIURL банку, на який треба перенаправити клієнта для проходження 3D Secure перевірки
pareqПараметр, який треба передати на actionMPI при проходженні 3D Secure перевірки
authCodeКод авторизації
descriptionКоментар до замовлення / опис призначення оплати. До 250 символів
langМова відповіді. Залежить від локалізації endpoint, на який надсилали запит*
mdПараметр, який треба передати на actionMPI при проходженні 3D Secure перевірки
isNeed3DSОзнака необхідності проходження перевірки 3D Secure ("Y" – необхідно пройти процедуру перевірки 3D Secure, "N" – додаткові дії не потрібні)
tokenЗначення Токену для подальших оплат. Для методів оплати GPay та APay не формується
billCurrencyВалюта платежу
transactionIdІдентифікатор транзакції в системі банка-еквайера
termUrlURL мерчанта, на який мають повернутись параметри відповіді від банку після проходження 3D Secure. Значення генерується системою Portmone
successUrlЗначення appUrl мерчанта, на який мають повернутись параметри відповіді від банку після проходження 3D Secure (якщо це значення було передане в параметрі appUrl у запиті на оплату)
pdfUrlПосилання для збереження квитанції про оплату. Надається клієнтові лише якщо status=PAYED
shop_site_idКанал оплати у системі Portmone

Примітка: * – для отримання локалізованих текстів відмов необхідно надсилати запит на відповідний endpoint:

https://www.portmone.com.ua/r3/api/gateway – стандартно українською мовою https://www.portmone.com.ua/r3/uk/api/gateway – для відповідей українською мовою https://www.portmone.com.ua/r3/ru/api/gateway – для відповідей російською мовою https://www.portmone.com.ua/r3/en/api/gateway – для відповідей англійською мовою

Приклад успішної відповіді:

{
"result": {
"status": "PAYED",
"errorCode": "0",
"error": "",
"shopBillId": "550298815",
"billAmount": "1.01",
"billNumber": "SHP-00000002",
"attribute1": "",
"attribute2": "",
"attribute3": "",
"attribute4": "",
"cardMask": "535560******3735",
"actionMPI": "",
"pareq": "",
"authCode": "67037Z",
"description": "test payment",
"lang": "uk",
"md": "",
"isNeed3DS": "N",
"token": "",
"billCurrency": "UAH",
"transactionId": "927500948048",
"pdfUrl": "https://www.portmone.com.ua/r3/services/receipts/get-receipts/shop-bill-id/35357a20f10b49519794e81b48b20d0402cd2b7654553048021cb230400befdf94bacfbb12bd77983adae9422fbcc51cf0987a171403f08b33b2d119249845bad4e457",
"shop_site_id" : ""
},
"id": "1"
}

Приклад відмови:

{
"result": {
"status": "REJECTED",
"errorCode": "5",
"error": "Transactions has exceeded the limit by your bank",
"shopBillId": "5530964511",
"billAmount": "1",
"billNumber": "P55309624511",
"attribute1": "A",
"attribute2": "",
"attribute3": "",
"attribute4": "",
"cardMask": "535560******3735",
"actionMPI": "",
"pareq": "",
"authCode": "",
"description": "test payment",
"lang": "en",
"md": "",
"isNeed3DS": "N",
"token": "",
"billCurrency": "UAH",
"transactionId": "928199458716",
"pdfUrl": "",
"shop_site_id" : ""
},
"id": "1"
}

Приклад відповіді, якщо необхідна 3D Secure перевірка:

{
"result": {
"status": "CREATED",
"errorCode": "0",
"error": "",
"shopBillId": "663526924",
"billAmount": "1.2",
"billNumber": "123456.14052020.05",
"attribute1": "1",
"attribute2": "2",
"attribute3": "3",
"attribute4": "4",
"cardMask": "516874******5179",
"actionMPI": "https://acs.privatbank.ua/pPaReqMC.jsp",
"pareq": "eJxVUcluwjAQ/RWUY6XiJZtBE6MUuh0CKYVDj1FiQSqy4IQCf99xCNDKGmne7H4PJqdiN/hRusmrMrDYkFoDVaZVlpebwFqvXh6FNZGw2mqlZp8qPWglIVJNk2zUIM8CK06Was/cEXWY8LjjuB4Xtuc7jNr4RkJ49ohbEuIQ6yT0myQuGnIgV4gjdbpNylZCku6f3ufSdYTnCiA9hELp95n0GHN8HxsvEMqkUDJeLFfRYv48nC6ih9c4/ALSxSGtDmWrz1JQB8gVwEHv5LZt62ZMSF3ptqhKNUyrAojJALmfEh+M1+CkU57JaBYe0c5oLPpen+ZneoxWH2hRAMRUQJa0SnLKKXW5O2DO2PXHZncXh6QwJ+DXOcV/XQDUZkfYZ0zibwCQb41ynOVIYOqGQJ1qvBorkIqbD+R+8PTNMJm2SJIRxmM2E6yjs4uZATmSwTll3QQDgJgu0itFepXR+6f+L1ndtBw=",
"authCode": "",
"description": "test payment",
"lang": "ru",
"md": "194203287",
"isNeed3DS": "Y",
"token": "",
"billCurrency": "UAH",
"transactionId": "",
"termUrl": "https://www.portmone.com.ua/r3/pg/confirmapigateway/3332633904a34c326a772f1256a70958bdaa4cc092a3fa86bdd5712dc033654d2582a3e4668f52230428/?shopBillId=303977a031fa486ee5e571aa119b89ba9eacd8&3ds=Y&py=303523031e7bb72dc8c426146af248",
"successUrl": "https://portmone2.com/r3/ecommerce/test/master-test-from",
"pdfUrl": ""
},
"id": "1"
}

Для проходження процедури 3D Secure мерчанту необхідно відкрити сторінку перевірки від банку (action), передавши на неї POST-запитом параметри перевірки (PaReq, MD) та URL для повернення після 3D Secure (TermUrl).

Параметри виклику сторінки банку:

ПараметрОпис
actionОтримане від Portmone значення actionMPI
PaReqОтримане від Portmone значення pareq
MDОтримане від Portmone значення md
TermUrlURL партнера, на який мають повернутись параметри відповіді від банку після проходження 3D Secure. Якщо оплата здійснюється з додатку – app url

Приклад HTML-форми для виклику сторінки банку:

<form id="TheForm" action="https://acs.privatbank.ua/pPaReqMC.jsp" method="POST"
name="TheForm">
<input type="hidden" name="PaReq" value="eJxVUdtugkAQ/RXDY5O6u1wW1oxrqPbiA0KtfegjwY
1iBHTBFvv1nUWs7SabzJnrmTMwaYv94FPpOq/KscWG1BqoMqvWebkZW++rp/vAmkhYbbVSszeVnbSSE
Km6TjdqkK/HVpIu1ZF5nsMDfK7g3Oc2FUwI6nmccSE45ZaEJMQ8Cf0kiYOGNpArxJY626ZlIyHNjg/z
hfTcgHsBkB5CofR8Jjljru9j4QVCmRZKJvFyFcWLx+E0ju6ek/ADSOeHrDqVjT7LgLpArgBOei+3TXO
oR4QcKt0UVamGWVUAMREgNyrJyVg1dmrztYxm4Rf+Nl6F39EuaxdTyqJZRKPd6xiIyYB12ihpUyaoY/
sDZo+YO3JxdueHtDAUcHXbwb0uAA5mRthHTOCvA1Bvjec4SxFQXOGKQLUHZI0ZKMWvDeRGePpilMwaF
MlxHN/2fY+KTs7OZxrkKIaNZLsOBgAxVaS/FOmvjNa/6/8AWHOz+w=="/>
<input type="hidden" name="MD" value="166765657"/>
<input type="hidden" name="TermUrl" value="https://portmone2.com/r3/ecommerce/test/"/>
</form>

Після вводу коду на сторінці банку клієнт буде повернений назад на TermUrl, що вказаний у запиті, і на нього банком будуть передані параметри MD та PaRes, значення яких необхідно надіслати у Portmone для отримання результатів авторизації.

Якщо не було передано значення MD у відповіді на confirmMpi потрібно передавати порожнє значення.

Параметри запиту у Portmone для підтвердження 3D Secure:

ПараметрОпис
MDЗначення MD, отримане від банку на ваш URL
PaResЗначення PaRes, отримане від банку на ваш URL
shopBillIdІдентифікатор транзакції (платіжного документу) у системі Portmone.com, отриманий у попередніх запитах

Приклад запиту у Portmone для підтвердження 3D Secure:

{"method":"confirmMpi", "params": { "data":

{ "MD":"166765657",
"PaRes":"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",
"shopBillId":"476986520" }
}, "id": "1"}

Відповідь від Portmone.com буде містити результат оплати.

Якщо у відповідь отримуєте "isNeed3DS": "Y", тоді потрібно знову робити запит confirmMpi і доти, поки не отримаєте "isNeed3DS": "N"

Крок 2. Перевірити відповідність контрольному списку інтеграції.

Крок 3. Відправити збірку мобільного додатку (.apk) або посилання на сайт зі сторінкою оплати до GPay для перевірки.

Додаток 1. Схема обробки параметрів відповіді

Схема обробки параметрів відповіді

Додаток 2. Таблиця кодів відмов

КодОписПовідомлення про помилку (en)Повідомлення про помилку (ukr)Повідомлення про помилку (ru)Рекомендовані дії
0Оплата успішна
1Declined by bankTransaction declined by bankОперація відхилена банкомОперация отклонена банкомКлієнту необхідно звернутись до свого банку. Може повторити оплату
2Transaction is prohibited by acquiring bankTransaction is prohibited by acquiring bankОперація відхилена банком-еквайеромОперация отклонена банком-эквайеромКлієнту необхідно звернутись до служби підтримки Portmone.com. Може повторити оплату
3Transaction is prohibited by issuing bankTransaction is prohibited by issuing bankОперація відхилена вашим банкомОперация отклонена вашим банкомКлієнту необхідно звернутись до свого банку. Може повторити оплату
4Technical/ communication problemTechnical problems. Please try again laterТехнічні проблеми. Спробуйте пізнішеТехнические проблемы. Попробуйте позжеКлієнту необхідно звернутись до служби підтримки Portmone.com. Може повторити оплату
5Transaction has exceeded the limit by your bankTransaction has exceeded the limit by your bankОперація відхилена банком. Перевищення лімітівОперация отклонена банком. Превышение лимитовКлієнту необхідно звернутись до свого банку. Може повторити оплату
6Not sufficient fundsTransaction declined by bank. Insufficient fundsОперація відхилена банком. Недостатньо коштівОперация отклонена банком. Недостаточно средствКлієнту необхідно звернутись до свого банку. Може повторити оплату
7Invalid CVV or card expiry dateTransaction declined by bank. Invalid CVV or card expiry dateОперація відхилена банком. Некоректний CVV або термін дії карткиОперация отклонена банком. Некорректный CVV или срок действия картыКлієнту необхідно звернутись до свого банку. Може повторити оплату
8Invalid OTP codeTransaction declined. Invalid OTP codeОперація відхилена. Введено невірний кодОперация отклонена. Введен некорректный кодКлієнту необхідно звернутись до служби підтримки Portmone.com. Може повторити оплату
9Invalid 3DS dataTransaction declined by bank. Invalid 3DS codeОперація відхилена. Введено невірний кодОперация отклонена. Введен неверный кодКлієнту необхідно звернутись до свого банку. Може повторити оплату
10Duplicate transactionsTransaction declined. Duplicate transactionsОперація відхилена. Повторна транзакціяОперация отклонена. Повторная транзакцияКлієнт може повторити оплату
11Format errorTransaction declined. Format errorОперація відхилена. Некоректний формат запитуОперация отклонена. Некорректный формат запросаМерчанту необхідно перевірити коректність формату запиту
12Portmone verificationAdditional card verification requiredНеобхідно пройти додаткову перевірку карткиНеобходимо пройти дополнительную верификацию картыКлієнту необхідно звернутись до служби підтримки Portmone.com. Може повторити оплату
13System error. Please try again.System error. Please contact Portmone.com supportСистемна помилка. Зверніться до служби підтримки Portmone.comСистемная ошибка. Обратитесь в службу поддержки Portmone.comКлієнту необхідно звернутись до служби підтримки Portmone.com. Може повторити оплату
14Wrong signatureTransaction declined. Authentication failed or invalid requestОперація відхилена. Не пройдена аутентифікація або некоректний запитОперация отклонена. Не пройдена аутентификация или некорректный запросМерчанту необхідно перевірити коректність параметрів запиту
15Query time exceededTransaction declined. Timeout. Contact Portmone.com supportОперація відхилена. Перевищено час очікування. Зверніться до служби підтримки Portmone.comОперация отклонена. Превышено время ожидания. Обратитесь в службу поддержки Portmone.comКлієнту необхідно звернутись до служби підтримки Portmone.com. Може повторити оплату
16Invalid request dataTransaction declined. Invalid requestОперація відхилена. Некоректний запитОперация отклонена. Некорректный запросМерчанту необхідно перевірити коректність запиту
17Transaction has exceeded system limitsTransaction declined. Limit is exceeded. Contact Portmone.com supportОперація відхилена. Перевищено ліміт. Зверніться до служби підтримки Portmone.comОперация отклонена. Превышен лимит. Обратитесь в службу поддержки Portmone.comКлієнту необхідно звернутись до служби підтримки Portmone.com. Може повторити оплату
18FraudTransaction declined by Portmone.com monitoring system. Please contact supportОперація відхилена моніторинговою системою Portmone.com. Зверніться до служби підтримкиОперация отклонена мониторинговой системой Portmone.com. Обратитесь в службу поддержкиКлієнту необхідно звернутись до служби підтримки Portmone.com. Може повторити оплату
19Order not foundOrder not foundЗамовлення не знайденоЗаказ не найден