Solutech Engineering
Innovations/Add-on Services

Configuration & Settings

Complete configuration requirements and settings for the Add-on Services system

Configuration & Settings

This section consolidates all configuration requirements for the Add-on Services system.

Environment Variables (.env)

Service Control Settings

# Add-on Services Configuration
ADMIN.PRODUCT_ITEM_PLANS.GENERATE_INVOICES=api/billing/product-item-plans/generate-invoices
ADMIN.PRODUCT_ITEM_PLANS.CLOSE_INVOICES=api/billing/product-item-plans/close-invoices
ADMIN.BASE_URL=https://admin.solutechlabs.com/
ADMIN.TEST_BASE_URL=https://admintest.solutechlabs.com:8000/

# Payment Configuration for Add-on Services
ADD_ON_SERVICES.PAYBILL_SHORT_CODE=4141205
ADD_ON_SERVICES.PARTY_B=4141205
ADD_ON_SERVICES.TEST_PAYBILL_SHORT_CODE=784743
ADD_ON_SERVICES.TEST_PARTY_B=784743
ADD_ON_SERVICES.PAYBILL_ACCOUNT_NUMBER=Add-On Services
ADD_ON_SERVICES.USE_STK_C2BC_URL=${APP_URL}/api/payments/c2bvalidation

Application Settings (config/settings.php)

General Settings Configuration

Disable Addon Services for SMS mesaging

General Setting: 'disable_addons_for_sms_messaging',
Value: 'yes' / 'no'
Use: strtolower(config('disable_addons_for_sms_messaging')) == 'yes'

Disable LPO Pages

General Setting: 'disable_addons_for_eva_docs'
Value: 'yes' / 'no'
Use: strtolower(config('disable_addons_for_eva_docs')) == 'yes'

Add-on Services Configuration

// config/addon-service.php
<?php

return [
    'generate_invoice' => env('ADMIN.PRODUCT_ITEM_PLANS.GENERATE_INVOICES') ?? 'api/billing/product-item-plans/generate-invoices',
    'close_invoice' => env('ADMIN.PRODUCT_ITEM_PLANS.GENERATE_INVOICES') ?? 'api/billing/product-item-plans/close-invoices',
    'base_url' => env('ADMIN.BASE_URL') ?? 'https://admin.solutechlabs.com/',
    'test_base_url' => env('ADMIN.TEST_BASE_URL') ?? 'https://admintest.solutechlabs.com:8000/',    
    'paybill_short_code' => env('ADD_ON_SERVICES.PAYBILL_SHORT_CODE') ?? '4141205',
    'partyB' => env('ADD_ON_SERVICES.PARTY_B') ?? '4141205',
    'test_paybill_short_code' => env('ADD_ON_SERVICES.TEST_PAYBILL_SHORT_CODE') ?? '784743',
    'test_partyB' => env('ADD_ON_SERVICES.TEST_PARTY_B') ?? '784743',
    'paybill_account_number' => env('ADD_ON_SERVICES.PAYBILL_ACCOUNT_NUMBER') ?? 'Add-On Services',
    'use_stk_c2bc_url' => env('ADD_ON_SERVICES.USE_STK_C2BC_URL') ?? env('APP_URL') . '/api/payments/c2bvalidation'
];

Required User Roles & Permissions

Permission Structure Usage

// Controller access validation
if (!(new CheckUserRoles(Auth::id(), 'manage_add_on_services'))->handle()) {
    abort(403, 'Unauthorized access to add-on services');
}

This comprehensive configuration setup ensures the Add-on Services system is properly configured for production deployment with appropriate security, performance, and monitoring capabilities.