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