| Package Data | |
|---|---|
| Maintainer Username: | permadiwibisono | 
| Maintainer Contact: | mbapewe@gmail.com (Permadi Wibisono) | 
| Package Create Date: | 2017-09-25 | 
| Package Last Update: | 2018-03-18 | 
| Language: | PHP | 
| License: | MIT | 
| Last Refreshed: | 2025-10-27 03:11:09 | 
| Package Statistics | |
|---|---|
| Total Downloads: | 188 | 
| Monthly Downloads: | 0 | 
| Daily Downloads: | 0 | 
| Total Stars: | 0 | 
| Total Watchers: | 1 | 
| Total Forks: | 1 | 
| Total Open Issues: | 0 | 
A wrapper for Raja Ongkir API built for laravel and lumen (only available for Starter Account) Basic and Pro Accounts available soon
composer require pewe/laravel-rajaongkir
Edit your .env file. Place your key, you can get your key in Raja Ongkir page
RAJAONGKIR_API_KEY=12345667
Edit your boostrap/app.php
Enable Facades
$app->withFacades();
Enable class_alias (Optional)
class_alias('Pewe\RajaOngkir\Facades\Province', 'Province');
class_alias('Pewe\RajaOngkir\Facades\City', 'City');
class_alias('Pewe\RajaOngkir\Facades\Cost', 'Cost');
Register RajaOngkirServiceProvider (Optional)
$app->register(Pewe\RajaOngkir\Providers\RajaOngkirServiceProvider::class);
Copy config file rajaongkir.php (vendor/pewe/laravel-rajaongkir/src/config/rajaongkir.php) to your folder config. Or if You're already install package laravelista/lumen-vendor-publish.
You must register RajaOngkirServiceProvider before, then use this command:
php artisan vendor:publish --tag=laravel-rajaongkir-config
Configure your config
$app->configure('rajaongkir');
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
/*...*/
use City; //if using class_alias
//use Pewe\RajaOngkir\Facades\City; //if not using class_alias
class ExampleController extends Controller
{
  /*...*/
  public function getCities(){
    dd(City::all());
  }
}
City::all();
City::find($id);
| Parameters | Type | Description | Default | Example | | ----------------- |:--------------:| ------------------------ | ------------------------- | ---------:| | $id | Integer | City ID | Required | 147 |
Province::all();
Province::find($id);
| Parameters | Type | Description | Default | Example | | ----------------- |:--------------:| ------------------------ | ------------------------- | ---------:| | $id | Integer | Province ID | Required | 1 |
Cost::couriers($destination,$weight,$origin);
| Parameters | Type | Description | Default | Example | | ----------------- |:--------------:| ------------------------ | ------------------------- | ---------:| | $destination | Integer | City ID of Destination | Required | 147 | | $weight | Integer | Weight of package | 1000 | 1000 | | $origin | Integer | City ID of Origin | config(rajaongkir.origin) | 146 |
Cost::calculate($destination,$courier,$weight,$origin,$service);
| Parameters | Type | Description | Default | Example | | ----------------- |:--------------:| ------------------------ | ------------------------- | ---------:| | $destination | Integer | City ID of Destination | Required | 147 | | $courier | String | Courier code | Required | jne | | $weight | Integer | Weight of package | 1000 | 1000 | | $origin | Integer | City ID of Origin | config(rajaongkir.origin) | 146 | | $service | String | Service name | Nullable | reg |
If your key submit is invalid InvalidTokenException will thrown.
And if Bad Request from their server, RajaOngkirRequestException will thrown.
Call undefined function Pewe\RajaOngkir\Providers\config_path()
Create a file called helpers.php in the app/ directory. Paste the code inside it.
<?php
 if ( ! function_exists('config_path'))
 {
   /**
    * Get the configuration path.
    *
    * @param  string $path
    * @return string
    */
    function config_path($path = '')
    {
       return app()->basePath() . '/config' . ($path ? '/' . $path : $path);
    }
  }
Go to composer.json and add files to autoload so that it looks like this:
 ...
 "autoload": {
      "psr-4": {
      "App\\": "app/"
    },
    "files": [
       "app/helpers.php"
    ]
  },
 ...
Run composer dump-autoload to load the newly created helpers file.
Or just following this gist.
Show your :heart: and support by giving a :star2: or fork. Any suggestions, issues and pull request are welcome :beers:!