asid2006 Posted March 29, 2016 (edited) Коллеги, может у кого был опыт реализации - нужен пример или название функции для проведения обещанного платежа через API LanBilling. В документации на оф. сайте этого почему-то нет. Выручайте. Edited April 1, 2016 by asid2006 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted March 29, 2016 Есть функция getPromisePayments - точно. Может есть и что-то типа setPromisePayments. Но в доках тоже не нашел. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted March 30, 2016 да просто посмотреть исходники ЛК и найти какую они функцию вызывают. видимо как-то так grep -i -R promise * в директории ЛК Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
swelf Posted March 30, 2016 я прям в базу вставляю платежи, там похоже триггеры стоят, либо ядро(LBcore) мониторит, но абонент включается автоматом. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted March 30, 2016 я прям в базу вставляю платежи, там похоже триггеры стоят, либо ядро(LBcore) мониторит, но абонент включается автоматом. Речь не о платежах. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
swelf Posted March 31, 2016 (edited) Речь не о платежах. Эм, я мож читаю не верно, человек ОП просит, верно? или под словом обещанный платеж он понимает кошечек на ютубчике? Я вставляю в базу простым insert как обычные платежи, так и обещанные. Деньги учитываются, ОП действую только определенное время, биллинг сразу делает разблокировку. Все мои цели достигнуты. Edited March 31, 2016 by swelf Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted March 31, 2016 Не уверен, что обещанный платеж и обычный платеж в одной таблице. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
swelf Posted March 31, 2016 Они в разных, да.я немного наврал, баланс не меняется автоматом, его тоже нужно править вручную. так выглядит платеж. 'insert into payments (agrm_id,amount,comment,pay_date,local_date,status,mod_person,amount_cur_id,amount_cur,class_id) values (%s,%s,"%s",now(),now(),0,18,0,%s,0);' % (p.agrm_id,amount,comment,amount) 'update agreements set balance=%s where agrm_id=%s;' % (p.agrm.balance+amount,p.agrm.agrm_id) а так выглядит обещанный платеж "insert into promise_payments (agrm_id,amount,prom_date,prom_till,debt) values (%s,%s,now(),adddate(now(),5),%s);" % (agr.agrm_id,balance*(-1.05),balance*(-1.05)) это питонячье форматирование строк. Биллинг при этом блокирует/снимает блокировку сам. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Heggi Posted April 1, 2016 API: ClientPromisePayment(agrm_id, summ); Еще есть PromisePayment(agrm_id, summ); В чем разница - хз, надо пробовать Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
asid2006 Posted April 1, 2016 Разобрался: $struct = array("agrm" => (integer)$agrmid, "summ" => (float)$sum); if( false != ($result = $lanbilling->get("PromisePayment", $struct, true))) { $lanbilling->flushCache(array("getClientPromisePayments", "getClientAccount")); echo "({ success: true })"; } else { echo "({ success: false, errors: { reason: 0 } })"; } Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted April 1, 2016 Может еще кому пригодится: Проведение платежей через API на php http://forums.lanbilling.ru/board/viewtopic.php?p=10242#p10242 include_once("../phpclient/admin/soap.class.php"); include_once("../phpclient/admin/main.class.php"); $_POST["login"] = "логин"; $_POST["password"] = "пароль"; $lb = new LANBilling(); if (!$lb->authorized) { echo "error"; exit; } $paym = array("modperson"=>23,"amount"=>$pay,"paydate"=>$dat,"receipt"=>$pid,"agrmid"=>$agrm_id,"currid"=>1); $result = $lb->save("Payment",$paym); if ($result==1) echo "Платеж $pid на сумму $pay р. проведен\n"; Удаление платежей через API на php http://forums.lanbilling.ru/board/viewtopic.php?p=9958#p9958 //создание объекта ланбиллинга $lanbilling = new LANBilling(); if(!$lanbilling->authorized) { //неуспешная авторизация с ядром LB echo 'Нет авторизации с ЛБ'; exit; } $payment = array( "receipt" => '1220545450107916', "canceldate" => '20130218121314' ); $result = $lanbilling->get("ExternCancelPayment",$payment); echo $result; //возвращает (число) идентификатор платежа в системе провайдера , теперь он аннулированный $lanbilling->Logout(); //в конце работы скрипта Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Odissey Posted April 1, 2016 Надо создать ветку на форуме с готовы мм решениями для ланбиллинга :) Может кто свой дополнительный модуль писал в связке с биллингом. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted April 1, 2016 Odissey зачем? все примеры есть в коде админки и ЛК Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted April 2, 2016 Может кто свой дополнительный модуль писал в связке с биллингом. Писал отчет через API по введенным пользователями обещанным платежам (тогда в админке ЛБ такого нельзя было посмотреть): http://forums.lanbilling.ru/board/viewtopic.php?p=10312#p10312 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...