ДеньгиOnline

2017-01-16 19:48:05

Банковские карты (iFrame)

При выставлении счёта на оплату банковскими картами в обычном режиме параметр mode_type должен иметь значение, указанное техническим специалистом при техническом подключении.

Выставление счёта в фоновом режиме для банковских карт происходит с использованием встроенного блока (iFrame). Перенаправления Пользователя на другие сайты при этом не происходит. Этот режим доступен только для следующих mode_type:

  • 624 (Банковские карты);

При этом к стандартным обязательным и дополнительным параметрам добавляется обязательный параметр xml.

После выставления счёта происходит перенаправление Пользователя на сайт Платёжной системы внутри встроенного блока.

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

Параметр Описание параметра Формат параметра
status Код статуса платежа. 0 - запрос успешно обработан,
-1 - ошибка при запросе
comment Текстовая расшифровка статуса или перечисление всех обнаруженных ошибок. string
iframeUrl Ссылка для встраивания в iframe. string
payment_id ID транзакции на стороне ДеньгиOnline. int
amount_original Сумма запроса в российских рублях float
currency Валюта оплаты в платежной системе. string

В случае успешного выставления счёта все возвращаемые тэги являются служебными и используются для формирования URL для iFrame. При выставлении счёта используется URL, передаваемый параметром iframeUrl.

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

<?xml version="1.0" encoding="UTF-8"?> 
<response> 
	<status>0</status> 
	<iframeUrl><![CDATA[https://www.onlinedengi.ru/pay/invoice.php?id=288902752&csrf=80009f613ebd3df67a842b1f370a77f6&xml=1&lang=ru]]></iframeUrl>
	<payment_id>34343433</payment_id> 
	<amount_original>100</amount_original> 
	<currency>RUB</currency> 
</response> 

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

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

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

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

 

 Пример формирования iFrame 
при выставлении счёта на оплату банковскими картами на mode_type 624 (PHP)

<?php 
$vars = array( 
'project' => 189, 
'nickname' => '23497434', 
'order_id' => '123456', 
'amount' => 100, 
'mode_type' => 624, 
'xml' => 1 
); 
 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, '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_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
$res = curl_exec($ch); 
 
$xml = simplexml_load_string($res, 'SimpleXMLElement', LIBXML_NOCDATA); 
if(intval($xml->status) == 0){ 
$url = trim($xml->iframeUrl); 
?> 
<iframe name="onmoney" src="<?php echo $url; ?>" width="530" height="925" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"></iframe> 
<?php 
} 
else{ echo $xml->comment;
} 
?>