Panduan lengkap menggunakan Kazukipay
Integrasi API (Khusus Developer)
Gunakan API di bawah ini jika Anda ingin mengintegrasikan pembayaran otomatis ke website atau bot Anda sendiri.
1. Otentikasi & API Key
Dapatkan API Key Anda dari menu Toko di Dashboard. Semua request API memerlukan pengiriman API Key melalui form data api_key atau Header: Authorization: Bearer {API_KEY}.
POST
Create Payment
https://www.oberonix.org/api/create.php
Form Data (POST)
| Parameter |
Tipe |
Keterangan |
| api_key | String | Wajib |
| project_id | Int | Wajib (ID Toko Anda) |
| amount | Int | Minimal 1000 |
| custom_id | String | Opsional (Refresi ID Anda) |
Contoh Response Berhasil (JSON)
{
"status": true,
"message": "Payment created successfully.",
"data": {
"transaction_id": 12,
"custom_id": "ORD-001",
"project_id": 1,
"amount": 10000,
"unique_amount": 10243,
"qris_url": "https://img2...",
"expired_at": "2026-03-10 20:00:00"
}
}
Contoh Request (cURL)
curl -X POST https://www.oberonix.org/api/create.php \
-H "Authorization: Bearer SK-1234567890abcdef" \
-d "project_id=1" \
-d "amount=10000" \
-d "custom_id=ORD-001"
Contoh Request (PHP cURL)
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.oberonix.org/api/create.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'project_id' => 1,
'amount' => 10000,
'custom_id' => 'ORD-001'
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer SK-1234567890abcdef"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Contoh Request (Node.js Fetch)
fetch("https://www.oberonix.org/api/create.php", {
method: "POST",
headers: {
"Authorization": "Bearer SK-1234567890abcdef",
"Content-Type": "application/x-www-form-urlencoded"
},
body: new URLSearchParams({
"project_id": "1",
"amount": "10000",
"custom_id": "ORD-001"
})
})
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.log('error', error));
GET/POST
Cek Status Manual
https://www.oberonix.org/api/cekstatus.php
Parameter Request
| Parameter |
Tipe |
Keterangan |
| api_key | String | Wajib |
| custom_id | String | Wajib (ID Transaksi yang Anda buat) |
Contoh Response Berhasil (JSON)
{
"status": true,
"message": "Transaction status retrieved.",
"data": {
"transaction_id": 12,
"custom_id": "ORD-001",
"status": "PAID",
"amount": 10000,
"unique_amount": 10243,
"net_amount": 10140,
"qris_url": "https://img2...",
"expired_at": "2026-03-10 20:00:00"
}
}
Contoh Request (cURL)
curl -X POST https://www.oberonix.org/api/cekstatus.php \
-H "Authorization: Bearer SK-1234567890abcdef" \
-d "custom_id=ORD-001"
Contoh Request (PHP cURL)
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.oberonix.org/api/cekstatus.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'custom_id' => 'ORD-001'
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer SK-1234567890abcdef"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Contoh Request (Node.js Fetch)
fetch("https://www.oberonix.org/api/cekstatus.php", {
method: "POST",
headers: {
"Authorization": "Bearer SK-1234567890abcdef",
"Content-Type": "application/x-www-form-urlencoded"
},
body: new URLSearchParams({
"custom_id": "ORD-001"
})
})
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.log('error', error));
POST
Cancel Transaction
https://www.oberonix.org/api/cancel.php
Membatalkan transaksi yang masih berstatus PENDING. Transaksi yang sudah PAID tidak dapat dibatalkan.
Form Data (POST)
| Parameter |
Tipe |
Keterangan |
| api_key | String | Wajib |
| custom_id | String | Wajib (ID Transaksi yang ingin dibatalkan) |
Contoh Response Berhasil (JSON)
{
"status": true,
"message": "Transaction successfully cancelled.",
"data": {
"transaction_id": 12,
"custom_id": "ORD-001",
"status": "CANCELLED"
}
}
Contoh Response Gagal (JSON)
{
"status": false,
"message": "Only PENDING transactions can be cancelled. Current status is PAID",
"data": null
}
Contoh Request (cURL)
curl -X POST https://www.oberonix.org/api/cancel.php \
-H "Authorization: Bearer SK-1234567890abcdef" \
-d "custom_id=ORD-001"
Contoh Request (PHP cURL)
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.oberonix.org/api/cancel.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'custom_id' => 'ORD-001'
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer SK-1234567890abcdef"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Contoh Request (Node.js Fetch)
fetch("https://www.oberonix.org/api/cancel.php", {
method: "POST",
headers: {
"Authorization": "Bearer SK-1234567890abcdef",
"Content-Type": "application/x-www-form-urlencoded"
},
body: new URLSearchParams({
"custom_id": "ORD-001"
})
})
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.log('error', error));
GET
Cek Mutasi & Konfirmasi Pembayaran
https://www.oberonix.org/api/mutasi_status.php
Endpoint ini memiliki 2 aksi: check untuk preview dan run untuk proses pembayaran.
Parameter Request
| Parameter |
Nilai |
Keterangan |
| api_key | String | Wajib |
| action | check / run | check = lihat mutasi+pending (tidak ubah), run = proses & konfirmasi |
action=check
Preview mutasi & transaksi pending (AMAN, tidak mengubah data)
Direct Link (bisa buka di browser / Postman)
https://www.oberonix.org/api/mutasi_status.php?api_key=SK-XXXXXXXXXXXXXXXX&action=check
Buka ↗
cURL
curl "https://www.oberonix.org/api/mutasi_status.php?action=check" \
-H "Authorization: Bearer SK-1234567890abcdef"
Contoh Response
{
"status": true,
"message": "Mutasi check complete.",
"data": {
"mutasi_incoming": [
{ "mutasi_id": 208992696, "kredit_raw": "1.493", "amount": 1493,
"keterangan": "NOBU / YOGA NUGROHO", "tanggal": "10/03/2026 19:42:49", "bank": "Bank Jago" }
],
"pending_transactions": [
{ "custom_id": "KZK-ABC123", "unique_amount": 1493,
"status": "PENDING", "mutasi_found": true, "expired_at": "2026-03-10 21:00:00" }
]
}
}
Jika mutasi_found: true → uang sudah masuk, tinggal jalankan action=run.
action=run
Proses & konfirmasi pembayaran (PENDING → PAID)
Direct Link
https://www.oberonix.org/api/mutasi_status.php?api_key=SK-XXXXXXXXXXXXXXXX&action=run
Buka ↗
cURL
curl "https://www.oberonix.org/api/mutasi_status.php?action=run" \
-H "Authorization: Bearer SK-1234567890abcdef"
PHP cURL
<?php
$ch = curl_init("https://www.oberonix.org/api/mutasi_status.php?action=run");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer SK-1234567890abcdef"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
// Cek tiap transaksi yang diproses
foreach ($result['data']['processed'] as $p) {
echo $p['custom_id'] . ': ' . $p['result'] . PHP_EOL;
}
?>
Contoh Response
{
"status": true,
"message": "Run complete.",
"data": {
"processed": [
{ "custom_id": "KZK-ABC123", "result": "paid", "net_amount": 1478, "mutasi_id": 208992696 },
{ "custom_id": "KZK-XYZ789", "result": "not_matched" }
]
}
}
paid = berhasil dikonfirmasi
not_matched = belum ada mutasi cocok
mutasi_already_used = mutasi sudah dipakai
error = error database
GET
Cek & Konfirmasi per Transaksi (Tanpa API Key)
Public
https://www.oberonix.org/api/public_check.php
Endpoint publik (tidak perlu API Key) — cocok digunakan dari halaman invoice untuk trigger cek pembayaran secara manual per transaksi.
Parameter Request
| Parameter |
Tipe |
Keterangan |
| custom_id | String | Wajib — ID transaksi Anda (misal: ORD-001) |
Direct Link (buka di browser / AJAX)
https://www.oberonix.org/api/public_check.php?custom_id=ORD-001
Buka ↗
cURL
curl "https://www.oberonix.org/api/public_check.php?custom_id=ORD-001"
JavaScript (Fetch) — contoh pakai di halaman bayar
fetch('https://www.oberonix.org/api/public_check.php?custom_id=ORD-001')
.then(r => r.json())
.then(data => {
if (data.status && data.data.status === 'PAID') {
alert('Pembayaran berhasil!');
window.location.reload();
} else {
alert(data.data?.message || 'Belum terdeteksi');
}
});
Kemungkinan Response
// Berhasil dikonfirmasi
{ "status": true, "data": { "status": "PAID", "changed": true, "net_amount": 1478 } }
// Belum ada di mutasi
{ "status": true, "data": { "status": "PENDING", "changed": false, "message": "Pembayaran belum ditemukan di mutasi" } }
// Sudah PAID sebelumnya
{ "status": true, "data": { "status": "PAID", "changed": false } }
// Kadaluarsa
{ "status": true, "data": { "status": "EXPIRED", "changed": false } }
Endpoint ini sudah otomatis terpasang di halaman Invoice sebagai tombol "Sudah Bayar? Cek Status Sekarang".
2. Terima Notifikasi (Webhook)
Atur URL Webhook di halaman detail Toko Anda. Saat pelanggan membayar, sistem kami akan mengirimkan data sukses ke URL tersebut menggunakan HTTP POST.
Format Payload Webhook (JSON)
{
"event": "payment_success",
"transaction_id": 12,
"custom_id": "ORD-001",
"amount": 10000,
"unique_amount": 10243,
"net_amount": 10140,
"status": "PAID"
}