API Cek Mutasi Saldo Otomatis

Sistem ini bertindak sebagai Buku Catatan Digital Publik. API ini hanya bertugas membaca Riwayat Uang Masuk yang tertangkap oleh sistem kami, agar Anda bisa memproses tagihan secara real-time.

Cara Kerja: Indo-Pay TIDAK memotong saldo Anda. Kami hanya mendeteksi Notifikasi HP Android (Misal: "Berhasil Top Up Rp 50.000") menjadi Log Riwayat. API H2H ini adalah jembatan bagi Website Anda untuk membaca Log tersebut menggunakan API KEY.

01

Alamat Endpoint Utama

Target pemanggilan server (HTTP GET)
GET

https://indo-pay.my.id/h2h/

02

Menyusun URL Lengkap (Hit)

Gabungkan Base URL + Parameter + API Key
https://indo-pay.my.id/h2h/
+
?apikey=
+
[API_KEY_ANDA]

Contoh URL Final:

https://indo-pay.my.id/h2h/?apikey=IPY-Y5HA5SUHE9W4
Test

03

Memahami Jawaban Server (Respon)

Data Array JSON yang dikembalikan oleh API
Respon Berhasil
[
  {
    "nominal": 50123,
    "waktu": "sab 7 maret 06.07"
  },
  {
    "nominal": 10055,
    "waktu": "sab 7 maret 07.18"
  }
]

Field "nominal"

Angka murni tanpa "Rp" atau titik. Digunakan untuk pencocokan harga/tagihan pada database Anda.

Field "waktu"

Waktu notifikasi dana masuk tertangkap di server Node Android.

Jika Gagal: Sistem membalas {"status":"error", "msg":"..."}

04

Wajib: Konsep Kode Nominal Unik

Cara membedakan transferan antar user jika nominal aslinya sama.

Karena API tidak membaca nama pengirim (hanya nominal), sistem Anda akan bingung jika ada 2 orang mentransfer Rp 50.000 bersamaan. Solusinya: gunakan Kode Unik pada 3 digit terakhir tagihan pembayaran di web Anda.

Contoh Kasus:
  • User A tagihan 50.000 + Kode unik (123) = Transfer Rp 50.123
  • User B tagihan 50.000 + Kode unik (456) = Transfer Rp 50.456
Cara Cek di PHP:

Saat JSON memunculkan angka 50123, script Anda akan mencari di database "Siapa yang punya invoice 50.123?" dan otomatis melunaskan tagihan User A.

05

Script Integrasi Otomatis (PHP)

Contoh script dengan validasi Nominal Unik. (Jalankan script ini di CRON JOB per 1 Menit)
cron_cek_mutasi.php
<?php
// 1. Tentukan API Key
$apiKey = "IPY-Y5HA5SUHE9W4";
$urlTarget = "https://indo-pay.my.id/h2h/?apikey=" . $apiKey;

// 2. Ambil data dengan cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlTarget);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);

// 3. Parsing JSON ke Array
$dataMutasi = json_decode($response, true);

if (isset($dataMutasi['status']) && $dataMutasi['status'] == 'error') {
    die("API Error: " . $dataMutasi['msg']);
}

// ==============================================================
// LOGIKA PENCOCOKAN NOMINAL UNIK DARI DATABASE WEB ANDA
// Anggap tagihan invoice adalah: Rp 50.123 
// ==============================================================

$tagihan_user_A = 50123; 
$status_bayar = "PENDING";

if (!empty($dataMutasi)) {
    foreach ($dataMutasi as $mutasi) {
        
        // Cek apakah ada nominal di log yg sama persis dengan tagihan
        if ($mutasi['nominal'] == $tagihan_user_A) {
            $status_bayar = "LUNAS";
            
            // [!] UPDATE DATABASE ANDA DISINI 
            // ex: mysqli_query($conn, "UPDATE invoice SET status='LUNAS' WHERE nominal=50123");
            
            echo "Pembayaran Rp 50.123 Lunas pd " . $mutasi['waktu'];
            break; // Hentikan pencarian jika sudah ketemu
        }
    }
}
?>