Создание платежного QR кода

Данный метод дает возможность генерации 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

email плательщика

email@mail.com

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