PHP code example of lai3221 / aspire-laravel-sdk

1. Go to this page and download the library: Download lai3221/aspire-laravel-sdk 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/ */

    

lai3221 / aspire-laravel-sdk example snippets


use Aspire\Sdk\Facades\Aspire;

$accounts = Aspire::accounts()->list();
$balances = Aspire::accounts()->balances('account_id');

$payout = Aspire::payouts()->create([
    'source_account_id' => 'account_id',
    'recipient_id' => 'recipient_id',
    'amount' => 10000,
    'currency' => 'SGD',
    'reference' => 'INV-1001',
]);

$url = Aspire::oauth()->authorizationUrl(
    redirectUri: route('aspire.callback'),
    scopes: ['accounts.read', 'transactions.read', 'payouts.write']
);

$token = Aspire::oauth()->token($request->get('code'), route('aspire.callback'));
$refreshed = Aspire::oauth()->refresh($token['refresh_token']);

Aspire::accounts()->list(['currency' => 'SGD']);
Aspire::accounts()->retrieve('account_id');
Aspire::accounts()->balances('account_id');
Aspire::accounts()->details('account_id');

Aspire::transactions()->list(['from' => '2026-01-01', 'to' => '2026-01-31']);
Aspire::transactions()->retrieve('transaction_id');
Aspire::bankFeeds()->accounts();
Aspire::bankFeeds()->transactions(['account_id' => 'account_id']);
Aspire::bankFeeds()->sync(['account_id' => 'account_id']);

Aspire::recipients()->create([...]);
Aspire::recipients()->validate([...]);
Aspire::payouts()->quote([...]);
Aspire::payouts()->create([...]);
Aspire::payouts()->bulkCreate(['items' => [[...], [...]]]);
Aspire::payouts()->cancel('payout_id');
Aspire::payouts()->paymentLink([...]);

Aspire::fx()->quote([
    'source_currency' => 'SGD',
    'target_currency' => 'USD',
    'source_amount' => 10000,
]);

Aspire::fx()->convert(['quote_id' => 'quote_id']);

Aspire::users()->create([...]);
Aspire::cards()->create([...]);
Aspire::cards()->freeze('card_id');
Aspire::cards()->unfreeze('card_id');
Aspire::cards()->updateLimits('card_id', [...]);
Aspire::cards()->transactions('card_id');

Aspire::accountOpening()->createApplication([...]);
Aspire::accountOpening()->updateApplication('application_id', [...]);
Aspire::accountOpening()->uploadDocument('application_id', [...]);
Aspire::accountOpening()->submitApplication('application_id');

$payload = $request->getContent();
$signature = $request->header(config('aspire.webhook.signature_header'));
$timestamp = $request->header(config('aspire.webhook.timestamp_header'));

abort_unless(Aspire::webhooks()->verify($payload, $signature, $timestamp), 403);

$event = json_decode($payload, true);

$response = Aspire::request('POST', '/custom/path', payload: ['key' => 'value']);

use App\Models\AspireAccount;
use Aspire\Sdk\Facades\Aspire;

$account = AspireAccount::query()
    ->whereKey($request->integer('aspire_account_id'))
    ->where('company_id', $request->user()->company_id)
    ->where('is_active', true)
    ->firstOrFail();

$balance = Aspire::forAccount($account)
    ->accounts()
    ->balances($request->string('account_id')->toString());

$client = Aspire::forCredentials([
    'environment' => 'production',
    'client_id' => $account->client_id,
    'client_secret' => $account->client_secret,
    'access_token' => $account->access_token,
    'proxy_url' => 'socks5h://proxy-user:[email protected]:1080',
]);

$payout = $client->payouts()->create($payload);

$transfer = Aspire::forAccount($account)->transfers()->create($payload);