- Created by Yuriy Kozyr, last modified on May 31, 2019
Выставление счетов
Данное API позволяет выставлять счета клиентам для оплаты товаров/услуг.
Клиенту на email будет отправлено уведомление о созданном счете, который необходимо оплатить. Все, что необходимо для оплаты - это перейти по ссылке из письма и ввести платежные реквизиты.
Запрос 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_INVOICE | да |
merchantAccount | Идентификатор продавца. Данное значение присваивается Вам со стороны WayForPay | да |
merchantTransactionType | Тип транзакции. Может принимать одно из следующих значений:
| нет |
merchantAuthType | Тип авторизации: SimpleSignature | нет |
merchantDomainName | Доменное имя веб-сайта торговца | да |
merchantSignature | Подпись запроса | да |
apiVersion | Версия протокола. Значение по-умолчанию: 1 | да |
language | Язык на котором будет выставлен invoice. Может принимать одно из следующих значений:
| нет |
notifyMethod | Параметр отвечает за то, каким способом будет отправлен invoice: sms, email, bot, all | нет |
serviceUrl | URL, на который система должна отправлять уведомление с результатом оплаты инвойса напрямую мерчанту | нет |
orderReference | Уникальный номер invoice в системе торговца | да |
orderDate | Дата размещение заказа | да |
amount | Сумма к оплате | да |
currency | Валюта заказа UAH | да |
alternativeAmount | Альтернативная сумма заказа | нет |
alternativeCurrency | Альтернативная валюта заказа USD, EUR | нет |
orderTimeout | Устанавливает время жизни invoice - в течение которого клиент может попытаться его оплатить. По умолчанию invoice доступен к оплате в течение 1 часа | нет |
holdTimeout | Время действия блокировки средств в секундах. По умолчанию 1 728 000 (20 дней). Максимум 1 728 000 (20 дней). Минимальное значение 60(1 минута). | нет |
productName[] | Массив с наименованием заказанных товаров | да |
productPrice[] | Массив с ценами за единицу товара. Данная информация будет видна на странице оплаты заказа | да |
productCount[] | Массив с количеством заказанного товара по каждой позиции. | да |
paymentSystems | Список платежных систем, доступных клиенту при выборе способа оплаты на платежной странице wayforpay.com. Системы должны быть разделены точкой с запятой. Доступные платежные системы:
По умолчанию клиенту доступны все разрешенные мерчанту системы оплаты. | нет |
clientFirstName | Имя клиента (минимальная длина1 символ) | нет |
clientLastName | Фамилия клиента (минимальная длина1 символ) | нет |
clientEmail* | Email клиента, на который будет отправлен invoice | нет |
clientPhone | Номер телефона клиента (минимальная длина 9 максимальная 13 цифр) | нет |
* - если email клиента не задан, то уведомление клиенту об invoice не будет отправлено, но в ответе будет отдан invoiceUrl.
Параметры ответа:
reason | Причина отказа | |
reasonCode | Код отказа | |
invoiceUrl | url по которому клиенту откроется платежная страница, для оплаты инвойса |
Пример запроса и ответа
{ "transactionType":"CREATE_INVOICE", "merchantAccount":"test_merch_n1", "merchantAuthType":"SimpleSignature", "merchantDomainName":"www.super.org", "merchantSignature":"60c5d743b71f79abe48c7183ada4b451", "apiVersion":1, "language":”ru”, "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], "paymentSystems": "card;privat24", "clientFirstName":"Bulba", "clientLastName":"Taras", "clientEmail":"rob@mail.com", "clientPhone":"380556667788" }
{ "reason":"1100", "reasonCode":"Ok", "invoiceUrl":"https://secure.wayforpay.com/pay/invoice?acc=netpeaknet&id=5534eb845b744d27b3ca57eb38a74599&sign=a4a923edd74f9b23bdd8922b4a2d8630", "qrCode": "https://wayforpay.com/qr/img/i343c70e046af?size=200" }
Уведомление мерчанта о статусе оплаты Invoice
Для авторизованных и проверенных заказов (а также при смене статуса заказа) серевер 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":"myOrder1", "status":"accept", "time":1415379863, "signature":"" }
В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.
Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров orderReference, status, time разделенных “;” (точка с запятой) в кодировке UTF-8
- No labels