CIMB OpenAPI PHP SDK
Contoh penggunaan fitur yang ada di
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.
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.