Создание платежа
URL
https://payparts2.privatbank.ua/ipp/v2/payment/hold
Тип запроса
POST
Заголовки
Название
Значение
Accept:
application/json;
Accept-Encoding:
UTF-8;
Content-Type:
application/json; charset=UTF-8;
Тело запроса
Описание полей
Поле
Обязательное
Формат
Валидация значения
Описание
storeId
Да
String
notEmpty, notNull, maxSize=20
Идентификатор магазина
orderId
Да
String
notEmpty, notNull, maxSize=64
Уникальный номер платежа
amount
Да
Double
notNull, Min=300, Max=50 000
Окончательная сумма покупки
partsCount
Да
Integer
notNull, min=2, max=25
Количество частей на которые делится сумма транзакции (Для заключения кредитного договора) Должно быть > 1.
merchantType
Да
String
notNull
Тип кредита, возможные значения: II - Мгновенная рассрочка; PP - Оплата частями; PB - Оплата частями. Деньги в периоде. IA - Мгновенная рассрочка. Акционная.
scheme
Нет
Integer
Идентификатор схемы. Выделяется Банком. По умолчанию не передается. В расчете сигнатуры не используется.
products
Да
Array
notEmpty, min=1
Список продуктов, каждый продукт содержит поля: name - Наименование товара; price - Цена за еденицу товара; count - Количество товаров данного вида.
name
Да
String
notEmpty, notNull, maxSize=128
Наименование товара
count
Да
Integer
notEmpty, notNull, minSize=1
Количество товара данного вида
price
Да
Double
notNull, Min=0.01
Цена за единицу товара
recipientId
Нет
String
Идентификатор получателя, по умолчанию берется основной получатель. Установка основного получателя происходит в профиле магазина.
responseUrl
Нет
String
URL, на который Банк отправит результат сделки
redirectUrl
Нет
String
URL, на который Банк сделает редирект клиента
signature
Да
String
notEmpty, notNull
Уникальная подпись запроса. Результат функции SHA1(описание ниже).
Расчет сигнатуры для запроса
SIGNATURE - подпись запроса, обязательный параметр считается по формуле :
encodeBase64 ( SHA1 ( password
+ storeId
+ orderId
+ withoutFloatingPoint(amount)
+ partsCount
+ merchantType
+ responseUrl
+ redirectUrl
+ products_string
+ password
)), где:
encodeBase64 () - Функция зашифровывает строку в формате BASE64;
SHA1 () - Стандартная хеш-функция SHA-1, должна возвращать бинарные данные;
withoutFloatingPoint () - Функция возвращает число без плавающей точки ;
"+" - Конкатенация текстовой строки.
Параметр
Значение
password
Пароль вашего магазина
storeId
Идентификатор магазина
orderId
Уникальный номер платежа
amount
Окончательная сумма покупки, без плавающей точки (запятой). Пример: "purchaseAmount": 301.00, то в сигнатуру необходимо передать 30100
partsCount
Количество частей на которые делится сумма транзакции ( >1)
merchantType
Тип кредита
responseUrl
URL, на который Банк отправит результат сделки
redirectUrl
URL, на который Банк сделает редирект клиента
products_string
(product.name(A) + product.count(A) + withoutFloatingPoint(product.price(A)) + product.name(B) + product.count(B) + withoutFloatingPoint(product.price(B)) + ... )
password
Пароль вашего магазина
Успешный ответ
Описание полей
Параметр
Значение
password
Пароль вашего магазина
state
Результат отработки запроса
storeId
Идентификатор магазина
orderId
Уникальный номер платежа
message
В случае ошибки, содержит сообщение ошибки
password
Пароль вашего магазина
Расчет сигнатуры для ответа
SIGNATURE = encodeBase64 ( SHA1 ( password
+ state
+ storeId
+ orderId
+ token
+ password
))
encodeBase64 () - Функция зашифровывает строку в формате BASE64;
SHA1 () - Стандартная хеш-функция SHA-1, должна возвращать бинарные данные;
withoutFloatingPoint () - Функция возвращает число без плавающей точки ;
+ - Конкатенация текстовой строки.
Ответ с ошибкой
Расчет сигнатуры для ответа
SIGNATURE = encodeBase64 ( SHA1 ( password
+ state
+ storeId
+ orderId
+ message
+ password
))
encodeBase64 () - Функция зашифровывает строку в формате BASE64;
SHA1 () - Стандартная хеш-функция SHA-1, должна возвращать бинарные данные;
withoutFloatingPoint () - Функция возвращает число без плавающей точки ;
+ - Конкатенация текстовой строки.
Last updated