Видача кредиту(переказ на картку користувача): відмінності між версіями

Матеріал з apidocs
Перейти до: навігація, пошук
Немає опису редагування
Немає опису редагування
Рядок 1: Рядок 1:
===== Видача кредиту (переказ на картку користувача) =====
=== Видача кредиту (переказ на картку користувача) ===
Метод призначений для переказу на картку користувача суми кредиту.
Метод призначений для переказу на картку користувача суми кредиту.
<p style="border: 1px solid #9ACD32; background-color: rgba(192, 255, 192, 0.5); padding: 10px; border-radius: 8px; font-family: Arial, sans-serif; font-size: 14px; font-weight: normal; position: relative; padding-left: 80px;">
<p style="border: 1px solid #9ACD32; background-color: rgba(192, 255, 192, 0.5); padding: 10px; border-radius: 8px; font-family: Arial, sans-serif; font-size: 14px; font-weight: normal; position: relative; padding-left: 80px;">
Рядок 9: Рядок 9:
* [[MerchantAPI#Створення сесії|CreatePage]]
* [[MerchantAPI#Створення сесії|CreatePage]]
<br>
<br>
'''Request:'''<syntaxhighlight lang="json" line="1">
 
==== '''Request:''' ====
<syntaxhighlight lang="json" line="1">
headers
headers


Рядок 49: Рядок 51:




</syntaxhighlight>'''Response'''<syntaxhighlight lang="json" line="1">
</syntaxhighlight>
 
=== '''Response''' ===
<syntaxhighlight lang="json" line="1">
headers
headers
відсутній  
відсутній  
Рядок 66: Рядок 71:
}
}


</syntaxhighlight>'''Опис параметрів'''
</syntaxhighlight>
 
==== '''Опис параметрів''' ====
{| style="border-collapse: collapse; width: 100%; font-family: Roboto, sans-serif; font-weight: 100; font-size: 0.8em; color: #333;"
{| style="border-collapse: collapse; width: 100%; font-family: Roboto, sans-serif; font-weight: 100; font-size: 0.8em; color: #333;"
! style="border: none; border-bottom: 1px solid #d3d3d3; text-align: center; padding: 8px;" |Параметр
! style="border: none; border-bottom: 1px solid #d3d3d3; text-align: center; padding: 8px;" |Параметр
Рядок 116: Рядок 123:
|}
|}


 
===  '''Статус видачі кредиту:''' ===
'''Статус видачі кредиту:'''
 
* Якщо у відповіді отримано кінцевий статус <code>(paymentState = Confirmed / Rejected / Refunded)</code> - необхідно присвоїти його платежу.
* Якщо у відповіді отримано кінцевий статус <code>(paymentState = Confirmed / Rejected / Refunded)</code> - необхідно присвоїти його платежу.
* Якщо кінцевий статус у відповіді не отримано <code>(paymentState = WaitConfirm)</code>, '''у тому числі при серверних, мережевих та будь-яких інших відповідях та помилках''' - необхідно запросити статус платежу методом '''orderState''' ([[MerchantAPI#Перевірка статусу платежу|Перевірка статусу платежу]]) до отримання кінцевого статусу.  
* Якщо кінцевий статус у відповіді не отримано <code>(paymentState = WaitConfirm)</code>, '''у тому числі при серверних, мережевих та будь-яких інших відповідях та помилках''' - необхідно запросити статус платежу методом '''orderState''' ([[MerchantAPI#Перевірка статусу платежу|Перевірка статусу платежу]]) до отримання кінцевого статусу.  
Рядок 129: Рядок 134:




'''Response (Приклади відповідей при помилках: status code = 400)'''<syntaxhighlight lang="json" line="1">
==== '''Response''' ====
(Приклади відповідей при помилках: status code = 400)<syntaxhighlight lang="json" line="1">
{
{
     "error": {
     "error": {

Версія за 09:14, 5 листопада 2025

Видача кредиту (переказ на картку користувача)

Метод призначений для переказу на картку користувача суми кредиту.

POST /api/merchant/createOrder

Перед викликом цього методу потрібно викликати один із методів:


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
{
   "order":{
  	"serviceKey":"CARD-FILL",
  	"description":"test top up card",
  	"amount":1.12, (decimal)
  	"orderId":"test",
  	"fields":[
     	{
        	"fieldName":"Pan",
        	"fieldValue":"4102321200001111",
        	"fieldKey":"b95d541a-c11f-49bc-9042-295dbf74ccn6"
     	},
     	{
        	"fieldName":"Phone",
        	"fieldValue":"38093520000"
     	}
  	],
     	"additionalItems": {
	      "Merchant.ClientFullName": "Иванов Петр Сергеевич",
                     "Merchant.Address": "04080, Київ, вул.Межигірська 82а корп.Б, кв.32",
                    "Merchant.Inn": "3334445823"
        }
   },
   "userPaymentInstrument":{
  	"instrumentType":"Vcash"
   }
}

Response

headers
відсутній 

body 
{
	"redirectUrl": null,
	"action": null,
	"paymentState": "Confirmed",
	"status": "Done",
	"actionType": "UrlRedirect",
	"transactionId": "766934634",
	"retrievalReferenceNo": "null",
	"responseItems": "null",
	"error": "null"
}

Опис параметрів

Параметр Характеристика Коментарій
paymentState
  • Confirmed оплата пройшла успішно
  • WaitConfirm  очікується підтвердження платежу
  • Rejected і Refunded платіж відхинело
transactionId ідентифікатор платежу в системі Easypay У об'єкти поля передається інформація для поповнення карти. Номер картки можна вказувати:
  • для випадку з PCI DSS сертифікацією: у відкритому вигляді

"fieldName":"Pan",

"fieldValue":"4102321200001111",

  • для випадку без PCI DSS сертифікації: у вигляді токена (як отримати токен картки - див. Токенізація карти):

"fieldName":"Pan",

"fieldKey":"b95d541a-c11f-49bc-9042-295dbf74ccn6"

Також потрібно вказати:

- номер телефону клієнта:

"fieldName":"Phone",

"fieldValue":"38093520000"

- ПІБ та адреса клієнта АБО ПІБ та ІПН клієнта:

"additionalItems": {

      "Merchant.ClientFullName": "Іванов Петро Сергійович"

                  "Merchant.Address": "04080, Київ, вул.Межигірська 82а корп.Б, кв.32"

      "Merchant.Inn": "3334445862"

        }

Статус видачі кредиту:

  • Якщо у відповіді отримано кінцевий статус (paymentState = Confirmed / Rejected / Refunded) - необхідно присвоїти його платежу.
  • Якщо кінцевий статус у відповіді не отримано (paymentState = WaitConfirm), у тому числі при серверних, мережевих та будь-яких інших відповідях та помилках - необхідно запросити статус платежу методом orderState (Перевірка статусу платежу) до отримання кінцевого статусу.


Важливо врахувати, що нотифікація про оплату не надсилається (якщо партнер/мерчант не повідомив про необхідність такого налаштування).

Скасування транзакції не передбачено.


Response

(Приклади відповідей при помилках: status code = 400)

{
    "error": {
        "errorCode": "MERCHANT_CREATEORDER_VALIDATION_EXCEPTION",
        "title": null,
        "description": null,
        "errorMessage": "MERCHANT_CREATEORDER_VALIDATION_EXCEPTION",
        "fieldErrors": [
            {
                "fieldName": "Order.Fields[0]",
                "errorCode": "SERVICE_FIELDS_VALIDATION_EXCEPTION",
                "errorMessage": "Вказана умова не була виконана для значення поля."
            }
        ]
    }
}


{
    "error": {
        "errorCode": "PAYMENT_ALFABANK_CASH2CARD_C2Pv2",
        "title": "Платіжна помилка",
        "description": "Платіжна помилка",
        "errorMessage": "Обслуговуються тільки карти емітовані українськими банками",
        "fieldErrors": []
    }
}


{
    "error": {
        "errorCode": "PAYMENT_ALFABANK_CASH2CARD_C2Pa8",
        "title": "Платіжна помилка",
        "description": "Платіжна помилка",
        "errorMessage": "Необхідно уточнити реквізити картки одержувача у банку емітента",
        "fieldErrors": []
    }
}