Перекази з картки на картку

API дозволяє виконувати перекази між картками фізичних осіб, які було випущено українськими банками.

Параметри запиту

Запит c необхідними параметрами формується на стороні продавця та передається методом POST по протоколу HTTP на URL https://api.wayforpay.com/api

З метою підтвердження валідності даних повинно бути згенеровано і передано в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.

Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів merchantAccount, orderReference, amount, currency, cardBeneficiary розділених ";" (крапка з комою) в кодуванні UTF-8


 

Параметр

Опис

Обов'язкове

transactionType

Тип запиту, приймає значення P2P_TRANSFER

Так

merchantAccount

Унікальний ідентифікатор продавця.

Так

merchantAuthType

Тип авторизації. Може приймати одне з наступних значень:

SimpleSignature (за замовчуванням)

Так

merchantTransactionSecureType

Тип безпеки для проходження транзакції.

- AUTO

ні

merchantDomainName

Доменне ім'я веб-сайту торговця

Так

orderReference

Унікальний номер переказу в системі торговця

Так

orderDate

Дата перекладу

Так

amount

Сума переказу

Так

fee

Сума комісії

ні

currency

Валюта переказу: UAH

Так

card

Номер картки відправника - 16 цифр

ні

expMonth

Місяць закінчення терміну дії карти - MM

ні

expYear

Рік закінчення терміну дії карти - YYYY

ні

cardCvv

Секретний код карти CVV/CVV2

ні

cardHolder

ім'я власника карти, як зазначено на карті

ні

recToken

Токен карти - для повторного списання без участі клієнта (без передачі реквізитів карти)

ні

clientFirstName

Ім'я відправника

ні

clientLastName

Прізвище відправника

ні

clientAddress

Адреса відправника

ні

clientCity

Місто відправника

ні

clientState

Штат / Область відправника

ні

clientZipCode

Поштовий індекс відправника

ні

clientCountry

Країна відправника

ні

clientEmail

Email відправника

ні

clientPhone

Номер телефону відправника

ні

clientIpAddress

ip-адреса, з якого заходив клієнт на сторінку мерчанта для здійснення покупки

Так

cardBeneficiary

Номер картки одержувача

Так

deliveryFirstName

Ім'я одержувача

ні

deliveryLastName

Прізвище одержувача

ні

deliveryEmail

Email отримувача

ні

deliveryPhone

Номер телефону одержувача

ні

merchantSignature

підпис запиту

Так

apiVersion

Версія протоколу. Значення за замовчуванням: 1

Так

 

Примітка:

 Поля (card + expMonth + expYear + cardCvv + cardHolder) або recToken повинні бути обов'язковим.

 

Верифікація карти 3ds verify

Проміжний відповідь для аутентифікації клієнта

Якщо карта відправника підтримує 3d secure верифікацію, система Wayforpay поверне параметри для аутентифікації клієнта.

З даними параметрами Мерчанту необхідно перенаправити клієнта на url емітента для аутентифікації.

Час протягом якого живе сесія на верифікацію - 10 хвилин. Якщо протягом 10 хвилин не буде отриманий COMPLETE_3DS, система відхилить транзакцію як неуспішну.

 

Параметр

Опис

Приклад

merchantAccount

ідентифікатор продавця

test_merch_n1_p2p

orderReference

Унікальний номер замовлення в системі торговця

P2P-1430206527

amount

Сума замовлення

0.31

currency

Валюта замовлення

UAH

authCode

код авторизації - присвоюється банком

null

createdDate

дата створення запиту в psp

1430206630

processingDate

дата процесування транзакці

null

recToken

токен карти для рекаренгових списань

 

reason

 

Wait 3ds data

transactionStatus

статус транзакції

InProcessing

reasonCode

код відмови

5100

fee

сума комісії

1

d3AcsUrl

адреса ACS сервера емітента, на який необхідно перенаправити користувача для аутентифікації

https:\\3dsecure.ukrsibbank.com\acs\auth\start.do

d3Md

Унікальний ідентифікатор, який необхідно передати на url методом POST під час перенаправлення клієнта

ODMyNzRmNjgtMjEyYS00ODAyLWExYjMtZTc1Y2ZkZTNjYTBi

d3Pareq

PaReq повідомлення, яке необхідно передати на url методом POST під час перенаправлення клієнта

eJx1kmFvgjAQhv+K8QfQFkHBnE3YNNFF0ajZol+WBi+CAcRSVPbr

1yrO7cP66Z43vXvvroV1LBGH\nK4wqiRxmWJZij61kN2gvgk+bOZ7

TZW0Oi2CJJw5nlGVyzDmzqGUDeaDOk1EscsVBRKeXSchdx+1R\

nD0iDkKGcDDmjzfGZ51IXyF2GXGTI11iq1lSocyKA3BSIjlWuZM

096gB5AFQy5bFSRdknBKNjpotE\naKXJqRC1pfkpkqxIdJsmAcizx0Vlol

IbXJMdnw9ndfi1zMLDXs0Oo3qzonQ+DOrpx2gAxNyAnVDI\n

bcpc6thei9F+p9dnuvBNB5GZzji1OkwPfAcojEdwB6P\/5n\/m0k8gMY9q

7ntUyw8CvBbHHHWedvyJ\ngTyneB2bvUdKr3I\/3V5UuHo\/+7F

MxsXhknbtFN+2m11qmrtfMhUT7ch8498AEFOGNA9Nmp+goz8\/\n5Bt+QbuA

authTicket

тікет авторизації

d185a769977cc297b13bfd0edd9bdd29

merchantSignature

підпис запиту

09c85c95722fee7c2283d5f189902035

 

Після отримання даних від системи Wayforpay, мерчанту необхідно передати на d3AcsUr методом POST параметри d3Pareq і d3Md в такій формі:

<form name="MPIform" action='${d3AcsUrl}' method="POST">
<input type="hidden" name="PaReq" value='${d3Pareq }'>
<input type="hidden" name="MD" value='${d3Md }'>
<input type="hidden" name="TermUrl" value='${TempUrl}'>
</form>

TempUrl - url переданий мерчантом, на який емітент поверне відповідь після аутентифікації клієнта.

 

Підтвердження 3d secure верифікації

Після проходження клієнтом аутентифікації і редиректу на TempUrl з результатом, отриманим від емітента, мерчант направляє запит COMPLETE_3DS.

 

Параметр

Опис

Обов'язкове

apiVersion

Версія протоколу. Значення за замовчуванням: 1 Так

transactionType

Тип запиту, приймає значення COMPLETE_3DS

Так

authorization_ticket

тікет авторизації

Так

d3ds_md

 

Так

d3ds_pares

 

Так

 

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

З метою підтвердження валідності даних повинно бути згенеровано і передано в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.

Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів merchantAccount, orderReference, amount, currency, authCode, cardPan, transactionStatus, reasonCode розділених ";" (крапка з комою) в кодуванні UTF-8

 

Параметр

Опис

Приклад

merchantAccount

ідентифікатор продавця

test_merchant

orderReference

Унікальний номер замовлення в системі торговця

1212dd1

merchantSignature

hash_hmac

 

amount

Сума замовлення

100

currency

Валюта замовлення

UAH

authCode

код авторизації - присвоюється банком

324567

createdDate

дата створення запиту в psp (UTC)

123456789

processingDate

дата процесування транзакції (UTC)

12345678

recToken

токен карти відправника для рекаренгових переказів

121213321-3213213-3213213-321-3

transactionStatus

статус переказу

Approved

reason

Причина відмови

Ok

reasonCode

код відмови

110

 

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

Запит:
{
"transactionType":"P2P_TRANSFER",
"merchantAccount":"test_merch",
"merchantAuthType":"SimpleSignature",
"merchantSignature":"60c5d743b71f79abe48c7183ada4b451",
"apiVersion":1,
"orderReference":"myOrder1",
"orderDate":1421412898,
"amount":10.13,
"currency":"UAH",
"card":"4111111111111111",
"expMonth":"11",
"expYear":"2020",
"cardCvv":"111",
"cardHolder":"TARAS BULBA",
"cardBeneficiary":"4111111111111111"
}
 
Відповідь:
{
"merchantAccount": "test_merchant",
"orderReference": "DH783023",
"merchantSignature":"b95932786cbe243a76b014846b63fe92",
"amount": "10.13",
"currency": "UAH",
"authCode": "221562",
"createdDate": "13.01.2014 15:10:47",
"processingDate": "13.01.2014 15:10:52",
"transactionStatus": "Approved",
"reason": "ok",
"reasonCode": "1100"
}