Создание счетов (Create invoice)
Запрос 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 | Тип транзакции. Может принимать одно из следующих значений: - AUTO (по умолчанию) - AUTH - SALE | нет |
merchantAuthType | Тип авторизации: SimpleSignature | нет |
merchantDomainName | Доменное имя веб-сайта торговца | да |
merchantSignature | Подпись запроса | да |
apiVersion | Версия протокола. Значение по-умолчанию: 1 | да |
language | Язык на котором будет выставлен invoice. Может принимать одно из следующих значений: - RU (по умолчанию) - UA - EN | нет |
notifyMethod | Параметр отвечает за то, каким способом будет отправлен invoice: - sms - 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 | Список платежных систем, доступных клиенту при выборе способа оплаты на платежной странице. Системы должны быть разделены точкой с запятой. Доступные платежные системы: - card - googlePay - applePay - privat24 - lpTerminal - delay - bankCash - qrCode - masterPass - visaCheckout - bot - метод оплаты в месенджерах (бот wayforpay) - payParts (мгновенная рассрочка от ПриватБанка)* - payPartsMono (покупка частями от Монобанка)* - payPartsPrivat (оплата частями от ПриватБанка )* - payPartsAbank (плати частями от А-Банка)* - instantAbank (рассрочка А-Банка)*- instantAbank (рассрочка А-Банка)* - globusPlus (оплата частями Глобус+ Глобус банк)* - payPartsOschad (оплата частинами Ощадбанк)* - OnusInstallment (рассрочка Райффайзен Банк)
*Для платежей в рассрочку или оплаты частями можно передавать доступное для клиента кол-во частей на платежной странице, кол-во частей указываем через запятую после ":". Например: payPartsAbank:2,3,7,10;payParts:5 По умолчанию клиенту доступны все разрешенные мерчанту системы оплаты.
| нет |
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