META

Billing

Java API

Example

<elem states="default">
  <tpl>
    <p>
      BillingService нужен для накладывания ограничений на доступный функционал 
    </p>
    <p class="text-warning">
      Для просмотра логов откройте chrome devtools console и включили dev mode в мете.
    </p>
    
    <a ng-click="changeState('test_in_js', {})" href>Go To JS</a>
  </tpl>
</elem>

<script type="meta/js" id="ex0" states="test_in_js">
  function main(log) {
    log.info('ex0 выполняется в любом случае, так как он перед проверкой по биллингу');
  }
</script>

<script type="meta/js" id="ex1" states="test_in_js">
  function main(log, env, vm, pvm, BillingService) {
    log.info('ex1 Перед проверкой по биллингу');
    
    // Метод checkAddSkuUsage бросает исключение PaymentRequiredException и останавливает выполенение скриптов за 
    BillingService.checkAddSkuUsage('feeds', 'feeds-streams-count', 10);
    
    log.info('ex1 Этот код уже не исполнится, если будет PaymentRequiredException');
  }
</script>

<script type="meta/js" id="ex2" states="test_in_js">
  function main(log, BillingService) {
    // В случае исключения PaymentRequiredException этот скрипт уже не выполнится
    // В нашем примере мы всегда получаем исключение
    log.info('ex2 только, если мы не получили PaymentRequiredException');
  }
</script>