SRPCOM Multi-Provider Payment Gateway API
API Payment Gateway mandiri untuk mengotomasi penerimaan pembayaran QRIS Merchant toko Anda. Mendukung multi-saluran terintegrasi: ShopeePay Partner dan GoPay Merchant / GoBiz. Seluruh pembayaran pelanggan langsung masuk 100% ke saldo akun toko Anda tanpa potongan komisi (0% MDR), verifikasi auto-cek mutasi realtime hitungan detik, serta Webhook Callback otomatis untuk Bot Telegram dan Website E-Commerce.
Autentikasi Header API
Semua request API diamankan menggunakan HTTP Bearer Token atau header X-API-Key. API Key dapat disalin dari Dashboard pada profil akun Anda.
Authorization: Bearer srp_xxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
Cek Status Tagihan QRIS Universal
Endpoint cerdas yang otomatis mendeteksi provider (ShopeePay maupun GoPay) berdasarkan nomor referensi order_sn tanpa perlu membedakan endpoint.
curl -X GET "https://pg.srpcom.store/api/qris/status?order_sn=GP261017001" \
-H "Authorization: Bearer srp_xxxxxxxxxxxxxxxxxxxxxxxx"
{
"success": true,
"data": {
"provider": "gopay",
"order_sn": "GP261017001",
"amount": 10000,
"transaction_status": "paid",
"paid": true,
"paid_at": "2026-10-17T11:32:15.000Z",
"expiry_time": "2026-10-17 11:45:00"
}
}
Status Koneksi ShopeePay
Periksa status konektivitas akun Shopee Partner dan validitas token sesi toko Anda.
curl -X GET "https://pg.srpcom.store/api/shopeepay/status" \
-H "Authorization: Bearer srp_xxxxxxxxxxxxxxxxxxxxxxxx"
{
"success": true,
"message": "ShopeePay status",
"data": {
"connected": true,
"token_valid": true,
"store_id": "23194546"
}
}
Buat QRIS Dinamis ShopeePay
Membuat tagihan QRIS ShopeePay resmi dengan nominal pembayaran terkunci. Sistem mengembalikan string mentah EMVCo, URL gambar QR, Base64 Image, dan link checkout kasir siap pakai.
curl -X POST "https://pg.srpcom.store/api/shopeepay/qris/create" \
-H "Authorization: Bearer srp_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"amount": 25000,
"callback_url": "https://tokoanda.com/api/webhook"
}'
{
"success": true,
"message": "QRIS created successfully",
"data": {
"amount": 25000,
"order_sn": "261016891912832788",
"nmid": "ID1026532949231",
"qr_string": "00020101021126610016ID.CO.SHOPEE.WWW0118936009180023194546...",
"qr_url": "https://pg.srpcom.store/api/shopeepay/qr/261016891912832788",
"qr_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"checkout_url": "https://pg.srpcom.store/checkout.html?order_sn=261016891912832788",
"transaction_time": "2026-10-17 11:30:00",
"expiry_time": "2026-10-17 11:45:00"
}
}
qr_url mengembalikan file gambar murni (image/png) yang dapat langsung dipasang ke tag HTML <img src="..." /> atau dikirim ke WhatsApp / Bot Telegram.
Cek Status Tagihan ShopeePay
Periksa status pembayaran tagihan ShopeePay berdasarkan nomor referensi order_sn.
curl -X GET "https://pg.srpcom.store/api/shopeepay/qris/status?order_sn=261016891912832788" \
-H "Authorization: Bearer srp_xxxxxxxxxxxxxxxxxxxxxxxx"
{
"success": true,
"message": "QRIS status retrieved",
"data": {
"order_sn": "261016891912832788",
"amount": 25000,
"transaction_status": "paid",
"paid": true,
"paid_at": "2026-10-17T11:32:15.000Z",
"expiry_time": "2026-10-17 11:45:00"
}
}
Riwayat Mutasi ShopeePay
Mengambil daftar mutasi masuk terbaru langsung dari akun Shopee Partner toko Anda.
curl -X GET "https://pg.srpcom.store/api/shopeepay/transactions?limit=5" \
-H "Authorization: Bearer srp_xxxxxxxxxxxxxxxxxxxxxxxx"
Buat QRIS Dinamis GoPay
Membuat tagihan QRIS Dinamis akun GoPay Kasir toko Anda dengan tag standar EMVCo (COM.GO-JEK.WWW) dan nominal pembayaran terkunci.
curl -X POST "https://pg.srpcom.store/api/gopay/qris/create" \
-H "Authorization: Bearer srp_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"amount": 10000,
"order_sn": "GP261017001",
"expiry_minutes": 15,
"callback_url": "https://tokoanda.com/api/webhook"
}'
{
"success": true,
"message": "QRIS GoPay created successfully",
"data": {
"provider": "gopay",
"amount": 10000,
"order_sn": "GP261017001",
"nmid": "ID1024324307148",
"qr_string": "00020101021126610014COM.GO-JEK.WWW...",
"qr_url": "https://pg.srpcom.store/api/gopay/qr/GP261017001",
"qr_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"checkout_url": "https://pg.srpcom.store/checkout.html?provider=gopay&order_sn=GP261017001",
"transaction_time": "2026-10-17 11:30:00",
"expiry_time": "2026-10-17 11:45:00"
}
}
qr_url mengembalikan file gambar murni (image/png) yang dapat langsung dipasang ke tag HTML <img src="..." /> atau dikirim ke WhatsApp / Bot Telegram.
Cek Status Tagihan GoPay
Periksa apakah invoice transaksi GoPay sudah dibayar lunas atau telah kedaluwarsa.
curl -X GET "https://pg.srpcom.store/api/gopay/qris/status?order_sn=GP261017001" \
-H "Authorization: Bearer srp_xxxxxxxxxxxxxxxxxxxxxxxx"
{
"success": true,
"message": "GoPay status retrieved",
"data": {
"provider": "gopay",
"order_sn": "GP261017001",
"amount": 10000,
"transaction_status": "paid",
"paid": true,
"paid_at": "2026-10-17T11:32:15.000Z",
"expiry_time": "2026-10-17 11:45:00"
}
}
Riwayat Mutasi Masuk GoPay
Mengambil daftar mutasi masuk terbaru langsung dari GoBiz / GoPay Merchant.
curl -X GET "https://pg.srpcom.store/api/gopay/transactions?limit=5" \
-H "Authorization: Bearer srp_xxxxxxxxxxxxxxxxxxxxxxxx"
Batalkan Tagihan GoPay
Membatalkan tagihan transaksi pending sehingga pelanggan tidak lagi dapat membayarnya.
curl -X POST "https://pg.srpcom.store/api/gopay/qris/cancel" \
-H "Authorization: Bearer srp_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"order_sn": "GP261017001"
}'
Kode Respons Status & Batasan Rate Limit
Gateway menggunakan kode status HTTP standar untuk mengindikasikan keberhasilan atau kegagalan request API Anda.
| Kode | Status | Penjelasan & Penyebab |
|---|---|---|
| 200 | OK | Permintaan berhasil diproses dan mengembalikan data yang diminta. |
| 400 | Bad Request | Parameter input tidak valid, nominal kurang dari Rp 1, atau format JSON salah. |
| 401 | Unauthorized | Header Authorization atau X-API-Key hilang, keliru, atau telah direset. |
| 403 | Forbidden (Expired) | Masa sewa API akun toko Anda telah habis atau akun dinonaktifkan sementara. Pengguna dapat memperpanjang sewa di dashboard. |
| 429 | Too Many Requests | Request melebihi batas Rate Limiting server untuk mencegah serangan spam. |
| 503 | Service Unavailable | Server sedang dalam Maintenance Mode (pemeliharaan) atau sesi upstream merchant toko sedang terputus. |
{
"success": false,
"expired": true,
"message": "Masa sewa API Anda telah habis. Silakan perpanjang sewa di https://pg.srpcom.store"
}
Untuk menjaga stabilitas dan kecepatan latensi server, gateway menerapkan batas frekuensi request berbasis IP client:
- General API Endpoints (Status, Mutasi): Maksimal 120 request / menit.
- Create QRIS Endpoints (ShopeePay & GoPay Generate): Maksimal 20 invoice / menit.
Webhook Callback Realtime
Gateway otomatis mengirimkan HTTP POST payload ke URL Webhook yang Anda daftarkan di dashboard ketika mutasi pembayaran pelanggan berhasil diverifikasi (baik dari ShopeePay maupun GoPay).
{
"event": "payment.success",
"provider": "gopay", // atau "shopeepay"
"timestamp": "2026-10-17T11:32:15.000Z",
"data": {
"order_sn": "GP261017001",
"amount": 10000,
"transaction_status": "settled",
"paid_at": "2026-10-17T11:32:15.000Z",
"nmid": "ID1024324307148"
}
}
Setiap request Webhook menyertakan header X-Webhook-Signature yang dienkripsi menggunakan HMAC-SHA256 berbasis API Key Anda untuk memastikan callback berasal asli dari server SRPCOM Payment Gateway.
// Node.js Express
const expected = crypto.createHmac('sha256', API_KEY).update(JSON.stringify(req.body)).digest('hex');
if (req.headers['x-webhook-signature'] !== expected) return res.status(401).send('Invalid signature');
// PHP
$raw = file_get_contents('php://input');
$expected = hash_hmac('sha256', $raw, $API_KEY);
if ($_SERVER['HTTP_X_WEBHOOK_SIGNATURE'] !== $expected) { http_response_code(401); exit('Invalid signature'); }
Integrasi Bot Telegram
Mendukung notifikasi instan langsung ke HP pemilik toko (@SRPCOMPGbot) maupun pembuatan custom bot jualan otomatis.
Bagi pemilik toko yang hanya ingin menerima laporan uang masuk seketika di ponsel: Anda tidak perlu membuat bot sendiri. Cukup buka Telegram, cari bot resmi @SRPCOMPGbot, klik Start, lalu tempel ID Telegram Anda pada tab ShopeePay / GoPay di Dashboard. Setiap ada pembayaran QRIS lunas, bot akan langsung mengirim notifikasi bunyi ke HP Anda!
Custom Bot Toko / E-Commerce Bot
Jika Anda developer yang ingin membuat bot jualan otomatis sendiri yang dapat men-generate QRIS bagi pembeli:
const { Telegraf } = require('telegraf');
const axios = require('axios');
const bot = new Telegraf('YOUR_TELEGRAM_BOT_TOKEN');
const GATEWAY_URL = 'https://pg.srpcom.store';
const API_KEY = 'srp_xxxxxxxxxxxxxxxxxxxxxxxx';
// Command: /beli 10000
bot.command('beli', async (ctx) => {
const parts = ctx.message.text.split(' ');
const amount = parseInt(parts[1], 10) || 10000;
try {
ctx.reply('⏳ Menyiapkan QRIS pembayaran...');
// 1. Generate QRIS via Gateway (Bisa GoPay / ShopeePay)
const response = await axios.post(`${GATEWAY_URL}/api/gopay/qris/create`, {
amount: amount
}, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const { order_sn, qr_url, checkout_url } = response.data.data;
// 2. Kirim gambar QRIS ke pembeli di Telegram
const caption = `💳 *Invoice Pembayaran QRIS Dinamis*\n\n` +
`• *ID Referensi:* \`${order_sn}\`\n` +
`• *Total Tagihan:* Rp ${amount.toLocaleString('id-ID')}\n\n` +
`Silakan scan QRIS di atas menggunakan GoPay, ShopeePay, BCA, Mandiri, atau e-wallet lainnya.\n\n` +
`🔗 [Buka Kasir Web](${checkout_url})`;
await ctx.replyWithPhoto(qr_url, {
caption: caption,
parse_mode: 'Markdown'
});
// 3. Polling status universal otomatis setiap 5 detik hingga lunas
const timer = setInterval(async () => {
try {
const check = await axios.get(`${GATEWAY_URL}/api/qris/status?order_sn=${order_sn}`, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
if (check.data.data && check.data.data.paid) {
clearInterval(timer);
ctx.reply(`✅ *Pembayaran Berhasil Diterima!*\n\nNominal: Rp ${amount.toLocaleString('id-ID')}\nOrder SN: \`${order_sn}\`\nPesanan Anda segera diproses!`, {
parse_mode: 'Markdown'
});
}
} catch (err) {}
}, 5000);
// Timeout 15 menit
setTimeout(() => clearInterval(timer), 15 * 60 * 1000);
} catch (err) {
ctx.reply('❌ Gagal membuat invoice: ' + (err.response?.data?.message || err.message));
}
});
bot.launch().then(() => console.log('Bot Telegram aktif!'));
Halaman Kasir Web Universal
Setiap kali QRIS dibuat, gateway otomatis menyediakan link kasir responsif yang siap dikirimkan ke pembeli tanpa Anda harus membuat UI sendiri.
Halaman kasir ini otomatis mendeteksi provider transaksi secara adaptif: jika tagihan dibuat melalui GoPay, halaman akan menampilkan logo resmi GoPay dan aksen hijau. Jika melalui ShopeePay, halaman akan menampilkan logo resmi ShopeePay dan aksen oranye. Tersedia tombol Simpan QR dan Cek Pembayaran Realtime.
Integrasi Speaker Kasir (SRPCOM Soundbox)
Aplikasi Android SRPCOM Soundbox mengubah smartphone atau tablet Android di toko Anda menjadi speaker suara otomatis ("Pembayaran QRIS Rp 10.000 Berhasil Diterima!") yang terhubung ke speaker Bluetooth atau speaker internal tanpa perlu menyewa alat Soundbox fisik yang mahal.
Memvalidasi API Key toko dan memeriksa status koneksi serta masa sewa aktif aplikasi kasir.
Mengambil daftar transaksi lunas terbaru toko untuk diumumkan secara otomatis oleh suara kasir.