Dokumentasi API IRS Market. API ini memungkinkan integrasi dengan sistem IRS Market untuk pembelian dan penjualan produk digital seperti pulsa, kuota, voucher game, dan token PLN.
Base URL: https://api.irsmarket.com/v1
Method: POST
Content-Type: application/json
Setiap request memerlukan API Key dan API Secret yang valid. anda dapat mengecek pada email saat anda mendaftar. atau anda bisa reset APIKEY dan Secret melalui dashboard IRSMarket Anda.
API Key
Identifier unik untuk akun Anda
API Secret
Secret key untuk validasi request
Endpoint untuk melakukan transaksi pembelian produk digital.
POST https://api.irsmarket.com/v1/transaction
Anda dapat menggunakan apisecret
atau sign
pada body request.
Sign adalah hasil md5(apikey+apisecret+trxid)
.
{ "apikey": "your_api_key_here", // Gunakan salah satu: "apisecret": "your_api_secret_here", // atau "sign": "md5_hash_here", "productcode": "TSEL_5000", "trxid": "TRX_001_20250104_001", "customerno": "081234567890", "maxprice": "5500", // Optional untuk open denom/topup emoney "amount": 100000 }
Endpoint untuk melakukan transaksi pembelian produk digital menggunakan method GET.
Parameter | Type | Required | Description |
---|---|---|---|
apikey | string | ✅ Yes | API Key yang diberikan oleh IRSMarket |
apisecret | string | ✅ Yes* | API Secret untuk autentikasi (atau gunakan sign) |
sign | string | ✅ Yes* | Alternatif untuk apisecret. md5(apikey+apisecret+trxid) |
productcode | string | ✅ Yes | Kode produk (misal: TSEL_5000, XL_10000) |
trxid | string | ✅ Yes | ID transaksi unik dari sistem Anda |
customerno | string | ✅ Yes | Nomor tujuan (HP/Meter/ID Pelanggan) |
maxprice | string | ❌ No | Harga maksimal yang bersedia dibayar |
amount | integer | ❌ No | Nominal transaksi untuk open denom/topup emoney (10.000 - 500.000) |
{ "success": true, "rc": "68", "reff": "1940164", "destination": "085235716489", "productcode": "S5", "msg": "under process" }
{ "success": false, "rc": "11", "reff": "1940164", "destination": "085235716489", "productcode": "S5", "msg": "Invalid API Key" }
Semua hasil transaksi akan dikirim ke URL webhook/report yang sudah Anda setting di pengaturan koneksi buyer/pembeli. Notifikasi ini dikirim secara otomatis setelah status transaksi berubah (sukses, gagal, atau pending).
💡 Catatan: Pastikan URL webhook/report sudah dikonfigurasi dengan benar di dashboard IRSMarket untuk menerima notifikasi transaksi.
IRSMarket akan mengirim HTTP POST request ke URL webhook Anda dengan format JSON berikut:
{ "trxid": 545183516, "reff": 120204355, "tujuan": "089527787439", "produk": "RH5GB2D", "harga": 8203, "status": "Sukses", "rc": "00", "sn": "250705092420577LC182", "saldo": 16761348, "waktu": "2025-07-05 09:24:22" }
Field | Type | Description |
---|---|---|
trxid | integer | ID transaksi IRSMarket |
reff | integer | ID transaksi Anda (referensi dari request) |
tujuan | string | Nomor telepon/penerima/nomor meter |
produk | string | Kode produk IRSMarket |
harga | integer | Harga transaksi dalam rupiah |
status | string | Status transaksi (Sukses, Gagal, Pending) |
rc | string | Response code dari transaksi (00=sukses, 68=pending, dll) |
sn | string | Serial number atau token PLN (jika ada) |
saldo | integer | Sisa saldo setelah transaksi ini |
waktu | string | Waktu transaksi (format: YYYY-MM-DD HH:mm:ss) |
Response Webhook: Endpoint webhook Anda harus mengembalikan HTTP status code 200 untuk mengonfirmasi bahwa notifikasi telah diterima.
Timeout: IRSMarket akan menunggu response maksimal 30 detik. Jika tidak ada response, notifikasi akan diulang hingga 3 kali.
Duplicate Handling: Implementasikan pengecekan duplicate berdasarkan field trxid
atau reff
untuk menghindari pemrosesan ganda.
Endpoint untuk mengecek saldo akun Anda.
POST https://api.irsmarket.com/v1/balance
{ "apikey": "your_api_key_here", "apisecret": "your_api_secret_here" }
{ "success": true, "rc": "00", "msg": "Success", "data": { "membername": "nama_member", "balance": "71428" } }
{ "status": "success", "code": 200, "message": "Transaction processed successfully", "data": { "trxid": "TRX_001_20250104_001", "ref_id": "IRSxxxxxxxxxxxx", "product_code": "TSEL_5000", "customer_no": "081234567890", "price": 5400, "status": "00", "status_message": "Sukses", "created_at": "2025-01-04 10:30:00" } }
{ "status": "success", "code": 200, "message": "Transaction is being processed", "data": { "trxid": "TRX_001_20250104_001", "ref_id": "IRSxxxxxxxxxxxx", "product_code": "TSEL_5000", "customer_no": "081234567890", "price": 5400, "status": "68", "status_message": "Pending", "created_at": "2025-01-04 10:30:00" } }
{ "status": "error", "code": 400, "message": "Invalid product code", "data": null }
Code | Status | Keterangan |
---|---|---|
00 | Sukses | Transaksi berhasil diproses |
68 | Pending | Transaksi sedang diproses |
11 | Invalid API Key | API Key tidak valid |
12 | Invalid API Secret | API Secret tidak valid |
13 | Invalid IP Address | IP Address tidak valid |
40 | Product Not Found | Produk tidak ditemukan |
41 | Product Not Active | Produk tidak aktif |
42 | Mapping Product Not Found | Mapping produk tidak ditemukan |
43 | Product Supplier Not Found | Supplier produk tidak ditemukan |
61 | Insufficient Balance | Saldo tidak mencukupi |
62 | Transaction Already Exists | ID transaksi sudah ada |
63 | Supplier Not Active | Supplier/toko sedang tutup |
64 | Transaction Processing Error | Terjadi kesalahan proses transaksi |
66 | Product Supplier Not Active | Supplier produk tidak aktif |
67 | Max Price Exceeded | Harga melebihi batas maksimum yang ditentukan |
68 | Member Not Active | Member tidak aktif |
69 | No Seller Selling This Product | Tidak ada penjual yang menjual produk ini |
70 | No Seller Selling This Product In Region | Tidak ada penjual yang menjual produk ini di wilayah Anda |
71 | Invalid Amount | Nominal tidak valid |
72 | Invalid Signature | Signature tidak valid |
💡 Tips: Selalu periksa field status
dan status_message
dalam response untuk mengetahui hasil transaksi.
<?php $url = 'https://api.irsmarket.com/v1/transaction'; $data = array( 'apikey' => 'your_api_key', 'apisecret' => 'your_api_secret', 'productcode' => 'TSEL_5000', 'trxid' => 'TRX_001_' . date('YmdHis'), 'customerno' => '081234567890', 'maxprice' => '5500' ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json' )); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response; ?>
const apiData = { apikey: 'your_api_key', apisecret: 'your_api_secret', productcode: 'TSEL_5000', trxid: 'TRX_001_' + Date.now(), customerno: '081234567890', maxprice: '5500' }; fetch('https://api.irsmarket.com/v1/transaction', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(apiData) }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error));
import requests import json import time url = 'https://api.irsmarket.com/v1/transaction' data = { 'apikey': 'your_api_key', 'apisecret': 'your_api_secret', 'productcode': 'TSEL_5000', 'trxid': f'TRX_001_{int(time.time())}', 'customerno': '081234567890', 'maxprice': '5500' } headers = { 'Content-Type': 'application/json' } response = requests.post(url, data=json.dumps(data), headers=headers) print(response.json())
using System; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; public class ApiClient { private readonly HttpClient _httpClient; public ApiClient() { _httpClient = new HttpClient(); } public async Task<string> SendTransactionAsync() { var data = new { apikey = "your_api_key", apisecret = "your_api_secret", productcode = "TSEL_5000", trxid = $"TRX_001_{DateTimeOffset.Now.ToUnixTimeSeconds()}", customerno = "081234567890", maxprice = "5500" }; var json = JsonConvert.SerializeObject(data); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _httpClient.PostAsync("https://api.irsmarket.com/v1/transaction", content); return await response.Content.ReadAsStringAsync(); } }
Sebagai seller, Anda dapat mengintegrasikan sistem pulsa Anda ke IRSMarket untuk melakukan penjualan produk digital. IRSMarket akan bertindak sebagai reseller di sistem Anda dan melakukan transaksi otomatis ketika ada order dari buyer.
Daftarkan akun IRSMarket sebagai reseller/downline di sistem pulsa Anda
Whitelist IP IRSMarket di sistem dan jaringan Anda untuk keamanan
Konfigurasikan endpoint dan format request/response di dashboard IRSMarket
IRSMarket akan otomatis melakukan transaksi ke sistem Anda saat ada order
PENTING: Pastikan IP transaksi IRSMarket sudah di-whitelist di sistem dan jaringan Anda:
159.65.137.240
IP Transaksi IRSMarket
Tambahkan IP ini to:
Untuk mengintegrasikan sistem Anda dengan IRSMarket, ikuti langkah berikut:
IRSMARKET
irsmarket_[nama_toko_anda]
Untuk mengintegrasikan IRSMarket dengan sistem Otomax Anda, konfigurasikan pengaturan berikut di dashboard IRSMarket:
Pilih jenis koneksi: Otomax
Otomax
ID member IRSMarket di sistem Otomax Anda
Contoh: IRSMARKET001
Password transaksi IRSMarket di sistem Otomax Anda
Contoh: [password_transaksi_anda]
URL endpoint transaksi sistem Otomax Anda
http://domainanda.com/trx
http://123.456.789.108:6969/trx
💡 Tips: Pastikan semua credential yang dimasukkan sudah benar dan akun IRSMarket sudah aktif di sistem Otomax Anda. Test koneksi akan dilakukan setelah konfigurasi disimpan.
PENTING: Pastikan untuk menambahkan URL Report/Callback berikut di member IRSMarket pada sistem Otomax Anda:
https://api.irsmarket.com/transaction/otomax/callback/apikeyanda
Catatan: Ganti apikeyanda
dengan API Key yang Anda peroleh saat registrasi akun IRSMarket.
Contoh: Jika API Key Anda adalah ABC123XYZ
, maka URL callback-nya adalah:
https://api.irsmarket.com/transaction/otomax/callback/ABC123XYZ
⚠️ Wajib diisi: URL callback ini diperlukan untuk update status transaksi secara real-time dari sistem Otomax Anda ke IRSMarket. Tanpa URL ini, status transaksi tidak akan ter-update otomatis.
Untuk mengintegrasikan sistem IRS Anda dengan IRSMarket, silakan isi pengaturan koneksi berikut di dashboard IRSMarket:
ID Agen IRSMarket yang terdaftar pada sistem IRS Anda
PIN IRSMarket yang ada di sistem IRS Anda
Username IRSMarket di sistem IRS Anda
Password IRSMarket yang ada di sistem IRS Anda
API Center H2H Sistem IRS Anda
Contoh URL:
https://domainanda.com/api/h2h
https://123.456.789.012/api/h2h
http://ip:8083/apih2h/apih2h.dll/api/h2hh
* Bisa menggunakan domain atau IP address
💡 Tips: Pastikan semua data yang dimasukkan sesuai dengan konfigurasi yang ada di sistem IRS Anda. Jika ada kesalahan data, transaksi akan gagal terproses.
PENTING: Pastikan untuk menambahkan URL Report/Callback berikut di data reseller IRSMarket pada sistem IRS Anda:
https://api.irsmarket.com/transaction/irs/callback/apikeyanda
Catatan: Ganti apikeyanda
dengan API Key yang Anda peroleh saat registrasi akun IRSMarket.
Contoh: Jika API Key Anda adalah ABC123XYZ
, maka URL callback-nya adalah:
https://api.irsmarket.com/transaction/irs/callback/ABC123XYZ
⚠️ Wajib diisi: URL callback ini diperlukan untuk update status transaksi secara real-time dari sistem IRS Anda ke IRSMarket. Tanpa URL ini, status transaksi tidak akan ter-update otomatis.
Untuk mengintegrasikan IRSMarket dengan sistem ST24 Anda, konfigurasikan pengaturan berikut di dashboard IRSMarket:
Pilih jenis koneksi: ST24
ST24
ID member IRSMarket di sistem ST24 Anda
Contoh: IRSMARKET001
Username di sistem ST24 Anda
Contoh: irsmarket_user
PIN dari member IRSMarket di sistem ST24 Anda
Contoh: 123456
Password transaksi IRSMarket di sistem ST24 Anda
Contoh: [password_transaksi_anda]
URL endpoint API sistem ST24 Anda
http://domainanda.com/api
http://123.456.789.108:6969/api
💡 Tips: Pastikan semua credential yang dimasukkan sudah benar dan akun IRSMarket sudah aktif di sistem ST24 Anda. Test koneksi akan dilakukan setelah konfigurasi disimpan.
PENTING: Pastikan untuk menambahkan URL Report/Callback berikut di member IRSMarket pada sistem ST24 Anda:
https://api.irsmarket.com/transaction/st24/callback/apikeyanda
Catatan: Ganti apikeyanda
dengan API Key yang Anda peroleh saat registrasi akun IRSMarket.
Contoh: Jika API Key Anda adalah ABC123XYZ
, maka URL callback-nya adalah:
https://api.irsmarket.com/transaction/st24/callback/ABC123XYZ
⚠️ Wajib diisi: URL callback ini diperlukan untuk update status transaksi secara real-time dari sistem ST24 Anda ke IRSMarket. Tanpa URL ini, status transaksi tidak akan ter-update otomatis.
Untuk sistem custom atau generic, Anda dapat menentukan format request dan response sendiri:
POST https://your-custom-domain.com/api/your-endpoint
{ "apikey": "your_auth_key", "apisecret": "your_secret", "product_code": "CUSTOM_TSEL5", "destination": "081234567890", "reff": "IRSxxxxxxxxxxxx", "amount": "optional_value" }
Endpoint untuk mengecek status transaksi yang telah diproses di sistem generic Anda:
POST https://your-custom-domain.com/api/transaksi/status
{ "apikey": "your_auth_key", "apisecret": "your_secret", "reff": "IRSxxxxxxxxxxxx" }
Parameter | Type | Required | Description |
---|---|---|---|
apikey | string | ✅ Yes | API Key untuk autentikasi sistem generic |
apisecret | string | ✅ Yes | API Secret untuk validasi request |
reff | string | ✅ Yes | ID referensi transaksi yang ingin dicek statusnya |
Response yang harus dikembalikan oleh sistem generic Anda:
{ "success": true, "response_code": "00", "response_message": "Transaction found", "reff": "IRSxxxxxxxxxxxx", "transaction_id": "TRX_202_20250104_001", "status": "success", "serial_number": "1234567890123456", "balance": 1000000, "timestamp": "2025-01-04 10:30:00" }
Parameter | Type | Required | Description |
---|---|---|---|
apikey | string | ✅ Yes | API Key untuk autentikasi sistem generic |
apisecret | string | ✅ Yes | API Secret untuk validasi request |
product_code | string | ✅ Yes | Kode produk custom sistem Anda (misal: CUSTOM_TSEL5) |
destination | string | ✅ Yes | Nomor tujuan (HP/Meter/ID Pelanggan) |
reff | string | ✅ Yes | ID referensi transaksi unik dari IRSMarket |
amount | integer | ❌ No | Nominal transaksi untuk open denom/topup emoney (10.000 - 500.000) |
{ "success": true, "response_code": "00", "response_message": "Transaction successful", "reff": "IRSxxxxxxxxxxxx", "transaction_id": "TRX_001_20250104_001", "serial_number": "1234567890123456", "balance": 1000000, "timestamp": "2025-01-04 10:30:00" }
Field | Type | Required | Description |
---|---|---|---|
success | boolean | ✅ Yes | Status keberhasilan transaksi (true/false) |
response_code | string | ✅ Yes | Kode response transaksi (00=sukses, 68=pending, dll) |
response_message | string | ✅ Yes | Pesan deskripsi hasil transaksi |
reff | string | ✅ Yes | ID referensi transaksi yang sama dari request |
transaction_id | string | ✅ Yes | ID transaksi unik dari sistem Anda |
serial_number | string | ❌ No | Serial number voucher/token (jika ada) |
balance | number | ❌ No | Saldo tersisa setelah transaksi |
timestamp | string | ✅ Yes | Waktu proses transaksi (YYYY-MM-DD HH:mm:ss) |
PENTING: Pastikan untuk menambahkan URL Report/Callback berikut di member IRSMarket pada sistem Anda:
https://api.irsmarket.com/transaction/generic/callback/apikeyanda
Catatan: Ganti apikeyanda
dengan API Key yang Anda peroleh saat registrasi akun IRSMarket.
Contoh: Jika API Key Anda adalah ABC123XYZ
, maka URL callback-nya adalah:
https://api.irsmarket.com/transaction/generic/callback/ABC123XYZ
Sistem Anda harus mengirim POST request ke URL callback dengan format JSON berikut:
{ "success": true, "response_code": "00", "response_message": "Transaction successful", "reff": "IRS0100-101231", "transaction_id": "TRX_202_20250104_001", "serial_number": "1234567890123456", "balance": 1000000, "timestamp": "2025-01-04 10:30:00" }
⚠️ Wajib diimplementasikan: URL callback ini diperlukan untuk update status transaksi secara real-time dari sistem generic Anda ke IRSMarket. Tanpa callback ini, status transaksi tidak akan ter-update otomatis dan dapat menyebabkan ketidaksesuaian data.
Senin - Sabtu: 08:00 - 17:00 WIB