zakkistore

package module
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: May 31, 2026 License: MIT Imports: 6 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 (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 Go ini mendukung secara penuh seluruh 25 fungsi resmi dengan nama dan perilaku yang konsisten dengan SDK versi Node.js (NPM), Python (PyPI), dan PHP (Composer):

1. Payment Gateway (QRIS Top Up)
  • zakki.Topup(nominal int) — Membuat QRIS dinamis instan dengan nominal kode unik.
  • zakki.Cektopup(idtopup string) — Cek status pembayaran QRIS.
  • zakki.Cancel(idTransaksi string, allPending bool) — Batalkan transaksi pending (Daftar pending, batal satu, atau batal massal).
2. Transaksi H2H
  • zakki.Listkode(jenis, productType string) — Katalog kode produk aktif, deskripsi, dan harga.
  • zakki.H2H(params zakkistore.H2HParams) — Mengirim order transaksi H2H.
  • zakki.H2HSimple(kode, tujuan, refID string) — Versi sederhana posisional untuk memicu order H2H.
  • zakki.Cekh2h(idTrx string) — Cek detail status pengisian, SN, dan harga beli order H2H.
  • 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(number string) — Verifikasi nama asli pemilik VA Bank Zakki tujuan.
  • zakki.Transfer(params zakkistore.TransferParams) — Transfer saldo antar Virtual Account member Bank Zakki.
  • zakki.TransferSimple(to string, amount int) — Versi sederhana posisional untuk transfer saldo.
  • zakki.Tabung(jumlah int) — Menabung / deposit saldo dari aplikasi utama (BukaOlshop) ke Bank (butuh PIN).
  • zakki.Tarik(jumlah int) — Menarik dana tabungan ke saldo aplikasi (butuh PIN).
  • zakki.Checkmutasi(mutasiType string) — Riwayat mutasi Tarik/Tabung (tarik, tabung, all).
4. Noktel Marketplace (OTP Virtual)
  • zakki.NoktelStok() — Cek stok nomor virtual yang ready.
  • zakki.NoktelBuy(category string) — Membeli nomor virtual baru untuk OTP.
  • zakki.NoktelGetOtp(accountID string) — Menarik kode OTP Telegram secara real-time.
  • zakki.NoktelCancel(invoiceID string) — 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(ip string) — Whitelist IP server Anda untuk otorisasi API H2H.
  • zakki.Delwhitelistip(ip string) — Hapus IP server dari whitelist.
  • zakki.Leaderboard(limit int, period string) — 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.

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) Cekmining

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

Cekmining memeriksa status kesulitan global, block reward, dan miner aktif.

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) 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) 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) 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) 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) 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