zakkistore-sdk 1.0.1 → 1.0.5

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 +55 -42
  3. data/lib/zakkistore-sdk.rb +118 -2
  4. metadata +10 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- data.tar.gz: e69cf6aec6b0fe0d8534b9e48e7860b10e6cb80605ff4cbc0e5da1f7b6a27a8c
4
- metadata.gz: 071755f8feb2fd496baa625abb5f5bdeb54cd223960a87c6a5d28a08b560f641
3
+ metadata.gz: 709a243e825cb66c17e979ea0f2131f4aecf2d1e3be7b8f52e693ab9f3c10a89
4
+ data.tar.gz: 59b37c51e5f059085af21320d1f752eca8e8cde7478ff5a5addc30c87b2fc7ee
5
5
  SHA512:
6
- data.tar.gz: 5322c4a9e8845b8c799a2dc6bf8a40645af69cef1bcc8e060b08a1caf9bd7d740071bdfb27487ae8762d4aaab3c570eef38cf0af9aca9eee7e169e90207ba3f9
7
- metadata.gz: f6bdbeda4f33bf66e6ff36161dee0dcacbef62c1553575b39e0fbf60fea285adb3597409835e5fac5872f566bcfa23785ad82fbe4b782e8a742689280348e560
6
+ metadata.gz: 534fc99b3d3c697103940174451c984d1de0fd1c40a94191c35ce6fff16c13d071ab901252d9016503e11e0b05a327f8590f443b8264d8e36277db63d7831147
7
+ data.tar.gz: 5dcd139fa48eb64c69f5234c0aefee004b0db6acdf78539a121a147a30a1aed7e233bd54e3751c44029ef326ba407e592b482c3cd30bc637fcdf33e790b97ecb
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,61 @@ 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 (37 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) — [5 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.cektopup2(idtopup)`**Mendapatkan URL gambar struk digital dinamis (hologram receipt) berformat PNG.
60
+ * **`zakki.mytopup()`** — Mengambil seluruh riwayat transaksi topup QRIS akun Anda.
61
+ * **`zakki.cancel(id_transaksi, all_pending)`** — Membatalkan satu atau seluruh tiket topup pending.
62
+
63
+ ### 2. 🏪 Layanan Transaksi Host-to-Host (H2H) [4 Fungsi]
64
+ * **`zakki.listkode(jenis, product_type)`**Mengambil katalog produk prabayar/pascabayar aktif beserta daftar harga beli.
65
+ * **`zakki.h2h(kode, tujuan, refID)`**Mengirimkan order transaksi H2H (pulsa, paket data, PLN kustom, dll).
66
+ * **`zakki.cekh2h(id_trx)`** — Mengecek status transaksi, Serial Number (SN), dan harga beli riil dari order H2H.
67
+ * **`zakki.myh2h()`** Mengambil 20 riwayat transaksi H2H terupdate milik akun Anda.
68
+
69
+ ### 3. 🏦 Layanan Perbankan & Transfer Saldo VA [8 Fungsi]
70
+ * **`zakki.checkbank()`**Memeriksa detail Virtual Account (VA), saldo bank VA, serta memicu Auto-Withdraw jika diaktifkan.
71
+ * **`zakki.checkname(number)`**Memverifikasi nama asli pemilik rekening Virtual Account tujuan sebelum melakukan transfer.
72
+ * **`zakki.transfer(to, amount)`**Mengirimkan saldo antar-VA member secara instan dan bebas biaya admin.
73
+ * **`zakki.tabung(jumlah)`**Menyetorkan saldo aktif aplikasi ke rekening bank Virtual Account terhubung Anda.
74
+ * **`zakki.tarik(jumlah)`** — Menarik dana dari bank Virtual Account ke saldo aktif aplikasi Zakki Store Anda.
75
+ * **`zakki.checkmutasi(mutasi_type)`** Melihat riwayat mutasi tabung/tarik saldo bank VA (`all`, `tarik`, `tabung`).
76
+ * **`zakki.checktransfer(idtransfer)`**Mengecek status pengiriman dana transfer tertentu secara detail.
77
+ * **`zakki.mytransfer(type)`**Mengambil riwayat pengiriman dan penerimaan transfer saldo (`all`, `kirim`, `terima`).
78
+
79
+ ### 4. 📱 Layanan Noktel Marketplace (OTP Virtual) — [5 Fungsi]
80
+ * **`zakki.noktelStok()`**Memeriksa ketersediaan stok nomor virtual aktif per kategori layanan/aplikasi.
81
+ * **`zakki.noktelBuy(category)`** — Membeli nomor virtual baru untuk penerimaan kode verifikasi/OTP.
82
+ * **`zakki.noktelGetOtp(account_id)`** Mengambil kode verifikasi/OTP yang masuk ke nomor virtual secara real-time.
83
+ * **`zakki.noktelCancel(invoice_id)`**Membatalkan order nomor virtual yang pending OTP dan memicu auto-refund saldo.
84
+ * **`zakki.noktelHistory()`**Mengambil daftar riwayat lengkap pemesanan nomor virtual.
85
+
86
+ ### 5. ⛏️ Layanan Reward Komputasi SHA-256 (Mining) & Game — [5 Fungsi]
87
+ * **`zakki.miningStart()`** Meminta challenge penambangan SHA-256 serta target kesulitan (difficulty) dari server.
88
+ * **`zakki.miningSubmit(nonce, signature)`**Mengirimkan hasil kerja hashing SHA-256 (Proof-of-Work) untuk mendapatkan koin.
89
+ * **`zakki.cekmining(idmining)`**Mengecek status audit dan persetujuan dari blok mining yang telah Anda selesaikan.
90
+ * **`zakki.mymining()`**Melihat riwayat penambangan koin dan total reward hashing akun Anda.
91
+ * **`zakki.cekgacha()`**Mengecek jumlah tiket gacha, riwayat kemenangan, dan detail koin keberuntungan Anda.
92
+
93
+ ### 6. 🔒 Layanan Keamanan IP & Utilitas — [6 Fungsi]
94
+ * **`zakki.whitelistip(ip)`** — Mendaftarkan IP server/host Anda agar diizinkan melakukan transaksi H2H via API (Maksimal 3 IP).
95
+ * **`zakki.delwhitelistip(ip)`** — Menghapus alamat IP terdaftar dari whitelist API.
96
+ * **`zakki.cekmyip()`** — Mendeteksi alamat IP publik host/server Anda saat ini yang terbaca oleh sistem.
97
+ * **`zakki.cekip(ip)`** — Mengecek detail status IP whitelisting tertentu.
98
+ * **`zakki.leaderboard(limit, period)`** — Melihat daftar Sultan topup teraktif secara global.
99
+ * **`zakki.status()`** — Memeriksa beban CPU server, statistik finansial global, dan kesehatan sistem.
100
+
101
+ ### 7. 🔗 Layanan Webhook Callback & Notifikasi Bot — [4 Fungsi]
102
+ * **`zakki.setcallback(site)`** — Memasang URL callback real-time untuk menerima laporan status transaksi H2H.
103
+ * **`zakki.delcallback()`** — Menghapus URL callback yang terpasang di sistem.
104
+ * **`zakki.setnotifbot(telegramId)`** — Memasang ID Telegram Anda untuk menerima notifikasi otomatis transaksi sukses/gagal.
105
+ * **`zakki.delnotifbot()`** — Menonaktifkan bot notifikasi Telegram.
92
106
 
93
- ---
94
107
 
95
108
  ## 🛡️ Protokol Keamanan API
96
109
 
@@ -48,6 +48,10 @@ class ZakkiStore
48
48
  })
49
49
  end
50
50
 
51
+ def cektopup2(idtopup)
52
+ "#{@base_url}/cektopup2?idtopup=#{URI.encode_www_form_component(idtopup)}"
53
+ end
54
+
51
55
  def cancel(id_transaksi = nil, all_pending = false)
52
56
  if id_transaksi.is_a?(TrueClass) || id_transaksi.is_a?(FalseClass)
53
57
  all_pending = id_transaksi
@@ -216,18 +220,45 @@ class ZakkiStore
216
220
  # --- 5. REWARD KOMPUTASI & UTILITY ---
217
221
  # ==========================================================
218
222
 
219
- def cekmining
220
- _request('/cekmining', 'GET', { "token" => @token })
223
+ def cekmining(idmining)
224
+ raise ArgumentError, "Parameter idmining wajib diisi." if idmining.nil? || idmining.empty?
225
+ _request('/cekmining', 'GET', { "idmining" => idmining.to_s.strip })
221
226
  end
222
227
 
223
228
  def mymining
224
229
  _request('/mymining', 'GET', { "token" => @token })
225
230
  end
226
231
 
232
+ def mining_start
233
+ _request('/mining/start', 'GET', { "token" => @token })
234
+ end
235
+
236
+ def miningStart
237
+ mining_start
238
+ end
239
+
240
+ def mining_submit(nonce, signature)
241
+ raise ArgumentError, "Parameter nonce wajib disertakan." if nonce.nil?
242
+ raise ArgumentError, "Parameter signature wajib disertakan." if signature.nil? || signature.empty?
243
+ _request('/mining/submit', 'POST', {
244
+ "token" => @token,
245
+ "nonce" => nonce,
246
+ "signature" => signature
247
+ })
248
+ end
249
+
250
+ def miningSubmit(nonce, signature)
251
+ mining_submit(nonce, signature)
252
+ end
253
+
227
254
  def cekgacha
228
255
  _request('/cekgacha', 'GET', { "token" => @token })
229
256
  end
230
257
 
258
+ # ==========================================================
259
+ # --- 6. UTILITY & SECURITY ---
260
+ # ==========================================================
261
+
231
262
  def whitelistip(ip)
232
263
  _request('/whitelistip', 'POST', {
233
264
  "token" => @token,
@@ -253,6 +284,91 @@ class ZakkiStore
253
284
  _request('/status', 'GET')
254
285
  end
255
286
 
287
+ # ==========================================================
288
+ # --- 7. METODE INTEGRASI BARU ---
289
+ # ==========================================================
290
+
291
+ def set_callback(site)
292
+ _request('/setcallback', 'GET', {
293
+ "token" => @token,
294
+ "site" => site.to_s.strip
295
+ })
296
+ end
297
+
298
+ def setcallback(site)
299
+ set_callback(site)
300
+ end
301
+
302
+ def del_callback
303
+ _request('/delcallback', 'GET', { "token" => @token })
304
+ end
305
+
306
+ def delcallback
307
+ del_callback
308
+ end
309
+
310
+ def set_notif_bot(telegram_id)
311
+ _request('/setnotifbot', 'GET', {
312
+ "token" => @token,
313
+ "id" => telegram_id.to_s.strip
314
+ })
315
+ end
316
+
317
+ def setnotifbot(telegram_id)
318
+ set_notif_bot(telegram_id)
319
+ end
320
+
321
+ def del_notif_bot
322
+ _request('/delnotifbot', 'GET', { "token" => @token })
323
+ end
324
+
325
+ def delnotifbot
326
+ del_notif_bot
327
+ end
328
+
329
+ def check_transfer(idtransfer)
330
+ _request('/checktransfer', 'GET', { "idtransfer" => idtransfer.to_s.strip })
331
+ end
332
+
333
+ def checktransfer(idtransfer)
334
+ check_transfer(idtransfer)
335
+ end
336
+
337
+ def my_transfer(transfer_type = "all")
338
+ _request('/mytransfer', 'GET', {
339
+ "token" => @token,
340
+ "type" => transfer_type.to_s.strip
341
+ })
342
+ end
343
+
344
+ def mytransfer(transfer_type = "all")
345
+ my_transfer(transfer_type)
346
+ end
347
+
348
+ def my_topup
349
+ _request('/mytopup', 'GET', { "token" => @token })
350
+ end
351
+
352
+ def mytopup
353
+ my_topup
354
+ end
355
+
356
+ def cek_my_ip
357
+ _request('/cekmyip', 'GET')
358
+ end
359
+
360
+ def cekmyip
361
+ cek_my_ip
362
+ end
363
+
364
+ def cek_ip(ip)
365
+ _request('/cekip', 'GET', { "ip" => ip.to_s.strip })
366
+ end
367
+
368
+ def cekip(ip)
369
+ cek_ip(ip)
370
+ end
371
+
256
372
  private
257
373
 
258
374
  def _request(endpoint, method = 'GET', data = nil)
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zakkistore-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - ZakkiXD
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-01 00:00:00.000000000 Z
11
+ date: 2026-06-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: Mempermudah integrasi layanan gerbang pembayaran (Payment Gateway) QRIS dan H2H Zakki Store.
14
- email:
15
- - b2b_partner@example.com
13
+ description: Mempermudah integrasi layanan gerbang pembayaran (Payment Gateway) QRIS
14
+ dan H2H Zakki Store.
15
+ email: b2b_partner@example.com
16
16
  executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
@@ -22,10 +22,8 @@ files:
22
22
  homepage: https://github.com/MrLow12/zakkistore-sdk-ruby
23
23
  licenses:
24
24
  - MIT
25
- metadata:
26
- homepage_uri: https://github.com/MrLow12/zakkistore-sdk-ruby
27
- source_code_uri: https://github.com/MrLow12/zakkistore-sdk-ruby
28
- post_install_message:
25
+ metadata: {}
26
+ post_install_message:
29
27
  rdoc_options: []
30
28
  require_paths:
31
29
  - lib
@@ -40,8 +38,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
40
38
  - !ruby/object:Gem::Version
41
39
  version: '0'
42
40
  requirements: []
43
- rubygems_version: 3.2.22
44
- signing_key:
41
+ rubygems_version: 3.4.20
42
+ signing_key:
45
43
  specification_version: 4
46
44
  summary: Official Ruby SDK Client Library for Zakki Store B2B API Gateway
47
45
  test_files: []