ДеньгиOnline

2017-01-16 19:48:05

Денежные переводы

Обратите внимание:  сумма, которую оплачивает Пользователь, может отличаться от суммы выставленного счёта. 

К системам денежных переводов относятся следующие методы оплаты:

  • Рапида (mode_type=54);
  • касса Евросети (mode_type=62);

Для выставления счёта на оплату через вышеперечисленные платёжные системы в запросе, помимо обязательных и, при необходимости, дополнительных параметров, должны присутствовать ещё 2 обязательных параметра: xml и md5.

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

Параметр Описание параметра Формат параметра
status Код статуса выставления счёта. 0 - запрос успешно обработан, -1 - ошибка при запросе
comment Текстовая расшифровка статуса или перечисление всех обнаруженных ошибок. string
ODpaymentData В случае успешного выставления счёта - его реквизиты. Реквизиты счёта должны быть показаны Пользователю для совершения оплаты. В ноде ODpaymentData будут переданы тэги DataForUser, содержащие реквизиты счёта в формате <DataForUser title=”Наименование параметра” value=”Значение параметра />.

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

<?xml version="1.0" encoding="UTF-8"?>
<response>
	<status>0</status>
	<comment>Запрос успешно обработан</comment>
	<ODpaymentData>
		<DataForUser title="Получатель платежа" value="Деньги Online" />
		<DataForUser title="Номер платежа" value="3672080" />
	</ODpaymentData>
</response>

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

<?xml version="1.0" encoding="UTF-8"?>
<response>
	<status>-1</status>
	<comment><![CDATA[Некорректно заполнена Сумма платежа]]></comment>
</response>

Таблица обязательных параметров

 

для выставления счёта на оплату денежными переводами 

Параметр Описание параметра Значение параметра
xml Идентификатор способа формирования ответа на запрос. 1
md5

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

  • секретный ключ проекта,
  • ID проекта в системе Деньги Online,
  • значение параметра amount без нолей после запятой,
  • значение параметра mode_type,
  • значение параметра order_id.

md5(секрет проекта.project.floatval(amount).mode_type.order_id)

 

Пример реализации запроса на выставления счёта для оплаты денежными переводами (PHP)

<?php 
$secret = 'XXXXXX'; 
$vars = array( 
	'project' => 123, 
	'nickname' => 'payment to test project', 
	'order_id' => '123456', 
	'amount' => 10, 
	'paymentCurrency' => 'RUB',
/* 
 * Для выставления счёта на другую систему нужно 
 * изменить значение параметра mode_type:
 * 54 - Рапида
 * 62 - Евросеть
 	*/ 
	'mode_type' => 62, 
	'xml' => 1, 
); 
 
$vars['md5'] = md5($secret.$vars['project'].floatval($vars['amount']).$vars['mode_type'].$vars['order_id']); 
 
$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); 
?>