API дозволяє проводити поповнення карток фізичних осіб з банківського рахунку ТСП. Поповнення можливе будь-яких карток емітованих українськими банками.
В системі передбачено два варіанти обробки поповнень:
- поповнення за номером картки;
- поповнення з використанням токена
Поповнення за номером картки виконується в одну дію. У запиті ТСП може передати номер карти, або раніше отриманий токен. Якщо передані обидва параметри, виникне помилка обробки запиту.
Регламент зарахування коштів на карту - миттєво, можливі випадки коли кошти надходять протягом доби - це залежить від внутрішнього регламенту зарахування коштів Банку емітента, що випустив дану картку.
Для перевірки валідність карти та її стану, рекомендується використовувати тип запиту Verify.
Параметри запиту
Запит c необхідними параметрами формується на стороні продавця та передається методом POST по протоколу HTTP на URL https://api.wayforpay.com/api
З метою підтвердження валідності даних повинно бути згенеровано і передано в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.
Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів merchantAccount, orderReference, amount, currency, cardBeneficiary, rec2Token розділених ";" (крапка з комою) в кодуванні UTF-8
| Параметр | Опис | Обов'язкове |
| transactionType | Тип запиту, приймає значення P2P_CREDIT | так |
| merchantAccount | Унікальний ідентифікатор продавця. | так |
| merchantAuthType | Тип авторизації: simpleSignature (за замовчуванням) | ні |
| orderReference | Унікальний номер замовлення в системі торговця | так |
| amount | Сума переказу | так |
| currency | Валюта переказу: UAH | так |
| cardBeneficiary | Номер картки одержувача | так |
| rec2Token | Токен картки одержувача | так |
| merchantSignature | Підпис запиту | так |
| apiVersion | Версія протоколу. Значення за замовчуванням: 1 | так |
| serviceUrl | URL, на який система повинна відправляти відповідь з результатом поповнення безпосереднь мерчанту | ні |
| recipientFirstName | Ім'я одержувача | ні |
| recipientLastName | Прізвище одержувача | ні |
| recipientPhone | Телефон одержувача | ні |
| recipientEmail | E-mail отримувача | ні |
Параметри відповіді
З метою підтвердження валідності даних повинно бути згенеровано і передано в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.
Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів merchantAccount, orderReference, amount, currency, authCode, transactionStatus, reasonCode розділених ";" (крапка з комою) в кодуванні UTF-8
| Параметр | Опис | Приклад |
| merchantAccount | ідентифікатор продавця | test_merchant |
| orderReference | Унікальний номер замовлення в системі торговця | 1212dd1 |
| merchantSignature | hash_hmac | |
| amount | Сума замовлення | 100 |
| currency | Валюта замовлення | UAH |
| authCode | код авторизації - присвоюється банком | 324567 |
| cardPan | маскувати номер карти | 42****4242 |
| cardType | тип карти: Visa/MasterCard | Visa |
| issuerBankName | Ім'я Банку карти | PrivatBank |
| createdDate | дата створення запиту в psp (UTC) | 123456789 |
| processingDate | дата процесування транзакці (UTC) | 12345678 |
| transactionStatus | статус транзакції | Approved |
| reason | Причина відмови | Ok |
| reasonCode | код відмови | 1100 |
Приклад запиту і відповіді
{
"transactionType":"P2P_CREDIT",
"merchantAccount":"p2p_credit",
"merchantAuthType":"SimpleSignature",
"merchantSignature":"60c5d743b71f79abe48c7183ada4b451",
"apiVersion":1,
"orderReference":"myOrder1",
"amount":10.13,
"currency":"UAH",
"cardBeneficiary":"4111111111111111"
} {
"merchantAccount": "p2p_credit",
"orderReference": "myOrder1",
"merchantSignature":"b95932786cbe243a76b014846b63fe92",
"amount": 10.13,
"currency": "UAH",
"authCode": "221562",
"createdDate": 1415379863,
"processingDate": 1415379863,
"transactionStatus": "Approved",
"reason": "ok",
"reasonCode": 1100
}