API FONDYВерсія 1.0

Прийняти платіж (картка вводиться на сайті мерчанта)

Слід застосовувати тільки для торговців, які отримали PCIDSS.

  1. Параметри запиту (крок 1)
  2. Параметри відповіді (крок 1, картка бере участь у сервісі 3D Secure)
  3. Параметри відповіді (крок 1, картка не бере участі в сервісі 3D Secure)
  4. Параметри запиту (крок 2)
  5. Параметри відповіді (крок 2)
  6. Параметри відповіді в разі помилки
  7. Формування запиту

Параметри запиту (крок 1)

ПараметрТипОписПриклад переданого мерчантом значення
order_idstring(1024)Ідентифікатор замовлення, що призначається мерчантом.

обов’язковий
ID1234
merchant_idinteger(12)Унікальний ідентифікатор мерчанта. Видається мертанту після реєстрації.

обов’язковий
1
order_descstring(1024)Опис замовлення. Передається мерчантом завжди в кодуванні UTF-8

обов’язковий
Придбати квиток на поїзд № 1234 Київ – Львів
signaturestring(40)Підпис замовлення. Слугує для перевірки цілісності та автентичності запиту від мерчанта на стороні сервера платіжного шлюзу. Алгоритм формування підпису див. Генерація підписів запиту та відповіді

обов’язковий
1773cf135bd89656131134b98637894dad42f808
amountinteger(12)Сума замовлення в копійках / центах без роздільників

обов’язковий
1020 (USD) — означає 10 доларів 20 центів
currencystring(3)Валюта замовлення. Допустимі значення:
UAH — українська гривня
USD — долар США
EUR — євро
GBP — фунт стерлінгів

обов’язковий
USD
versionstring(10)Версія протоколу.

Значення за замовчуванням: 1.0.1
1.0.1
server_callback_urlstring(2048)URL сторінки мерчанта, на яку буде надіслано відповідь про результат оплати через сервер-сервер з’єднання. Детальніше про серверні колбеки див. п. Отримання Callback
http://site.com/callbackurl
lifetimeinteger(6)Час життя замовлення в секундах. Після закінчення цього часу, замовленню буде присвоєно статус expired якщо клієнт його не оплатив

Значення за замовчуванням: 600
Максимально-допустиме значення: 69120000
600
merchant_datastring(2048)Будь-який довільний набір даних, який мерчант хоче отримати назад у відповіді на server_callback_url, а також у звітах 
preauthstring(1)Параметр застосовується тільки при оплаті карткою Visa/MasterCard
N — сума списується з картки клієнта відразу і відшкодовується на рахунок мерчанта відповідно до регламенту зарахування.
Y — сума блокується на картці клієнта і не списується доти, доки мерчант не надішле запит capture для підтвердження списання

Значення за замовчуванням: N
N
sender_emailstring(50)Email платника 
descriptorstring(21)Динамічний дескриптор 
langstring(2)Мова платіжної сторінки. Доступні значення:
uk — українська
en — англійська
lv — латишська
fr — французька
cs — чеська
ro — румунська
it — італійська
sk — словацька
pl — польська
es — іспанська
hu — угорська
ru — росіянська
de — німецька
 
product_idstring(1024)Ідентифікатор оплачуваного товару/послуги 
verificationstring(1)Y – буде зроблено автоматичний реверс платежу системою FONDY, якщо платіж успішний

Значення за замовчуванням: N
Y
card_numberstring(19)Номер картки Visa/Mаstercard

обов’язковий
 
cvv2string(4)CVV2 / CVC-код картки

обов’язковий
 
expiry_dateinteger(4)Термін дії картки у форматі MMYY

обов’язковий
 
client_ipinteger(15)IP клієнта

обов’язковий
 
containerstringGoogle Pay / Apple Pay криптограма у форматі BASE64

ewogICJhcGlWZXJzaW9uTWlub3IiOiAwLAogICJhcGlWZXJzaW9uIjogMiw
KICAicGF5bWVudE1ldGhvZERhdGEiOiB7CiAgICAiZGVzY3JpcHRpb24iOi
AiVmlzYSDigKLigKLigKLigKIgMTExMSIsCiAgICAidG9rZW5pemF0aW9uR
GF0YSI6IHsKICAgICAgInR5cGUiOiAiUEFZTUVOVF9HQVRFV0FZIiwKICAg
ICAgInRva2VuIjogIntcInNpZ25hdHVyZVwiOlwiTUVRQ0lIZ0tDT2hldFh
5dVl4VXl4cE80NDFab2llR3A3U3duQlVXMjc2Um55S0s4dVM2UVxcdTAwM2
RcXHUwMDNkXCIsXCJwcm90b2NvbFZlcnNpb25cIjpcIkVDdjFcIixcInNpZ
25lZE1lc3NhZ2VcIjpcIntcXFwiZW5jcnlwdGVkTWVzc2FnZVxcXCI6XFxc
IkZhbW9YZEhVZUdMNzUxRnFZbVJwVFNaeTN2aC9lQ1E0ZjNHckUvUFlJV3R
SUnFXVTJZRFg4d3F3OHVXMm1KSi9Yb2VtcmN2SkdlVFJZeFV5eDgvVWVFdn
pwQ0tsVnVqbDMrNHkrTEdmbGFFUWJZeFV5eFl4VXl4WXhVeXhZeFV5eFV5Z
WxBbFRPVXFBSHpwMm5rVEZFY3AvczR2a0tEWm9QVFRjYnBNbC9xaW5qNW1s
ai8ybEZtSmcyUTEydFNCREdaYXd0SG1KeitDNmxMUmZBdDhCOU15RDFJa0V
Nd3JxOTBqMk5GY0dnQ29RbEtaR3hzSUlNcG5GV082TDZxcUsvcGxXNnlYZG
taaDIrR09CREU3eHVSWlY2RkdtZGZ4eGVLWElWTFNsQ3AxdHRlUGR2VDZZT
0R5WXhVeXhZeFV5eFl4VXl4WXhVeXgvcUY0SUJZUTNqalBjRTM3d1h5UHhy
MVhheTJPS0hFZTV4MTZURWdDcTU2QWRYL3hVcDNhVk9SWXhVeXhZeFV5eFl
4VXl4WWxzdlJvazhnb2pER053S2dcXFxcdTAwM2RcXFxcdTAwM2RcXFwiLF
xcXCJlcGhlbWVyYWxQdWJsaWNLZXlcXFwiOlxcXCJCS3BjQWtNWTE1a1BuR
zEwS1V5aGtGbE1qbFVTMFgwMVJ1Z3U1dlR5N1l4VXl4WXhVeXhZeFV5eDJ0
WjdwOTNUV1RTd1pFMDg0VkhHTHZ5aWMyT1VXdGpJNFZUelo4OFxcXFx1MDA
zZFxcXCIsXFxcInRhZ1xcXCI6XFxcImU4Zk5ldVdIUGZiZ0U2dkdzTll4VX
l4WXhVeXhZeFV5eEk2QVU1THZINTcxYzZHZ3NVSFVCa1xcXFx1MDAzZFxcX
CJ9XCJ9IgogICAgfSwKICAgICJ0eXBlIjogIkNBUkQiLAogICAgImluZm8i
OiB7CiAgICAgICJjYXJkTmV0d29yayI6ICJWSVNBIiwKICAgICAgImNhcmR
EZXRhaWxzIjogIjExMTEiCiAgICB9CiAgfQp9

Параметри відповіді (крок 1, картка бере участь у сервісі 3D Secure)

Якщо картка бере участь у сервісі 3D Secure, то відповідь буде повернуто в такому форматі:

ПараметрТипОписПриклад значення, що повертається
response_statusstring(50)якщо не було помилки, завжди повертається successsuccess
acs_urlstring(2048)URL сторінки, на яку мерчант повинен перенаправити клієнта для подальшого введення пароля 3D Secure
https://pay.fondy.eu/checkout?token=e0a5d4f331806d1e2feb80353b4c44bf6751fc8c
pareqstring(20480)Параметр, який необхідно передати на url acs_url емітента 
mdstring(1024)Унікальний ідентифікатор запиту 3D Secure. Присвоюється платіжним сервісом FONDY 

Мерчант, отримавши цю відповідь, повинен сформувати HTML-форму, і за допомогою неї перенаправити платника на адресу acs_url. HTML-форма має бути такого змісту:

<form name="MPIform" action='${acs_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} – це URL мерчанта, на який клієнт буде перенаправлений після введення пароля 3D Secure

На URL TempUrl після автентифікації платника на сайті банку-емітента повертаються такі параметри:

ПараметрТипОпис
paresstring(20480)Результат автентифікації платника на стороні емітента.
Являє собою рядок BASE64
mdstring(1024)Унікальний ідентифікатор запиту 3D Secure.
Присвоюється платіжним сервісом FONDY

Параметри відповіді (крок 1, картка не бере участі в сервісі 3D Secure)

Якщо карта не бере участі, то відповідь буде повернуто у форматі п3.2 Параметри фінальної відповіді

Параметри запиту (крок 2)

Параметри, отримані в 4.2 Параметри відповіді (крок 1, картка бере участь у сервісі 3D Secure), мають бути передані на сервер FONDY у форматі:

ПараметрТипОписПриклад переданого мерчантом значення
order_idstring(1024)Унікальний ідентифікатор замовлення. Призначається мерчантом.

обов’язковий
ID1234
merchant_idinteger(12)Унікальний ідентифікатор мерчанта. Видається мерчанту після реєстрації.

обов’язковий
1
paresstring(20480)Параметр, який повернув банк-емітнет на URL TempUrl

обов’язковий
 
mdstring(1024)Унікальний ідентифікатор 3D Secure запиту. Присвоюється платіжним сервісом FONDY

обов’язковий
 
versionstring(10)Версія протоколу.

Значення за замовчуванням: 1.0
1.0
signaturestring(40)Підпис замовлення. Слугує для перевірки цілісності та автентичності запиту від мерчанта на стороні сервера платіжного шлюзу.

обов’язковий

Алгоритм генерації підпису див. Генерація підписів запитів та відповідей

1773cf135bd89656131134b98637894dad42f808

Параметри відповіді (крок 2)

Відповідь буде повернута у форматі, описаному в Параметри фінальної відповіді

Параметри відповіді в разі помилки

Відповідь буде повернуто у форматі п. Параметри відповіді в разі помилки

Формування запиту

Запит покупки з номером картки на кроці 1 на сервер FONDY завжди формується способом host-to-host на URL https://pay.fondy.eu/api/3dsecure_step1/

Запит покупки з номером картки на кроці 2 на сервер FONDY завжди формується способом host-to-host на URL https://pay.fondy.eu/api/3dsecure_step2/

Host-to-host API підтримує такі текстові формати запитів:

У контексті запиту завжди повертається відповідь у тому ж форматі, що й запит. Тобто якщо запит був у форматі JSON, то і відповідь повернеться у форматі JSON.

Хочу приймати платежі з усього світу!