public function getBillableProducts($bIncludeUnconfirmedTransactions = true)
    {
        $aProductList = array();
        $oOrderItemList = $this->order->GetFieldShopOrderItemList();
        $oOrderItemList->GoToStart();
        while ($oOrderItem = $oOrderItemList->Next()) {
            $iBilled = $this->getProductAmountWithTransactionType(
                $oOrderItem->id,
                self::TRANSACTION_TYPE_PAYMENT,
                $bIncludeUnconfirmedTransactions
            );
            $iRemaining = round($oOrderItem->fieldOrderAmount - $iBilled);
            if ($iRemaining > 0) {
                $aProductList[$oOrderItem->id] = $iRemaining;
            }
        }
        $oOrderItemList->GoToStart();

        return $aProductList;
    }