Верифікація карти/отримання токену
Запит Verify використовується для проведення верифікації карти клієнта.
Результатом обробки запиту є блокування коштів на картці клієнта і автоматичне розблокування коштів по закінченню 60 хвилин.
Параметри запиту
Запит c необхідними параметрами формується на стороні продавця та передається методом POST по протоколу HTTP на URL https://api.wayforpay.com/api
З метою підтвердження валідності даних повинно бути згенеровано і передано в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.
Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів merchantAccount, merchantDomainName, orderReference, amount, currency розділених ";" (крапка з комою) в кодуванні UTF-8
ПАРАМЕТР | ОПИС | ОБОВ'ЯЗКОВЕ |
transactionType | VERIFY | |
merchantAccount | Ідентифікатор продавця. Присвоюється Вам з боку WayForPay | так |
merchantAuthType | Тип авторизації. Може приймати одне з наступних значень: - simpleSignature (за замовчуванням) | ні |
merchantDomainName | Доменне ім'я веб-сайту торговця | так |
merchantSignature | Підпис запиту | так |
apiVersion | Версія протокола. Значення за замовчуванням: 1 | так |
serviceUrl | URL, на який система повинна відправляти відповідь з результатом платежу безпосередньо мерчанту | ні |
orderReference | Унікальний номер замовлення в системі торговця | так |
amount | Сума verify 0 - для генерації вільної суми на стороні wayforpay, в межах 1-5грн. | так |
currency | Валюта verify: UAH | так |
card | Номер карти 16 цифр | так |
expMonth | Місяць закінчення терміну дії карти - MM | так |
expYear | Рік закінчення терміну дії карти - YY | так |
cardCvv | Секретний код карти CVV / CVV2 | так |
cardHolder | Ім'я власника карти, як зазначено на карті | так |
clientEmail | Email клієнта | ні |
clientPhone | Номер телефону клієнта | ні |
clientCountry | Країна клієнта | ні |
clientAddress | Адреса клієнта | ні |
clientCity | місто клієнта | ні |
clientState | Штат / Область клієнта | ні |
clientZipCode | Поштовий індекс клієнта | ні |
Параметри відповіді
З метою підтвердження валідності даних повинна бути згенерованр і передано в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.
Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів merchantAccount, orderReference, amount, currency, authCode, cardPan, transactionStatus, reasonCode розділених ";" (крапка з комою) в кодуванні UTF-8
ПАРАМЕТР | ОПИС | ПРИКЛАД |
merchantAccount | Ідентифікатор продавця | test_merchant |
orderReference | Унікальний номер замовлення в системі торговця | 1212dd1 |
merchantSignature | hash_hmac | |
amount | Сума verify | 100 |
currency | Валюта verify | UAH |
authCode | код авторизації - присвоюється банком | 324567 |
createdDate | дата створення запиту в psp (UTC) | 123456789 |
processingDate | дата процесування транзакції (UTC) | 12345678 |
cardPan | маскувати номер карти (44****4444) | 42****4242 |
cardType | тип картки: Visa/MasterCard | Visa |
issuerBankCountry | Країна карти | 980 |
issuerBankName | Имя Банка карты | PrivatBank |
recToken | токен карти для рекаренгових списань | 121213321-3213213-3213213-321-3 |
transactionStatus | статус транзакції | Approved |
reason | Причина відмови | Ok |
reasonCode | Код відмови | 1100 |
fee | Комисія psp | 0.00 |
paymentSystem | Платіжна система, через яку був здійснений платіж. | card |
Приклад запиту і відповіді
{
"transactionType":"VERIFY",
"merchantAccount":"test_merch",
"merchantAuthType":"SimpleSignature",
"merchantDomainName":"www.bistrozaim.ua",
"merchantSignature":"60c5d743b71f79abe48c7183ada4b451",
"apiVersion":1,
"orderReference":"myOrder1",
"amount":1.13,
"currency":"UAH",
"card":"4111111111111111",
"expMonth":"11",
"expYear":"2020",
"cardCvv":"111",
"cardHolder":"TARAS BULBA",
"clientFirstName":"Bulba",
"clientLastName":"Taras",
"clientCountry":"UA",
"clientEmail":"rob@mail.com",
"clientPhone":"380556667788"
}
{
"merchantAccount":"test_merchant",
"orderReference":"DH783023",
"merchantSignature":"",
"amount":1.13,
"currency":"UAH",
"authCode":"541963",
"createdDate":12345678,
"processingDate":12345678,
"cardPan":"41****8217",
"cardType":"visa",
"issuerBankCountry":"980",
"issuerBankName":"Privatbank",
"recToken":"121213321-3213213-3213213-321-3",
"transactionStatus":"Approved",
"reason":"",
"reasonCode":1100,
"fee":0,
"paymentSystem":"card"
}
Приклад коректної відповіді від мерчанта
Система WayForPay очікує отримати від серверу торговця таку відповідь:
{
"orderReference":"DH783023",
"status":"accept",
"time":1415379863,
"signature":""
}
З метою підтвердження валідності даних повинна бути згенеровано і передано в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.
Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів orderReference, status, merchantSecretKey розділених ";" (крапка з комою) в кодуванні UTF-8
Повідомлення мерчанта про статус транзакції
Для авторизованих і перевірених замовлень (а також при зміні статусу замовлення) серевер WayForPay направляє на serviceUrl запит (HTTP_POST) включає в себе дані замовлення.
Дана інформація доповнюється контрольної підписом HMAC_MD5.