ДеньгиOnline

2017-01-16 19:48:05

QIWI-кошелек

При выставлении счёта в фоновом режиме параметр mode_type принимает специальное значение mobilePayment. Кроме того, к стандартным обязательным и дополнительным параметрам добавляются ещё 3 обязательных параметра (см.ниже).

После обработки переданных Проектом данных Система присылает ответ в формате xml, содержащий следующие тэги:

Параметр Описание параметра Формат параметра
status Код статуса выставления счёта. 0 - запрос успешно обработан,
-1 - ошибка при запросе
comment Текстовая расшифровка статуса или перечисление всех обнаруженных ошибок. string
ODpaymentID В случае успешного платежа - идентификатор платежа в системе Деньги Online. integer
iframeSRC Кодированная Ссылка для встраивания в iframe. (Для декодирования использовать функцию base64_decode) string

 

Пример ответа в случае успешного выставления и оплаты счёта:

<?xml version="1.0" encoding="UTF-8"?>
<response>
	<status>0</status>
	<comment>Запрос успешно обработан</comment>
	<ODpaymentID>3386642</ODpaymentID>
	<iframeSRC>aHR0cHM6Ly93Ln.......Vl</iframeSRC>
</response>

Пример ответа в случае ошибки выставления счёта:

<?xml version="1.0" encoding="UTF-8"?> 
<response>
	<status>-1</status>
	<comment><![CDATA[Контрольная подпись не верна]]></comment>
</response>

 

Таблица обязательных параметров для выставления счёта на оплату электронным кошельком QIWI в фоновом режиме

Параметр Описание параметра Значение параметра
mode_type Идентификатор фонового метода оплаты. mobilePayment
sendQIWIPayment Идентификатор платёжной системы QIWI-кошелёк. 1
qiwi_phone Номер кошелька с кодом страны string,
например: +79211234567
md5

Контрольная подпись запроса. Формируется как хэш по алгоритму md5 от конкатенации следующих параметров, приведенных к нижнему регистру:

  • секретный ключ проекта,
  • ID проекта в системе Деньги Online,
  • значение параметра nickname,
  • значение параметра amount,
  • значение параметра qiwi_phone,
  • секретный ключ проекта.
md5(strtolower(секрет
проекта.project.nickname.
floatval(amount).phone.секрет проекта))

 

Пример реализации запроса на выставления счёта на оплату электронным кошельком QIWI (PHP)

<?php 
$secret = 'XXXXXXX'; 
$vars = array( 
	'project' => 123, 
	'nickname' => 'payment to test project', 
	'mode_type' => 'mobilePayment', 
	'amount' => 100, 
	'qiwi_phone' => '9211234567', 
	'sendQIWIPayment' => 1,
	'paymentCurrency' => 'RUB'
); 
 
$vars['md5'] = $vars['md5'] = md5(strtolower($secret.$vars['project'].$vars['nickname'].floatval($vars['amount']). $vars['qiwi_phone'].$secret)); 
 
$vars = http_build_query($vars); 
 
$ch = curl_init('https://www.onlinedengi.ru/wmpaycheck.php'); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$res = curl_exec($ch); 
curl_close($ch); 
?>