|
|
Рядок 421: |
Рядок 421: |
| <td style="border: none; padding-right: 10px; text-align: left;">тип платіжного процесу, можливі значення: </td> | | <td style="border: none; padding-right: 10px; text-align: left;">тип платіжного процесу, можливі значення: </td> |
| <td style="border: none; text-align: left;">'''PaymentTokenization''' - використовується для токенізації картки, якою буде сплачено це замовлення. | | <td style="border: none; text-align: left;">'''PaymentTokenization''' - використовується для токенізації картки, якою буде сплачено це замовлення. |
|
| |
|
| |
|
| |
|
| |
|
| Працює лише для інструмента “карта”. Повинен бути заповнений ідентифікатор клієнта "userInfo": { "phone": "string"} | | Працює лише для інструмента “карта”. Повинен бути заповнений ідентифікатор клієнта "userInfo": { "phone": "string"} |
Рядок 430: |
Рядок 427: |
| </td> | | </td> |
| <!-- Перший рядок - заголовок --><!-- Другий рядок --><!-- Третій рядок --><!-- Четвертий рядок --><!-- П'ятий рядок --><!-- Шостий рядок --> | | <!-- Перший рядок - заголовок --><!-- Другий рядок --><!-- Третій рядок --><!-- Четвертий рядок --><!-- П'ятий рядок --><!-- Шостий рядок --> |
| <table style="border-collapse: collapse; width: 100%; font-family: Roboto, sans-serif; font-weight: 100; font-size: 0.8em; color: #333;">
| |
| <!-- Перший рядок - заголовок -->
| |
| <!-- Другий рядок -->
| |
| <tr>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;">'''<code>serviceKey </code>''' </td>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;"> ідентифікатор послуги мерчанта (видає EasyPay);
| |
| </td>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; text-align: left;">.</td>
| |
| </tr>
| |
|
| |
| <!-- Третій рядок -->
| |
| <tr>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;">'''<code>orderId</code>'''</td>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;">ідентифікатор сервісу торговця у системі EasyPay.</td>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; text-align: left;">
| |
| </td>
| |
| </tr>
| |
|
| |
| <!-- Четвертий рядок -->
| |
| <tr>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;">'''<code>description</code>'''</td>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;">секретний ключ для формування підпису</td>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; text-align: left;">опис замовлення (до 120 символів)
| |
| </td>
| |
| </tr>
| |
|
| |
| <!-- П'ятий рядок -->
| |
| <tr>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;">'''<code>amount </code>'''</td>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; padding-right: 10px; text-align: left;">сума замовлення, роздільник - точка; </td>
| |
| <td style="border: none; border-bottom: 1px solid #d3d3d3; text-align: left;"></td>
| |
| </tr>
| |
|
| |
| <!-- Шостий рядок -->
| |
| <tr>
| |
| <td style="border: none; padding-right: 10px; text-align: left;">'''<code>paymentOperation</code>'''</td>
| |
| <td style="border: none; padding-right: 10px; text-align: left;">тип платіжного процесу, можливі значення: </td>
| |
| <td style="border: none; text-align: left;">PaymentTokenization - використовується для токенізації картки, якою буде сплачено це замовлення.
| |
| Працює лише для інструмента “карта”. Повинен бути заповнений ідентифікатор клієнта "userInfo": { "phone": "string"}
| |
| Якщо передано URL для колбеку, то після успішної оплати відправляється колбек про платіж та колбек про токенізацію (приклади колбеків про оплату - в п. 2.7, про токенізацію - в п. 4.1.2)
| |
| </td>
| |
| <!-- Перший рядок - заголовок --><!-- Другий рядок --><!-- Третій рядок --><!-- Четвертий рядок --><!-- П'ятий рядок --><!-- Шостий рядок -->
| |
| <!-- Перший рядок - заголовок --><!-- Другий рядок --><!-- Третій рядок --><!-- Четвертий рядок --><!-- П'ятий рядок --><!-- Шостий рядок --><h2 style="color: #003366;">Основні запити та відповіді</h2>
| |
|
| |
|
| == Перевірка статусу платежу ==
| |
| <hr color="#d3d3d3" size="1" noshade>
| |
|
| |
|
| <h3 style="color: #003366;">Реєстрація точки та створення сесії</h3>
| |
| Цей метод слід викликати, коли користувач вперше звертається до платіжної сторінки. Якщо браузер або пристрій змінюються, метод знову з'являється.
| |
|
| |
|
|
| |
|
| == QR MasterPass ==
| |
| ''Для мерчантів, які мають пряму інтеграцію з MasterPass''
| |
|
| |
|
| ==== '''Опис:''' ====
| |
| Оплата з гаманця MasterPass із використанням QR-коду.<syntaxhighlight lang="json" line="1">
| |
| {
| |
| "instrumentType": "QrMasterpass",
| |
| "commission": 0.0,
| |
| "amountMin": 1.00,
| |
| "amountMax": 14999.00,
| |
| "userPaymentInstruments": [
| |
| {
| |
| "instrumentId": 8499910,
| |
| "instrumentType": "QrMasterpass",
| |
| "instrumentValue": "00020101021252040000530398054034005802UA5909EasyPayUa6004Kiev64190002UK0109EasyPayUa80850017ua.mastercard.www010200020840703434032003434180702054456177041211109354874205020181500017ua.mastercard.www011720191111093548742020499996223030443590603391070410036304AF79",
| |
| "alias": null,
| |
| "commission": 0.0,
| |
| "loyaltyCommission": null,
| |
| "actionsKeys": null,
| |
| "priorityIndex": 0,
| |
| "additionalParams": {
| |
| "OrderId": "4825209b-1caa-472e-b530-dc3e8efd541c"
| |
| }
| |
| }
| |
| ]
| |
| }
| |
|
| |
|
| </syntaxhighlight> | | <!-- Перший рядок - заголовок --> |
| | | <!-- Другий рядок --><!-- Третій рядок --><!-- Четвертий рядок --><!-- П'ятий рядок --><!-- Шостий рядок --><!-- Перший рядок - заголовок --><!-- Другий рядок --><!-- Третій рядок --><!-- Четвертий рядок --><!-- П'ятий рядок --><!-- Шостий рядок --> |
| === Створення підпису ===
| | <!-- Перший рядок - заголовок --><!-- Другий рядок --><!-- Третій рядок --><!-- Четвертий рядок --><!-- П'ятий рядок --><!-- Шостий рядок --> |
| Формування підпису Sign (основний варіант для POST – запитів)
| |
| | |
| '''Sign = base64(sha256(secretKey+requestBody))'''
| |
| | |
| <nowiki>*</nowiki>requestBody '''-''' текст запиту у форматі json , ідентичний до EasyPay
| |
| | |
| ''Приклад на C#'' <syntaxhighlight lang="c#">
| |
| Convert.ToBase64String(SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes(data)))
| |
| </syntaxhighlight>Convert.ToBase64String(SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes(data)))
| |
| | |
| ''Приклад на PHP''
| |
| | |
| base64_encode(hash('sha256', ($secretKey.$requestbody), true)) <syntaxhighlight lang="php">
| |
| base64_encode(hash('sha256', ($secretKey.$requestbody), true))
| |
| </syntaxhighlight>
| |
| | |
| | |
| <body style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; color: #333; margin: 20px;">
| |
| <p>Протокол призначено для торговців, які є одержувачами платежів. Продавець підписує договір про прийняття платежів або анкету-акцепт до публічної оферти.</p> | |
| <p>Щоб отримати платежі, ви можете використовувати web, мобільні версії сайтів, а також мобільні програми. У разі використання цього протоколу не здійснюється перевірка даних для ідентифікації замовлення або облікового запису. EasyPay завжди приймає дані, надіслані та створені продавцем.</p>
| |
| </body>
| |
| | |
| <div class="callout-icon">
| |
| <p>Цей блок може використовуватися для спеціальних повідомлень або інформаційних нотаток.</p>
| |
| </div> | |
| | |
| == Робота з токенізованими картами ==
| |
| | |
| === Токенізація карти ===
| |
| Метод призначений для токенізації (збереження) картки для ідентифікатора користувача під конкретним торговцем.
| |
| | |
| === Токенізація з передачею даних картки у запиті (заборонено без PCI:DSS сертифікації мерчанта) ===
| |
| Перед викликом цього методу. Потрібно викликати один із методів:
| |
| | |
| '''- CreateApp (п. 2.1)'''
| |
| | |
| '''- CreatePage (п. 2.2)'''
| |
| | |
| <p style="margin: 10px 0; border: 1px solid #d0f0c0; background-color: rgba(192, 255, 192, 0.5); padding: 10px; border-radius: 24px; font-family: monospace;">
| |
| <span style="background: linear-gradient(to right, #004d00, #00ff00); color: white; padding: 2px 6px; border-radius: 24px; border: 1px solid transparent; font-weight: bold;">POST</span><span>/api/merchant/tokenCard </span><syntaxhighlight lang="json" line="1">
| |
| 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": {
| |
| "phone": "380501002030ws",
| |
| "pan": "4874120123567889",
| |
| "expire": "1222",
| |
| "cvv": "012",
| |
| "vсode": "123654"
| |
| }
| |
| }
| |
| | |
| </syntaxhighlight><h2 style="color: #0033A0;">Можливі варіанти інструментів оплати</h2>
| |
| | |
| ===== Оплата <span style=" display: inline-block; padding: 4px 16px; border: 2px solid #0033A0; /* Темно-синій колір рамки */ background-color: #0033A0; /* Темно-синій фон */ color: white; /* Білий текст */ font-family: Arial, sans-serif; /* Шрифт */ font-weight: bold; /* Жирний шрифт */ border-radius: 24px; /* Закруглені краї */ text-transform: uppercase; /* Великі літери */ ">VISA</span> <span style=" display: inline-block; padding: 8px 20px; /* Збільшене відступи для однакового розміру */ border: 2px solid transparent; /* Прозора рамка для градієнту */ background: linear-gradient(to right, #FF5F00, #FFBF00); /* Градієнт від червоного до оранжевого */ color: white; /* Білий текст */ font-family: Arial, sans-serif; /* Шрифт */ font-weight: bold; /* Жирний шрифт */ border-radius: 24px; /* Закруглені краї */ text-transform: uppercase; /* Великі літери */ font-size: 16px; /* Однаковий розмір шрифта */ ">MasterCarD</span> =====
| |
| <syntaxhighlight lang="json" line="1">
| |
| "paymentInstrumentsTypes": [
| |
| {
| |
| "storedCards": [],
| |
| "instrumentType": "Card",
| |
| "commission": 2.00,
| |
| "amountMin": 0.01,
| |
| "amountMax": 14000.00,
| |
| "userPaymentInstruments": [
| |
| {
| |
| "instrumentId": 4211698,
| |
| "instrumentType": "Card",
| |
| "instrumentValue": null,
| |
| "alias": null,
| |
| "commission": 2.00,
| |
| "loyaltyCommission": null,
| |
| "actionsKeys": null,
| |
| "priorityIndex": 200,
| |
| "additionalParams": {}
| |
| }
| |
| ]
| |
| ]
| |
| },
| |
| {
| |
| "instrumentType": "RCard",
| |
| "commission": 2.00,
| |
| "amountMin": 0.01,
| |
| "amountMax": 14000.00,
| |
| "userPaymentInstruments": []
| |
| },
| |
| | |
| </syntaxhighlight>
| |
| | |
| ===== Мобільні гроші <span style=" display: inline-block; padding: 8px 20px; /* Збільшене відступи для однакового розміру */ border: 2px solid #00A3E0; /* Темно-синій колір рамки */ background:FFFFE0; /* Темно-синій фон */ color: #00A3E0; /* Білий текст */ font-family: Arial, sans-serif; /* Шрифт */ font-weight: bold; /* Жирний шрифт */ font-size: 24px; border-radius: 24px; /* Закруглені краї */ text-transform: uppercase; /* Великі літери */ font-size: 16px; /* Однаковий розмір шрифта */ ">Київстар</span><span style=" display: inline-block; padding: 8px 20px; /* Збільшене відступи для однакового розміру */ border: 2px solid #F7E300; /* Темно-синій колір рамки */ background:FFFFE0; /* Темно-синій фон */ color: #0033A0; /* Білий текст */ font-family: Arial, sans-serif; /* Шрифт */ font-weight: bold; /* Жирний шрифт */ font-size: 24px; border-radius: 24px; /* Закруглені краї */ text-transform: uppercase; /* Великі літери */ font-size: 16px; /* Однаковий розмір шрифта */ ">Lifecell</span><span style=" display: inline-block; padding: 8px 20px; /* Збільшене відступи для однакового розміру */ border: 2px solid #E60012; /* Темно-синій колір рамки */ background:FFFFE0; /* Темно-синій фон */ color: #E60012; /* Білий текст */ font-family: Arial, sans-serif; /* Шрифт */ font-weight: bold; /* Жирний шрифт */ font-size: 24px; border-radius: 24px; /* Закруглені краї */ text-transform: uppercase; /* Великі літери */ font-size: 16px; /* Однаковий розмір шрифта */ ">Vodafone</span> =====
| |
| | |
| <syntaxhighlight lang="json" line="1">
| |
| {
| |
| "instrumentType": "KSMoney",
| |
| "commission": 0.0,
| |
| "amountMin": 0.01,
| |
| "amountMax": 14000.00,
| |
| "userPaymentInstruments": [
| |
| {
| |
| "instrumentId": 4958975,
| |
| "instrumentType": "KSMoney",
| |
| "instrumentValue": null,
| |
| "alias": null,
| |
| "commission": 0.0,
| |
| "loyaltyCommission": null,
| |
| "actionsKeys": null,
| |
| "priorityIndex": 1,
| |
| "additionalParams": {}
| |
| }
| |
| ]
| |
| },
| |
| {
| |
| "instrumentType": "LifeMoney",
| |
| "commission": 0.03,
| |
| "amountMin": 0.01,
| |
| "amountMax": 6000.00,
| |
| "userPaymentInstruments": [
| |
| {
| |
| "instrumentId": 5098216,
| |
| "instrumentType": "LifeMoney",
| |
| "instrumentValue": null,
| |
| "alias": null,
| |
| "commission": 0.03,
| |
| "loyaltyCommission": null,
| |
| "actionsKeys": null,
| |
| "priorityIndex": 0,
| |
| "additionalParams": {}
| |
| }
| |
| ]
| |
| | |
| </syntaxhighlight>
| |
| | |
| ===== Картки лояльності <span style=" display: inline-block; padding: 8px 20px; border: 2px solid #FF0000; /* Червона рамка */ background-color: #FF0000; /* Червоний фон */ color: white; /* Білий текст*/ font-family: Arial, sans-serif; /* Шрифт Arial */ font-weight: bold; /* Жирний шрифт */ border-radius: 24px; /* Закруглені краї */ text-transform: uppercase; /* Великі літери */ font-size: 16px; /* Розмір шрифта */ ">Fishka</span> =====
| |
| <syntaxhighlight lang="json" line="1">
| |
| ]
| |
| },
| |
| {
| |
| "instrumentType": "FishkaB2B",
| |
| "commission": 2.00,
| |
| "amountMin": 0.01,
| |
| "amountMax": 1000.00,
| |
| "userPaymentInstruments": []
| |
| },
| |
| {
| |
| "instrumentType": "FishkaB2C",
| |
| "commission": 2.00,
| |
| "amountMin": 0.01,
| |
| "amountMax": 1000.00,
| |
| "userPaymentInstruments": []
| |
| },
| |
| | |
| </syntaxhighlight>
| |
| | |
| ===== Оплата <span style=" display: inline-block; padding: 8px 20px; /* Збільшене відступи для однакового розміру */ border: 2px solid #000000; /* Темно-синій колір рамки */ background:FFFFFF ; /* Темно-синій фон */ color: #000000; /* Білий текст */ font-family: Arial, sans-serif; /* Шрифт */ font-weight: bold; /* Жирний шрифт */ border-radius: 24px; /* Закруглені краї */ text-transform: uppercase; /* Великі літери */ font-size: 16px; /* Однаковий розмір шрифта */ ">ApplePay</span> <span style=" display: inline-block; padding: 8px 20px; border-style: solid; border-width: 4px; border-color: #4285F4 #EA4335 #FABB05 #34A853; /* Чітке розмежування кольорів */ background-color: #FFFFFF; /* Білий фон всередині */ color: #000000; /* Колір тексту */ font-family: Arial, sans-serif; font-weight: bold; text-transform: uppercase; font-size: 16px; border-radius: 24px; /* Закруглені краї */ ">GPAY</span> =====
| |
| <syntaxhighlight lang="json" line="1">
| |
| {
| |
| "instrumentType": "ApplePay",
| |
| "commission": 2.00,
| |
| "amountMin": 0.01,
| |
| "amountMax": 9999.00,
| |
| "userPaymentInstruments": [
| |
| {
| |
| "instrumentId": 10958126,
| |
| "instrumentType": "ApplePay",
| |
| "instrumentValue": null,
| |
| "alias": null,
| |
| "commission": 2.00,
| |
| "loyaltyCommission": null,
| |
| "actionsKeys": null,
| |
| "priorityIndex": 0,
| |
| "additionalParams": {}
| |
| }
| |
| ]
| |
| },
| |
| {
| |
| "instrumentType": "GooglePay",
| |
| "commission": 2.00,
| |
| "amountMin": 0.01,
| |
| "amountMax": 9999.00,
| |
| "userPaymentInstruments": [
| |
| {
| |
| "instrumentId": 10958137,
| |
| "instrumentType": "GooglePay",
| |
| "instrumentValue": null,
| |
| "alias": null,
| |
| "commission": 2.00,
| |
| "loyaltyCommission": null,
| |
| "actionsKeys": null,
| |
| "priorityIndex": 0,
| |
| "additionalParams":
| |
| {
| |
| "PublicKey": "BKdzipvJvJzcbTMm3dO0LEh1AXFr8qfSiPjwrI7vv9F6hqhDJB1M="
| |
| }
| |
| }
| |
| ]
| |
| }
| |
| ]
| |
| | |
| </syntaxhighlight>
| |
Загальні відомості
Протокол призначено для торговців, які є одержувачами платежів. Продавець підписує договір про прийняття платежів або анкету-акцепт до публічної оферти.
Щоб отримати платежі, ви можете використовувати web, мобільні версії сайтів, а також мобільні програми. У разі використання цього протоколу не здійснюється перевірка даних для ідентифікації замовлення або облікового запису. EasyPay завжди приймає дані, надіслані та створені продавцем.
Запит заголовків
Надсилання запиту та відповіді у форматі JSON.
Обов'язкові параметри для визначення запиту від торговця (мерчанта):
--header 'Content-Type: application/json'
--header 'AppId: cd7fde18-15db-4d94-a91b-7cf8edd81209'
--header 'PageId: 3e7bf353-417a-410c-a22e-df8bdcccb760'
--header 'PartnerKey: easypay-test'
--header 'locale: ua'
--header 'Sign: bS+vPOwu1Sif1Iz47Cdh+z1RAi0s6X21C3uU0YNBNWE='
URLS
Production - https://merchantapi.easypay.ua
(в т.ч. для надсилання тестових запитів)
Реєстрація партнера
Реєстрація нового торговця - отримання PartnerKey:
Параметр |
Характеристика |
Коментарій |
PartnerKey |
унікальний ідентифікатор партнера (продавця) у системі EasyPay. |
передається партнеру після реєстрації у системі EasyPay відповідальним менеджером. |
ServiceKey |
ідентифікатор сервісу торговця у системі EasyPay. |
магазину чи послуги
передається партнеру після реєстрації у системі EasyPay відповідальним менеджером.
|
SecretKey |
секретний ключ для формування підпису |
відомий лише торговцю та EasyPay
передається партнеру після реєстрації у системі EasyPay відповідальним менеджером.
|
AppId |
ідентифікатор торгової точки партнера |
параметр валідний протягом 90 днів. Один і той же AppID може використовуватись для декількох платежів) |
PageId |
ідентифікатор сесії |
параметр валідний протягом 20 хв. Для кожного запиту CreateOrder потрібно використовувати унікальний PageID |
Для тестових* запитів використовуються наступні параметри:
PartnerKey = easypay-test
ServiceKey = MERCHANT-TEST
SecretKey = test
ℹ️
На даний момент відсутня можливість тестування з використанням фейкових оплат / тестових карток. Платежі тільки реальні, їх можна відмінити в день оплати методом cancelOrder (п. 2.6).
ℹ️
На даний момент відсутня можливість тестування з використанням фейкових оплат / тестових карток. Платежі тільки реальні, їх можна відмінити в день оплати методом cancelOrder (п. 2.6).
💡
На даний момент відсутня можливість тестування з використанням фейкових оплат / тестових карток. Платежі тільки реальні, їх можна відмінити в день оплати методом cancelOrder (п. 2.6).
GET
/api/system/createApp
POST
/api/system/createApp
❗️
На даний момент відсутня можливість тестування з використанням фейкових оплат / тестових карток. Платежі тільки реальні, їх можна відмінити в день оплати методом cancelOrder (п. 2.6).
Основні запити/відповіді
Реєстрація точки та створення сесії
POST
/api/system/createApp
Цей метод слід викликати, коли користувач вперше звертається до платіжної сторінки. Якщо браузер або пристрій змінюються, метод знову з'являється
Request Headers
'PartnerKey: partnerName'
'locale: ua'
Body
Responseheaders
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 |
❗️
У разі отримання помилки APPID_NOT_FOUND у відповідь на будь-який метод, необхідно повторити запит createApp до отримання точки ІД.
Створення сесії
Створює новий екземпляр сеансу для користувача , PageId.
POST
/api/system/createPage
RequestHeaders
'PartnerKey: partnerName'
'locale: ua'
'AppId: a5806a5f-dbb8-496a-a23f-aab6d2fcbce1'
body
Responseheaders
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 автоматично продовжується. |
Створення замовлення
Перед викликом цього методу потрібно викликати один із методів:
POST
/api/system/createPage
POST
/api/system/CreateApp
❗️
Важливо! Для кожного нового запиту CreateOrder потрібно використовувати унікальний PageID.
POST
/api/merchant/createOrder
headers
'Content-Type: application/json'
'PartnerKey: partnerName'
'locale: ua'
'AppId: a5806a5f-dbb8-496a-a23f-aab6d2fcbce1'
'PageId: 2ce7dba6-4600-456e-b9c8-f13cacf1c85d'
'Sign: e0v1vIOMyNt2qSmrG5+sjAq8wOhvgDDUEyfVP21mRU4='
{
"userInfo": {
"phone": "string"
},
"order": {
"serviceKey": "string",
"orderId": "string",
"description": "string",
"amount":1.01, (decimal)
"paymentOperation":"PaymentTokenization",
"additionalItems": {},
"expire": "2019-04-15T07:49:20",
"isOneTimePay": true,
"fields": [
{
"fieldName": "string",
"fieldValue": "string",
"fieldKey": "string",
}
]
},
"urls": {
"success": "string",
"failed": "string",
"back": "string",
},
"bankingDetailsId": "string",
"bankingDetails": {
"payee": {
"id": "string",
"name": "string",
"bank": {
"name": "string",
"mfo": "string",
"account": "string"
}
},
"payer": {
"name": "string",
"id": "string"
},
"narrative": {
"name": "string"
}
},
"reccurent": {
"cronRule": "string",
"dateExpire": "2019-01-21T08:24:38.741Z",
"dateRun": "2019-01-20T08:24:38.741Z",
"properties":
{
"failedCount":0,
"failedRule":"string",
"amount":1.0,
"UrlNotify":"http://notify.url"
}
},
"splitting": {
"items": [
{
"serviceKey": "string",
"orderId": "string”
"bankingDetailsId": "string",
"bankingDetails": {
"payee": {
"id": "string",
"name": "string",
"bank": {
"name": "string",
"mfo": "string",
"account": "string"
}
},
"payer": {
"name": "string"
},
"narrative": {
"name": "string"
}
},
"unit": "Amount|Percent",
"value": 0,
"withCommission": false|true
}
]
},
"userPaymentInstrument": {
"instrumentType": "Card",
"cardGuid": "guid",
"pan": "string",
"expire": "MM/YY",
"cvv": "string",
},
"partnerInfo": {
"id": "string",
"name": "string",
"account": "string"
}
}
Параметр |
Характеристика |
Коментарій |
serviceKey |
ідентифікатор послуги мерчанта (видає EasyPay);
|
. |
orderId |
ідентифікатор сервісу торговця у системі EasyPay. |
|
description |
секретний ключ для формування підпису |
опис замовлення (до 120 символів)
|
amount |
сума замовлення, роздільник - точка; |
|
paymentOperation |
тип платіжного процесу, можливі значення: |
PaymentTokenization - використовується для токенізації картки, якою буде сплачено це замовлення.
Працює лише для інструмента “карта”. Повинен бути заповнений ідентифікатор клієнта "userInfo": { "phone": "string"}
Якщо передано URL для колбеку, то після успішної оплати відправляється колбек про платіж та колбек про токенізацію (приклади колбеків про оплату - в п. 2.7, про токенізацію - в п. 4.1.2)
|