Astyami 1 punkt_6ya_kopiya

61
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

Transcript of Astyami 1 punkt_6ya_kopiya

Page 1: Astyami 1 punkt_6ya_kopiya

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

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

...................................................................................................................................................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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

in whole or in part the prior written permission of PrivatBank

Page 43: Astyami 1 punkt_6ya_kopiya

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

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

in whole or in part the prior written permission of PrivatBank

Page 46: Astyami 1 punkt_6ya_kopiya

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

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

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

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

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

банк-

эмитент.счете или по Ваш

не разрешены ра

Интернет

Транзакция имеет

2 055 Invalidнекорректн

ые атрибуты Отказ эмитента по Платеж о

transaction или данная операция на

транзакции. Пожалуйста, обра

данномтерминале не Ваш банк-эмитент.

разрешена

Карта клиентаимее

тНормальный статус Платеж о

2 057 Lost or stolen статус «потеряна» или отказа, который Пожалуйста, обра

card

«украдена» возвращает

Ваш банк-эмитент.

банк-эмитент.

2 058 Invalid card Неверный номер карты Отказ эмитента по Платеж о

Page 52: Astyami 1 punkt_6ya_kopiya

reasoncodedesc Пояснения для Рекомендуемыйreasoncode (Описание администратора сообщения для к

responsecode (Ответ причины Описание магазина

(на русском яз

ecommerce)ответа

)

status

транзакци

и. Пожалуйста, обра

Ваш банк-эмитент.

2 059Restricted status

Карта клиента имеет Отказ эмитента по Платеж о

ограниченные

транзакции. Пожалуйста, обра

возможностиВаш банк-эмитент.

Платеж о

Пожалуйста, обраВаш банк-

Нормальны

й статусПроверьте воз

2 060 Account not Не найден вендор с отказа, который причины: неверн

found указанным номером счета возвращает реквизитов Вашей

недостаточно сре

банк-

эмитент.счете или по Ваш

не разрешены ра

Интернет

2 074 Unable toНевозможно авторизовать Отказ эмитента по Платеж о

Page 53: Astyami 1 punkt_6ya_kopiya

authorizeтранзакции. Пожалуйста, обра

Ваш банк-эмитент.

Платеж о

Пожалуйста, обраВаш банк-

Нормальны

й статусПроверьт

е воз

2 076

Insufficient

funds На счете клиента не отказа, который причины: неверн

хватает средств возвращает реквизитов Вашей

недостаточно сре

банк-эмитент.

счете или по Ваш

не разрешены ра

Интернет

Нормальный статус Платеж о2 095 Amount over Превышение лимита по отказа, который Пожалуйста, обра

maximum сумме возвращает

Ваш банк-эмитент.

банк-эмитент.

Page 54: Astyami 1 punkt_6ya_kopiya

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

Нормальны

й статусПроверьт

е воз

2 211 Bad CVV2

Неверное значение

CVV2 отказа, который причины: неверн

возвращает реквизитов Вашей

недостаточно сре

банк-эмитент.

счете или по Ваш

не разрешены ра

Интернет

Ошибка формата Платеж о

2 800 Format error Ошибка формата авторизационного Пожалуйста, обра

сообщения.Ваш банк-эмитент.

2 811 System error Системная ошибка Ошибка Платеж о

Page 56: Astyami 1 punkt_6ya_kopiya

reasoncodedesc Пояснения для Рекомендуемыйreasoncode (Описание администратора сообщения для к

responsecode (Ответ причины Описание магазина

(на русском яз

ecommerce) ответа)

авторизационного Пожалуйста, обра

сообщения .Ваш банк-эмитент.Платеж о

Пожалуйста, обраВаш банк-

Нормальны

й статусПроверьте воз

2 901 Expired Card Карта просрочена, отказа, который причины: неверн

требуется захват карты. возвращает реквизитов Вашей

недостаточно сре

банк-эмитент.

счете или по Ваш

не разрешены ра

Интернет

Транзакция от

2 2900 Bin Block Transaction declined Карта клиента внесена Обратитесьв стоп лист. администратору

Интернет-магазина

Ошибка появляется в

2 11Invalid Signature

Не правильная

подписьслучае, когда

подпись Проведение п

мерчанта. транзакции временно нед

сформирована попробуйте позже

Page 57: Astyami 1 punkt_6ya_kopiya

неверноПревышено Транзакция от

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

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

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

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

По техническим вопросам: Козырь ЮрийКонтакты:Телефон: +38 (056) 716 35 19Skype Name: shamani21e-mail: [email protected]

(регистрация номера Мерчанта, вопросы подключения)Обратите внимание, что перед предоставлением консультации, Вас могуподписания Вашего договора Интернет-эквайринга с Банком, а также инф

Либо направляйте вопросы по e-mail: [email protected] или за

e.privatbank.ua