{
    $this->deb->createInvoice();
    $products = array();
    foreach ($this->sc as $i)
    {
      
      $ilias_tid = $this->ilUser->getId() . "_" . $tid;
      
      
      $bo->setPobjectId( isset($i['pobject_id']) ? $i['pobject_id'] : 0 );
      $bo->setCustomerId( $this->ilUser->getId() );
      $bo->setVendorId( $pod['vendor_id'] );
      $bo->setPayMethod($this->paytype);
      $bo->setOrderDate(time());
     
     
      
                $bo->setDuration($i['duration']);  
                $bo->setPrice(
$sc[$i][
'price_string']);                 
      
      $bo->setDiscount(0);
      $bo->setVoucher('');
      $bo->setVatRate( $i['vat_rate'] );
      $bo->setVatUnit( $i['vat_unit'] );
            
      $bo->setTransactionExtern($tid);
     
      
      
        $product_name = $i['object_title'];
                $duration = $i['duration'];
                $amount = $i['price']; 
                
      include_once './Services/Payment/classes/class.ilPayMethods.php';
      $save_adr = (int) ilPaymethods::_EnabledSaveUserAddress($this->paytype) ? 1 : 0;
      
      
        $bo->setStreet($this->ilUser->getStreet(), '');
        $bo->setPoBox('');
        $bo->setZipcode($this->ilUser->getZipcode());
        $bo->setCity($this->ilUser->getCity);
        $bo->setCountry($this->ilUser->getCountry());
      
    
      $bo->setPayed(1);
      $bo->setAccess(1);
      $boid = $bo->add();
      
      
      if ( $i['typ'] == 'crs')
      {
        include_once './Modules/Course/classes/class.ilCourseParticipants.php';
        $this->deb->createInvoiceLine( 0, $product_name . " (" . $duration. ")", 1, $amount );      
        $products[] = $product_name;
        $cp->sendNotification($cp->NOTIFY_ACCEPT_SUBSCRIBER, $this->ilUser->getId());
      }
    }   
    $inv = $this->deb->bookInvoice();
    $invoice_number = $this->deb->getInvoiceNumber();
    $attach = $this->deb->getInvoicePDF($inv);
    $this->deb->saveInvoice($attach, false);
    $lng->loadLanguageModule('payment');
    $this->deb->sendInvoice($lng->txt('pay_order_paid_subject'), 
          $this->ilUser->getFullName() . ",\n" . 
            str_replace( '%products%', implode(", ", $products), $lng->txt('pay_order_paid_body')) , 
          $this->ilUser->getEmail(), 
          $attach, $lng->txt('pays_invoice') ."-" . $invoice_number
    );
    $this->cart->emptyShoppingCart();   
  }