PHP code example of vormia-folks / atu-shipping

1. Go to this page and download the library: Download vormia-folks/atu-shipping library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

vormia-folks / atu-shipping example snippets


return [
    'default_origin_country' => env('ATU_SHIPPING_DEFAULT_ORIGIN_COUNTRY', 'ZA'),
    'base_currency' => env('ATU_SHIPPING_BASE_CURRENCY', config('a2_commerce.currency', 'USD')),
    'enable_logging' => env('ATU_SHIPPING_ENABLE_LOGGING', true),
];

use Vormia\ATUShipping\Facades\ATU;

$options = ATU::shipping()
    ->forCart($cart)
    ->from('ZA')  // Origin country (ISO 3166-1 alpha-2)
    ->to('KE')    // Destination country
    ->options();

// Returns array of shipping options:
// [
//   [
//     'courier' => 'DHL',
//     'fee' => 755.0,
//     'tax' => 120.8,
//     'total' => 875.8,
//     'currency' => 'ZAR',
//     'rule_id' => 12,
//     'tax_rate' => 0.16
//   ]
// ]

$shipping = ATU::shipping()
    ->forOrder($order)
    ->from('ZA')
    ->to('KE');

// Get options
$options = $shipping->options();

// Select a courier (logs the selection)
$selected = $shipping->select('DHL');

Route::prefix('admin/atu/shipping')->name('admin.atu.shipping.')->group(function () {
    // Couriers — second argument is the Livewire view name (see resources/views/livewire/...)
    Route::livewire('couriers', 'admin.atu.shipping.couriers.index')->name('couriers.index');
    Route::livewire('couriers/create', 'admin.atu.shipping.couriers.create')->name('couriers.create');
    Route::livewire('couriers/{id}/edit', 'admin.atu.shipping.couriers.edit')->name('couriers.edit');

    // Rules
    Route::livewire('rules', 'admin.atu.shipping.rules.index')->name('rules.index');
    Route::livewire('rules/create', 'admin.atu.shipping.rules.create')->name('rules.create');
    Route::livewire('rules/{id}/edit', 'admin.atu.shipping.rules.edit')->name('rules.edit');

    // Logs
    Route::livewire('logs', 'admin.atu.shipping.logs.index')->name('logs.index');
});

Route::prefix('atu/shipping')->group(function () {
    // Calculate shipping options for a cart
    Route::post('/calculate', [
        \App\Http\Controllers\Atu\ShippingController::class,
        'calculate'
    ])->name('api.shipping.calculate');

    // Get shipping options for a cart
    Route::get('/options', [
        \App\Http\Controllers\Atu\ShippingController::class,
        'options'
    ])->name('api.shipping.options');

    // Select shipping courier for an order
    Route::post('/select', [
        \App\Http\Controllers\Atu\ShippingController::class,
        'select'
    ])->name('api.shipping.select');
});
bash
php artisan atushipping:install
bash
# Run migrations (package-shipped, auto-loaded)
php artisan migrate

# Run seeders to create default couriers
php artisan db:seed --class=ATUShippingSeeder
bash
php artisan atushipping:install
bash
php artisan atushipping:update
bash
php artisan atushipping:uninstall
bash
# Uninstall without confirmation
php artisan atushipping:uninstall --force

# Uninstall but keep environment variables
php artisan atushipping:uninstall --keep-env
bash
php artisan atushipping:help

GET /atu/shipping/options?cart_id=123&from=ZA&to=KE