Example #1
0
//var_dump($_POST);
//$pid=$_POST['pid'];
//$hash=$_POST['hash'];
$postdata = json_decode(file_get_contents('php://input'), true);
$AppID = $postdata["META"]["AppID"];
$PID = $postdata["META"]["PID"];
$posthash = $postdata["MESSAGE"]["hmac"];
$filename = $AppID . "." . $PID;
if (!file_exists("./data/pid/" . $filename) == 0) {
    $data = json_decode(file_get_contents("./data/pid/" . $filename), true);
    if (proseshash($data, $posthash) == 1) {
        $data["META"]["HMAC"] = $posthash;
        if (!file_put_contents("./data/pid/" . $filename, json_encode($data))) {
            // echo "kesalahan menyimpan process id";
            echo response(true, $data["KTP"]["NIK"], $postdata["META"]["PID"], "kesalahan menyimpan file");
        } else {
            echo response(true, $data["KTP"]["NIK"], $postdata["META"]["PID"], "OK");
        }
        // echo "Hash benar !";
        //kirim callback
        $CallbackURL = $data["META"]["CallbackURL"];
        $IDNumber = $data["KTP"]["NIK"];
        kirimcallback($CallbackURL, $data, $postdata);
        //jika callback berhasil, hapus file pid
        // unlink("./data/pid/".$filename);
    } else {
        echo response(false, $data["KTP"]["NIK"], $PID, "Hash salah");
    }
} else {
    echo response(false, 0, $postdata["META"]["PID"], "PID tidak ditemukan");
}
        // echo $priv_key."\n";
        $key = openssl_pkey_get_private($priv_key, $passphrase);
        // //create signature
        openssl_sign($data["hash"], $websignature, $key, OPENSSL_ALGO_SHA256);
        $data["websignature"] = base64_encode($websignature);
        $encode = json_encode($data);
        // echo $encode."\n";
        // echo $data["hash"]."\n";
        if (!file_put_contents("./data/pid/" . $filename, $encode)) {
            // echo "kesalahan menyimpan process id";
            echo response(false, $data["userid"], $postdata["PID"], "kesalahan menyimpan file");
        }
        // else echo response(true, $data["userid"],$postdata["PID"],"OK");
        // echo "Hash benar !";
        //kirim callback
        $CallbackURL = $data["CAwebsigncallback"];
        $response = kirimcallback($CallbackURL, $data, $postdata);
        if ($response["Success"] == true) {
            echo response(true, $data["userid"], $postdata["PID"], "SI - OK");
        } else {
            echo response(false, $data["userid"], $postdata["PID"], "CA response false");
        }
        // echo kirimcallback($CallbackURL,$data,$postdata);
        //jika callback berhasil, hapus file pid
        // unlink("./data/pid/".$filename);
    } else {
        echo response(false, $data["userid"], $PID, "Hash salah");
    }
} else {
    echo response(false, 0, $postdata["META"]["PID"], "PID tidak ditemukan");
}