Створення платежу

Створення платежу

URL

https://payparts2.privatbank.ua/ipp/v2/payment/create

Тип запиту

POST

Headers

Body запиту

{
    "storeId": "",
    "orderId": "",
    "amount": 400.00,
    "partsCount": 6,
    "merchantType": "PP",
    "scheme": 1111,
    "products": [
        {
            "name": "товар1",
            "count": 2,
            "price": 100.00
        },
        {
            "name": "товар2",
            "count": 1,
            "price": 200.00
        }
    ],
    "recipientId":"qwerty1234",
    "responseUrl": "http://shop.com/response",
    "redirectUrl": "http://shop.com/redirect",
    "signature": ""
}

Опис полів

Робота з параметром "sendPhone"

якщо параметр переданий, то вважаємо, що клієнту після створення токена треба відправити пуш в п24. У відповідь додається параметр sendPhone, туди передається результат надсилання SUCCESS або FAIL. Вихідний параметр додається, лише якщо його передали на вхід

можливі помилки якщо за тел клієнт не зареєстрований у банку - client not found якщо телефон у неправильному форматі - invalid phone якщо тел порожній - sendPhone cannot be empty помилка створення відправки клієнту пуша в п24- try again after 15 min

якщо у клієнта нема ліміту для оплати частинами - client has not credit limit

відправка пуша в п24 не блокуюча операція, якщо пуш не відправився, то все одно повертаємо токен у відповіді для проведення платежу звичайним способом. додаємо "sendPhone" : "FAIL" та помилку в message

Рекомендуємо використовувати банери в роботі з параметром SendPhone

Розрахунок сигнатури для запиту

SIGNATURE - підпис запиту, обов'язковий параметр розраховується за формулою: encodeBase64 ( SHA1 ( password + storeId + orderId + withoutFloatingPoint(amount) + partsCount + merchantType + responseUrl + redirectUrl + products_string + password )), де:

  • encodeBase64 () - Функція зашифровує рядок у форматі BASE64;

  • SHA1 () - Стандартна хеш-функція SHA-1 повинна повертати бінарні дані;

  • withoutFloatingPoint () - Функція повертає число без плаваючої точки;

  • "+" - Конкатенація текстового рядка.

Успішна відповідь

{
  "state" : "SUCCESS",
  "storeId" : "merchant",
  "orderId" : "order_id",
  "token" : "E8E354374D404C1E9279DCCF1C7B5541",
  "signature" : "b47f80a7fbb34db084bb35527f84ed4a"
}

Опис полів

Розрахунок сигнатури для відповіді

SIGNATURE = encodeBase64 ( SHA1 ( password + state + storeId + orderId + token + password ))

  • encodeBase64 () - Функція зашифровує рядок у форматі BASE64;

  • SHA1 () - Стандартна хеш-функція SHA-1 повинна повертати бінарні дані;

  • "+" - Конкатенація текстового рядка.

Відповідь з помилкою

{
  "state" : "FAIL",
  "storeId" : "merchant",
  "orderId" : "order_id",
  "message" : "error message",
  "signature" : "37d9c9732fe843929deb01424fb4b0fa"
}

Розрахунок сигнатури для відповіді

SIGNATURE = encodeBase64 ( SHA1 ( password + state + storeId + orderId + message + password ))

  • encodeBase64 () - Функція зашифровує рядок у форматі BASE64;

  • SHA1 () - Стандартна хеш-функція SHA-1 повинна повертати бінарні дані;

  • withoutFloatingPoint () - Функція повертає число без плаваючої точки;

  • "+" - Конкатенація текстового рядка.

Відповідь з помилкою з параметром sendPhone

{
	"orderId": "order_id",
	"signature": "EZ8AdQbuwWf3QcP9gFE/igM=",
	"token": "E8E354374D404C1E9279DCCF1C7B5541",
	"sendPhone": "FAIL",
	"state": "SUCCESS",
	"message": "invalid phone",
	"storeId": "storeId"
}

Розрахунок сигнатури для відповіді

SIGNATURE = encodeBase64 ( SHA1 ( password + state + storeId + orderId + message + token + password ))

Last updated