Page tree
Skip to end of metadata
Go to start of metadata

Выставление счетов

Данное 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

Тип транзакции. Может принимать одно из следующих значений:

  • AUTO (по умолчанию)

  • AUTH

  • SALE

нет

merchantAuthType

Тип авторизации: SimpleSignature

нет

merchantDomainName

Доменное имя веб-сайта торговца

да

merchantSignature

Подпись запроса

да

apiVersion

Версия протокола. Значение по-умолчанию: 1

да

language

Язык на котором будет выставлен invoice. Может принимать одно из следующих значений:

  • RU (по умолчанию)

  • UA

  • EN




нет

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.

Системы должны быть разделены точкой с запятой. Доступные платежные системы:

  • card

  • privat24

  • lpTerminal

  • btc

  • credit

  • payParts
  • qrCode
  • masterPass
  • visaCheckout
  • googlePay
  • applePay

По умолчанию клиенту доступны все разрешенные мерчанту системы оплаты.

нет

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

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":"myOrder1",
 "status":"accept",
 "time":1415379863,
 "signature":""
}

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров orderReference, status, time разделенных “;” (точка с запятой) в кодировке UTF-8

  

  • No labels