Перейти к содержимому
Калькуляторы

[РЕШЕНО] LanBilling - Обещанный платёж через API

Коллеги, может у кого был опыт реализации - нужен пример или название функции для проведения обещанного платежа через API LanBilling. В документации на оф. сайте этого почему-то нет. Выручайте.

Изменено пользователем asid2006

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть функция getPromisePayments - точно.

Может есть и что-то типа setPromisePayments. Но в доках тоже не нашел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да просто посмотреть исходники ЛК и найти какую они функцию вызывают. видимо как-то так grep -i -R promise * в директории ЛК

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я прям в базу вставляю платежи, там похоже триггеры стоят, либо ядро(LBcore) мониторит, но абонент включается автоматом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я прям в базу вставляю платежи, там похоже триггеры стоят, либо ядро(LBcore) мониторит, но абонент включается автоматом.

Речь не о платежах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Речь не о платежах.

Эм, я мож читаю не верно, человек ОП просит, верно? или под словом обещанный платеж он понимает кошечек на ютубчике?

Я вставляю в базу простым insert как обычные платежи, так и обещанные. Деньги учитываются, ОП действую только определенное время, биллинг сразу делает разблокировку. Все мои цели достигнуты.

Изменено пользователем swelf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не уверен, что обещанный платеж и обычный платеж в одной таблице.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Они в разных, да.я немного наврал, баланс не меняется автоматом, его тоже нужно править вручную.

так выглядит платеж.

'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))

 

это питонячье форматирование строк. Биллинг при этом блокирует/снимает блокировку сам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

API: ClientPromisePayment(agrm_id, summ);

Еще есть PromisePayment(agrm_id, summ);

В чем разница - хз, надо пробовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разобрался:

$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 } })";
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может еще кому пригодится:

 

Проведение платежей через 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(); //в конце работы скрипта

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо создать ветку на форуме с готовы мм решениями для ланбиллинга :)

Может кто свой дополнительный модуль писал в связке с биллингом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Odissey

зачем? все примеры есть в коде админки и ЛК

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может кто свой дополнительный модуль писал в связке с биллингом.

Писал отчет через API по введенным пользователями обещанным платежам (тогда в админке ЛБ такого нельзя было посмотреть): http://forums.lanbilling.ru/board/viewtopic.php?p=10312#p10312

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.