Astyami 1 punkt_6ya_kopiya
Transcript of Astyami 1 punkt_6ya_kopiya
![Page 1: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/1.jpg)
STRICTLY CONFIDENTIALЦентр электронного бизнеса
Руководствопо подключению к платежному шлюзу
интернет-эквайринга ecommerce.liqpay.com с номером карты
version 1.0.12
Для разработчиков интернет-магазина
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 2: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/2.jpg)
STRICTLY CONFIDENTIAL
ContentСписок последних изменений..........................................................................................................................................................41 Тип транзакции: 3DSecure purchase (покупка с использованием 3DSecure протокола) средиректом..................................................................................................................................6
1.1 Запрос от торговца к серверу.................................................................................61.2 Ответ от сервера торговцу..................................................................................................81.3 Пример программного кода................................................................................................9
2 Тип транзакции: none-3DSecure purchase (purchase server-to-server)........................................................................................................................................................11
2.1 Запрос от торговца к серверу...................................................................................................................................................112.2 Работа с MPI........................................................................................................................122.3 Ответ от сервера торговцу................................................................................................122.4 Регулярный платеж по токену..........................................................................................13
3 Тип транзакции: Purchase completion (server-to-server)........................................................................................................................................................14
3.1 Запрос от торговца к серверу...................................................................................................................................................143.2 Ответ от сервера торговцу................................................................................................143.3 Регулярный платеж по токену..........................................................................................15
4 Тип транзакции: P2P card transfer (server-to-server)........................................................................................................................................................16
4.1 Запрос от торговца к серверу...................................................................................................................................................164.2 Ответ от сервера торговцу................................................................................................17
5 Тип транзакции: P2P card credit (server-to-server)........................................................................................................................................................19
5.1 Запрос от торговца к серверу...................................................................................................................................................195.2 Ответ от сервера торговцу................................................................................................20
6 Тип транзакции: P2P card debit (server-to-server)........................................................................................................................................................22
6.1 Запрос от торговца к серверу...................................................................................................................................................226.2 Ответ от сервера торговцу................................................................................................23
7 Тип транзакции Reversal (отмена покупки)........................................................................................................................................................25
7.1 Запрос от торговца к серверу...................................................................................................................................................257.2 Ответ от сервера торговцу................................................................................................257.3 Пример программного кода..............................................................................................25
8 Тип транзакции Order status (статус покупки)........................................................................................................................................................27
8.1 Запрос от торговца к серверу...................................................................................................................................................278.2 Ответ от сервера торговцу................................................................................................278.3 Пример программного кода..............................................................................................28
9 Тип транзакции: MPI request........................................................................................................................................................30
9.1 Запрос от торговца к серверу...................................................................................................................................................309.2 Ответ от сервера торговцу................................................................................................31
10 Тип транзакции: Funds Access (purchase server-to-server)........................................................................................................................................................32
10.1 Запрос от торговца к серверу
![Page 3: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/3.jpg)
...................................................................................................................................................3210.2 Ответ от сервера торговцу..............................................................................................32
11 Получение справочника бин-страна........................................................................................................................................................3412 Параметры тестового мерчанта........................................................................................................................................................3513 Инструкция по генерации Certificate Request для MPI........................................................................................................................................................36
13.1 Россия...................................................................................................................................................36Mastercard:................................................................................................................................36Visa:...................................................................................................................................................36
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 4: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/4.jpg)
STRICTLY CONFIDENTIAL
13.2 Украина...................................................................................................................................................37Mastercard:................................................................................................................................37Visa:...........................................................................................................................................37
14 Перечень кодов ответа авторизации........................................................................................................................................................38
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and
![Page 5: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/5.jpg)
is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 6: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/6.jpg)
STRICTLY CONFIDENTIAL
Список последних измененийДата Версия Описание изменений
23.05.2012 1.0.1 Добавлен новый типтранзакции:
P2PCardtransfer
23.05.2012 1.0.1 Добавлены новыепараметры в тип
транзакции none-3DSecure
purchase: CAVV и ECI
26.06.2012 1.0.2 Добавлен тип транзакциирегулярный платеж
recurring payment with
token
30.07.2012 1.0.3 Добавлен тип запроса MPI
request
30.07.2012 1.0.3 Добавлены параметрыpares и md в тип
транзакции none-3DSecurepurchase (purchase
server-to-server)
14.08.2012 1.0.4 Добавленытип транзакции: Funds
Accessтип запроса: получение
справочника бин-страна
Изменения в типетранзакции none-3DSecure
purchase:Параметр CVV2 не
является обязательным
Если CVV2 и PaReqотсутствуют ,транзакция
интерпретируется как
MOTO
15.10.2012 1.0.5 Добавлены типытранзакций P2P Card
Credit, Debit
13.11.2012 1.0.6Добавлен параметр
preauthв тип транзакции
none-3DSecure purchase.Добавлен тип транзакции
Purchase Completion.Добавлены
дополнительныепараметры в ответе типа
запроса Order Status
![Page 7: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/7.jpg)
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 8: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/8.jpg)
STRICTLY CONFIDENTIAL
08.02.2013 1.0.8 Добавлена инструкция погенерации Certificate
Request для MPI (Россия)
22.05.2013 1.0.9 Добавлена инструкция погенерации Certificate
Request для MPI (Украина)
29.05.2013 1.0.10 Добавлен CVV2 в типтранзакции fundsaccess
Добавлена работа стокеном в запросе MPI
request
11.07.2013 1.0.11Добавлена работа с
треком
в P2P операции
![Page 9: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/9.jpg)
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 10: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/10.jpg)
STRICTLY CONFIDENTIAL
1 Тип транзакции: 3DSecure purchase (покупка с использованием 3DSecure протокола) с редиректом
1.1 Запрос от торговца к серверуМерчант передает методом POST набор параметров на адрес:https://ecommerce.liqpay.com/ecommerce/CheckOutPagen (русский интерфейс) илиhttps://ecommerce.liqpay.com/ecommerce/CheckOutPagen?lang=en (английский интерфейс)
Название поля обя Формат Описание полязат [S/N]XXXель S – строканое N – число
XXX - длина
version yes S10 1.0.0acqid yes N6 Acquirer ID:
414963 – Украина
469584 – Россияmerid yes S15 Номер вашего предприятия, выданный
ПриватБанком при регистрации
orderid yes S128Уникальный номер заказа в вашей системе
parts no N50
Количество частей на которые делится сумма транзакции (Для заключения кредитного договора)
merrespurl yes S1024 URL, на который система должна перенаправлять
клиента с результатом платежа.Этот URL является основным и обязательным
каналом доставки ответа от банка.merrespurl2 no S1024 URL, на который система должна отправлять ответ с
результатом платежа напрямую, параллельноотправке через браузер клиента.Этот URL является дублирующим каналом доставки
ответа от банка.purchaseamt yes N12 Окончательная сумма покупки, 12 знаков. Поле
дополняется нулями слева до длины 12. Последние2 знака в сумме означают копейки. Например
000000001020 = 10грн 20копpurchasecurrency yes N3 980 – Украинская гривна
840 – Доллар США643 – Российский рубль
в соответствии с ISOpurchaseamt2 no N12 Альтернативная сумма покупки, 12 знаковpurchasecurrency2 no N3 Альтернативная валюта покупки
840 — доллар США643 — российский рубль
и т.д. в соответствии со стандартом ISOpurchasecurrencyexponent yes N2 2, экспонента суммы покупки (количество знаков,
выделяемое под дробную часть)signature yes S28 Уникальная подпись транзакции. Результат функции
SHA1.
orderdescription yes S1000 Описание покупки в кодировке UTF-8
Пример:Смартфон Lenovo A706 Black Price=1899.00 Qty=1|Карта памяти Kingston MicroSDHC 16GB(Class10)+SD adapter Price=109.00 Qty=1|Пленка защитная для мобильного устройства GMMO Lenovo A706 Clear Price=55.00
![Page 11: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/11.jpg)
Qty=1.
Разделитель между описаниями покупок “|”
cardno yes N19 Номер карты
cardcvv2 yes N4 CVV2/CVC
cardexpdate yes N4 Срок действия карты в формате MMYY
fee no N12 Комиссия
phone no N13 Номер телефона плательщика
mail no S50Почтовый адрес для отправки чека с результатом оплаты
authtype no S1Тип авторизации пользователя. Q (QR
), I ( )код ИЭ
Поле signature формируется по следующему правилу:
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 12: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/12.jpg)
STRICTLY CONFIDENTIALsignature =base64_encode(hexbin( SHA1(password+merid+acqid+orderid+purchaseamt+purchasecurrency+purchaseamt2+purchas ecurrency2+cardno+phone+orderdescription)))
гдеhexbin – функция перевода шестнадцатеричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцатеричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — функция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строки
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 13: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/13.jpg)
STRICTLY CONFIDENTIAL
1.2 Ответ от сервера торговцу
Ответ от сервера будет передан на страницы merrespurl и merrespurl2 методом POST. На адрес merrespurl ответ будет передан через браузер посредством редиректа клиента. На адрес merrespurl2 ответ будет передан посредством прямого соединения сервер-сервер. Список параметров в ответе:
Название поля Формат Описание поля[S/N]XXXS – строкаN – число
XXX - длинаacqid N6 Acquirer ID:
414963 – Украина
469584 – Россия
merid S15номер вашего предприятия, выданный ПриватБанком при регистрации
orderid S128 уникальный номер заказа из запроса
signature S28 основная подпись транзакции. Результат функции SHA1.
countrybin N3 страна банка-эмитента карты
countryip N3 страна провайдера, выдавшего клиенту IP-адрес
onus N1 0 – карта не ПриватБанка
1 – карта ПриватБанка
time S19 время получения запроса от мерчанта в формате
DD/MM/YYYY HH24:MI:SS , гдеDD – деньMM – месяцYYYY – годHH24 – часы в формате от 00 до 23MI – минуты
SS - секундыphone N13 номер телефона, который клиент вводит для получения разового (OTP)
пароля
countryphone N3 страна оператора мобильного телефона
ip S15 IP-адрес клиента
responsecode N2 код ответа
reasoncode N4 код причины отказа
reasoncodedesc S50описание ответа (для кредитных договоров: Y- успех, N – не успех, W – в процессе).
paddedcardno S16 последние 4 цифры номера карты
authcode S6 авторизационный код транзакцииeci N1 Electronic Commerce Indicator
ECI=5 – транзакция с полной 3D-Secure аутентификацией, пароль
клиента был проверен эмитентом
ECI=6 – попытка проведения 3D-Secure транзакция,
эмитент проверилвалидность карты, но клиент не аутентифицирован по паролю, так какне вводил его по одной из причин:а) карта не активирована в сервисе 3D-Secure
б) эмитент не поддерживает полную 3D-Secure аутентификацию
ECI=7 – 3D-Secure аутентификация невозможна по одной из
причин:а) сервер эмитента на данный момент недоступен
б) карта бизнес, корпоративная или предоплаченная
signature2 S28 подпись для второстепенных параметров транзакции. Результат
функции SHA1.
contractid N50 Идентификатор кредитного договора
fee N12 Комиссия
phone N13 Номер телефона плательщика
parts N50Количество частей на которые делится сумма транзакции (Для
заключения кредитного договора)
![Page 14: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/14.jpg)
authtype S1 Тип авторизации пользователя. Q (QR ), I ( )код ИЭ
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 15: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/15.jpg)
STRICTLY CONFIDENTIALПоле signature формируется по следующему правилу:signature =base64_encode(hexbin( SHA1(password+merid+acqid+orderid+responsecode+reasoncode+reasoncodedesc)))гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строкиПоле signature2 формируется по следующему правилу:signature2 =base64_encode(hexbin( SHA1(password+eci+ip+countryip+countrybin+onus+time+phone+сountryphone)))Все параметры передаются в кодировке UTF-8
Транзакция считается успешной, если ResponseCode=1 и ReasonCode=1 и параметр Signature является валидным.
1.3 Пример программного кодаPHP:<?phpfunction hexbin($temp)
{ $data="";$len = strlen($temp);for ($i=0;$i<$len;$i+=2) $data.=chr(hexdec(substr($temp,$i,2))); return $data;
}$Version='1.0.0'; $Password='34074xhjqmwf8gs'; $MerID='I0110020'; $AcqID='414963'; $OrderID="test".time().rand(1,9999); $PurchaseAmt='000000000001'; $CardNo='4555555555555555'; $CardCVV2='111'; $CardExpDate='1215'; $PurchaseCurrency='980'; $PurchaseCurrencyExponent='2'; $OrderDescription='Test payment';$str = $Password.$MerID.$AcqID.$OrderID.$PurchaseAmt.$PurchaseCurrency.$CardNo.$OrderDescription; $Signature=sha1($str);$Signature=hexbin($Signature); $Signature
= base64_encode($Signature);
$post='<form method="post" action="https://ecommerce.liqpay.com/ecommerce/CheckOutPagen"> <input name="version" value="'.$Version.'" type="hidden"><input name="orderid" value="'.$OrderID.'" type="hidden"><input name="merrespurl" value="https://ecommerce.liqpay.com/ecommerce/responsepage" type="hidden"> <input name="merid" value="'.$MerID.'" type="hidden"><input name="acqid" value="'.$AcqID.'" type="hidden"> <input name="cardno" value="'.$CardNo.'" type="hidden"><input name="cardcvv2" value="'.$CardCVV2.'" type="hidden"> <input
name="cardexpdate" value="'.$CardExpDate.'" type="hidden">
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 16: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/16.jpg)
STRICTLY CONFIDENTIAL
<input name="purchaseamt" value="'.$PurchaseAmt.'" type="hidden"><input name="purchasecurrencyexponent" value="'.$PurchaseCurrencyExponent.'" type="hidden"> <input name="purchasecurrency" value="'.$PurchaseCurrency.'" type="hidden"><input name="orderdescription" value="'.$OrderDescription.'" type="hidden"> <input name="signature" value="'.$Signature.'" type="hidden"><input type="submit"> </form>';
?>
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 17: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/17.jpg)
STRICTLY CONFIDENTIAL
2 Тип транзакции: none-3DSecure purchase (purchase server-to-server)
2.1 Запрос от торговца к серверуМерчант передает методом POST набор параметров на адрес: https://ecommerce.liqpay.com/ecommerce/ mpayauth2
Название поля обя Формат Описание полязат [S/N]XXXель S – строканое N – число
XXX - длина
Versionyes S10 1.0.0
parts no N50
Количество частей на которые делится сумма транзакции (Для заключения кредитного договора)
acqid yes N6 Acquirer ID:
414963 – Украина
469584 – Россияmerid yes S15 Номер вашего предприятия, выданный
ПриватБанком при регистрации
orderid yes S128 Уникальный номер заказа в вашей системе
purchaseamt yes N12 Окончательная сумма покупки, 12 знаков. Поле
дополняется нулями слева до длины 12. Последние2 знака в сумме означают копейки. Например
000000001020 = 10грн 20копpurchasecurrency yes N3 980 – Украинская гривна
840 – Доллар США643 – Российский рубль
в соответствии с ISOpurchasecurrencyexponent yes N2 2, экспонента суммы покупки (количество знаков,
выделяемое под дробную часть)signature yes S28 Уникальная подпись транзакции. Результат функции
SHA1.
orderdescription yes S1000
Описание покупки в кодировке UTF-8
Пример:Смартфон Lenovo A706 Black Price=1899.00 Qty=1|Карта памяти Kingston MicroSDHC 16GB(Class10)+SD adapter Price=109.00 Qty=1|Пленка защитная для мобильного устройства GMMO Lenovo A706 Clear Price=55.00 Qty=1.
Разделитель между описаниями покупок “|”
mail no S50Почтовый адрес для отправки чека с результатом оплаты
cardno yes N19 Номер картыcardcvv2 no N4 CVV2/CVC . Если отсутствует, транзакция
интерпретируется как MOTO
cardexpdate yes N4 Срок действия карты в формате YYMM
fee no N12 Комиссия
phone no N25 Номер телефона плательщикаcavv no S100 The cardholder authentication verification value
(CAVV/UCAF) генерируемое сервером ACS.eci no N1 The electronic commerce indicator, принимает
значения: 5,6,7 для карт Visa и 0,1,2 для карт
MasterCardpares no S10000 PARes message returned by ACS issuer page after
![Page 18: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/18.jpg)
cardholder is authenticatedmd no S128 MD parameter returned by ACS issuer page after
cardholder is authenticatedrecurringbytoken no S1 Y – если необходим доступ к карте на
регулярной основе по протоколу Funds Access
preauth no S1 Y – предавторизация. Сумма блокируется на
карте (hold), но не списывается
Поле signature формируется по следующему правилу:
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 19: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/19.jpg)
STRICTLY CONFIDENTIALsignature =base64_encode(hexbin( SHA1(password+merid+acqid+orderid+purchaseamt+purchasecurrency+cardno+phone+orderde scription+fee+cavv+eci+md+pares+recurringbytoken+preauth)))гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — функция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строки
2.2 Работа с MPIВозможны 2 схемы работы с MPI:
1. MPI находится на стороне банка. В этом случае при обращении по протоколу “Тип транзакции: MPI request” мерчант получит в ответ параметры md и pares и должен будет их передать на авторизацию
2. MPI находится на стороне мерчанта. В таком случае на авторизацию необходимо передавать один из двух наборов параметров:
а) md, pares в том виде, в котором их вернул ACS сервер банка эмитента, т.е. без измененийилиб) eci, cavv, md, полученные в результате разбора PaRes сообщения, полученного от ACS сервер банка эмитента
2.3 Ответ от сервера торговцу
Ответом сервера будет строка формата, где параметры разделены знаком амперсанд:ResponseCode=1&ReasonCode=1&ReasonCodeDesc=Approved,+no+balances+available&Signature=Jcd1OFkeRBLVzK87b5ZKCxknWzQ%3D&MerID=I0110020&OrderID=TestOrder1&AcqID=414963&Time=01/01/201223:20:11&IP=217.117.64.236&Phone=30991234567&AuthCode=123456&RecToken=1234567890123456789012345678
К каждому значению, полученному в ответе, нужно применить функцию Url decode. Например: Approved,+no+balances+available должен быть декодирован в Approved, no balances available
Название поля Формат Описание поля[S/N]XXXS – строкаN – число
XXX - длинаacqid N6 Acquirer ID:
414963 – Украина
469584 – Россия
merid S15Номер вашего предприятия, выданный ПриватБанком при регистрации
orderid S128 Уникальный номер заказа в вашей системе
signature S28 Уникальная подпись транзакции. Результат функции SHA1.
time S19 время получения запроса от мерчанта в формате
DD/MM/YYYY HH24:MI:SS , гдеDD – деньMM – месяц
YYYY – год
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 20: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/20.jpg)
STRICTLY CONFIDENTIAL
HH24 – часы в формате от 00 до 23
MI – минуты
SS - секундыphone N13 номер телефона, который клиент вводит для получения разового (OTP)
пароля
ip S15 IP-адрес клиента
responsecode N2 код ответа
reasoncode N4 код причины отказа
reasoncodedesc S50описание ответа (для кредитных договоров: Y- успех, N – не успех, W – в процессе).
authcode S6 Код авторизации
rectoken S28 Токен для доступа к карте на регулярной основе
fee N12 Комиссия
contractid N50 Идентификатор договора
parts N50
Количество частей на которые делится сумма транзакции (Для заключения кредитного договора)
Поле signature формируется по следующему правилу:
signature =base64_encode (hexbin( SHA1(Password + MerID + AcqID + OrderID + IP + Time + Phone + ResponseCode + ReasonCode + ReasonCodeDesc+RecToke n)))гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строкиВсе параметры передаются в кодировке UTF-8
Транзакция считается успешной, если ResponseCode=1 и ReasonCode=1 и параметр Signature является валидным.
2.4 Регулярный платеж по токену.
Если в запросе передан параметр recurringbytoken=Y, то в случае успешной авторизации в ответе вернется параметр rectoken, содержащий многоразовый токен для последующего доступа к средствам карты
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 21: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/21.jpg)
STRICTLY CONFIDENTIAL
3 Тип транзакции: Purchase completion (server-to-server)
3.1 Запрос от торговца к серверуМерчант передает методом POST набор параметров на адрес: https://ecommerce.liqpay.com/ecommerce/c ompletion
Название поля обя Формат Описание полязат [S/N]XXXель S – строканое N – число
XXX - длина
version yes S10 1.0.0acqid yes N6 Acquirer ID:
414963 – Украина
469584 – Россияmerid yes S15 Номер вашего предприятия, выданный
ПриватБанком при регистрации
orderid yes S128 Уникальный номер заказа в вашей системе
purchaseamt yes N12 Окончательная сумма покупки, 12 знаков. Поле
дополняется нулями слева до длины 12. Последние2 знака в сумме означают копейки. Например
000000001020 = 10грн 20копpurchasecurrency yes N3 980 – Украинская гривна
840 – Доллар США643 – Российский рубль
в соответствии с ISOpurchasecurrencyexponent yes N2 2, экспонента суммы покупки (количество знаков,
выделяемое под дробную часть)signature yes S28 Уникальная подпись транзакции. Результат функции
SHA1.
fee no N12 Комиссия
Поле signature формируется по следующему правилу:signature =base64_encode(hexbin( SHA1(password+merid+acqid+orderid+purchaseamt+purchasecurrency+fee)))гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строки
3.2 Ответ от сервера торговцу
Ответом сервера будет строка формата, где параметры разделены знаком амперсанд:ResponseCode=1&ReasonCode=1&ReasonCodeDesc=Approved,+no+balances+available&Signature=Jcd1OFkeRBLVzK87b5ZKCxknWzQ%3D&MerID=I0110020&OrderID=TestOrder1&AcqID=414963&Time=01/01/201223:20:11&IP=217.117.64.236&AuthCode=123456
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 22: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/22.jpg)
STRICTLY CONFIDENTIALК каждому значению, полученному в ответе, нужно применить функцию Url decode. Например: Approved,+no+balances+available must be decoded to Approved, no balances available
Название поля Формат Описание поля[S/N]XXXS – строкаN – число
XXX - длинаacqid N6 Acquirer ID:
414963 – Украина
469584 – Россия
merid S15Номер вашего предприятия, выданный ПриватБанком при регистрации
orderid S128 Уникальный номер заказа в вашей системе
signature S28 Уникальная подпись транзакции. Результат функции SHA1.
time S19 время получения запроса от мерчанта в формате
DD/MM/YYYY HH24:MI:SS , гдеDD – деньMM – месяцYYYY – годHH24 – часы в формате от 00 до 23MI – минуты
SS - секундыphone N13 номер телефона, который клиент вводит для получения разового (OTP)
пароля
ip S15 IP-адрес клиента
responsecode N2 код ответа
reasoncode N4 код причины отказа
reasoncodedesc S50 описание ответа
authcode S6 Код авторизации
rectoken S28 Токен для доступа к карте на регулярной основе
Поле signature формируется по следующему правилу:
signature =base64_encode (hexbin( SHA1(Password + MerID + AcqID + OrderID + IP + Time + Phone + ResponseCode + ReasonCode + ReasonCodeDesc+RecToke n)))гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строкиВсе параметры передаются в кодировке UTF-8
Транзакция считается успешной, если ResponseCode=1 и ReasonCode=1 и параметр Signature является валидным.
3.3 Регулярный платеж по токену.
Если в запросе передан параметр recurringbytoken=Y, то в случае успешной авторизации в ответе вернется параметр rectoken, содержащий многоразовый токен для последующего доступа к средствам карты
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 23: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/23.jpg)
STRICTLY CONFIDENTIAL
4 Тип транзакции: P2P card transfer (server-to-server) 4.1 Запрос от торговца к серверуМерчант передает методом POST набор параметров на адрес: https://ecommerce.liqpay.com/ecommerce/ p2pcardtransfer
Название поля обя Формат Описание полязат [S/N]XXXель S – строканое N – число
XXX - длина
version yes S10 1.0.0acqid yes N6 Acquirer ID:
414963 – Украина
469584 – Россияmerid yes S15 Номер вашего предприятия, выданный
ПриватБанком при регистрации
orderid yes S128 Уникальный номер заказа в вашей системе
purchaseamt yes N12 Окончательная сумма покупки, 12 знаков. Поле
дополняется нулями слева до длины 12. Последние2 знака в сумме означают копейки. Например
000000001020 = 10грн 20копpurchasecurrency yes N3 980 – Украинская гривна
840 – Доллар США643 – Российский рубль
в соответствии с ISOpurchasecurrencyexponent yes N2 2, экспонента суммы покупки (количество знаков,
выделяемое под дробную часть)signature yes S28 Уникальная подпись транзакции. Результат функции
SHA1.
orderdescription yes S1000 Описание покупки в кодировке UTF-8
cardno no N19 Номер карты отправителя
cardcvv2 no N4 Значение CVV2/CVC карты отправителяcardexpdate no N4 Срок действия карты отправителя в формате
MMYY
fee no N12 Комиссия
phone no N25 Номер телефона отправител
cardno2 yes N19 Номер карты получателя
sendername yes S30 Имя отправителя (только латиница)residentcountry yes N3 3-х значный код страны отправителя в
соответствии с ISO
senderpostalcode yes N6 Почтовый код отправителя
residentcityinlatin yes S30 Город отправителя (только латиница)
address yes S30 Адрес отправителя (только латиница)cavv no S100 The cardholder authentication verification value
(CAVV/UCAF) генерируемое сервером ACS.eci no N1 The electronic commerce indicator, принимает
значения: 5,6,7 для карт Visa и 0,1,2 для карт
MasterCard
md no S128 MD параметр, возвращенный MPIpares no S10000 PARes сообщение, возвращенное ACS
страницей эмитента после аутентификауции
кардхолдера
track no S37 Трек карты
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 24: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/24.jpg)
STRICTLY CONFIDENTIAL
Поле signature формируется по следующему правилу:
signature =base64_encode (hexbin( SHA1(password+merid+acqid+orderid+purchaseamt+purchasecurrency+cardno+phone+orderdescription +fee+cardno2+sendername+residentcountry+senderpostalcode+residentcityinlatin+address+cavv+eci+md+pares+track)))гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строки
4.2 Ответ от сервера торговцу
Ответом сервера будет строка формата, где параметры разделены знаком амперсанд:ResponseCode=1&ReasonCode=1&ReasonCodeDesc=Approved,+no+balances+available&Signature=Jcd1OFkeRBLVzK87b5ZKCxknWzQ%3D&MerID=I0110020&OrderID=TestOrder1&AcqID=414963&Time=01/01/201223:20:11&IP=217.117.64.236&Phone=30991234567&AuthCode=123456
К каждому значению, полученному в ответе, нужно применить функцию Url decode. Например: Approved,+no+balances+available must be decoded to Approved, no balances available
Название поля Формат Описание поля[S/N]XXXS – строкаN – число
XXX - длинаacqid N6 Acquirer ID:
414963 – Украина
469584 – Россия
merid S15Номер вашего предприятия, выданный ПриватБанком при регистрации
orderid S128 Уникальный номер заказа в вашей системе
signature S28 Уникальная подпись транзакции. Результат функции SHA1.
time S19 время получения запроса от мерчанта в формате
DD/MM/YYYY HH24:MI:SS , где
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 25: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/25.jpg)
STRICTLY CONFIDENTIAL
DD – деньMM – месяцYYYY – годHH24 – часы в формате от 00 до 23MI – минуты
SS - секундыphone N13 номер телефона, который клиент вводит для получения разового (OTP)
пароля
ip S15 IP-адрес клиента
responsecode N2 код ответа
reasoncode N4 код причины отказа
reasoncodedesc S50 описание ответа
authcode S6 Код авторизации
Поле signature формируется по следующему правилу:
signature =base64_encode (hexbin( SHA1(Password + MerID + AcqID + OrderID + IP + Time + Phone + ResponseCode + ReasonCode + ReasonCodeDesc)))
гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строкиВсе параметры передаются в кодировке UTF-8
Транзакция считается успешной, если ResponseCode=1 и ReasonCode=1 и параметр Signature является валидным.
![Page 26: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/26.jpg)
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 27: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/27.jpg)
STRICTLY CONFIDENTIAL
5 Тип транзакции: P2P card credit (server-to-server) 5.1 Запрос от торговца к серверуМерчант передает методом POST набор параметров на адрес: https://ecommerce.liqpay.com/ecommerce/ p2pcardcredit
Название поля обя Формат Описание полязат [S/N]XXXель S – строканое N – число
XXX - длина
version yes S10 1.0.0acqid yes N6 Acquirer ID:
414963 – Украина
469584 – Россияmerid yes S15 Номер вашего предприятия, выданный
ПриватБанком при регистрации
orderid yes S128 Уникальный номер заказа в вашей системе
purchaseamt yes N12 Окончательная сумма покупки, 12 знаков. Поле
дополняется нулями слева до длины 12. Последние2 знака в сумме означают копейки. Например
000000001020 = 10грн 20копpurchasecurrency yes N3 980 – Украинская гривна
840 – Доллар США643 – Российский рубль
в соответствии с ISOpurchasecurrencyexponent yes N2 2, экспонента суммы покупки (количество знаков,
выделяемое под дробную часть)signature yes S28 Уникальная подпись транзакции. Результат функции
SHA1.
orderdescription yes S1000 Описание покупки в кодировке UTF-8
fee no N12 Комиссия
phone no N25 Номер телефона отправител
cardno2 yes N19 Номер карты получателя
sendername yes S30 Имя отправителя (только латиница)residentcountry yes N3 3-х значный код страны отправителя в
соответствии с ISO
senderpostalcode yes N6 Почтовый код отправителя
residentcityinlatin yes S30 Город отправителя (только латиница)
address yes S30 Адрес отправителя (только латиница)
Поле signature формируется по следующему правилу:
signature =base64_encode (hexbin( SHA1(password+merid+acqid+orderid+purchaseamt+purchasecurrency+phone+orderdescription+fee +cardno2+sendername+residentcountry+senderpostalcode+residentcityinlatin+address)))
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 28: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/28.jpg)
STRICTLY CONFIDENTIAL
гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строки
5.2 Ответ от сервера торговцу
Ответом сервера будет строка формата, где параметры разделены знаком амперсанд:ResponseCode=1&ReasonCode=1&ReasonCodeDesc=Approved,+no+balances+available&Signature=Jcd1OFkeRBLVzK87b5ZKCxknWzQ%3D&MerID=I0110020&OrderID=TestOrder1&AcqID=414963&Time=01/01/201223:20:11&IP=217.117.64.236&Phone=30991234567&AuthCode=123456
К каждому значению, полученному в ответе, нужно применить функцию Url decode. Например: Approved,+no+balances+available must be decoded to Approved, no balances available
Название поля Формат Описание поля
[S/N]XXXS – строкаN – число
XXX - длинаacqid N6 Acquirer ID:
414963 – Украина
469584 – Россия
merid S15Номер вашего предприятия, выданный ПриватБанком при регистрации
orderid S128 Уникальный номер заказа в вашей системе
signature S28 Уникальная подпись транзакции. Результат функции SHA1.
time S19 время получения запроса от мерчанта в формате
DD/MM/YYYY HH24:MI:SS , гдеDD – деньMM – месяцYYYY – годHH24 – часы в формате от 00 до 23MI – минуты
SS - секундыphone N13 номер телефона, который клиент вводит для получения разового (OTP)
пароля
ip S15 IP-адрес клиента
responsecode N2 код ответа
reasoncode N4 код причины отказа
reasoncodedesc S50 описание ответа
authcode S6 Код авторизации
rrn N12 Уникальный референс транзакции
Поле signature формируется по следующему правилу:
signature =base64_encode (hexbin( SHA1(Password + MerID + AcqID + OrderID + IP + Time + Phone + ResponseCode + ReasonCode + ReasonCodeDesc+AuthCode+RRN)))
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 29: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/29.jpg)
STRICTLY CONFIDENTIAL
гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строкиВсе параметры передаются в кодировке UTF-8
Транзакция считается успешной, если ResponseCode=1 и ReasonCode=1 и параметр Signature является валидным.
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 30: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/30.jpg)
STRICTLY CONFIDENTIAL
6 Тип транзакции: P2P card debit (server-to-server) 6.1 Запрос от торговца к серверуМерчант передает методом POST набор параметров на адрес: https://ecommerce.liqpay.com/ecommerce/ p2pcarddebit
Название поля обя Формат Описание полязат [S/N]XXXель S – строканое N – число
XXX - длина
version yes S10 1.0.0acqid yes N6 Acquirer ID:
414963 – Украина
469584 – Россияmerid yes S15 Номер вашего предприятия, выданный
ПриватБанком при регистрации
orderid yes S128 Уникальный номер заказа в вашей системе
purchaseamt yes N12 Окончательная сумма покупки, 12 знаков. Поле
дополняется нулями слева до длины 12. Последние2 знака в сумме означают копейки. Например
000000001020 = 10грн 20копpurchasecurrency yes N3 980 – Украинская гривна
840 – Доллар США643 – Российский рубль
в соответствии с ISOpurchasecurrencyexponent yes N2 2, экспонента суммы покупки (количество знаков,
выделяемое под дробную часть)signature yes S28 Уникальная подпись транзакции. Результат функции
SHA1.
orderdescription yes S1000 Описание покупки в кодировке UTF-8
cardno yes N19 Номер карты отправителя
cardcvv2 yes N4 Значение CVV2/CVC карты отправителяcardexpdate yes N4 Срок действия карты отправителя в формате
MMYY
fee no N12 Комиссия
phone no N25 Номер телефона отправителcavv no S100 The cardholder authentication verification value
(CAVV/UCAF) генерируемое сервером ACS.eci no N1 The electronic commerce indicator, принимает
значения: 5,6,7 для карт Visa и 0,1,2 для карт
MasterCardpares no S10000 PARes message returned by ACS issuer page after
cardholder is authenticatedmd no S128 MD parameter returned by ACS issuer page after
cardholder is authenticatedrecurringbytoken no S1 Y – if Funds Access required
Поле signature формируется по следующему правилу:
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 31: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/31.jpg)
STRICTLY CONFIDENTIAL
signature =base64_encode (hexbin( SHA1(password+merid+acqid+orderid+purchaseamt+purchasecurrency+cardno+phone+orderdescription +fee+cavv+eci+md+pares+recurringbytoken)))гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строки
6.2 Ответ от сервера торговцу
Ответом сервера будет строка формата, где параметры разделены знаком амперсанд:ResponseCode=1&ReasonCode=1&ReasonCodeDesc=Approved,+no+balances+available&Signature=Jcd1OFkeRBLVzK87b5ZKCxknWzQ%3D&MerID=I0110020&OrderID=TestOrder1&AcqID=414963&Time=01/01/201223:20:11&IP=217.117.64.236&Phone=30991234567&AuthCode=123456
К каждому значению, полученному в ответе, нужно применить функцию Url decode. Например: Approved,+no+balances+available must be decoded to Approved, no balances available
Название поля Формат Описание поля
[S/N]XXXS – строкаN – число
XXX - длинаacqid N6 Acquirer ID:
414963 – Украина
469584 – Россия
merid S15Номер вашего предприятия, выданный ПриватБанком при регистрации
orderid S128 Уникальный номер заказа в вашей системе
signature S28 Уникальная подпись транзакции. Результат функции SHA1.
time S19 время получения запроса от мерчанта в формате
DD/MM/YYYY HH24:MI:SS , гдеDD – деньMM – месяцYYYY – годHH24 – часы в формате от 00 до 23MI – минуты
SS - секундыphone N13 номер телефона, который клиент вводит для получения разового (OTP)
пароля
ip S15 IP-адрес клиента
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 32: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/32.jpg)
STRICTLY CONFIDENTIAL
responsecode N2 код ответаreasoncode N4 код причины отказа
reasoncodedesc S50 описание ответа
authcode S6 Код авторизации
rectoken S28Token for recurring payments
Поле signature формируется по следующему правилу:
signature =base64_encode (hexbin( SHA1(Password + MerID + AcqID + OrderID + IP + Time + Phone + ResponseCode + ReasonCode + ReasonCodeDesc+RecToken)))гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строкиВсе параметры передаются в кодировке UTF-8
Транзакция считается успешной, если ResponseCode=1 и ReasonCode=1 и параметр Signature является валидным.
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 33: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/33.jpg)
STRICTLY CONFIDENTIAL
7 Тип транзакции Reversal (отмена покупки) 7.1 Запрос от торговца к серверуМерчант передает методом POST набор параметров на адрес: https://ecommerce.liqpay.com/reverse/reverse
Название поляобязательное Формат Описание поля
[S/N]XXXS – строкаN – число
XXX - длина
version да S10 1.0.0
merid да N6 Номер вашего предприятия, выданный
ПриватБанком при регистрации
acqid да N6 Acquirer ID:414963 – Украина
469584 – Россия
purchaseamt да N12Окончательная сумма покупки, 12 знаков
purchasecurrency да N3 980 - гривна
orderid да S128 Номер заказа в вашей системе
reversal да N1 1
purchasecurrencyexponent да N2 2, экспонента суммы покупки (количество
знаков, выделяемое под дробную часть)
signature да S28 Уникальная подпись транзакции. Результат
функции SHA1() от строки:Password+MerID+AcqID+OrderID+PurchaseAmt+PurchaseCurrency+ Reversal
7.2 Ответ от сервера торговцуОтветом сервера будет строка формата, где параметры разделены знаком амперсанд:ResponseCode=1&ReasonCode=1&ReasonCodeDesc=Reversal+is+approved&MerID=I0DN0XSH&OrderID=test000000001&AcqID=414963&Signature=s%2FYJ%2BexcCxjPNObObRNzheBxNnU%3D
К каждому значению, полученному в ответе, нужно применить функцию Url decode. Например, строка Reversal+is+approved после декодирования примет вид Reversal is approved
Параметр Signature присутствует во всех ответах и является результатом шифрования строки
Password + MerID + AcqId + OrderID + ResponseCode + ReasonCode + ReasonCodeDesc
Транзакция считается успешной, если ResponseCode=1 и ReasonCode=1 и параметр Signature является валидным
![Page 34: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/34.jpg)
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 35: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/35.jpg)
STRICTLY CONFIDENTIAL7.3 Пример программного кодаPHP:<?phpfunction hexbin($temp)
{ $data="";$len = strlen($temp);for ($i=0;$i<$len;$i+=2) $data.=chr(hexdec(substr($temp,$i,2))); return $data;
}
$url="https://ecommerce.liqpay.com/reverse/reverse"; $Password='34074xhjqmwf8gs'; $MerID='I0110020';
$AcqID='414963'; $PurchaseCurrency='980'; $OrderID='test000000001'; $PurchaseAmt='000000000001';$str = $Password.$MerID.$AcqID.$OrderID.$PurchaseAmt.$PurchaseCurrency."1"; $sign=sha1($str);$sign=hexbin($sign);$sign = base64_encode($sign); $post='reversal=1&version=1.0.0&orderid='.urlencode($OrderID).'&purchaseamt='. $PurchaseAmt.'&purchasecurrencyexponent=2&merid='.$MerID.'&acqid=414963&purchasecurrency='. $PurchaseCurrency.'&signature='.urlencode($sign);$ch = curl_init($url);curl_setopt($ch, CURLOPT_POST ,1); curl_setopt($ch, CURLOPT_POSTFIELDS ,$post); curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,0); curl_setopt($ch, CURLOPT_HEADER ,0);curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); curl_setopt($ch, CURLOPT_RETURNTRANSFER ,1); curl_setopt( $ch , CURLOPT_SSL_VERIFYPEER , false ); curl_setopt( $ch , CURLOPT_SSL_VERIFYHOST , false ); $resp = curl_exec($ch);echo $resp; ?>
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 36: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/36.jpg)
STRICTLY CONFIDENTIAL
8 Тип транзакции Order status (статус покупки) 8.1 Запрос от торговца к серверу
Мерчант передает методом POST набор параметров на адрес: https://ecommerce.liqpay.com/ecomapi/action
Название поляобязательное Формат Описание поля
[S/N]XXXS – строкаN – число
XXX - длина
version да S10 1.0.1
merid да S15 Номер вашего предприятия, выданный
ПриватБанком при регистрации
orderid да S128 Номер заказа в вашей системе
action да S50 status
signature да s28 Уникальная подпись транзакции. Результат
функции SHA1() от строки:Password+Version+MerID+OrderID+Action
8.2 Ответ от сервера торговцу
Название поля Формат Описание поля[S/N]XXXS – строкаN – число
XXX - длинаacqid N6 Acquirer ID:
414963 – Украина
469584 – Россия
merid S15Номер вашего предприятия, выданный ПриватБанком при регистрации
orderid S128 Уникальный номер заказа в вашей системе
signature S28 Уникальная подпись транзакции. Результат функции SHA1.
purchaseamt N12 Окончательная сумма покупки, 12 знаков
purchasecurrency N3 980 - гривна
responsecode N2 код ответа
reasoncode N4 код причины отказа
reasoncodedesc S50описание ответа (для кредитных договоров: Y- успех, N – не успех, W – в процессе).
authcode S6 Код авторизации
rrn S28 Референс транзакцииamountrefunded N12 Сумма всех рефандов, 0 если рефандов по этой транзакции не
былоamountreversed N12 Сумма всех реверсов, 0 если реверсов по этой транзакции не
былоactualamount N12 Фактическая сумма транзакции (сумма авторизации за вычетом
всех реверсов и возвратов)time S19 время получения запроса от мерчанта в формате
DD/MM/YYYY HH24:MI:SS , где
DD – день
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 37: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/37.jpg)
STRICTLY CONFIDENTIAL
MM – месяц
YYYY – год
HH24 – часы в формате от 00 до 23
MI – минуты
SS - секунды
phone N13 номер телефона, который клиент вводит для получения разового (OTP)
пароля
ip S15 IP-адрес клиента
orderdescription S1000 Описание покупки в кодировке UTF-8
paddedcardno N19 Номер карты отправителя
fee N12 Комиссия
eci N1 The electronic commerce indicator, принимает значения: 5,6,7
countrybin N3 страна банка-эмитента карты
countryip N3 страна провайдера, выдавшего клиенту IP-адрес
onus N1 0 – карта не ПриватБанка
1 – карта ПриватБанка
countryphone N3 страна оператора мобильного телефона
contractid N50 Идентификатор договора
parts N50
Количество частей на которые делится сумма транзакции (Для заключения кредитного договора)
Ответом сервера будет строка формата, где параметры разделены знаком амперсанд:ResponseCode=1&ReasonCode=1&ReasonCodeDesc=Approved,+no+balances+available&Signature=bH85BomKOunPXvgSdmIjBzgRV1Y%3d&MerID=I0110020&OrderID=test123456789&AuthCode=123456&RRN=12345678910&AmountRefunded=000000000010&AmountReversed=000000000000&ActualAmount=000000000020&AcqID=41496 3&Time=01/01/2012 23:20:11&IP=217.117.64.236&Phone=30991234567? OrderDescription=TestOrder&PaddedCardNo=XXXXXXXXXXXX1234&fee=000000000001&eci=5& CountryBin=804&CountryIp=804&OnUs=1&CountryPhone=804
К каждому значению, полученному в ответе, нужно применить функцию Url decode. Например, строка Invalid+signature после декодирования примет вид Invalid signature
Если во время обработки запроса возникла ошибка, ответ будет иметь следующий ответ:
Error=Invalid parameter
Параметр Signature присутствует во всех ответах и является результатом шифрования строки
Password + acqid + merid + orderid + purchaseamt + purchasecurrency + responsecode + reasoncode + reasoncodedesc + authcode + rrn + amountrefunded + amountreversed + actualamount + time + phone + ip + orderdescription + paddedcardno + fee + eci + countrybin + countryip + countryphone + onus
Транзакция считается успешной, если ResponseCode=1 и ReasonCode=1 и параметр Signature является валидным. Если ResponseCode=9 и ReasonCode=9, транзакция считается еще не завершенной. В таком случае необходимо повторять запросы статуса (например с периодичностью 1 минута) на протяжении 15 мин, пока ответ не изменится. Если по истечению 15 мин транзакция по-прежнему не завершена ,необходимо прекратить последующие запросы статуса для этой транзакции и считать ее отклоненной.
![Page 38: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/38.jpg)
8.3 Пример программного кодаPHP:<?phpfunction
hexbin($temp) { $data="";$len = strlen($temp);for ($i=0;$i<$len;$i+=2) $data.=chr(hexdec(substr($temp,$i,2))); return $data;
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 39: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/39.jpg)
STRICTLY CONFIDENTIAL
}
$url="https://ecommerce.liqpay.com/ecomapi/action"; $Password='34074xhjqmwf8gs'; $MerID='I0110020';
$OrderID='test000000001';$str = $Password.$MerID.$OrderID.'status'; $sign=sha1($str);$sign=hexbin($sign);$sign = base64_encode($sign);
$post='orderid='.urlencode($OrderID).'&merid='.$MerID.'&action=status&signature='.urlencode($sign); $time_start = microtime(true);$ch = curl_init($url);curl_setopt($ch, CURLOPT_POST ,1); curl_setopt($ch, CURLOPT_POSTFIELDS ,$post); curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,0); curl_setopt($ch, CURLOPT_HEADER ,0);curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); curl_setopt($ch, CURLOPT_RETURNTRANSFER ,1); curl_setopt( $ch , CURLOPT_SSL_VERIFYPEER , false ); curl_setopt( $ch , CURLOPT_SSL_VERIFYHOST , false ); $resp = curl_exec($ch);echo $resp; ?>
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 40: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/40.jpg)
STRICTLY CONFIDENTIAL
9 Тип транзакции: MPI request9.1 Запрос от торговца к серверу
Мерчант передает методом POST в формате JSON набор параметров на адрес: https://ecommerce.liqpay.com/MPI/mpicustome
Название поляобязательное Формат Описание поля
[S/N]XXXS – строкаN – число
XXX - длина
card нет N19 Номер карты
acqid да N6 Acquirer ID:414963 – Украина
469584 – Россия
merid да S15 Номер вашего предприятия, выданный
ПриватБанком при регистрации
amount да N10 Сумма покупки в формает 1000,10 (однатысяча десять копеек ) с запятой в качестве
разделителя дробной части
currency да N3 Валюта покупки
country да N3 Страна мерчанта (804 — Украина, 643 -
Россия)
expirationdate да S128 Срок действия карты в формате MMYY
token нет S30 Токен карты
Пример запроса:{"card":"4149600000000001","acqid":"414963","merid":"I0110020","amount":"10,01","currency":"980","country":"804","expirationdate":"0215"}
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 41: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/41.jpg)
STRICTLY CONFIDENTIAL
9.2 Ответ от сервера торговцуОтветом сервера будет набор параметров в формате JSON
Название поляобязательное Формат Описание поля
[S/N]XXXS – строкаN – число
XXX - длина
url да N19 адрес ACS сервера эмитента, на которыйнеобходимо перенаправить пользователя для
аутентификации
pareq да N6 PaReq сообщение, которое необходимопередать на url методом POST во время
перенаправления клиента
md да S15 Уникальный идентификатор , которыйнеобходимо передать на url методом POST во
время перенаправления клиента
errorcode да N10Если отличное от 0 ,значит произошла ошибкаво время опроса сервера платежной системы и
параметр URL не доступен.
status да N3 Признак участия карты в сервисе 3Dsecure.Y — карта участвует и в переменной url будетадрес сервера эмитента.N — карта не участвует.
U — не удалось проверить карту на участие
{"url":"https://acs.privatbank.ua/pPaReqMC.jsp","pareq":"eJydU01vozAUvOdXIE7bw8Y2hkIi4yr92F2k0qI2UdW9rCx4amgJJLZTkf76GpK0SeC0PnnGg968\nxzx2US8K6x2kyqsytMkQ2xaUaZXl5Utoz6a/fga2pbQoM1FUJYT2BpR9wQdsOpcA14+QriVYfGCZ\nw2JQSryAlWehnUz+EepSx6Ek8H3q2ltNq0smD7D6xi23s8CNg6HD0B4ei2KQ6VyU+phun0S6uozu\nuOd6Pg4Y2sGubgEyuuYE786IBB72GNrSXXkpFsBv81UiNtaPm9nDGUMt1VWm1brUcsMD7DK0B13Z\nWhZ8rvVSjREqqlQU80rpceC6FMVJhJZCgmKoUR23jvp7Z8m6oVWfozrPePwU1fdPN+T5I9Lx77i+\nv8L47+szuZ2+hQw1iu53mdDAHUwc7DueRc7HlI4JZajleya/aJrleIiJmfsWdFXLxudk+2p0h/C/\nZ2myJ01YN3wUYKPbo64Q6qUJryllkvV1P5lv/yDZ1Z/esKXaxMUnHh2d+8R1msC1VG/t3LgnHh61\nxfPTVhg6rGGMfG9H89fblTILhw43jg8+AUw76us=","md":"MWIxOWE1YzItMGMxOC00ZjY1LTliY2MtMGJhODU3YjU4ZjZk","errorcode":"0","status":"Y"}
Если ответ status=Y, значит карта участвует в сервисе 3dsecure и в параметре url будет присутствовать адрес страницы эмитента, куда нужно будет передать методом POST параметры pareq и md в следующей форме:
<form name="MPIform" action='${url}' method="POST"> <input type="hidden" name="PaReq" value='${pareq}'> <input type="hidden" name="MD" value='${md}'>
<input type="hidden" name="TermUrl" value='${TempUrl}'> </form>
где TempUrl – адрес страницы, на которую эмитент вернет ответ
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed
![Page 42: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/42.jpg)
in whole or in part the prior written permission of PrivatBank
![Page 43: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/43.jpg)
STRICTLY CONFIDENTIAL
10 Тип транзакции: Funds Access (purchase server-to-server)10.1 Запрос от торговца к серверуМерчант передает методом POST набор параметров на адрес: https://ecommerce.liqpay.com/ecommerce/ fundsaccess
Название поля обя Формат Описание полязат [S/N]XXXель S – строканое N – число
XXX - длина
version yes S10 1.0.0acqid yes N6 Acquirer ID:
414963 – Украина
469584 – Россияmerid yes S15 Номер вашего предприятия, выданный
ПриватБанком при регистрации
orderid yes S128 Уникальный номер заказа в вашей системе
purchaseamt yes N12 Окончательная сумма покупки, 12 знаков. Поле
дополняется нулями слева до длины 12. Последние2 знака в сумме означают копейки. Например
000000001020 = 10грн 20копpurchasecurrency yes N3 980 – Украинская гривна
840 – Доллар США643 – Российский рубль
в соответствии с ISOpurchasecurrencyexponent yes N2 2, экспонента суммы покупки (количество знаков,
выделяемое под дробную часть)signature yes S28 Уникальная подпись транзакции. Результат функции
SHA1.
orderdescription yes S1000 Описание покупки в кодировке UTF-8
rectoken yes S28 Токен для доступа к карте на регулярной
основеcardcvv2 no S3 CVV2 карты, для которой был сгенерирован
токен
Поле signature формируется по следующему правилу:signature =base64_encode(hexbin( SHA1(password+merid+acqid+orderid+purchaseamt+purchasecurrency+orderdescription+recto ken)))
гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строки
10.2 Ответ от сервера торговцу
Ответом сервера будет строка формата, где параметры разделены знаком амперсанд:
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 44: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/44.jpg)
STRICTLY CONFIDENTIAL
ResponseCode=1&ReasonCode=1&ReasonCodeDesc=Approved,+no+balances+available&Signature=Jcd1OFkeRBLVzK87b5ZKCxknWzQ%3D&MerID=I0110020&OrderID=TestOrder1&AcqID=414963&Time=01/01/201223:20:11&IP=217.117.64.236&AuthCode=123456
К каждому значению, полученному в ответе, нужно применить функцию Url decode. Например: Approved,+no+balances+available must be decoded to Approved, no balances available
Название поля Формат Описание поля[S/N]XXXS – строкаN – число
XXX - длинаacqid N6 Acquirer ID:
414963 – Украина
469584 – Россия
merid S15Номер вашего предприятия, выданный ПриватБанком при регистрации
orderid S128 Уникальный номер заказа в вашей системе
signature S28 Уникальная подпись транзакции. Результат функции SHA1.
time S19 время получения запроса от мерчанта в формате
DD/MM/YYYY HH24:MI:SS , гдеDD – деньMM – месяцYYYY – годHH24 – часы в формате от 00 до 23MI – минуты
SS - секунды
ip S15 IP-адрес клиента
responsecode N2 код ответа
reasoncode N4 код причины отказа
reasoncodedesc S50 описание ответа
authcode S6 Код авторизации
Поле signature формируется по следующему правилу:
signature =base64_encode (hexbin( SHA1(Password + MerID + AcqID + OrderID + IP + Time + Phone + ResponseCode + ReasonCode + ReasonCodeDesc)))
гдеhexbin – функция перевода шестнадцетиричной строки в бинарную в случае, если результатом работы функции SHA1 в данном языке программирования есть шестнадцетиричная строка, например: «f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 »base64_encode — фунция перевода строки в формат base64SHA1 – функция вычисления sha1 хеша на основании полученной строкиВсе параметры передаются в кодировке UTF-8
Транзакция считается успешной, если ResponseCode=1 и ReasonCode=1 и параметр Signature является валидным.
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed
![Page 45: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/45.jpg)
in whole or in part the prior written permission of PrivatBank
![Page 46: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/46.jpg)
STRICTLY CONFIDENTIAL
В случае, если ResponseCode=2, ReasonCode=2924, ReasonCodeDesc='Token is not valid' необходимо заново получить токен
11 Получение справочника бин-страна
Справочник находится по адресу https://eapi.privatbank.ua/apijson/fullbininfo Данные представляют собой JSON массив вида{
"fullBinInfoItem": [{
"alphacode": "UA", "bank": "privat", "bin": "414960", "country": "804", "pbbin": "414960"
},{
"alphacode": "UA","bank": "PUBLIC JSC FIRST UKRAINIAN INT", "bin": "544362","country": "804", "pbbin": null
},{
"alphacode": "US","bank": "FIDELITY INFORMATION SERVICES,", "bin": "544375","country": "840", "pbbin": null
},{
"alphacode": "US","bank": "MASTERCARD - MDS FOR EUROPE DE", "bin": "544431","country": "840", "pbbin": null
},{
"alphacode": "JP","bank": "UC CARD CO., LTD. ", "bin": "528350","country": "392", "pbbin": null
}]
}
В поле bank содержится наименование банка. Если бин Приватбанка, тогда pbbin содержит не null значение
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 47: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/47.jpg)
STRICTLY CONFIDENTIAL
12 Параметры тестового мерчантаПараметры тестового мерчанта (только для тестов, транзакции не списываются с карты и не возмещаются):
merchantid, пароль на Украинатранзакци Purchase I0110020, 34074xhjqmwf8gs
Россия
I0MO0A98, i35361y272ywp5l
merchantid, пароль на Украинатранзакци P2P P2P debit:
I01107IS,6c2g7cp072k0189P2P credit:
I01107IV,i2986yjqtg07wew
РоссияP2P debit:I0MO0AYV,fk4d84w37v3143wP2P credit:
I0MO0AYY,04pwg0156v92ts5
purchasecurrency Валюта покупки:980 — украинская гривна
810 — российский рубль
purchaseamt 000000000100
orderidTEST_<Название Мерчанта>_<Дата>_<время>_<произвольный номер>
Помните, что каждый Order ID должен быть уникальным!
Средства на Вашей карте, будут заблокированы, но по истечении месяца со дня теста, сумма тестовой транзакции будет возвращена Вам на карту.
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 48: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/48.jpg)
STRICTLY CONFIDENTIAL
13 Инструкция по генерации Certificate Request для MPI
Более детально можно ознакомиться с инструкцией по генерации запросов при помощи утилиты openssl по адресу: http://www.sslshopper.com/article-most-common-openssl-commands.html
13.1 Россия Mastercard:
countryName [C] = RUorganizationName [O] = 518528:CJSC MCB MOSCOMPRIVATBANKlocalityName [L] = MoscoworganizationalUnitName [OU] = <наименование вашей компании латиницей>commonName [CN] = <DNS имя>keySize (bits) = 2048keyType = RSA
Имя файла должно быть в формате
mpi-ssl-client-518528-CJSC MCB MOSCOMPRIVATBANK-DDMMYY-req.txt где DDMMYY — текущая датаПример:>openssl req - out 'mpi- ssl-client-518528-CJSC MCB MOSCOMPRIVATBANK-310812-req.txt' -new -newkey rsa:2048 -nodes -keyout privatekey.key
Visa:countryName [C] = RUorganizationName [O] = CJSC MCB MOSCOMPRIVATBANKlocalityName [L] = MoscoworganizationalUnitName [OU] = <наименование вашей компании латиницей>commonName [CN] = <ip или DNS имя вашего сервера>keySize (bits) = 1024keyType = RSA
Имя файла может быть в любом формате Пример:
>openssl req -out cert.b64 -new -newkey rsa:1024 -nodes -keyout privatekey.key
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 49: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/49.jpg)
STRICTLY CONFIDENTIAL
13.2 Украина
Mastercard:
countryName [C] = UAorganizationName [O] = 545708:PrivatBanklocalityName [L] = DnepropetrovskorganizationalUnitName [OU] = <наименование вашей компании латиницей>commonName [CN] = <DNS имя>keySize (bits) = 2048keyType = RSA
Имя файла должно быть в формате mpi-ssl-client-545708-PrivatBank-DDMMYY-req.txt где DDMMYY — текущая дата
Пример:
>openssl req -out 'mpi-ssl-client-545708-PrivatBank-310812-req.txt' -new -newkey rsa:2048 -nodes -keyout privatekey.key
Visa:countryName [C] = UAorganizationName [O] = Commercial Bank PrivatBanklocalityName [L] = DnepropetrovskorganizationalUnitName [OU] = <наименование вашей компании латиницей>commonName [CN] = <ip или DNS имя вашего сервера>keySize (bits) = 1024keyType = RSA
Имя файла может быть в любом формате Пример:
>openssl req -out cert.b64 -new -newkey rsa:1024 -nodes -keyout privatekey.key
NOTICE: The information furnished herein by PrivatBank is CONFIDENTIAL and is distributed to merchants for their exclusive use in operation with their e-commerce activity, and shell not be duplicated, published, or disclosed in whole or in part the prior written permission of PrivatBank
![Page 50: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/50.jpg)
14 Перечень кодов ответа авторизации
reasoncodedesc Пояснения для Рекомендуемыйreasoncode (Описание администратора сообщения для к
responsecode (Ответ причины Описание магазина
(на русском яз
ecommerce) ответа)
Approved, no
Плате
ж
успешн
о Ваш Платеж1 1 balances Одобрено
проведен.завершен!
available
2 050Transaction
Финансовую
транзакцию Отказ эмитента по Платеж о
declined by issuer выполнить не удалось
транзакции. Пожалуйста, обра
Ваш банк-эмитент.
Платеж о
Пожалуйста, обраВаш банк-
Нормальн
ый статусПроверьт
е воз
2 051 Expired card
Карта клиента
просрочена отказа, который причины: неверн
возвращает реквизитов Вашей
недостаточно сре
![Page 51: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/51.jpg)
банк-
эмитент.счете или по Ваш
не разрешены ра
Интернет
Транзакция имеет
2 055 Invalidнекорректн
ые атрибуты Отказ эмитента по Платеж о
transaction или данная операция на
транзакции. Пожалуйста, обра
данномтерминале не Ваш банк-эмитент.
разрешена
Карта клиентаимее
тНормальный статус Платеж о
2 057 Lost or stolen статус «потеряна» или отказа, который Пожалуйста, обра
card
«украдена» возвращает
Ваш банк-эмитент.
банк-эмитент.
2 058 Invalid card Неверный номер карты Отказ эмитента по Платеж о
![Page 52: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/52.jpg)
reasoncodedesc Пояснения для Рекомендуемыйreasoncode (Описание администратора сообщения для к
responsecode (Ответ причины Описание магазина
(на русском яз
ecommerce)ответа
)
status
транзакци
и. Пожалуйста, обра
Ваш банк-эмитент.
2 059Restricted status
Карта клиента имеет Отказ эмитента по Платеж о
ограниченные
транзакции. Пожалуйста, обра
возможностиВаш банк-эмитент.
Платеж о
Пожалуйста, обраВаш банк-
Нормальны
й статусПроверьте воз
2 060 Account not Не найден вендор с отказа, который причины: неверн
found указанным номером счета возвращает реквизитов Вашей
недостаточно сре
банк-
эмитент.счете или по Ваш
не разрешены ра
Интернет
2 074 Unable toНевозможно авторизовать Отказ эмитента по Платеж о
![Page 53: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/53.jpg)
authorizeтранзакции. Пожалуйста, обра
Ваш банк-эмитент.
Платеж о
Пожалуйста, обраВаш банк-
Нормальны
й статусПроверьт
е воз
2 076
Insufficient
funds На счете клиента не отказа, который причины: неверн
хватает средств возвращает реквизитов Вашей
недостаточно сре
банк-эмитент.
счете или по Ваш
не разрешены ра
Интернет
Нормальный статус Платеж о2 095 Amount over Превышение лимита по отказа, который Пожалуйста, обра
maximum сумме возвращает
Ваш банк-эмитент.
банк-эмитент.
![Page 54: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/54.jpg)
reasoncodedesc Пояснения для Рекомендуемыйreasoncode (Описание администратора сообщения для к
responsecode (Ответ причины Описание магазина
(на русском яз
ecommerce) ответа)
Платеж о
Пожалуйста, обраВаш банк-
Нормальны
й статусПроверьте воз
2 200 Invalid account Неправильный счет отказа, который причины: неверн
клиента возвращает реквизитов Вашей
недостаточно сре
банк-
эмитент.счете или по Ваш
не разрешены ра
Интернет
Нормальный статус Платеж отклоне
2 205 Invalid advance
Некорректная
сумма отказа, который Вашей карте заamount возвращает транзакция на
банк-эмитент. сумму.
Нормальный статус Платеж о2 210 Bad CAVV Неверное значение CAVV отказа, который Пожалуйста, обра
возвращает
Ваш банк-эмитент.
банк-эмитент.
Платеж о
Пожалуйста, обраВаш банк-
![Page 55: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/55.jpg)
Нормальны
й статусПроверьт
е воз
2 211 Bad CVV2
Неверное значение
CVV2 отказа, который причины: неверн
возвращает реквизитов Вашей
недостаточно сре
банк-эмитент.
счете или по Ваш
не разрешены ра
Интернет
Ошибка формата Платеж о
2 800 Format error Ошибка формата авторизационного Пожалуйста, обра
сообщения.Ваш банк-эмитент.
2 811 System error Системная ошибка Ошибка Платеж о
![Page 56: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/56.jpg)
reasoncodedesc Пояснения для Рекомендуемыйreasoncode (Описание администратора сообщения для к
responsecode (Ответ причины Описание магазина
(на русском яз
ecommerce) ответа)
авторизационного Пожалуйста, обра
сообщения .Ваш банк-эмитент.Платеж о
Пожалуйста, обраВаш банк-
Нормальны
й статусПроверьте воз
2 901 Expired Card Карта просрочена, отказа, который причины: неверн
требуется захват карты. возвращает реквизитов Вашей
недостаточно сре
банк-эмитент.
счете или по Ваш
не разрешены ра
Интернет
Транзакция от
2 2900 Bin Block Transaction declined Карта клиента внесена Обратитесьв стоп лист. администратору
Интернет-магазина
Ошибка появляется в
2 11Invalid Signature
Не правильная
подписьслучае, когда
подпись Проведение п
мерчанта. транзакции временно нед
сформирована попробуйте позже
![Page 57: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/57.jpg)
неверноПревышено Транзакция от
2 2903 Card Usage Limit Превышен лимит попыток количество Обратитесьhas bean reached по данной карте использования карты администратору
(суточное).Интернет-магазинаПожалуйста, озна
с инструкциейВведенные данные подключению свое
2 2905 Antifraud Номер телефона не клиента не совпадаютhttps://docs.google.c
checkup failedпривязан к данной карте с базой банка (только
vatbank.ua/documen
карты ПриватБанка). JeMAi3skaKsYyIx_dspZYjEkz2Ey5yH
it
![Page 58: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/58.jpg)
reasoncodedesc Пояснения для Рекомендуемыйreasoncode (Описание администратора сообщения для к
responsecode (Ответ причины
Описание магазина
(на русском яз
ecommerce) ответа)
Cardcountr
y Страна эмитента не Сочетание страны Транзакция от
2 2907 doesnot match совпадает со страной карты и телефона не Обратитесь
phone country
мобильного оператора разрешены при администратору
авторизации.
Интернет-магазина
Transaction
Транзакция
отклонена по Клиент внесен в Транзакция от
2 2910 declined by настройкам безопасности список Обратитесьantifraud ettings (EKB). неблагонадежных администратору
(EKB) клиентов.Интернет-магазина
Платеж отклонен по Карта клиента не Транзакция от2 2913 Cardholder bin соображениям поддерживается в Обратитесь
not allowed безопасности. мерчанте администратору
Интернет-магазина
Phone Usage Платеж отклонен по Достигнуто суточное Транзакция от
2 2914 Limit has bean соображениям количество Обратитесь
использованияадминистратору
reached безопасности.
телефонаИнтернет-магазина
Задвоенный Order ID
(код заказа, Транзакция от
![Page 59: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/59.jpg)
2 2915 Duplicate Order Дублирующий orderid передаваемый со Обратитесь
ID Not Allowed платежа стороны Магазина,администратору
должен бытьИнтернет-магазина
уникальным)
Cardcountry do Страна эмитента не Сочетание страны Транзакция от
2 2916 not match IP совпадает со страной карты и провайдера не Обратитесь
countryпровайдера разрешены при администратору
авторизации.
Интернет-магазина
Не правильно введен
Amountfor
tes
t
Сумма
транзакции по OTP
пароль.Сумм
а Транзакция от2 2917 merchant must be тестовому мерчанту не транзакции по Обратитесь
тестовому мерчанту неадминистратору
less then 2 UAHдолжна превышать 2 грн.
должна превышать 2Интернет-магазина
грн.2 2918 Card country not Платежи для данной Платежи для данной Транзакция от
allowedстраны запрещены страны запрещены Обратитесь
![Page 60: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/60.jpg)
reasoncodedesc Пояснения для Рекомендуемыйreasoncode (Описание администратора сообщения для к
responsecode (Ответ причины
Описание магазина
(на русском яз
ecommerce) ответа)
администратору
Интернет-магазина
Страна карты клиента Транзакция от
2 2919 Card country Платежи для данной не поддерживается в Обратитесь
blocked страны запрещены мерчанте администратору
Интернет-магазина
2 36 Cardholder Пользовательотмени
л Пользователь
нажа
лТранзакция отмен
canceled the платеж кнопку
request «Отмена»/«Cancel»Непредвиденная Транзакция от
3 90 General error
Общая
ошибка.ошибка.
Обратитесть Обратитесьduring processing в банк для администратору
расследования причинИнтернет-магазина
![Page 61: Astyami 1 punkt_6ya_kopiya](https://reader034.fdocuments.us/reader034/viewer/2022052602/55ce7593bb61eb3e058b45ee/html5/thumbnails/61.jpg)
По техническим вопросам: Козырь ЮрийКонтакты:Телефон: +38 (056) 716 35 19Skype Name: shamani21e-mail: [email protected]
(регистрация номера Мерчанта, вопросы подключения)Обратите внимание, что перед предоставлением консультации, Вас могуподписания Вашего договора Интернет-эквайринга с Банком, а также инф
Либо направляйте вопросы по e-mail: [email protected] или за
e.privatbank.ua