ДеньгиOnline

2017-01-16 19:48:05

Мобильный платеж Мегафон, Билайн или МТС

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

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

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

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

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

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

<?xml version="1.0" encoding="UTF-8"?>
<response>
	<status>-1</status>
	<comment><![CDATA[Номер абонента не указан или не является номером: Мегафон, Билайн, МТС]]></comment>
</response>

 

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

Параметр Описание параметра Значение параметра
mode_type Идентификатор фонового метода оплаты. mobilePayment
sendMobilePayment Идентификатор метода оплаты “мобильный платёж”. 1
qiwi_phone Номер мобильного телефона, со счёта которого будет производиться платёж. 10 цифр (без кода страны)
md5

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

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

 

Пример реализации запроса на выставления счёта на оплату мобильным платежом Мегафон, Билайн или МТС (PHP)

 

<?php
$secret = 'XXXXXX';

$vars = array(
	'project' => 123,
	'nickname' => 'payment to test project',
	'mode_type' => 'mobilePayment',
	'amount' => 10,
	'qiwi_phone' => '9211234567',
	'sendMobilePayment' => 1,
    'paymentCurrency' => 'RUB'
);
$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);
?>