Основні запити та відповіді
Реєстрація точки та створення сесії
Цей метод слід викликати, коли користувач вперше звертається до платіжної сторінки. Якщо браузер або пристрій змінюються, метод знову з'являється
POST /api/system/createApp
Request
headers:
"PartnerKey": "partnerName",
"locale": "ua"
Response
body:
{
"logoPath": "https://cdn.easypay.ua/logo/",
"hintImagesPath": "https://cdn.easypay.ua/hint_images/",
"apiVersion": "1.0",
"appId": "a5806a5f-dbb8-496a-a23f-aab6d2fcbce1",
"pageId": "f3f2b678-a3c4-45ba-a865-a136fe4a62bd",
"error": null
}
Характеристика параметрів
ПараметриПараметр | Характеристика | Коментарій |
---|---|---|
AppId |
ідентифікатор торгової точки партнера | за замовчуванням, якщо не було активності за запитами,
час життя AppId - 3 місяці. З кожним запитом життя AppId автоматично продовжується. |
PageId |
ідентифікатор сесії | параметр валідний протягом 20 хв. Для кожного запиту CreateOrder потрібно використовувати унікальний PageID |
Створення сесії
Створення сесії
Даний метод створює новий екземпляр сеансу для користувача , PageId
.
POST /api/system/createPage
Request
headers
"PartnerKey": "partnerName"
"locale": "ua"
"AppId": "a5806a5f-dbb8-496a-a23f-aab6d2fcbce1"
Response
body:
{
"logoPath": "https://cdn.easypay.ua/logo/",
"hintImagesPath": null,
"apiVersion": "1.0",
"appId": "a5806a5f-dbb8-496a-a23f-aab6d2fcbce1",
"pageId": "29bd7237-6b8d-4048-b028-6efc23d05988",
"requestedSessionId": "fa3595d3-52de-4744-9fc6-ec2d3507d5a5",
"error": null
}
Характеристика параметрів
Параметр | Характеристика | Коментарій |
---|---|---|
AppId |
ідентифікатор торгової точки партнера | за замовчуванням, якщо не було активності за запитами,
час життя AppId - 3 місяці. З кожним запитом життя AppId автоматично продовжується. |
PageId |
ідентифікатор сесії | За замовчуванням, якщо не було активності за запитами, час життя PageId - 20 хвилин. З кожним запитом життя PageId автоматично продовжується. |
Створення замовлення
Створення замовлення для холдованих платежів
Перед використанням методу потрібне додаткове налаштування терміналів зі сторони техпідтримкиEasyPay.
Перед викликом цього методу потрібно викликати один із методів:
POST /api/merchant/createOrder
REQUEST HEADERS
PartnerKey: partnerName
locale: ua
AppId: a5806a5f-dbb8-496a-a23f-aab6d2fcbce1
PageId: 2ce7dba6-4600-456e-b9c8-f13cacf1c85d
Sign: e0v1vIOMyNt2qSmrG5+sjAq8wOhvgDDUEyfVP21mRU4=
REQUEST BODY
{
"order": {
"serviceKey": "string",
"orderId": "string",
"description": "string",
"amount": 1.01,
"paymentOperation": "Hold",
"expire": "2019-04-15T07:49:20.009Z",
"isOneTimePay": true,
"additionalItems": {}
},
"urls": {
"success": "string",
"failed": "string"
}
}
Опис параметрів
Параметр | Характеристика |
---|---|
serviceKey |
ідентифікатор послуги |
orderId |
унікальний ідентифікатор замовлення в системі партнера |
description |
опис замовлення |
amount |
сума замовлення |
paymentOperation = Hold |
параметр, що вказує, що подальший платіж буде холдовано(зарезервовано) з можливістю підтвердження або скасування. |
Необов'язкові параметри
Параметр | Характеристика | Коментарій |
---|---|---|
expire |
час життя замовлення. | Після закінчення вказаного часу замовлення оплатити неможливо. При ненульовому значенні на платіжній сторінці відображатиметься таймер. Значення повинне перевищувати поточний час щонайменше на 5 хвилин. Типове значення — 3 дні. |
isOneTimePay |
вказує, чи можна оплатити одне замовлення кілька разів. | Типове значення — True. |
additionalItems |
додаткові параметри | наприклад:
|
URLs | URL сторінки успішної оплати для редиректу клієнта. | failed — URL сторінки помилки для редиректу клієнта.
приклад параметрів, що передаються на url.success (без errorCode) і
|
RESPONSE
HEADERS
-------
BODY
{
"accountInfo": null,
"bankingDetails": null,
"amount": 1,
"amountMax": 4999,
"amountMin": 0.01,
"paymentInstrumentsTypes": [
{
"instrumentType": "EMoney",
"commission": 0,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": []
},
{
"instrumentType": "RCard",
"commission": 2,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": []
},
{
"storedCards": [],
"instrumentType": "Card",
"commission": 2,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": [
{
"instrumentId": 4211698,
"instrumentType": "Card",
"instrumentValue": null,
"alias": null,
"commission": 2,
"loyaltyCommission": null,
"actionsKeys": null,
"priorityIndex": 0,
"additionalParams": {}
}
]
},
{
"walletStatus": "NotRegistered",
"instrumentType": "MasterPass",
"commission": 2,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": []
},
{
"instrumentType": "LifeMoney",
"commission": 0.03,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": [
{
"instrumentId": 5098216,
"instrumentType": "LifeMoney",
"instrumentValue": null,
"alias": null,
"commission": 0.03,
"loyaltyCommission": null,
"actionsKeys": null,
"priorityIndex": 0,
"additionalParams": {}
}
]
}
],
"forwardUrl": "https://easypay.ua/whitepage/81b14a73-730c-40d4-8064-ce1c10e0c53b",
"error": null
}
Параметр | Характеристика | Коментарій |
---|---|---|
accountInfo |
додаткова інформація про послугу | |
amount |
сума замовлення | |
amountMax |
максимальна сума платежу за послугою | |
amountMin |
мінімальна сума за послугою | |
forwardUrl |
URL сторінки оплати, для партнерів, у яких немає сертифікатів PCI DSS для обробки карткових даних. Або якщо у партнера немає власної платіжної сторінки. | |
paymentInstrumentsTypes |
список інструментів оплати. Інструмент RCard надається лише користувачам, які авторизовані в системі EasyPay. Можливі значення instrumentType |
Можливі значення instrumentType:
|
Холдування платежу можна здійснити, оплативши замовлення на сторінці оплати (перейти за forwardUrl), або вказавши в запиті createOrder інструмент оплати у userPaymentInstrument (див. Створення замовлення).
Клієнту відобразиться сторінка успішного платежу EasyPay, або сторінка, вказана в “urls”:{}.
Після спроби холдування платежу партнеру буде відправлено сповіщення, згідно з варіантом, вказаним в налаштуваннях сервісу Повідомлення про платіж.
Статус платежу необхідно перевірити методом orderState
Після успішного холдування необхідно викликати або unHoldOrder , або orderCancel
Якщо протягом повних 10 днів після холдування жоден з цих методів не буде викликаний, на 11-й день близько 05:00 платіж може бути відхилений емітентом, і кошти стануть доступні клієнту.
У транзакцію додається коментар: Автоматично відхилено через 10 днів. (SYSTEM ACCOUNT [dateTime])
Сповіщення партнеру при цьому не надсилається.
Створення замовлення для холдованих платежів
Створення замовлення для холдованих платежів
Перед використанням методу потрібне додаткове налаштування терміналів зі сторони техпідтримкиEasyPay.
Перед викликом цього методу потрібно викликати один із методів:
POST /api/merchant/createOrder
REQUEST HEADERS
PartnerKey: partnerName
locale: ua
AppId: a5806a5f-dbb8-496a-a23f-aab6d2fcbce1
PageId: 2ce7dba6-4600-456e-b9c8-f13cacf1c85d
Sign: e0v1vIOMyNt2qSmrG5+sjAq8wOhvgDDUEyfVP21mRU4=
REQUEST BODY
{
"order": {
"serviceKey": "string",
"orderId": "string",
"description": "string",
"amount": 1.01,
"paymentOperation": "Hold",
"expire": "2019-04-15T07:49:20.009Z",
"isOneTimePay": true,
"additionalItems": {}
},
"urls": {
"success": "string",
"failed": "string"
}
}
Опис параметрів
Параметр | Характеристика |
---|---|
serviceKey |
ідентифікатор послуги |
orderId |
унікальний ідентифікатор замовлення в системі партнера |
description |
опис замовлення |
amount |
сума замовлення |
paymentOperation = Hold |
параметр, що вказує, що подальший платіж буде холдовано(зарезервовано) з можливістю підтвердження або скасування. |
Необов'язкові параметри
Параметр | Характеристика | Коментарій |
---|---|---|
expire |
час життя замовлення. | Після закінчення вказаного часу замовлення оплатити неможливо. При ненульовому значенні на платіжній сторінці відображатиметься таймер. Значення повинне перевищувати поточний час щонайменше на 5 хвилин. Типове значення — 3 дні. |
isOneTimePay |
вказує, чи можна оплатити одне замовлення кілька разів. | Типове значення — True. |
additionalItems |
додаткові параметри | наприклад:
|
URLs | URL сторінки успішної оплати для редиректу клієнта. | failed — URL сторінки помилки для редиректу клієнта.
приклад параметрів, що передаються на url.success (без errorCode) і
|
RESPONSE
HEADERS
-------
BODY
{
"accountInfo": null,
"bankingDetails": null,
"amount": 1,
"amountMax": 4999,
"amountMin": 0.01,
"paymentInstrumentsTypes": [
{
"instrumentType": "EMoney",
"commission": 0,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": []
},
{
"instrumentType": "RCard",
"commission": 2,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": []
},
{
"storedCards": [],
"instrumentType": "Card",
"commission": 2,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": [
{
"instrumentId": 4211698,
"instrumentType": "Card",
"instrumentValue": null,
"alias": null,
"commission": 2,
"loyaltyCommission": null,
"actionsKeys": null,
"priorityIndex": 0,
"additionalParams": {}
}
]
},
{
"walletStatus": "NotRegistered",
"instrumentType": "MasterPass",
"commission": 2,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": []
},
{
"instrumentType": "LifeMoney",
"commission": 0.03,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": [
{
"instrumentId": 5098216,
"instrumentType": "LifeMoney",
"instrumentValue": null,
"alias": null,
"commission": 0.03,
"loyaltyCommission": null,
"actionsKeys": null,
"priorityIndex": 0,
"additionalParams": {}
}
]
}
],
"forwardUrl": "https://easypay.ua/whitepage/81b14a73-730c-40d4-8064-ce1c10e0c53b",
"error": null
}
Параметр | Характеристика | Коментарій |
---|---|---|
accountInfo |
додаткова інформація про послугу | |
amount |
сума замовлення | |
amountMax |
максимальна сума платежу за послугою | |
amountMin |
мінімальна сума за послугою | |
forwardUrl |
URL сторінки оплати, для партнерів, у яких немає сертифікатів PCI DSS для обробки карткових даних. Або якщо у партнера немає власної платіжної сторінки. | |
paymentInstrumentsTypes |
список інструментів оплати. Інструмент RCard надається лише користувачам, які авторизовані в системі EasyPay. Можливі значення instrumentType |
Можливі значення instrumentType:
|
Холдування платежу можна здійснити, оплативши замовлення на сторінці оплати (перейти за forwardUrl), або вказавши в запиті createOrder інструмент оплати у userPaymentInstrument (див. Створення замовлення).
Клієнту відобразиться сторінка успішного платежу EasyPay, або сторінка, вказана в “urls”:{}.
Після спроби холдування платежу партнеру буде відправлено сповіщення, згідно з варіантом, вказаним в налаштуваннях сервісу Повідомлення про платіж.
Статус платежу необхідно перевірити методом orderState
Після успішного холдування необхідно викликати або unHoldOrder , або orderCancel
Якщо протягом повних 10 днів після холдування жоден з цих методів не буде викликаний, на 11-й день близько 05:00 платіж може бути відхилений емітентом, і кошти стануть доступні клієнту.
У транзакцію додається коментар: Автоматично відхилено через 10 днів. (SYSTEM ACCOUNT [dateTime])
Сповіщення партнеру при цьому не надсилається.
Розхолдування платежу
Розхолдування платежу
Якщо цей метод не буде викликано протягом 10 днів, кошти повертаються клієнту, а платіж у системі відхиляється.
Перед викликом цього методу необхідно здійснити холдування транзакції
POST /api/merchant/unHoldOrder
REQUEST HEADERS
'PartnerKey: easypay-test'
'locale: ua'
'AppId: a5806a5f-dbb8-496a-a23f-aab6d2fcbce1'
'PageId: 2ce7dba6-4600-456e-b9c8-f13cacf1c85d'
'Sign: e0v1vIOMyNt2qSmrG5+sjAq8wOhvgDDUEyfVP21mRU4='
REQUEST BODY
{
"transactionId":955537573,
"orderId":"hold_4",
"serviceKey":"MERCHANT-TEST",
"amount": 1.2
}
RESPONSE
{
"paymentState": "accepted",
"error": null
}
Опис параметрів запиту
Параметр | Характеристика | Коментарій |
---|---|---|
transactionId |
унікальний номер платежу в системі EasyPay | |
orderId |
унікальний ідентифікатор замовлення в системі партнера | |
amount |
необов’язковий параметр, торгова сума, яку слід списати з картки. | Різниця повернеться клієнту на картку протягом 1–2 днів, залежно від регламенту банку |
Опис параметрів відповіді
Параметр | Характеристика | Коментарій |
---|---|---|
paymentState |
статус платежу | Можливі paymentState:
• accepted - платіж успішний (кінцевий статус) • pending - платіж в обробці (некінцевий статус) • declined - платіж відхилений (кінцевий статус) • none - платіж не знайдено |
Для платежів з 2DS переадресація на сторінку банку-емітента не відбувається, і користувач відразу отримує статус платежу.
Після спроби розхолдування платежу партнеру буде надіслано сповіщення згідно з варіантом, вказаним в налаштуваннях сервісу Повідомлення про платіж
Статус платежу необхідно перевіряти методом orderState
Параметри BrowseInfo при 3DS оплаті
Параметри BrowseInfo при 3DS оплаті
У зв'язку з переходом банків - екваєрів на модель роботи 3D Secure 2.x, при створенні замовлення з одночасною передачею інструменту оплати в запиті (карта, токен карти, токен Apple / Google Pay), необхідно передавати додаткові параметри пристрою (браузера) клієнта в заголовках і в тілі запиту createOrder, у прикладі вони виділені:
POST /api/merchant/createOrder
HEADERS
"appId: b15c4b64-8964-4c80-852e-df59a0e0d9b6",
"pageId: 607514b8-1da5-490a-bdf3-0c6883131625",
"partnerKey: easypay-test",
"sign: XJ3roGhTLwAZXigBp/iVRdsXlZYdTSen3xSM+29GaRg=",
"Content-Type:application/json",
"AcceptHeader:*/*",
"User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"
BODY
"order":{ "serviceKey":"MERCHANT-TEST", "orderId":"test_3ds2x", "additionalItems":{ "Merchant.UrlNotify":"http://url.noti.fy" }, "description":"Easy test payment", "amount":"1" }, "userPaymentInstrument":{ "instrumentType":"Card", "pan":"4444444444444444", "expire":"0599", "cvv":"123" }, "browserInfo":{ "colorDepth":"24", "screenHeight":"824", "screenWidth":"1536", "language":"uk-UA", "javaEnabled":"false", "javascriptEnabled": "true", "timeZone":"-180" }
Параметри
Параметр | Характеристика |
---|---|
AcceptHeader:*/* |
передавайте без змін |
User-Agent |
передавайте клієнтський User-Agent |
Приклад, як збирати дані на JS:
getBrowserInfo() {
let browserInfoModel = {};
browserInfoModel.colorDepth = window.screen.colorDepth.toString();
browserInfoModel.screenHeight = window.screen.height.toString();
browserInfoModel.screenWidth = window.screen.width.toString();
browserInfoModel.language = window.navigator.language;
browserInfoModel.javaEnabled = window.navigator.javaEnabled();
browserInfoModel.timeZone = (new Date()).getTimezoneOffset().toString();
return browserInfoModel;
}
Якщо все передано правильно, то отримайте відповідь як нижче у прикладі "Якщо передано userPaymentInstrument (для випадку з 3DSecure)", або помилку оплати з картки, наприклад, "Недостатньо коштів". У випадку, якщо додаткові параметри передані неправильно, отримайте помилку платіжного сервісу, наприклад:
"errorCode":"PAYMENT_PUMB_SERVICE_FAILURE",
"errorMessage":"Технічна помилка екваєра. Зверніться до служби підтримки EasyPay, або спробуйте пізніше"
Відповідь (RESPONSE):
header:
відсутній
body:
{
"accountInfo": null,
"bankingDetails": null,
"amount": 1,
"amountMax": 4999,
"amountMin": 0.01,
"paymentInstrumentsTypes": [
{
"instrumentType": "EMoney",
"commission": 0,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": []
},
{
"instrumentType": "RCard",
"commission": 2,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": []
},
{
"storedCards": [],
"instrumentType": "Card",
"commission": 2,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": [
{
"instrumentId": 4211698,
"instrumentType": "Card",
"instrumentValue": null,
"alias": null,
"commission": 2,
"loyaltyCommission": null,
"actionsKeys": null,
"priorityIndex": 0,
"additionalParams": {}
}
]
},
{
"walletStatus": "NotRegistered",
"instrumentType": "MasterPass",
"commission": 2,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": []
},
{
"instrumentType": "LifeMoney",
"commission": 0.03,
"amountMin": 0.01,
"amountMax": 4999,
"userPaymentInstruments": [
{
"instrumentId": 5098216,
"instrumentType": "LifeMoney",
"instrumentValue": null,
"alias": null,
"commission": 0.03,
"loyaltyCommission": null,
"actionsKeys": null,
"priorityIndex": 0,
"additionalParams": {}
}
]
}
],
"forwardUrl": https://easypay.ua/whitepage/81b14a73-730c-40d4-8064-ce1c10e0c53b,
"error": null,
}
Якщо передано userPaymentInstrument (для випадку з 3DSecure):
{
"paymentState":"WaitVerify",
"action":"https://merchantapi.easypay.ua/api/payment/redirect/4df828bf-379b-4e88-8868-f667f12d74a9",
"actionContent":"<html><head></head><body><form action='https://acs.monobank.com.ua/PaReqVISA.jsp' method='post' id='submitForm'><input type='hidden' name='PaReq' value='eJxVUsluwjAQ/RWUY6VgO2RFg1FoqJpDUgThwNF1XAglS7NUpF9fm4alt3nzxvNm3hjm5/w0+hZ1k5XFTCNjrI1Ewcs0K/YzbZu86K42p5AcaiGCjeBdLShEomnYXoyydKY5mGNuWh966mKmm6lH9HcHY91zLeZMmGkT19EorPy1+KIwCFGpMzYAXaHsWPMDK1oKjH8twpiaBBumBWiAkIs6DCgh9oQ4rmsRW2pgQH9pKFgu6NLf7Fb+7ikIN8k6XGyT8C0GdKGAl13R1j21zQmgK4CuPtFD21bNFCHBmr5i/bhjCJAiAN2HWnUqamSjc5bS+Mj7+Pg5iY5LIwp8HCe7nyjZ4igJZ4BUBaSsFdTABsYecUfEmxIyteQ6lzywXE1AidpgiKFSEv4D8ZgA6Xstz9JTz5XUDYE4V2UhZIU08xYDus/7/Kos5a0yz7Kx6dgWNpStl5R6n0knDBNblwYKAFKP0HAxNBxbRv8+wS+7NLXc' /><input type='hidden' name='TermUrl' value='https://merchantapi.easypay.ua/api/payment/confirm/185ff3c7-8daa-4715-af1a-23f7554d19bb,0e101596-2a6a-4a0e-92e2-dac1e7a5c69d,-1' /><input type='hidden' name='MD' value='ee6eda7e-6252-41af-a696-825e85b34878' /></form><script>document.getElementById('submitForm').submit();</script> </body></html>",
"actionType":"FormRedirect",
"status":"Need3Ds", "alternativeRedirectUrl":"https://merchantapi.easypay.ua/api/payment/altredirect/00f9befe-a200-4e4d-ae27-0a4bdbc443fc",
"transactionId":860094566,
"retrievalReferenceNo":null,
"responseItems":{
"SessionId":"a9692063-2db5-4d25-8a66-e62b4476d1e4",
"MerchantOpertion":"CheckPaymentOperationOrder",
"Operation":"CheckPayment",
"BankingDetails":""
},
"error":null
}
Якщо передано userPaymentInstrument (для випадку без 3DSecure):
{
"redirectUrl":null,
"action":null,
"paymentState":"Confirmed",
"status":"Done",
"actionType":"UrlRedirect",
"transactionId":847870521,
"retrievalReferenceNo":null,
"responseItems": null,
"error":null
}
Опис параметрів
Параметр | Характеристика | Коментарій |
---|---|---|
accountInfo |
додаткова інформація про послугу | Якщо параметр відсутній, використовується значення ServiceKey з тіла запиту CreateOrder. |
amount |
сума замовлення | Якщо параметр відсутній, використовується значення OrderId, передане в тілі запиту CreateOrder. |
amountMax |
максимальна сума платежу за послугою | |
amountMin |
мінімальна сума за послугою | |
forwardUrl |
URL сторінки оплати, для партнерів які не мають сертифікатів PCI DSS для обробки карткових даних. Або якщо партнер не має платіжної сторінки. | на сторінці оплати можемо відключати елементи інтерфейсу:
- логотип EasyPay можемо приховувати - лічильник часу, що залишився до оплати, може бути відображений/прихований - поле "Призначення" (можемо вимкнути, або за замовчуванням зробити відкритим/закритим) - рядок з логотипом партнера та назвою можемо приховати - поле введення імейл сховати / відобразити - рядок з "Номер замовлення" приховати/показати |
paymentInstrumentsTypes |
список інструментів оплати. Інструменти Emoney, vcard та RCard видаємо тільки для користувачів, які авторизовані в системі EasyPay. |
Можливі значення instrumentType
|
3DSecure / mobile payments case:
Якщо передано userPaymentInstrument (для випадку з 3DSecure):
{
"paymentState":"WaitVerify",
"action":"https://merchantapi.easypay.ua/api/payment/redirect/4df828bf-379b-4e88-8868-f667f12d74a9",
"actionContent":"<html><head></head><body><form" action="https://acs.monobank.com.ua/PaReqVISA.jsp' method='post' id='submitForm'><input type="hidden" name="PaReq" value='eJxVUsluwjAQ/RWUY6VgO2RFg1FoqJpDUgThwNF1XAglS7NUpF9fm4alt3nzxvNm3hjm5/w0+hZ1k5XFTCNjrI1Ewcs0K/YzbZu86K42p5AcaiGCjeBdLShEomnYXoyydKY5mGNuWh966mKmm6lH9HcHY91zLeZMmGkT19EorPy1+KIwCFGpMzYAXaHsWPMDK1oKjH8twpiaBBumBWiAkIs6DCgh9oQ4rmsRW2pgQH9pKFgu6NLf7Fb+7ikIN8k6XGyT8C0GdKGAl13R1j21zQmgK4CuPtFD21bNFCHBmr5i/bhjCJAiAN2HWnUqamSjc5bS+Mj7+Pg5iY5LIwp8HCe7nyjZ4igJZ4BUBaSsFdTABsYecUfEmxIyteQ6lzywXE1AidpgiKFSEv4D8ZgA6Xstz9JTz5XUDYE4V2UhZIU08xYDus/7/Kos5a0yz7Kx6dgWNpStl5R6n0knDBNblwYKAFKP0HAxNBxbRv8+wS+7NLXc' /><input type='hidden' name='TermUrl' value='https://merchantapi.easypay.ua/api/payment/confirm/185ff3c7-8daa-4715-af1a-23f7554d19bb,0e101596-2a6a-4a0e-92e2-dac1e7a5c69d,-1' /><input type='hidden' name='MD' value='ee6eda7e-6252-41af-a696-825e85b34878' /></form><script>document.getElementById('submitForm').submit();</script> </body></html>",
"actionType":"FormRedirect",
"status":"Need3Ds", "alternativeRedirectUrl":"https://merchantapi.easypay.ua/api/payment/altredirect/00f9befe-a200-4e4d-ae27-0a4bdbc443fc",
"transactionId":"860094566",
"retrievalReferenceNo":"null",
"responseItems":{
"SessionId":"a9692063-2db5-4d25-8a66-e62b4476d1e4",
"MerchantOpertion":"CheckPaymentOperationOrder",
"Operation":"CheckPayment",
"BankingDetails":""
},
"error":null
}
Якщо передано userPaymentInstrument (для випадку без 3DSecure):
{
"redirectUrl":null,
"action":null,
"paymentState":"Confirmed",
"status":"Done",
"actionType":"UrlRedirect",
"transactionId":847870521,
"retrievalReferenceNo":null,
"responseItems": null,
"error":null
}
Опис параметрів
Параметр | Характеристика |
---|---|
paymentState |
|
status |
|
actionType |
тип наступної дії:
|
actionContent |
"<html>...</html>" - html форма сторінки банку для введення коду 3DS. Сформувати сторінку з коду та відкрити її клієнту. Після підтвердження платежу відбудеться 302-й редирект на ваші "urls" із запиту createOrder, або на фінальну сторінку EasyPay |
transactionId |
номер транзакції в EasyPay |
2DSecure case:
Параметр | Характеристика |
---|---|
paymentState |
"Confirmed" та "status": "Done" - платіж пройшов успішно. При інших значеннях необхідно перевірити статус платежу (Перевірка статусу платежу) |
status |
"Done" -платіж завершено, додаткові дії не потрібні. При "paymentState":
|
transactionId |
номер транзакції до EasyPay |
Підтвердження платежу клієнтом. Введення смс. Проходження 3DS перевірки
У випадку "actionType
": "ConfirmCode
", клієнту прийде код підтвердження, який потрібно передати до EasyPay
POST /api/payment/confirmCodeVerification
Request
headers
"Content-Type": "application/json"
"PartnerKey": "partnerName"
"locale": "ua"
"AppId": "a5806a5f-dbb8-496a-a23f-aab6d2fcbce1"
"PageId": "2ce7dba6-4600-456e-b9c8-f13cacf1c85d"
"Sign": "e0v1vIOMyNt2qSmrG5+sjAq8wOhvgDDUEyfVP21mRU4="
body
{
"code": "string"
}
Response
headers
відсутній
body
{ }
Якщо "status":"Need3Ds", то клієнту потрібно пройти 3DS перевірку в залежності від значення "actionType".
Опис параметрів:
Параметр | Характеристика |
---|---|
FormRedirect |
необхідно СТВОРИТИ сторінку (форму) з html-коду, який передано у параметрі |
actionContent |
"<html>...</html>", відкрити її клієнту для проходження ним 3D-secure перевірки. Альтернативним варіантом є переадресація клієнта за посиланням параметра "alternativeRedirectUrl" |
UrlRedirect |
необхідно переадресувати клієнта на посилання з "action" або переадресувати клієнта за посиланням з "alternativeRedirectUrl". Відобразиться форма банку емітента картки для перевірки 3D Secure. Після введення коду клієнта переадресує на сторінку успіху чи помилки. Адреси сторінок передаються на етапі створення замовлення.
} |