📱 Zakkistore SDK for Flutter / Dart

Official B2B Client Library for Zakki Store API Gateway

Pustaka Flutter & Dart resmi untuk memudahkan integrasi layanan Host-to-Host (H2H) prabayar/pascabayar, payment gateway QRIS otomatis, perbankan Virtual Account (VA), Noktel OTP virtual, mining reward, dan gacha koin Zakki Store ke dalam proyek Flutter Anda (Android, iOS, Web, macOS, Windows, Linux).


🚀 Instalasi & Inisialisasi

Instal pustaka via pub.dev ke dalam proyek Flutter Anda:

flutter pub add zakkistore_sdk

Atau tambahkan secara manual ke berkas pubspec.yaml proyek Anda:

dependencies:
  zakkistore_sdk: ^1.0.1

Inisialisasi Klien

Mode 1: Inisialisasi Instan (Official Gateway by Default)

Sangat praktis! SDK otomatis mengarah ke gateway server resmi (https://qris.zakki.store).

import 'package:zakkistore_sdk/zakkistore_sdk.dart';

void main() async {
  // Klien otomatis mengarah ke server resmi!
  final zakki = ZakkiStore("API_TOKEN_MEMBER_ANDA");

  // Contoh: Melakukan Health Check Server
  try {
    final status = await zakki.status();
    print("Status Server: ${status['status']}");
  } catch (e) {
    print("Error: $e");
  }
}

Mode 2: Inisialisasi dengan Konfigurasi Kustom

Gunakan opsi ini jika Anda ingin melakukan kustomisasi base URL (migrasi domain) atau mengaktifkan fitur penarikan otomatis (Auto-Withdraw).

final zakki = ZakkiStore(
  "API_TOKEN_MEMBER_ANDA",
  baseUrl: "https://qris.zakki.store", // Domain custom/resmi
  iduser: "IBO99",
  email: "member@gmail.com",
  pin: "123456",                       // Wajib untuk tabung & tarik
  isAutoWithdraw: true,                // Aktifkan auto-withdrawal saldo bank!
);

🛠️ Fitur Unggulan

🔄 Auto-Withdraw Saldo VA

Jika opsi isAutoWithdraw = true diaktifkan, SDK akan memicu penarikan dana VA bank otomatis secara real-time menjadi saldo utama aplikasi (BukaOlshop) ketika fungsi zakki.checkbank() dipanggil.

💡 Dual-Flow Pascabayar & Bebas Nominal

  • Pascabayar (PLN/BPJS/PDAM): Inquiry tagihan terlebih dahulu, lalu bayar dengan format tujuan [ID_Pelanggan].[Nominal_Tagihan] (Contoh: 122345678901.150000).
  • E-Wallet Bebas Nominal: Kirim transfer E-Wallet nominal kustom dengan format tujuan [No_HP].[Nominal] (Contoh: 08123456789.25000).

📑 Daftar Referensi Metode Lengkap

SDK Flutter/Dart ini mendukung secara penuh seluruh 25 fungsi resmi dengan nama dan perilaku yang konsisten dengan SDK versi Node.js (NPM), Python (PyPI), PHP (Composer), Go, dan C#:

1. Payment Gateway (QRIS Top Up)

  • zakki.topup(int nominal) — Membuat QRIS dinamis instan dengan nominal kode unik.
  • zakki.cektopup(String idtopup) — Cek status pembayaran QRIS.
  • zakki.cancel(String? idTransaksi, {bool allPending}) — Batalkan transaksi pending.

2. Transaksi H2H

  • zakki.listkode({String? jenis, String? productType}) — Katalog kode produk aktif.
  • zakki.h2h(H2HParams params) — Mengirim order transaksi H2H.
  • zakki.h2hSimple(String kode, String tujuan, String refID) — Versi sederhana posisional untuk memicu order H2H.
  • zakki.cekh2h(String idTrx) — Cek detail status pengisian, SN, dan harga beli.
  • zakki.myh2h() — Mengambil 20 riwayat pembelian H2H terupdate.

3. Perbankan & Transfer VA

  • zakki.checkbank() — Cek saldo, VA member, mutasi, dan pemicu Auto-Withdraw.
  • zakki.checkname(String number) — Verifikasi nama asli pemilik VA Bank.
  • zakki.transfer(TransferParams params) — Transfer saldo antar Virtual Account.
  • zakki.transferSimple(String to, int amount) — Versi sederhana posisional untuk transfer saldo.
  • zakki.tabung(int jumlah) — Menabung saldo ke Bank (butuh PIN).
  • zakki.tarik(int jumlah) — Menarik dana tabungan ke saldo aplikasi (butuh PIN).
  • zakki.checkmutasi({String mutasiType}) — Riwayat mutasi Tarik/Tabung.

4. Noktel Marketplace (OTP Virtual)

  • zakki.noktelStok() — Cek stok nomor virtual yang ready.
  • zakki.noktelBuy(String category) — Membeli nomor virtual baru untuk OTP.
  • zakki.noktelGetOtp(String accountID) — Menarik kode OTP Telegram secara real-time.
  • zakki.noktelCancel(String invoiceID) — Membatalkan nomor yang pending OTP & auto-refund.
  • zakki.noktelHistory() — Mengambil daftar riwayat pembelian Noktel.

5. Reward Komputasi & Game

  • zakki.cekmining() — Cek status kesulitan global, block reward, dan miner aktif.
  • zakki.mymining() — Riwayat koin mining SHA256 milik akun Anda.
  • zakki.cekgacha() — Statistik poin, kemenangan, dan keuntungan gacha member.

6. Keamanan & Utilitas

  • zakki.whitelistip(String ip) — Whitelist IP server Anda untuk otorisasi API H2H.
  • zakki.delwhitelistip(String ip) — Hapus IP server dari whitelist.
  • zakki.leaderboard(int limit, {String period}) — Mengambil peringkat sultan topup teraktif.
  • zakki.status() — Informasi beban CPU, metrik finansial, dan kesehatan sistem.

🛡️ Protokol Keamanan API

Warning

Selalu jalankan SDK ini di sisi backend (Server-side)! Jangan pernah mengekspos API Token dan PIN Anda di sisi frontend / client-side publik demi mencegah potensi pencurian saldo.

Libraries

zakkistore_sdk