zakkistore

package module
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2026 License: MIT Imports: 7 Imported by: 0

README

🐹 Zakkistore SDK for Go

Official B2B Client Library for Zakki Store API Gateway

Pustaka Go (Golang) 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 Go Anda (Gin, Fiber, Echo, native Go backend, bot Telegram/Discord, dll).


🚀 Instalasi & Inisialisasi

Instal pustaka dari terminal proyek Go Anda:

go get github.com/MrLow12/zakkistore-sdk-go
Inisialisasi Klien
Mode 1: Inisialisasi Instan (Official Gateway by Default)

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

package main

import (
	"fmt"
	"log"
	zakkistore "github.com/MrLow12/zakkistore-sdk-go"
)

func main() {
	// Klien otomatis mengarah ke server resmi!
	zakki, err := zakkistore.New("API_TOKEN_MEMBER_ANDA")
	if err != nil {
		log.Fatalf("Gagal inisialisasi: %v", err)
	}

	// Contoh: Melakukan Health Check Server
	status, err := zakki.Status()
	if err != nil {
		log.Fatalf("Error: %v", err)
	}
	fmt.Printf("Status Server: %v\n", status["status"])
}
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).

zakki, err := zakkistore.NewWithConfig(zakkistore.Config{
	BaseURL:      "https://qris.zakki.store", // Domain custom/resmi
	Token:        "API_TOKEN_MEMBER_ANDA",
	IDUser:       "IBO99",
	Email:        "member@gmail.com",
	PIN:          "123456",                   // Wajib untuk tabung & tarik
	AutoWithdraw: true,                       // Aktifkan auto-withdrawal saldo bank!
})

🛠️ Fitur Unggulan

🔄 Auto-Withdraw Saldo VA

Jika opsi AutoWithdraw: true diaktifkan, SDK akan memicu penarikan dana VA bank otomatis secara real-time menjadi saldo utama aplikasi zakki store 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 & Struktur Pengelompokan (37 Fungsi Resmi)

Seluruh fungsi yang didukung oleh SDK ini dikelompokkan secara rapi ke dalam 7 kategori layanan utama demi mempermudah pemahaman dan integrasi:

1. ⚡ Layanan Payment Gateway (QRIS Topup) — [5 Fungsi]
  • zakki.Topup(nominal) — Membuat tiket pembayaran QRIS dinamis instan dengan nominal kode unik.
  • zakki.Cektopup(idtopup) — Mengecek status pembayaran tiket QRIS tertentu secara real-time.
  • zakki.Cektopup2(idtopup) — Mendapatkan URL gambar struk digital dinamis (hologram receipt) berformat PNG.
  • zakki.Mytopup() — Mengambil seluruh riwayat transaksi topup QRIS akun Anda.
  • zakki.Cancel(idTransaksi, allPending) — Membatalkan satu atau seluruh tiket topup pending.
2. 🏪 Layanan Transaksi Host-to-Host (H2H) — [4 Fungsi]
  • zakki.Listkode(jenis, productType) — Mengambil katalog produk prabayar/pascabayar aktif beserta daftar harga beli.
  • zakki.H2H(params) — Mengirimkan order transaksi H2H (pulsa, paket data, PLN kustom, dll).
  • zakki.Cekh2h(idTrx) — Mengecek status transaksi, Serial Number (SN), dan harga beli riil dari order H2H.
  • zakki.Myh2h() — Mengambil 20 riwayat transaksi H2H terupdate milik akun Anda.
3. 🏦 Layanan Perbankan & Transfer Saldo VA — [8 Fungsi]
  • zakki.Checkbank() — Memeriksa detail Virtual Account (VA), saldo bank VA, serta memicu Auto-Withdraw jika diaktifkan.
  • zakki.Checkname(number) — Memverifikasi nama asli pemilik rekening Virtual Account tujuan sebelum melakukan transfer.
  • zakki.Transfer(params) — Mengirimkan saldo antar-VA member secara instan dan bebas biaya admin.
  • zakki.Tabung(jumlah) — Menyetorkan saldo aktif aplikasi ke rekening bank Virtual Account terhubung Anda.
  • zakki.Tarik(jumlah) — Menarik dana dari bank Virtual Account ke saldo aktif aplikasi Zakki Store Anda.
  • zakki.Checkmutasi(mutasiType) — Melihat riwayat mutasi tabung/tarik saldo bank VA (all, tarik, tabung).
  • zakki.Checktransfer(idtransfer) — Mengecek status pengiriman dana transfer tertentu secara detail.
  • zakki.Mytransfer(type) — Mengambil riwayat pengiriman dan penerimaan transfer saldo (all, kirim, terima).
4. 📱 Layanan Noktel Marketplace (OTP Virtual) — [5 Fungsi]
  • zakki.NoktelStok() — Memeriksa ketersediaan stok nomor virtual aktif per kategori layanan/aplikasi.
  • zakki.NoktelBuy(category) — Membeli nomor virtual baru untuk penerimaan kode verifikasi/OTP.
  • zakki.NoktelGetOtp(accountId) — Mengambil kode verifikasi/OTP yang masuk ke nomor virtual secara real-time.
  • zakki.NoktelCancel(invoiceId) — Membatalkan order nomor virtual yang pending OTP dan memicu auto-refund saldo.
  • zakki.NoktelHistory() — Mengambil daftar riwayat lengkap pemesanan nomor virtual.
5. ⛏️ Layanan Reward Komputasi SHA-256 (Mining) & Game — [5 Fungsi]
  • zakki.MiningStart() — Meminta challenge penambangan SHA-256 serta target kesulitan (difficulty) dari server.
  • zakki.MiningSubmit(nonce, signature) — Mengirimkan hasil kerja hashing SHA-256 (Proof-of-Work) untuk mendapatkan koin.
  • zakki.Cekmining(idmining) — Mengecek status audit dan persetujuan dari blok mining yang telah Anda selesaikan.
  • zakki.Mymining() — Melihat riwayat penambangan koin dan total reward hashing akun Anda.
  • zakki.Cekgacha() — Mengecek jumlah tiket gacha, riwayat kemenangan, dan detail koin keberuntungan Anda.
6. 🔒 Layanan Keamanan IP & Utilitas — [6 Fungsi]
  • zakki.Whitelistip(ip) — Mendaftarkan IP server/host Anda agar diizinkan melakukan transaksi H2H via API (Maksimal 3 IP).
  • zakki.Delwhitelistip(ip) — Menghapus alamat IP terdaftar dari whitelist API.
  • zakki.Cekmyip() — Mendeteksi alamat IP publik host/server Anda saat ini yang terbaca oleh sistem.
  • zakki.Cekip(ip) — Mengecek detail status IP whitelisting tertentu.
  • zakki.Leaderboard(limit, period) — Melihat daftar Sultan topup teraktif secara global.
  • zakki.Status() — Memeriksa beban CPU server, statistik finansial global, dan kesehatan sistem.
7. 🔗 Layanan Webhook Callback & Notifikasi Bot — [4 Fungsi]
  • zakki.Setcallback(site) — Memasang URL callback real-time untuk menerima laporan status transaksi H2H.
  • zakki.Delcallback() — Menghapus URL callback yang terpasang di sistem.
  • zakki.Setnotifbot(telegramId) — Memasang ID Telegram Anda untuk menerima notifikasi otomatis transaksi sukses/gagal.
  • zakki.Delnotifbot() — Menonaktifkan bot notifikasi Telegram.

🛡️ 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.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	BaseURL      string
	Token        string
	IDUser       string
	Email        string
	PIN          string
	AutoWithdraw bool
}

Config menyimpan parameter konfigurasi klien ZakkiStore SDK.

type H2HParams

type H2HParams struct {
	Kode   string `json:"kode"`
	Tujuan string `json:"tujuan"`
	RefID  string `json:"refID"`
}

H2HParams mendefinisikan parameter untuk transaksi H2H (Host-to-Host).

type TransferParams

type TransferParams struct {
	To     string `json:"to"`
	Amount int    `json:"amount"`
}

TransferParams mendefinisikan parameter untuk transfer saldo antar Virtual Account member.

type ZakkiStore

type ZakkiStore struct {
	// contains filtered or unexported fields
}

ZakkiStore adalah klien resmi untuk mengakses API Gateway B2B Zakki Store.

func New

func New(token string) (*ZakkiStore, error)

New menginisialisasi klien ZakkiStore baru menggunakan default base URL Gateway Resmi.

func NewWithConfig

func NewWithConfig(cfg Config) (*ZakkiStore, error)

NewWithConfig menginisialisasi klien ZakkiStore baru dengan konfigurasi kustom lengkap.

func (*ZakkiStore) Cancel

func (z *ZakkiStore) Cancel(idTransaksi string, allPending bool) (map[string]interface{}, error)

Cancel membatalkan transaksi pending (mendukung pembatalan massal atau spesifik ID).

func (*ZakkiStore) Cekgacha

func (z *ZakkiStore) Cekgacha() (map[string]interface{}, error)

Cekgacha memeriksa statistik poin, kemenangan, dan keuntungan gacha member.

func (*ZakkiStore) Cekh2h

func (z *ZakkiStore) Cekh2h(idTrx string) (map[string]interface{}, error)

Cekh2h memeriksa status transaksi, Serial Number (SN), dan harga beli order H2H.

func (*ZakkiStore) Cekip added in v1.0.4

func (z *ZakkiStore) Cekip(ip string) (map[string]interface{}, error)

Cekip memverifikasi status keamanan IP tertentu (Aman/Whitelist/Blacklist).

func (*ZakkiStore) Cekmining

func (z *ZakkiStore) Cekmining(idmining string) (map[string]interface{}, error)

Cekmining memeriksa detail status transaksi mining koin spesifik berdasarkan ID.

func (*ZakkiStore) Cekmyip added in v1.0.4

func (z *ZakkiStore) Cekmyip() (map[string]interface{}, error)

Cekmyip mengecek alamat IP publik server Anda yang terdeteksi oleh gateway.

func (*ZakkiStore) Cektopup

func (z *ZakkiStore) Cektopup(idtopup string) (map[string]interface{}, error)

Cektopup memeriksa status pembayaran tagihan/topup QRIS berdasarkan ID topup.

func (*ZakkiStore) Cektopup2 added in v1.0.5

func (z *ZakkiStore) Cektopup2(idtopup string) string

Cektopup2 mendapatkan URL gambar struk digital dinamis (hologram receipt) berformat PNG.

func (*ZakkiStore) Checkbank

func (z *ZakkiStore) Checkbank() (map[string]interface{}, error)

Checkbank memeriksa saldo VA, detail mutasi bank, dan memicu penarikan saldo otomatis (Auto-Withdraw).

func (*ZakkiStore) Checkmutasi

func (z *ZakkiStore) Checkmutasi(mutasiType string) (map[string]interface{}, error)

Checkmutasi mengambil daftar riwayat mutasi Tarik/Tabung berdasarkan tipe.

func (*ZakkiStore) Checkname

func (z *ZakkiStore) Checkname(number string) (map[string]interface{}, error)

Checkname memverifikasi nama pemilik nomor Virtual Account (VA) Bank Zakki tujuan.

func (*ZakkiStore) Checktransfer added in v1.0.4

func (z *ZakkiStore) Checktransfer(idtransfer string) (map[string]interface{}, error)

Checktransfer memverifikasi status transfer saldo antar member berdasarkan ID transfer.

func (*ZakkiStore) Delcallback added in v1.0.4

func (z *ZakkiStore) Delcallback() (map[string]interface{}, error)

Delcallback menghapus URL callback yang terdaftar.

func (*ZakkiStore) Delnotifbot added in v1.0.4

func (z *ZakkiStore) Delnotifbot() (map[string]interface{}, error)

Delnotifbot menghapus ID Telegram yang terdaftar untuk menonaktifkan notifikasi bot.

func (*ZakkiStore) Delwhitelistip

func (z *ZakkiStore) Delwhitelistip(ip string) (map[string]interface{}, error)

Delwhitelistip menghapus IP server Anda dari whitelist API H2H.

func (*ZakkiStore) EnableAutoWithdraw

func (z *ZakkiStore) EnableAutoWithdraw(status bool)

EnableAutoWithdraw mengaktifkan atau menonaktifkan fitur penarikan otomatis (Auto-Withdraw).

func (*ZakkiStore) H2H

func (z *ZakkiStore) H2H(params H2HParams) (map[string]interface{}, error)

H2H mengirimkan order transaksi pembelian produk prabayar/pascabayar H2H.

func (*ZakkiStore) H2HSimple

func (z *ZakkiStore) H2HSimple(kode, tujuan, refID string) (map[string]interface{}, error)

H2HSimple mengirim order H2H dengan parameter posisional (kode, tujuan, refID).

func (*ZakkiStore) Leaderboard

func (z *ZakkiStore) Leaderboard(limit int, period string) (map[string]interface{}, error)

Leaderboard mengambil daftar peringkat sultan topup member teraktif.

func (*ZakkiStore) Listkode

func (z *ZakkiStore) Listkode(jenis, productType string) (map[string]interface{}, error)

Listkode mengambil daftar katalog kode produk H2H, deskripsi, dan harga terupdate.

func (*ZakkiStore) MiningStart added in v1.0.4

func (z *ZakkiStore) MiningStart() (map[string]interface{}, error)

MiningStart meminta tantangan (challenge) mining baru dari server.

func (*ZakkiStore) MiningSubmit added in v1.0.4

func (z *ZakkiStore) MiningSubmit(nonce interface{}, signature string) (map[string]interface{}, error)

MiningSubmit mengirimkan nonce tebakan dan signature untuk divalidasi oleh server.

func (*ZakkiStore) Myh2h

func (z *ZakkiStore) Myh2h() (map[string]interface{}, error)

Myh2h mengambil 20 riwayat pembelian H2H terupdate milik akun Anda.

func (*ZakkiStore) Mymining

func (z *ZakkiStore) Mymining() (map[string]interface{}, error)

Mymining mengambil riwayat koin hasil mining SHA256 milik akun Anda.

func (*ZakkiStore) Mytopup added in v1.0.4

func (z *ZakkiStore) Mytopup() (map[string]interface{}, error)

Mytopup mengambil daftar riwayat topup sukses beserta total volume topup.

func (*ZakkiStore) Mytransfer added in v1.0.4

func (z *ZakkiStore) Mytransfer(transferType string) (map[string]interface{}, error)

Mytransfer mengambil daftar riwayat transfer saldo masuk/keluar.

func (*ZakkiStore) NoktelBuy

func (z *ZakkiStore) NoktelBuy(category string) (map[string]interface{}, error)

NoktelBuy membeli nomor virtual baru berdasarkan kategori layanan.

func (*ZakkiStore) NoktelCancel

func (z *ZakkiStore) NoktelCancel(invoiceID string) (map[string]interface{}, error)

NoktelCancel membatalkan nomor yang pending OTP dan melakukan auto-refund saldo.

func (*ZakkiStore) NoktelGetOtp

func (z *ZakkiStore) NoktelGetOtp(accountID string) (map[string]interface{}, error)

NoktelGetOtp menarik kode OTP Telegram secara real-time dari nomor yang dibeli.

func (*ZakkiStore) NoktelHistory

func (z *ZakkiStore) NoktelHistory() (map[string]interface{}, error)

NoktelHistory mengambil daftar riwayat transaksi pembelian nomor Noktel.

func (*ZakkiStore) NoktelStok

func (z *ZakkiStore) NoktelStok() (map[string]interface{}, error)

NoktelStok memeriksa stok nomor virtual yang ready untuk dipesan.

func (*ZakkiStore) Setcallback added in v1.0.4

func (z *ZakkiStore) Setcallback(site string) (map[string]interface{}, error)

Setcallback mendaftarkan URL callback HTTPS Anda untuk menerima notifikasi otomatis.

func (*ZakkiStore) Setnotifbot added in v1.0.4

func (z *ZakkiStore) Setnotifbot(telegramID string) (map[string]interface{}, error)

Setnotifbot mendaftarkan ID Telegram Anda untuk notifikasi laporan transaksi bot.

func (*ZakkiStore) Status

func (z *ZakkiStore) Status() (map[string]interface{}, error)

Status memeriksa metrik CPU, beban finansial, dan kesehatan sistem global.

func (*ZakkiStore) Tabung

func (z *ZakkiStore) Tabung(jumlah int) (map[string]interface{}, error)

Tabung menabung/menyetorkan dana dari aplikasi utama ke rekening Virtual Account Bank (butuh PIN).

func (*ZakkiStore) Tarik

func (z *ZakkiStore) Tarik(jumlah int) (map[string]interface{}, error)

Tarik menarik dana tabungan Virtual Account ke saldo aplikasi utama (butuh PIN).

func (*ZakkiStore) Topup

func (z *ZakkiStore) Topup(nominal int) (map[string]interface{}, error)

Topup membuat invoice transaksi QRIS dinamis instan dengan nominal kode unik.

func (*ZakkiStore) Transfer

func (z *ZakkiStore) Transfer(params TransferParams) (map[string]interface{}, error)

Transfer mengirimkan saldo antar rekening Virtual Account member Bank Zakki.

func (*ZakkiStore) TransferSimple

func (z *ZakkiStore) TransferSimple(to string, amount int) (map[string]interface{}, error)

TransferSimple mentransfer saldo dengan parameter posisional (to, amount).

func (*ZakkiStore) Whitelistip

func (z *ZakkiStore) Whitelistip(ip string) (map[string]interface{}, error)

Whitelistip menambahkan IP server Anda ke whitelist API H2H.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL