CIMB OpenAPI PHP SDK

Contoh penggunaan fitur yang ada di src/

Halaman ini merangkum cara memakai komponen yang tersedia di SDK: konfigurasi client, pengambilan B2B token, helper signature SNAP BI, cache token berbasis file, dan builder header transaksi.

Mode pengembangan UAT endpoint: https://alphaapihub.cimbniaga.co.id/api-manager-external/alpha/
Catatan Jalankan composer install agar autoload vendor tersedia, lalu isi env CIMB_* untuk mencoba request token secara nyata.

1. Config & Client

Inisialisasi dasar SDK, lalu ambil B2B token melalui client.

$config = new Cimb\Config(
    clientKey: 'your-client-key',
    clientSecret: 'your-client-secret',
    privateKey: <<<KEY
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
KEY,
    baseUrl: Cimb\Config::UAT
);
Hasil
Token akan tampil di sini jika credential valid dan request berhasil.

2. B2B token cache

Token disimpan ke cache file agar request berikutnya tidak selalu memanggil endpoint token.

$cache = new Cimb\Cache\FileTokenCache(__DIR__ . '/storage/cache');
$cache->set('cimb_b2b_token', ['accessToken' => '...'], 840);
$token = $cache->get('cimb_b2b_token');
$cache->forget('cimb_b2b_token');
Hasil
Cache akan aktif setelah SDK dan storage/cache tersedia.

3. SNAP BI signature helper

Gunakan helper RSA untuk access token dan HMAC untuk transaksi.

$signature = Cimb\Auth\Signature::rsa(
    $clientKey,
    date('Y-m-d\TH:i:sP'),
    $privateKey
);

$hmac = Cimb\Auth\Signature::hmac(
    $clientSecret,
    'POST',
    '/openapi/v1.0/transfer',
    $accessToken,
    json_encode(['amount' => 1000]),
    date('Y-m-d\TH:i:sP')
);
Hasil
Signature akan ditampilkan setelah SDK ter-load.

4. Transaction header builder

Bangun header transaksi B2B yang siap dipakai ke request API CIMB.

$b2b = new Cimb\Transaction\B2B();

$headers = $b2b->headers(
    'POST',
    '/openapi/v1.0/transfer',
    $accessToken,
    $clientSecret,
    [
        'amount' => 1000,
        'currency' => 'IDR',
    ],
    $partnerId,
    $externalId,
    $channelId
);
Hasil
Header transaksi akan muncul setelah SDK ter-load.

Rangkuman fitur di src

Berikut peta singkat fitur yang tersedia di folder src/ berdasarkan implementasi aktual.

- Cimb\Config: menampung client key, client secret, private key, dan base URL UAT/PROD.
- Cimb\Client::b2b()->token(): pembungkus untuk mengambil token B2B.
- Cimb\Auth\TokenService: memanggil endpoint access-token/b2b dan menyimpan hasil ke cache.
- Cimb\Auth\Signature::rsa(): helper signature RSA untuk header autentikasi.
- Cimb\Auth\Signature::hmac(): helper signature HMAC SHA-512 untuk header transaksi.
- Cimb\Cache\FileTokenCache: cache token sederhana berbasis file dengan TTL.
- Cimb\Transaction\B2B::headers(): builder header standar untuk transaksi B2B.

Untuk melakukan transaksi Sandbox, isi environment variable CIMB_CLIENT_KEY, CIMB_CLIENT_SECRET, dan CIMB_PRIVATE_KEY.