Даний метод дає можливість генерації QR кодів для оплати за допомогою мобільного додатку wayforpay.qr
Результатом запиту буде отримання посилання на зображення QR коду.
Запит c необхідними параметрами формується на стороні продавця та передається методом POST по протоколу HTTP на URL https://api.wayforpay.com/api
Аутентифікація запитів
З метою підтвердження валідності даних повинно бути згенеровано та передано в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.
Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів merchantAccount, merchantDomainName, orderReference, orderDate, amount, currency, productName [0],
productName [1] ..., productName [n], productCount [0], productCount [1], ..., productCount [n], productPrice [0], productPrice [1], ..., productPrice [n] розділених ";" (крапка з комою) в кодуванні UTF-8
Параметри запиту:
Параметр | Опис | Обов'язкове |
transactionType | CREATE_QR | так |
merchantAccount | Ідентифікатор продавця. Дане значення присвоюється Вам з боку WayForPay | так |
merchantAuthType | Тип авторизації: SimpleSignature | ні |
merchantDomainName | Доменне ім'я веб-сайту торгівця | так |
merchantSignature | Підпис запиту | так |
apiVersion | Версія протоколу. Значення за замовчуванням: 1 | так |
serviceUrl | URL, на який система повинна відправляти повідомлення з результатом оплати інвойсу безпосередньо мерчанту | ні |
orderReference | Унікальний номер транзакції в системі торгівця | так |
orderDate | Дата розміщення замовлення | так |
amount | Сума до оплати | так |
currency | Валюта замовлення UAH | так |
alternativeAmount | Альтернативна сума замовлення | ні |
alternativeCurrency | Альтернативна валюта замовлення USD, EUR | ні |
orderTimeout | Встановлює час життя qr коду - протягом якого клієнт може спробувати його оплатити. За замовчуванням invoice доступний до оплати протягом 1 години | ні |
productName[] | Масив з найменуванням замовлених товарів | так |
productPrice[] | Масив з цінами за одиницю товару. Ця інформація буде видна на сторінці оплати замовлення | так |
productCount[] | Масив з кількістю замовленого товару по кожній позиції. | так |
clientFirstName | Ім'я клієнта (мінімальна довжина 1 символ) | ні |
clientLastName | Прізвище клієнта (мінімальна довжина 1 символ) | ні |
clientEmail | Email клиєнта | ні |
clientPhone | Номер телефону клієнта | ні |
Параметри відповіді:
reason | Причина відмови | |
reasonCode | Код відмови | |
imageUrl |
Приклад запиту і відповіді
Запит:
{
"TRANSACTIONTYPE":"CREATE_QR",
"MERCHANTACCOUNT":"TEST_MERCH_N1",
"MERCHANTAUTHTYPE":"SIMPLESIGNATURE",
"MERCHANTDOMAINNAME":"WWW.SUPER.ORG",
"MERCHANTSIGNATURE":"60C5D743B71F79ABE48C7183ADA4B451",
"APIVERSION":1,
"SERVICEURL":”HTTP://SERVICEURL.COM”,
"ORDERREFERENCE":"MYORDER1",
"ORDERDATE":1421412898 ,
"AMOUNT":1547.36,
"CURRENCY":"UAH",
"ORDERTIMEOUT": 86400,
"PRODUCTNAME":["SAMSUNG WB1100F","SAMSUNG GALAXY TAB 4 7.0 8GB 3G BLACK"],
"PRODUCTPRICE":[21.1,30.99],
"PRODUCTCOUNT":[1,2],
"CLIENTFIRSTNAME":"BULBA",
"CLIENTLASTNAME":"TARAS",
"CLIENTEMAIL":"ROB@MAIL.COM",
"CLIENTPHONE":"380556667788"
}
Відповідь:
{
"REASON":"1100",
"REASONCODE":"OK",
"INVOICEURL":"HTTPS://SECURE.WAYFORPAY.COM/PAY/5534EB845B744D27B3CA57EB38A74599&SIGN=A4A923EDD74F9B23BDD8922B4A2D8630",
}
Повідомлення мерчанта про статус оплати QR коду
Для авторизованих і перевірених замовлень (а також при зміні статусу замовлення) серевер WayForPay направляє на serviceUrl запит (HTTP_POST) включає в себе дані замовлення.
Дана інформація доповнюється контрольним підписом HMAC_MD5.
У разі, якщо WayForPay НЕ отримає коректну відповідь від сервера торговця, то система буде направляти запити на протязі 4-х діб або до отримання правильної відповіді.
Параметри запиту шлюзу WayForPay на serviceUrl
З метою підтвердження валідності даних повинно бути згенеровано і передано в запиті 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 |
| email платника | |
phone | Номер телефону платника | +38063-333-33-33 |
createdDate | Дата створення запиту в psp | 123456789 |
processingDate | Дата процесування транзакції | 12345678 |
cardPan | Маскування номеру карти | 42****4242 |
cardType | Тип карти: Visa/MasterCard | Visa |
issuerBankCountry | Країна карти | Ukraine |
issuerBankName | Ім'я Банку карти | PrivatBank |
recToken | токен карти для рекаренгових списань | 121213321-3213213-3213213-321-3 |
transactionStatus | Статус транзакції | Approved |
reason | Причина відмови | Ok |
reasonCode | Код відмови | 1100 |
fee | Комисія psp | 0.00 |
paymentSystem | Платіжна система, через котру було здійснено платіж. | card |
Приклад запиту на serviceUrl
{
"MERCHANTACCOUNT":"TEST_MERCH_N1",
"ORDERREFERENCE":"MYORDER1 ",
"MERCHANTSIGNATURE":"",
"AMOUNT":"1547.36",
"CURRENCY":"UAH",
"AUTHCODE":"541963",
"EMAIL":"CLIENT@MAIL.UA",
"PHONE":"380501234567",
"CREATEDDATE":"",
"PROCESSINGDATE":"",
"CARDPAN":"4102****8217",
"CARDTYPE":"VISA",
"ISSUERBANKCOUNTRY":"980",
"ISSUERBANKNAME":"PRIVATBANK",
"RECTOKEN":"",
"TRANSACTIONSTATUS":"APPROVED",
"REASON":"1100",
"REASONCODE":"",
"FEE":"",
"PAYMENTSYSTEM":"CARD"
}
Приклад коректної відповіді від мерчанта
Система WayForPay очікує отримати від сервера торгівця таку відповідь:
{
"ORDERREFERENCE":"DH783023",
"STATUS":"ACCEPT",
"TIME":1415379863,
"SIGNATURE":""
}
З метою підтвердження валідності даних повинно бути згенеровано і передано в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.
Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів orderReference, status, time розділених ";" (крапка з комою) в кодуванні UTF-8