asid2006 Posted March 29, 2016 Posted March 29, 2016 (edited) Коллеги, может у кого был опыт реализации - нужен пример или название функции для проведения обещанного платежа через API LanBilling. В документации на оф. сайте этого почему-то нет. Выручайте. Edited April 1, 2016 by asid2006 Вставить ник Quote
Andrei Posted March 29, 2016 Posted March 29, 2016 Есть функция getPromisePayments - точно. Может есть и что-то типа setPromisePayments. Но в доках тоже не нашел. Вставить ник Quote
s.lobanov Posted March 30, 2016 Posted March 30, 2016 да просто посмотреть исходники ЛК и найти какую они функцию вызывают. видимо как-то так grep -i -R promise * в директории ЛК Вставить ник Quote
swelf Posted March 30, 2016 Posted March 30, 2016 я прям в базу вставляю платежи, там похоже триггеры стоят, либо ядро(LBcore) мониторит, но абонент включается автоматом. Вставить ник Quote
Andrei Posted March 30, 2016 Posted March 30, 2016 я прям в базу вставляю платежи, там похоже триггеры стоят, либо ядро(LBcore) мониторит, но абонент включается автоматом. Речь не о платежах. Вставить ник Quote
swelf Posted March 31, 2016 Posted March 31, 2016 (edited) Речь не о платежах. Эм, я мож читаю не верно, человек ОП просит, верно? или под словом обещанный платеж он понимает кошечек на ютубчике? Я вставляю в базу простым insert как обычные платежи, так и обещанные. Деньги учитываются, ОП действую только определенное время, биллинг сразу делает разблокировку. Все мои цели достигнуты. Edited March 31, 2016 by swelf Вставить ник Quote
Andrei Posted March 31, 2016 Posted March 31, 2016 Не уверен, что обещанный платеж и обычный платеж в одной таблице. Вставить ник Quote
swelf Posted March 31, 2016 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
Heggi Posted April 1, 2016 Posted April 1, 2016 API: ClientPromisePayment(agrm_id, summ); Еще есть PromisePayment(agrm_id, summ); В чем разница - хз, надо пробовать Вставить ник Quote
asid2006 Posted April 1, 2016 Author 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
Andrei Posted April 1, 2016 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
Odissey Posted April 1, 2016 Posted April 1, 2016 Надо создать ветку на форуме с готовы мм решениями для ланбиллинга :) Может кто свой дополнительный модуль писал в связке с биллингом. Вставить ник Quote
s.lobanov Posted April 1, 2016 Posted April 1, 2016 Odissey зачем? все примеры есть в коде админки и ЛК Вставить ник Quote
Andrei Posted April 2, 2016 Posted April 2, 2016 Может кто свой дополнительный модуль писал в связке с биллингом. Писал отчет через API по введенным пользователями обещанным платежам (тогда в админке ЛБ такого нельзя было посмотреть): http://forums.lanbilling.ru/board/viewtopic.php?p=10312#p10312 Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.