API FONDYВерсия 1.0

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

Следует применять только для торговцев получивших PCIDSS.

  1. Параметры запроса (шаг 1)
  2. Параметры ответа (шаг 1, карта участвует в сервисе 3DSecure)
  3. Параметры ответа (шаг 1, карта не участвует в сервисе 3DSecure)
  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)Язык платежной страницы. Доступные значения:
ru — русский
uk — украинский
en — английский
lv — латышский
fr — французский
cs — чешский
ro — румынский
it — итальянский
sk — словацкий
pl — польский
es — испанский
hu — венгерский
de — немецкий
 
product_idstring(1024)Идентификатор оплачиваемого товара/услуги 
verificationstring(1)Y — будет сделан автоматический реверс платежа системой FONDY, если платеж успешный

Значение по-умолчанию: N
Y
card_numberstring(19)Номер карты Visa/MC

обязательный
 
cvv2string(4)CVV2/CVC2 код карты

обязательный
 
expiry_dateinteger(4)Срок действия карты в формате MMYY

обязательный
 
client_ipinteger(15)IP клиента

обязательный
 
containerstringGoogle/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, карта участвует в сервисе 3DSecure)

Если карта участвует в сервисе 3DSecure, то ответ будет возвращен в следующем формате:

ПараметрТипОписаниеПример возвращаемого значения
response_statusstring(50)если не было ошибки, всегда возвращается successsuccess
acs_urlstring(2048)URL страницы, на которую мерчант должен перенаправить клиента для дальнейшего ввода 3DSecure пароля
https://pay.fondy.eu/checkout?token=e0a5d4f331806d1e2feb80353b4c44bf6751fc8c
pareqstring(20480)Параметр, который необходимо передать на url acs_url эмитента 
mdstring(1024)Уникальный идентификатор 3DSecure запроса. Присваивается платежным сервисом 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 торговца, на который клиент будет перенаправлен после ввода 3DSecure пароля

На URL TempUrl после аутентификации плательщика на сайте банка-эмитента возвращаются следующие параметры:

ПараметрТипОписание
paresstring(20480)Результат аутентификации плательщика на стороне эмитента.
Представляет собой BASE64 строку
mdstring(1024)Уникальный идентификатор 3DSecure запроса.
Присваивается платежным сервисом FONDY

Параметры ответа (шаг 1, карта не участвует в сервисе 3DSecure)

Если карта не участвует, то ответ будет возвращен в формате п3.2 Параметры финального ответа

Параметры запроса (шаг 2)

Параметры, полученные в 4.2 Параметры ответа (шаг 1, карта участвует в сервисе 3DSecure) должны быть переданы на сервер FONDY в формате:

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

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

обязательный
1
paresstring(20480)Параметр, который вернул банк-эмитнет на URL TempUrl

обязательный
 
mdstring(1024)Уникальный идентификатор 3DSecure запроса. Присваивается платежным сервисом 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 АПИ поддерживает следующие текстовые форматы запросов:

В контексте запроса всегда возвращается ответ в том же формате, что и запрос. Т.е. если запрос был в формате JSON, то и ответ вернется в формате JSON.

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