forum.bitel.ru http://forum.bitel.ru/ |
|
Прокладка между биллингом и Сбербанк-онлайн ФСПУ http://forum.bitel.ru/viewtopic.php?f=18&t=9053 |
Страница 1 из 1 |
Автор: | Yarlan Zey [ 18 мар 2014, 15:27 ] |
Заголовок сообщения: | Прокладка между биллингом и Сбербанк-онлайн ФСПУ |
Исторически так сложилось, что модуль mps есть, но робокассу и сбербанк подключили через самописный шлюз. удобнее. скрипт для организации взаимодействия со сбербанком через ФСПУ (привозят железки с шифрованием) Код: <?php
header('Content-Type: text/xml; charset=UTF-8'); $command = $_GET['command']; $txn_id = $_GET['txn_id']; $account = $_GET['account']; $cid = $account - 1000000000; if ($command=='check') { $xml = simplexml_load_file('http://ip:8080/bgbilling/executer?user=sberbank&pswd=sberbank&sql=SELECT+c.summa1%2Bc.summa2-c.summa3-c.summa4+%2C+b.val%2C+a.address+FROM+contract_parameter_type_2+AS+a+%0ALEFT+JOIN+contract_parameter_type_1+AS+b+ON+%28a.cid%3Db.cid+AND+b.pid%3D1%29+%0ALEFT+JOIN+contract_balance+AS+c+ON+%28a.cid%3Dc.cid+%29%0AWHERE+a.cid%3D'.$cid.'%0AORDER+BY+c.yy+DESC%2C+c.mm+DESC%0ALIMIT+1&action=SQLEditor&module=sqleditor'); foreach($xml->table->data->row->attributes() as $key=>$value) { switch ($key) { case "row0":$balance=$value; case "row1":$fio=$value; case "row2":$address=$value; }}if (is_null($balance)) {$result=300;}else{$result=0;} iconv("windows-1251", "utf-8",$address); $xml='<?xml version="1.0" encoding="UTF-8"?><response><osmp_txn_id>1</osmp_txn_id><balance>'.$balance.'</balance><fio>'.$fio.'</fio><address>'.$address.'</address><result>'.$result.'</result><comment>Успешно.</comment></response>'; } elseif ($command=='pay') { $sum = $_GET['sum']; $txn_date = $_GET['txn_date']; preg_match( '|([0-9]{4})([0-9]{1,2})([0-9]{1,2})|i', $txn_date, $date); $xml = simplexml_load_file('http://ip:8080/bgbilling/executer?user=sberbank&pswd=sberbank&id=new&module=contract&summa='.$sum.'&pt=10&action=UpdateContractPayment&comment='.$txn_date.'_'.$txn_id.'&date='.$date[3].'.'.$date[2].'.'.$date[1].'&cid='.$cid); foreach($xml->attributes() as $key=>$value) { switch ($key) { case "id":$pay_id=$value; case "status":$status=$value; }}if ($status='ok') {$result=0;}else{$result=300;} echo '<?xml version="1.0" encoding="UTF-8"?><response><txn_id>'.$txn_id.'</txn_id><prv_txn>'.$pay_id.'</prv_txn><sum>'.$sum.'</sum><result>'.$result.'</result><comment>Успешно.</comment></response>'; }echo $xml; ?> |
Автор: | skyb [ 18 мар 2014, 15:31 ] |
Заголовок сообщения: | Re: Прокладка между биллингом и Сбербанк-онлайн ФСПУ |
у нас специ сберовские по протоколу который на вики есть сами написали стыковку, который ОСМП |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |