Unitpay
ru
Search
K

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

https://unitpay.ru/api?
method=initPayment
params[paymentType]=card
params[account]=order413
params[sum]=10.00
params[projectId]=1
params[resultUrl]=http://вашсайт.ru
params[ip]=77.129.27.24
params[secretKey]=ключ
params[signature]=цифровая подпись
params[preauth]=1
params[customerEmail]=Email плательщика
Обязательные параметры:
Значение
Описание
paymentType
строка
Код платежной системы, через которую будет идти оплата
account
строка
Идентификатор абонента в системе партнера (например, логин или email абонента)
sum
число
Сумма платежа в рублях (например, 10.00)
projectId
число
ID вашего проекта в системе UnitPay
resultUrl
строка
Urlencoded адрес перехода пользователя после оплаты (например, http://вашсайт.ru. Важно: домен не должен отличаться от домена проекта). Если параметр не задан, то будет использован адрес страницы чека платежа.
desc
строка
Описание заказа
secretKey
строка
Секретный ключ, доступен в настройках проекта
Параметры для инициации платежей по методам мобильной коммерции (в данный момент временно недоступно):
Значение
Описание
phone
число
Телефон с кодом страны (например, 79520000000)
operator
строка
Буквенный код оператора для SMS-биллинга. Для остальных систем оператор определяется автоматически
Значение PUBLIC KEY и SECRET KEY проекта можно найти на странице Настройки проекта
Пример формирования цифровой подписи на PHP:
function getFormSignature($account, $currency, $desc, $sum, $secretKey) {
$hashStr = $account.'{up}'.$currency.'{up}'.$desc.'{up}'.$sum.'{up}'.$secretKey;
return hash('sha256', $hashStr);
}
Пример формирования цифровой подписи на Perl:
sub getSignature {
my ($method, $params, $secretKey) = @_;
delete $params->{sign};
delete $params->{signature};
my $s = $method;
foreach my $key (sort keys %{$params}) {
$s .= '{up}' . $params->{$key};
}
$s .= '{up}' . $secretKey;
use Digest::SHA qw(sha256_hex);
return sha256_hex($s);
}
Дополнительные параметры оплаты:
Значение
Описание
currency
строка
Валюта заказа по стандарту ISO 4217 (RUB, UAH, BYN, EUR, USD итд. Полный список валют). Если платежная система не поддерживает требуемую валюту, то сумма будет сконвертирована в валюту системы оплаты
locale
строка
Принудительное указание языка платежной формы, допустимые значения: ru, en. По умолчанию язык формы определяется исходя из страны, к которой относится IP адрес пользователя
signature
строка
Цифровая подпись запроса. Данная функция является обязательной у всех новых партнёров Unitpay. Она защищает вас от злоумышленников - подмены описания или стоимости заказа, размещения ссылки на оплату на ресурсах мошенников.
ip
строка
IP адрес плательщика
backUrl
строка
Адрес возврата пользователя с платежной формы без совершения покупки, по умолчанию используется адрес проекта. В адресе обязательно должен использоваться домен проекта. Примеры: "https://redirect.<домен проекта>/?someParams", "https://<домен проекта>/redirect/"
subscription
true/false
Используйте данный флаг, если требуется создать подписку по карте плательщика. Идентификатор подписки (subscriptionId) будет передан в методе PAY на ваш обработчик платежа. Использование подписок возможно только после согласования с вашим курирующим менеджером
subscriptionId
число
Идентификатор подписки, по которой требуется произвести списание средств. Данный параметр должен быть предварительно получен в методе PAY на ваш обработчик платежа
preauth
true/false
Используйте этот флаг для создания платежа с преавторизацией, по умолчанию флаг выключен и значение равно 0
preauthExpireLogic
число
Поле для логики блокировки платежей с преавторизацией 0 - При отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет подтвержден 1 - При отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет отменен. Если параметр не будет использован, платеж будет отменен по истечении срока.
По мере выполнения платежа мы уведомляем платформу магазина о статусе оплаты, последовательно отправляя GET запросы на URL обработчика.
Если вы подключили онлайн-кассу в ЛК, то для формирования чеков необходимо дополнительно передать ряд параметров
Запрос можно выполнить в тестовом режиме. Узнать подробнее

Успешный ответ

Redirect
Response (не ApplePay)
Response (ApplePay)
Invoice
{
"result": {
"message": "Платеж успешно создан.",
"paymentId": "1400072",
"receiptUrl": "https://unitpay.ru/pay/receipt/111-ab34c22",
"type": "redirect",
"redirectUrl": "http://unitpay.ru/pay/redirect/111-ab34c22"
}
}
{
"result": {
"message": "Платеж успешно создан.",
"paymentId": "1400072",
"receiptUrl": "https://unitpay.money/pay/receipt/111-ab34c22",
"type": "response",
"response": "<form>...</form>"
}
}
{
"result": {
"message": "Платеж успешно создан.",
"paymentId": "1400072",
"receiptUrl": "https://unitpay.money/pay/receipt/111-ab34c22",
"type": "response",
"response": {
"success": 1,
"orderId": "123",
"appleResponse": {
/* объект */
},
"approveUrl": "url"
}
}
}
{
"result": {
"message": "Платеж успешно создан.",
"paymentId": "1400072",
"receiptUrl": "https://unitpay.money/pay/receipt/111-ab34c22",
"type": "invoice",
"invoiceId": "123"
}
}
Значение
Описание
message
string
Информация о результате формирования платежа
paymentId
bigint
Номер платежа в системе UnitPay
receiptUrl
string
Ссылка на чек Примечание: возвращается, если подключена касса Юнит.Чеки, Атол или e-comm.
type
string
Тип ответа:
redirect — необходимо перенаправить пользователя на адрес, указанные в redirectUrl
response - необходимо показать пользователю информацию, указанную в response invoice — счет создан автоматически и направлен плательщику. Дополнительных действий не требуется
redirectUrl
string
URL для переадресации пользователя на шлюз платежной платформы
response
string
html код формы, а если ApplePay, то json
html - необходимо отобразить на странице
json - необходимо направить пользователя по approveUrl
invoiceId
string
id счета

Ошибочный ответ

{"error": {
"message": "Описание ошибки"
}}
Значение
Описание
message
строка
Информация с описанием ошибки формирования платежа
Если ваш сайт создан с помощью CMS, ознакомьтесь со списком готовых модулей. Для взаимодействия с API вы можете использовать библиотеку Unitpay PHP-SDK.