zakkistore-sdk 1.0.0 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +54 -42
  3. data/lib/zakkistore-sdk.rb +114 -2
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- data.tar.gz: d4913d90836c0d62b6bba66b1550e504f517d69b1bb78e061cf1792a81c1d8ae
4
- metadata.gz: 8d571e2886f5b7ac3d175c4cc97edcdf9abc319194dbb1d75a8dfb785b12a090
3
+ data.tar.gz: 470dfdb04248bbe20bb7e46838a678585d42ffa3bc547990cbc11d427abaa2aa
4
+ metadata.gz: 423c6f48ca67c166533a3a54502ff9b5e1de78a14a943ed371f7c8c67d1c3169
5
5
  SHA512:
6
- data.tar.gz: 3fe7d945bd168df9d2cb0827216c4b51d8d6709748a84454592544feb5990d3c40d3e5137dbbb172a69933974714203cde3aa64dc2cf62f7f1a1139a1ab0fa42
7
- metadata.gz: 7399e7cec6aa598167452c2bc632caddf206a5d93bd02d1982326b35fc6a65657c56e0b8c16b14a31094a174de48a60dca844f7120201c818471688a573ba83f
6
+ data.tar.gz: 36c811447e39d8e156b00efda1757941d9d35ab4ecd555f3416dee20fe36541932f827a992a7761692cb3bc46d5f83ba0303e05be25190663f967ccf59f1f222
7
+ metadata.gz: 4b40ee9debc561685e7fecc841ffa2c15f9af237c071638dcf8c25a1f3c623a1190839b6b420467e18e3ee439d27fa601816770af597af6cc37c5f6614871a2d
data/README.md CHANGED
@@ -41,7 +41,7 @@ zakki = ZakkiStore.new(
41
41
  ## 🛠️ Fitur Unggulan
42
42
 
43
43
  ### 🔄 Auto-Withdraw Saldo VA
44
- Jika opsi `auto_withdraw: true` diaktifkan, SDK akan memicu penarikan dana VA bank otomatis secara *real-time* menjadi saldo utama aplikasi (BukaOlshop) ketika fungsi `checkbank()` dipanggil.
44
+ Jika opsi `auto_withdraw: true` diaktifkan, SDK akan memicu penarikan dana VA bank otomatis secara *real-time* menjadi saldo utama aplikasi zakki store ketika fungsi `checkbank()` dipanggil.
45
45
 
46
46
  ### 💡 Dual-Flow Pascabayar & Bebas Nominal
47
47
  * **Pascabayar (PLN/BPJS/PDAM):** Inquiry tagihan terlebih dahulu, lalu bayar dengan format tujuan `[ID_Pelanggan].[Nominal_Tagihan]` (Contoh: `122345678901.150000`).
@@ -49,48 +49,60 @@ Jika opsi `auto_withdraw: true` diaktifkan, SDK akan memicu penarikan dana VA ba
49
49
 
50
50
  ---
51
51
 
52
- ## 📑 Daftar Referensi Metode Lengkap
53
-
54
- SDK Ruby ini mendukung secara penuh seluruh **25 fungsi resmi** dengan nama dan perilaku yang konsisten dengan SDK versi Node.js (NPM):
55
-
56
- ### 1. Payment Gateway (QRIS Top Up)
57
- * `zakki.topup(nominal)` — Membuat QRIS dinamis instan dengan nominal kode unik.
58
- * `zakki.cektopup(idtopup)`Cek status pembayaran QRIS.
59
- * `zakki.cancel(id_transaksi, all_pending)`Batalkan transaksi pending (Daftar pending, batal satu, atau batal massal).
60
-
61
- ### 2. Transaksi H2H
62
- * `zakki.listkode(jenis, product_type)` Katalog kode produk aktif, deskripsi, dan harga.
63
- * `zakki.h2h(kode, tujuan, refID)`Mengirim order transaksi H2H (Mendukung hash argumen).
64
- * `zakki.cekh2h(id_trx)`Cek detail status pengisian, SN, dan harga beli order H2H.
65
- * `zakki.myh2h()`Mengambil 20 riwayat pembelian H2H terupdate.
66
-
67
- ### 3. Perbankan & Transfer VA
68
- * `zakki.checkbank()` Cek saldo, VA member, mutasi, dan pemicu Auto-Withdraw.
69
- * `zakki.checkname(number)`Verifikasi nama asli pemilik VA Bank Zakki tujuan.
70
- * `zakki.transfer(to, amount)`Transfer saldo antar Virtual Account member Bank Zakki (Mendukung hash argumen).
71
- * `zakki.tabung(jumlah)`Menabung / deposit saldo dari aplikasi utama (BukaOlshop) ke Bank (butuh PIN).
72
- * `zakki.tarik(jumlah)`Menarik dana tabungan ke saldo aplikasi (butuh PIN).
73
- * `zakki.checkmutasi(mutasi_type)`Riwayat mutasi Tarik/Tabung (`tarik`, `tabung`, `all`).
74
-
75
- ### 4. Noktel Marketplace (OTP Virtual)
76
- * `zakki.noktelStok()`Cek stok nomor virtual yang ready.
77
- * `zakki.noktelBuy(category)` — Membeli nomor virtual baru untuk OTP.
78
- * `zakki.noktelGetOtp(account_id)` Menarik kode OTP Telegram secara real-time.
79
- * `zakki.noktelCancel(invoice_id)`Membatalkan nomor yang pending OTP & auto-refund.
80
- * `zakki.noktelHistory()`Mengambil daftar riwayat pembelian Noktel.
81
-
82
- ### 5. Reward Komputasi & Game
83
- * `zakki.cekmining()`Cek status kesulitan global, block reward, dan miner aktif.
84
- * `zakki.mymining()` — Riwayat koin mining SHA256 milik akun Anda.
85
- * `zakki.cekgacha()` Statistik poin, kemenangan, dan keuntungan gacha member.
86
-
87
- ### 6. Keamanan & Utilitas
88
- * `zakki.whitelistip(ip)`Whitelist IP server Anda untuk otorisasi API H2H.
89
- * `zakki.delwhitelistip(ip)`Hapus IP server dari whitelist.
90
- * `zakki.leaderboard(limit, period)`Mengambil peringkat sultan topup teraktif.
91
- * `zakki.status()` — Informasi beban CPU, metrik finansial, dan kesehatan sistem.
52
+ ## 📑 Daftar Referensi Metode Lengkap & Struktur Pengelompokan (36 Fungsi Resmi)
53
+
54
+ Seluruh fungsi yang didukung oleh SDK ini dikelompokkan secara rapi ke dalam 7 kategori layanan utama demi mempermudah pemahaman dan integrasi:
55
+
56
+ ### 1. ⚡ Layanan Payment Gateway (QRIS Topup) — [4 Fungsi]
57
+ * **`zakki.topup(nominal)`** — Membuat tiket pembayaran QRIS dinamis instan dengan nominal kode unik.
58
+ * **`zakki.cektopup(idtopup)`**Mengecek status pembayaran tiket QRIS tertentu secara real-time.
59
+ * **`zakki.mytopup()`**Mengambil seluruh riwayat transaksi topup QRIS akun Anda.
60
+ * **`zakki.cancel(id_transaksi, all_pending)`** — Membatalkan satu atau seluruh tiket topup pending.
61
+
62
+ ### 2. 🏪 Layanan Transaksi Host-to-Host (H2H) [4 Fungsi]
63
+ * **`zakki.listkode(jenis, product_type)`**Mengambil katalog produk prabayar/pascabayar aktif beserta daftar harga beli.
64
+ * **`zakki.h2h(kode, tujuan, refID)`**Mengirimkan order transaksi H2H (pulsa, paket data, PLN kustom, dll).
65
+ * **`zakki.cekh2h(id_trx)`**Mengecek status transaksi, Serial Number (SN), dan harga beli riil dari order H2H.
66
+ * **`zakki.myh2h()`** — Mengambil 20 riwayat transaksi H2H terupdate milik akun Anda.
67
+
68
+ ### 3. 🏦 Layanan Perbankan & Transfer Saldo VA [8 Fungsi]
69
+ * **`zakki.checkbank()`**Memeriksa detail Virtual Account (VA), saldo bank VA, serta memicu Auto-Withdraw jika diaktifkan.
70
+ * **`zakki.checkname(number)`**Memverifikasi nama asli pemilik rekening Virtual Account tujuan sebelum melakukan transfer.
71
+ * **`zakki.transfer(to, amount)`**Mengirimkan saldo antar-VA member secara instan dan bebas biaya admin.
72
+ * **`zakki.tabung(jumlah)`**Menyetorkan saldo aktif aplikasi ke rekening bank Virtual Account terhubung Anda.
73
+ * **`zakki.tarik(jumlah)`**Menarik dana dari bank Virtual Account ke saldo aktif aplikasi Zakki Store Anda.
74
+ * **`zakki.checkmutasi(mutasi_type)`** — Melihat riwayat mutasi tabung/tarik saldo bank VA (`all`, `tarik`, `tabung`).
75
+ * **`zakki.checktransfer(idtransfer)`** Mengecek status pengiriman dana transfer tertentu secara detail.
76
+ * **`zakki.mytransfer(type)`**Mengambil riwayat pengiriman dan penerimaan transfer saldo (`all`, `kirim`, `terima`).
77
+
78
+ ### 4. 📱 Layanan Noktel Marketplace (OTP Virtual) [5 Fungsi]
79
+ * **`zakki.noktelStok()`**Memeriksa ketersediaan stok nomor virtual aktif per kategori layanan/aplikasi.
80
+ * **`zakki.noktelBuy(category)`**Membeli nomor virtual baru untuk penerimaan kode verifikasi/OTP.
81
+ * **`zakki.noktelGetOtp(account_id)`** — Mengambil kode verifikasi/OTP yang masuk ke nomor virtual secara real-time.
82
+ * **`zakki.noktelCancel(invoice_id)`** Membatalkan order nomor virtual yang pending OTP dan memicu auto-refund saldo.
83
+ * **`zakki.noktelHistory()`**Mengambil daftar riwayat lengkap pemesanan nomor virtual.
84
+
85
+ ### 5. ⛏️ Layanan Reward Komputasi SHA-256 (Mining) & Game — [5 Fungsi]
86
+ * **`zakki.miningStart()`** — Meminta challenge penambangan SHA-256 serta target kesulitan (difficulty) dari server.
87
+ * **`zakki.miningSubmit(nonce, signature)`** Mengirimkan hasil kerja hashing SHA-256 (Proof-of-Work) untuk mendapatkan koin.
88
+ * **`zakki.cekmining(idmining)`**Mengecek status audit dan persetujuan dari blok mining yang telah Anda selesaikan.
89
+ * **`zakki.mymining()`**Melihat riwayat penambangan koin dan total reward hashing akun Anda.
90
+ * **`zakki.cekgacha()`**Mengecek jumlah tiket gacha, riwayat kemenangan, dan detail koin keberuntungan Anda.
91
+
92
+ ### 6. 🔒 Layanan Keamanan IP & Utilitas — [6 Fungsi]
93
+ * **`zakki.whitelistip(ip)`** — Mendaftarkan IP server/host Anda agar diizinkan melakukan transaksi H2H via API (Maksimal 3 IP).
94
+ * **`zakki.delwhitelistip(ip)`** — Menghapus alamat IP terdaftar dari whitelist API.
95
+ * **`zakki.cekmyip()`** — Mendeteksi alamat IP publik host/server Anda saat ini yang terbaca oleh sistem.
96
+ * **`zakki.cekip(ip)`** — Mengecek detail status IP whitelisting tertentu.
97
+ * **`zakki.leaderboard(limit, period)`** — Melihat daftar Sultan topup teraktif secara global.
98
+ * **`zakki.status()`** — Memeriksa beban CPU server, statistik finansial global, dan kesehatan sistem.
99
+
100
+ ### 7. 🔗 Layanan Webhook Callback & Notifikasi Bot — [4 Fungsi]
101
+ * **`zakki.setcallback(site)`** — Memasang URL callback real-time untuk menerima laporan status transaksi H2H.
102
+ * **`zakki.delcallback()`** — Menghapus URL callback yang terpasang di sistem.
103
+ * **`zakki.setnotifbot(telegramId)`** — Memasang ID Telegram Anda untuk menerima notifikasi otomatis transaksi sukses/gagal.
104
+ * **`zakki.delnotifbot()`** — Menonaktifkan bot notifikasi Telegram.
92
105
 
93
- ---
94
106
 
95
107
  ## 🛡️ Protokol Keamanan API
96
108
 
@@ -216,18 +216,45 @@ class ZakkiStore
216
216
  # --- 5. REWARD KOMPUTASI & UTILITY ---
217
217
  # ==========================================================
218
218
 
219
- def cekmining
220
- _request('/cekmining', 'GET', { "token" => @token })
219
+ def cekmining(idmining)
220
+ raise ArgumentError, "Parameter idmining wajib diisi." if idmining.nil? || idmining.empty?
221
+ _request('/cekmining', 'GET', { "idmining" => idmining.to_s.strip })
221
222
  end
222
223
 
223
224
  def mymining
224
225
  _request('/mymining', 'GET', { "token" => @token })
225
226
  end
226
227
 
228
+ def mining_start
229
+ _request('/mining/start', 'GET', { "token" => @token })
230
+ end
231
+
232
+ def miningStart
233
+ mining_start
234
+ end
235
+
236
+ def mining_submit(nonce, signature)
237
+ raise ArgumentError, "Parameter nonce wajib disertakan." if nonce.nil?
238
+ raise ArgumentError, "Parameter signature wajib disertakan." if signature.nil? || signature.empty?
239
+ _request('/mining/submit', 'POST', {
240
+ "token" => @token,
241
+ "nonce" => nonce,
242
+ "signature" => signature
243
+ })
244
+ end
245
+
246
+ def miningSubmit(nonce, signature)
247
+ mining_submit(nonce, signature)
248
+ end
249
+
227
250
  def cekgacha
228
251
  _request('/cekgacha', 'GET', { "token" => @token })
229
252
  end
230
253
 
254
+ # ==========================================================
255
+ # --- 6. UTILITY & SECURITY ---
256
+ # ==========================================================
257
+
231
258
  def whitelistip(ip)
232
259
  _request('/whitelistip', 'POST', {
233
260
  "token" => @token,
@@ -253,6 +280,91 @@ class ZakkiStore
253
280
  _request('/status', 'GET')
254
281
  end
255
282
 
283
+ # ==========================================================
284
+ # --- 7. METODE INTEGRASI BARU ---
285
+ # ==========================================================
286
+
287
+ def set_callback(site)
288
+ _request('/setcallback', 'GET', {
289
+ "token" => @token,
290
+ "site" => site.to_s.strip
291
+ })
292
+ end
293
+
294
+ def setcallback(site)
295
+ set_callback(site)
296
+ end
297
+
298
+ def del_callback
299
+ _request('/delcallback', 'GET', { "token" => @token })
300
+ end
301
+
302
+ def delcallback
303
+ del_callback
304
+ end
305
+
306
+ def set_notif_bot(telegram_id)
307
+ _request('/setnotifbot', 'GET', {
308
+ "token" => @token,
309
+ "id" => telegram_id.to_s.strip
310
+ })
311
+ end
312
+
313
+ def setnotifbot(telegram_id)
314
+ set_notif_bot(telegram_id)
315
+ end
316
+
317
+ def del_notif_bot
318
+ _request('/delnotifbot', 'GET', { "token" => @token })
319
+ end
320
+
321
+ def delnotifbot
322
+ del_notif_bot
323
+ end
324
+
325
+ def check_transfer(idtransfer)
326
+ _request('/checktransfer', 'GET', { "idtransfer" => idtransfer.to_s.strip })
327
+ end
328
+
329
+ def checktransfer(idtransfer)
330
+ check_transfer(idtransfer)
331
+ end
332
+
333
+ def my_transfer(transfer_type = "all")
334
+ _request('/mytransfer', 'GET', {
335
+ "token" => @token,
336
+ "type" => transfer_type.to_s.strip
337
+ })
338
+ end
339
+
340
+ def mytransfer(transfer_type = "all")
341
+ my_transfer(transfer_type)
342
+ end
343
+
344
+ def my_topup
345
+ _request('/mytopup', 'GET', { "token" => @token })
346
+ end
347
+
348
+ def mytopup
349
+ my_topup
350
+ end
351
+
352
+ def cek_my_ip
353
+ _request('/cekmyip', 'GET')
354
+ end
355
+
356
+ def cekmyip
357
+ cek_my_ip
358
+ end
359
+
360
+ def cek_ip(ip)
361
+ _request('/cekip', 'GET', { "ip" => ip.to_s.strip })
362
+ end
363
+
364
+ def cekip(ip)
365
+ cek_ip(ip)
366
+ end
367
+
256
368
  private
257
369
 
258
370
  def _request(endpoint, method = 'GET', data = nil)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zakkistore-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - ZakkiXD
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-01 00:00:00.000000000 Z
11
+ date: 2026-06-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Mempermudah integrasi layanan gerbang pembayaran (Payment Gateway) QRIS dan H2H Zakki Store.
14
14
  email: