CekMutasi.Co.Id mendukung komunikasi data lintas platform melalui konektivitas RESTful API. API terbagi menjadi 2 metode, pertama adalah Callback data dan kedua adalah HTTP API dan keduanya memanfaatkan format data JSON (Javascript Object Notation).

Pada metode Callback, sistem CekMutasi.Co.Id yang melakukan pengiriman notifikasi yang berisi detail transaksi ke URL Callback yang telah ditentukan oleh pengguna sedangkan pada metode HTTP API sistem pengguna melakukan request data ke sistem CekMutasi.Co.Id dan sistem CekMutasi.Co.Id memberikan respon data yang diminta.



Callback

Agar sistem Anda menerima notifikasi transaksi melalui callback API, Anda hanya perlu menambahkan URL callback Anda pada kolom "URL IPN/Callback" saat menambahkan rekening. Ada juga dapat mengedit akun rekening Anda untuk menambahkan URL Callback.

Setiap ada transaksi baru yang masuk, sistem akan mengirim data transaksi dengan method POST dan struktur JSON sebagai berikut :

{
    "action": "payment_report",
    "content": {
        "service_name": "Bank BRI",
        "service_code": "bri",
        "account_number": "1234567890",
        "account_name": "Nama Pemilik Rekening",
        "data": [
            {
                "unix_timestamp": 123456789,
                "type": "credit",
                "amount": "1400026.00",
                "description": "Berita transfer",
                "balance": "1500000.00"
            },
            {
                "unix_timestamp": 987654321,
                "type": "debit",
                "amount": "50000.00",
                "description": "Berita transfer",
                "balance": "1450000.00"
            }
        ]
    }
}

Dan berikut adalah contoh script PHP untuk menerima data notifikasi

<?php
$post = file_get_contents("php://input");
$json = json_decode($post);
if( $json->action == "payment_report" )
{
    foreach( $json->content->data as $data )
    {
        # Waktu transaksi dalam format unix timestamp
        $time = $data->unix_timestamp;

        # Tipe transaksi : credit / debit
        $type = $data->type;

        # Jumlah (2 desimal) : 50000.00
        $amount = $data->amount;

        # Berita transfer
        $description = $data->description;

        # Saldo rekening (2 desimal) : 1500000.00
        $balance = $data->balance;
        
        if( $type == "credit" )
        {
            if( $amount == $jumlahTagihan )
            {
                # Sistem Anda
            }
        }
    }
}
?>


HTTP API

Versi : 1.0

Base URL : https://api.cekmutasi.co.id/v1

HTTP API memanfaatkan fungsi cURL untuk mengirim request ke API Endpoint sistem CekMutasi.Co.Id dengan beberapa parameter tambahan. Berikut daftar API Endpoint yang tersedia beserta parameternya.

Endpoint: /bank/search

Digunakan untuk melakukan pencarian data mutasi rekening Bank dengan filter sesuai parameter yang ditentukan. Semakin banyak filter yang digunakan, proses pencarian akan menjadi lebih spesifik dan lebih tepat

Parameter Tipe Nilai
date Array

from = Tanggal awal. Format Y-m-d H:i:s. Contoh : 2018-04-09 00:00:00

to = Tanggal akhir. Format Y-m-d H:i:s. Contoh : 2018-04-09 23:59:59

amount Decimal (2)

Desimal dengan 2 angka dibelakang koma. Contoh: 50000.00

type String

Jenis transaksi.

credit = Transaksi masuk

debit = Transaksi keluar

description String

Keterangan transaksi. Contoh: Invoice 1234

service_code String

Kode layanan. contoh :

bri = Bank BRI

bca = Bank BCA

bni = Bank BNI

mandiri = Bank Mandiri

account_number String

Nomor rekening. Contoh: 1234567890

Contoh script PHP dan response yang diberikan sistem

<?php

$data = array(
            "search"  => array(
                    "date"            => array(
                            "from"    => date("Y-m-d")." 00:00:00",
                            "to"      => date("Y-m-d")." 23:59:59"
                            ),
                    "service_code"    => "bri",
                    "account_number"  => "1234567890",
                    "amount"          => "50123.00"
            )
);

$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_URL             => "https://api.cekmutasi.co.id/v1/bank/search",
    CURLOPT_POST            => true,
    CURLOPT_POSTFIELDS      => http_build_query($data),
    CURLOPT_HTTPHEADER      => ["API-KEY: (APIKEY-ANDA)"],
    CURLOPT_SSL_VERIFYHOST  => 0,
    CURLOPT_SSL_VERIFYPEER  => 0,
    CURLOPT_RETURNTRANSFER  => true,
    CURLOPT_HEADER          => false
));
$result = curl_exec($ch);
curl_close($ch);

echo $result;

?>

Script diatas melakukan pencarian data mutasi dengan filter tanggal hari ini pukul 00:00:00 sampai hari ini pukul 23:00:00 dari rekening Bank BRI nomor rekening 1234567890 dengan nominal 50123.00

Berikut adalah contoh respon SUKSES

{
    "success": true,
    "error_message": "",
    "response": [
        {
            "service_code": "bri",
            "account_number": "1234567890",
            "unix_timestamp": 8454725434,
            "type": "credit",
            "amount": "50123.00",
            "description": "Berita transfer",
            "balance": "1400600.00"
        },
        {
            "service_code": "bri",
            "account_number": "1234567890",
            "unix_timestamp": 8452437546,
            "type": "debit",
            "amount": "50123.00",
            "description": "Berita transfer",
            "balance": "130600.00"
        }
    ]
}

Berikut adalah contoh respon GAGAL

{
    "success": false,
    "error_message": "Access to this credential is not enabled",
    "response": []
}

Endpoint: /paypal/search

Digunakan untuk melakukan pencarian data mutasi rekening PayPal dengan filter sesuai parameter yang ditentukan. Semakin banyak filter yang digunakan, proses pencarian akan menjadi lebih spesifik dan lebih tepat

Parameter Tipe Nilai
date Array

from = Tanggal awal. Format Y-m-d H:i:s. Contoh : 2018-04-09 00:00:00

to = Tanggal akhir. Format Y-m-d H:i:s. Contoh : 2018-04-09 23:59:59

username String

Username rekening paypal. Contoh: mail_api1.example.com

amount Decimal (2)

Desimal dengan 2 angka dibelakang koma. Contoh: 10.50

email String

Email pengirim. Contoh: mail@example.com

transactionid String

ID transaksi. Contoh : XGDGHD3474GGD6645

currency String

3 karakter kode Mata Uang. Contoh: USD

Contoh script PHP dan response yang diberikan sistem

<?php

$data = array(
            "search"  => array(
                    "date"            => array(
                            "from"    => date("Y-m-d")." 00:00:00",
                            "to"      => date("Y-m-d")." 23:59:59"
                            ),
                    "username"        => "mail_api1.example.com",
                    "amount"          => "10.50"
                    "currency"        => "USD"
            )
);

$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_URL             => "https://api.cekmutasi.co.id/v1/paypal/search",
    CURLOPT_POST            => true,
    CURLOPT_POSTFIELDS      => http_build_query($data),
    CURLOPT_HTTPHEADER      => ["API-KEY: (APIKEY-ANDA)"],
    CURLOPT_SSL_VERIFYHOST  => 0,
    CURLOPT_SSL_VERIFYPEER  => 0,
    CURLOPT_RETURNTRANSFER  => true,
    CURLOPT_HEADER          => false
));
$result = curl_exec($ch);
curl_close($ch);

echo $result;

?>

Script diatas melakukan pencarian data mutasi dengan filter tanggal hari ini pukul 00:00:00 sampai hari ini pukul 23:00:00 dari rekening PayPal mail_api1.example.com dengan nominal 10.50 USD

Berikut adalah contoh respon SUKSES

{
    "success": true,
    "error_message": "",
    "response": [
        {
            "username": "mail_api1.example.com",
            "unix_timestamp": 8454725434,
            "type": "payment",
            "email": "pengirim@example.com",
            "name": "Nama Pengirim",
            "transactionid": "XBGDGDYRG34746DG",
            "status": "completed",
            "amount": "10.50",
            "fee": "0.43",
            "net": "10.07"
        },
        {
            "username": "mail_api1.example.com",
            "unix_timestamp": 864825263484,
            "type": "purchase",
            "email": "penerima@example.com",
            "name": "Nama Penerima",
            "transactionid": "ZFHFH48756HSD",
            "status": "completed",
            "amount": "7.50",
            "fee": "0.00",
            "net": "7.50"
        }
    ]
}

Berikut adalah contoh respon GAGAL

{
    "success": false,
    "error_message": "Access to this credential is not enabled",
    "response": []
}


Plugin Siap Pakai

Berikut ini beberapa plugin siap pakai yang kami sediakan untuk menunjang kebutuhan integrasi. Lupakan coding sistem manual

Software Versi Rilis Requirements Download Dokumentasi
Wordpress (WooCommerce) 1.0.0 28-07-2018 - WooCommerce 3.1.0+
- PHP 5.6+
[ZIP] [Lihat]
WHMCS 1.0.0 30-08-2018 - WHMCS v7+ [ZIP] -