Данный метод дает возможность генерации 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 | https://wayforpay.com/qr/img/qc6173ad7fda0?size=200 |
Пример запроса и ответа
Запрос:
{
"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