zannpay-sdk
v1.0.0
Published
SDK Node.js untuk ZANNPAY Payment Gateway API.
Readme
ZannPay
SDK Node.js untuk ZANNPAY Payment Gateway API.
SDK ini dibuat agar developer Node.js bisa menggunakan API ZannStore dengan mudah tanpa harus membuat request manual ke endpoint API.
Semua request akan otomatis membuat signature dan mengirim request sesuai format API.
Base URL API https://pay.zannstore.com/v1
INSTALL
Install menggunakan npm
npm install zannpay-sdk
atau menggunakan yarn
yarn add zannpay-sdk
IMPORT PACKAGE
const ZannPay = require("zannpay-sdk")
INISIALISASI
const pay = new ZannPay( "MERCHANT_ID", "SECRET_KEY", "PIN" )
METHOD YANG TERSEDIA
create() status() profile() withdraw()
CREATE TRANSACTION
Endpoint POST https://pay.zannstore.com/v1
Body
merchant trx_id request=new payment amount note expired_time type_fee callback_url signature
Contoh penggunaan
const trx = await pay.create({ trx_id: "INV001", payment: "QRIS", amount: 10000, note: "Topup Saldo", expired_time: "30m", type_fee: "user", callback_url: "https://domain.com/callback" })
console.log(trx)
Contoh response
{ "status": true, "message": "Berhasil membuat transaksi", "data": { "trx_svr": "TRX_SERVER", "trx_id": "TRX_BUYER", "method_code": "QRIS|QRIS2|QRIS3", "method_name": "QRIS by ...", "status": "Pending", "amount": 10000, "unique_code": 123, "diterima": 10000, "fee": 100, "type_fee": "user", "qr_url": "https://.../qris/xxx.png", "qr_content": "....", "checkout_url": "https://pay.zannstore.com/invoice?reffID=TRX_SERVER&payRef=SIGN", "expired_at": "YYYY-MM-DD HH:mm:ss" } } Catatan:
Field di data tergantung metode pembayaran. QRIS menggunakan qr_url dan qr_content. Retail menggunakan payment_code. VA menggunakan virtual_account.
CHECK STATUS TRANSACTION
Endpoint POST https://pay.zannstore.com/v1
Body
merchant trx_id request=status signature
Contoh penggunaan
const status = await pay.status("INV001")
console.log(status)
Contoh response
{ "status": true, "msg": "Yeay, detail transaksi berhasil diambil", "data": { "trx_svr": "TRX_SERVER", "trx_id": "TRX_BUYER", "metode_name": "QRIS2", "status": "Pending", // Pending // Success // Expired // Canceled "amount": 10000, "fee": 100, "unique_code": 4, "diterima": 10004, "note": "Catatan", "type_fee": "user", "issuer_bank": "-", "rrn": "-", "paid_at": "-", "created_at": "YYYY-MM-DD HH:mm:ss", "expired_at": "YYYY-MM-DD HH:mm:ss" } }
PROFILE
Endpoint POST https://pay.zannstore.com/v1
Body
merchant pin secret_key request=profile signature
Contoh penggunaan
const profile = await pay.profile()
console.log(profile)
Contoh response
{ "status": true, "msg": "Yeay, data profile berhasil diambil", "data": { "nama_pemilik": "Anantha", "merchant": "MERCHANT123", "saldo_kliring": "Rp 50.000", "saldo_tersedia": "Rp 100.000", "whatsapp": "6285xxxxxxx", "email": "[email protected]", "created_at": "YYYY-MM-DD HH:mm:ss" } }
WITHDRAW AUTO
Endpoint POST https://pay.zannstore.com/v1
Body
merchant pin request=withdraw_auto amount type_bank tujuan bank_code signature
Contoh penggunaan
const withdraw = await pay.withdraw({ amount: 10000, type_bank: "bank", tujuan: "1234567890", bank_code: "BRI" })
console.log(withdraw)
Contoh response
{ "status": true, "msg": "Withdraw berhasil diproses.", "trx_id": "ZNWD...", "nominal": 10000, "biaya": 3000, "total": 13000, "saldo_awal": 50000, "saldo_akhir": 37000, "tujuan": "1234567890", "jenis": "BANK", "bank_code": "BRI", "account_name": "NAMA", "bank_name": "BANK BRI" }
PAYMENT METHOD
QRIS QRIS2 QRIS3 BRIVA MANDIRIVA BNCVA PERMATAVA BNIVA SINARMASVA DANAMONVA CIMBVA MUAMALATVA BSIVA MAYBANKVA ALFAMART INDOMARET
AUTHOR
ZANNPAY Payment Gateway https://pay.zannstore.com
