PHP code example of susheelbhai / laraship

1. Go to this page and download the library: Download susheelbhai/laraship 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/ */

    

susheelbhai / laraship example snippets


Route::middleware(['auth:admin'])->prefix('admin')->name('admin.')->group(function () {
    

Route::middleware(['auth'])->group(function () {
    

// Webhook routes (PUBLIC - NO AUTHENTICATION REQUIRED)
// ⚠️ CRITICAL: Do NOT put behind auth middleware!
// Shipping providers need direct access to send webhooks

use Susheelbhai\Laraship\Traits\HasShippingDimensions;

class Product extends Model
{
    use HasShippingDimensions;
}

use Susheelbhai\Laraship\Traits\HasShipment;

class Order extends Model
{
    use HasShipment;
}

$provider = ShippingProviderFactory::make('shiprocket', $credentials);

// Check balance
$balance = $provider->getBalance();

// Recharge wallet
$result = $provider->rechargeWallet(1000.00);

use Susheelbhai\Laraship\Facades\Laraship;

// Get shipping rates
$rates = Laraship::calculateRates($order);

// Book shipment
$shipment = Laraship::bookCourier($order, $providerId, $serviceType);

// Track shipment
$tracking = Laraship::trackShipment($shipment);

// Cancel shipment
Laraship::cancelShipment($shipment);

use Susheelbhai\Laraship\Services\ShippingProviderFactory;

// Get provider instance
$provider = ShippingProviderFactory::make('shiprocket', [
    'email' => '[email protected]',
    'password' => 'your-password',
]);

// Check wallet balance
$balance = $provider->getBalance();
if ($balance) {
    echo "Balance: {$balance['formatted']}"; // ₹ 5,000.00
    echo "Amount: {$balance['balance']}";    // 5000.00
    echo "Currency: {$balance['currency']}"; // INR
}

// Recharge wallet
$recharge = $provider->rechargeWallet(1000.00, [
    'payment_method' => 'online',
    'transaction_reference' => 'TXN123456',
]);

if ($recharge) {
    echo "Transaction ID: {$recharge['transaction_id']}";
    echo "Amount: {$recharge['amount']}";
    echo "Status: {$recharge['status']}";
    
    // If payment URL is provided (for online payment)
    if (isset($recharge['payment_url'])) {
        return redirect($recharge['payment_url']);
    }
}

use Susheelbhai\Laraship\Models\ShippingProvider;

$provider = ShippingProvider::find($providerId);
$adapter = $provider->getAdapter();

// Check balance
$balance = $adapter->getBalance();

// Recharge wallet
$recharge = $adapter->rechargeWallet(2500.00);

use Susheelbhai\Laraship\Models\ShippingProvider;
use Illuminate\Http\Request;

class WalletController extends Controller
{
    public function balance($providerId)
    {
        $provider = ShippingProvider::findOrFail($providerId);
        $adapter = $provider->getAdapter();
        
        $balance = $adapter->getBalance();
        
        if (!$balance) {
            return response()->json([
                'message' => 'Provider does not support balance API'
            ], 404);
        }
        
        return response()->json($balance);
    }
    
    public function recharge(Request $request, $providerId)
    {
        $request->validate([
            'amount' => 'ult['transaction_id'],
            'amount' => $result['amount'],
        ]);
        
        return response()->json($result);
    }
}
bash
php artisan vendor:publish --tag=laraship-config
bash
php artisan vendor:publish --tag=laraship-migrations
php artisan migrate
bash
php artisan vendor:publish --tag=laraship-controllers
bash
php artisan vendor:publish --tag=laraship-requests
bash
php artisan vendor:publish --tag=laraship-components
bash
php artisan vendor:publish --tag=laraship-routes
bash
php artisan vendor:publish --tag=laraship-user-routes
bash
php artisan vendor:publish --tag=laraship-webhook-routes
bash
php artisan vendor:publish --tag=laraship-routes --tag=laraship-user-routes --tag=laraship-webhook-routes
bash
php artisan vendor:publish --tag=laraship-seeders
bash
php artisan vendor:publish --tag=laraship-notifications
bash
php artisan laraship:install