Skip to main content
The SDK ships an optional service provider and facade, auto-discovered in Laravel applications. The package stays pure PHP: the integration activates only when Laravel is present and adds no framework dependency otherwise.

Configure

Set your key in .env:
ORCHESTRATE_SECRET_KEY=sk_live_xxx
Optionally publish the config:
php artisan vendor:publish --tag=orchestrate-config
config/orchestrate.php
return [
    'secret_key'      => env('ORCHESTRATE_SECRET_KEY'),
    'base_uri'        => env('ORCHESTRATE_BASE_URI', 'https://api.orqex.com/v1'),
    'timeout'         => (float) env('ORCHESTRATE_TIMEOUT', 30),
    'connect_timeout' => (float) env('ORCHESTRATE_CONNECT_TIMEOUT', 10),
    'max_retries'     => (int) env('ORCHESTRATE_MAX_RETRIES', 2),
];

Resolve the client

use Orqex\Orchestrate\OrchestrateClient;
use Orqex\Orchestrate\Laravel\Facades\Orchestrate;

// From the container
app(OrchestrateClient::class)->paymentIntents()->all();

// Via the facade
Orchestrate::paymentIntents()->create([
    'amount'      => 50,
    'currency'    => 'XOF',
    'description' => 'Order #1024',
    'customer'    => ['email' => '[email protected]', 'first_name' => 'Ama', 'last_name' => 'Mensah'],
]);
The client is bound as a singleton, so the same instance is reused across the request.