Dokumentasi v1.0.0

Dokumentasi API

Selamat datang di dokumentasi API GoPay Gateway. Integrasikan gateway pembayaran QRIS otomatis ke dalam aplikasi, web, atau bot Telegram Anda secara mandiri dalam hitungan menit.

Layanan kami bekerja dengan membungkus QRIS statis GoPay Merchant Anda dan memformatnya menjadi QRIS dinamis bernominal khusus sesuai nilai transaksi. Hal ini membantu memverifikasi setiap pembayaran masuk secara akurat tanpa biaya per transaksi.

Mulai Cepat

Ikuti 3 langkah mudah di bawah ini untuk mulai menerima pembayaran otomatis:

1
Ambil API Key

Daftar akun di platform kami dan dapatkan kunci rahasia unik Anda melalui halaman Pengaturan API Key.

2
Setup BaseQR

Salin string QRIS statis dari aplikasi GoBiz / GoPay Merchant Anda dan simpan di menu Setup QRIS.

3
Panggil API

Gunakan REST endpoints yang tercantum di bawah untuk mulai memicu pembuatan QRIS dinamis.

Autentikasi

Semua panggilan API Anda harus diautentikasi menggunakan API Key unik yang telah terdaftar. Kami menyediakan dua metode untuk mengirimkan API Key tersebut:

PENTING

Jaga kerahasiaan API Key Anda. Jangan pernah membagikan API Key Anda di client-side JavaScript, repository publik, atau ke pihak ketiga mana pun.

Metode 1: HTTP Header (Direkomendasikan)
X-API-Key: gpg_live_xxxxxxxxxxxx
Metode 2: Query Parameter
?apikey=gpg_live_xxxxxxxxxxxx

API Reference

Berikut adalah spesifikasi endpoint yang tersedia untuk melakukan integrasi pembayaran.

Base API Endpoint URL
http://localhost:8080/api
POST /api/create_order.php

Endpoint ini digunakan untuk membuat pesanan baru dan menghasilkan string QRIS Dinamis berserta gambar QR code instan.

Request Body (JSON)
Parameter Tipe Deskripsi
amount wajib integer Jumlah nominal pembayaran dalam Rupiah. Minimum Rp 100 dan maksimum Rp 50.000.000.
ref_id opsional string ID referensi internal dari sistem Anda (misal: ID order web Anda).
description opsional string Deskripsi singkat transaksi untuk pelacakan.
expired_minutes opsional integer Masa berlaku QR code dalam hitungan menit. Default adalah 15 menit.
curl -X POST "http://localhost:8080/api/create_order.php" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: gpg_live_xxxxxxxxxxxx" \
  -d '{
    "amount": 150000,
    "ref_id": "ORDER-001",
    "description": "Pembelian Produk A",
    "expired_minutes": 15
  }'
Response JSON (200 OK)
JSON RESPONSE
{
  "status": "success",
  "code": 200,
  "message": "Order berhasil dibuat. Tampilkan QR kepada pelanggan.",
  "data": {
    "order_id": "GPG-B2E8D1-20260611161500",
    "transaction_id": 128,
    "ref_id": "ORDER-001",
    "merchant_name": "Toko Budi Online",
    "amount": 150000,
    "amount_formatted": "Rp 150.000",
    "qr_string": "00020101021226...",
    "qr_url": "https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=...",
    "status": "pending",
    "description": "Pembelian Produk A",
    "expired_minutes": 15,
    "expires_at": "2026-06-11 16:30:00",
    "created_at": "2026-06-11 16:15:00"
  }
}
GET /api/check_status.php

Endpoint ini digunakan untuk memantau atau mendeteksi status transaksi berdasarkan `order_id` yang didapatkan pada proses pembuatan pesanan.

Query Parameters
Parameter Tipe Deskripsi
order_id wajib string ID Order unik yang didapatkan dari respons pembuatan order (contoh: `GPG-xxxx-xxxx`).
curl -X GET "http://localhost:8080/api/check_status.php?order_id=GPG-B2E8D1-20260611161500"
Response JSON (200 OK - Paid State)
JSON RESPONSE
{
  "status": "success",
  "code": 200,
  "message": "Success",
  "data": {
    "order_id": "GPG-B2E8D1-20260611161500",
    "merchant_name": "Toko Budi Online",
    "ref_id": "ORDER-001",
    "amount": 150000,
    "amount_formatted": "Rp 150.000",
    "qr_string": "00020101021226...",
    "qr_url": "https://...",
    "status": "paid",  // status: pending | paid | expired | failed
    "description": "Pembelian Produk A",
    "expired_minutes": 15,
    "expires_at": "2026-06-11 16:30:00",
    "created_at": "2026-06-11 16:15:00",
    "paid_at": "2026-06-11 16:18:22"
  }
}
POST /api/update_status.php

Endpoint ini digunakan untuk mensimulasikan pembaruan status transaksi secara manual atau bertindak sebagai webhook simulasi dari server Anda ke gateway.

Request Body (JSON)
Parameter Tipe Deskripsi
order_id wajib string ID Order unik dari sistem (contoh: `GPG-xxxx-xxxx`).
status wajib string Status baru yang ingin diubah. Pilihan status: `paid`, `failed`, `expired`, `pending`.
curl -X POST "http://localhost:8080/api/update_status.php" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: gpg_live_xxxxxxxxxxxx" \
  -d '{
    "order_id": "GPG-B2E8D1-20260611161500",
    "status": "paid"
  }'

Otomasi MacroDroid

MacroDroid adalah aplikasi otomasi Android gratis yang sangat andal untuk mendeteksi notifikasi masuk dari aplikasi GoBiz atau GoPay Merchant dan secara otomatis meneruskannya ke server GoPay Gateway Anda.

KEUNGGULAN MACRODROID

MacroDroid bekerja di latar belakang HP Anda secara mandiri tanpa memerlukan server eksternal, sepenuhnya gratis, dan mendukung Mode Offline menggunakan kabel USB debugging agar data notifikasi dikirim langsung ke komputer/laptop tanpa kuota internet.

Dua Mode Operasional

Anda dapat mengkonfigurasi MacroDroid dalam salah satu dari dua mode koneksi berikut:

1
Mode Online (Internet)

HP terhubung internet/Wi-Fi dan mengirimkan data langsung ke URL domain publik server Anda. Sangat praktis untuk server cloud/VPS.

2
Mode Offline (USB ADB Reverse)

HP terhubung via kabel USB ke laptop/komputer. Menggunakan perintah adb reverse untuk meneruskan notifikasi ke localhost Anda tanpa kuota data/Wi-Fi.

Langkah-langkah Setup MacroDroid

1

Persiapan Aplikasi & HP

Unduh aplikasi MacroDroid - Device Automation (oleh ArloSoft) melalui Google Play Store di HP Android Anda.

Buka aplikasi, ikuti petunjuk awal untuk memberikan izin Notification Access (Akses Notifikasi).

⚠️ Penting (Optimasi Baterai): Buka Pengaturan HP Anda → Aplikasi → MacroDroid → Penggunaan Baterai → ubah ke Tidak Dibatasi (Unrestricted) agar Android tidak menutup paksa MacroDroid saat layar HP mati.

2

Buat Makro Baru

Buka MacroDroid → Ketuk tombol Add Macro (Tambah Makro) → Tulis nama makro di bagian atas, misalnya GoPay Gateway Forwarder.

3

Setup Trigger (Pemicu Notifikasi)

Pada kolom merah (Triggers), ketuk tombol (+) dan konfigurasi sebagai berikut:

  • Pilih Device StateNotificationNotification Received.
  • Pilih opsi Select Application(s) → Centang aplikasi GoBiz dan/atau GoPay Merchant, lalu klik OK.
  • Pilih opsi Text Content → Centang Any (Apapun), lalu ketuk OK.
4

Setup Action (HTTP Request POST)

Pada kolom biru (Actions), ketuk tombol (+) dan konfigurasi aksi HTTP Request:

  • Pilih ApplicationsHTTP Request.
  • Atur tipe Method ke: POST.
  • Masukkan **URL Endpoint**:
    • Mode Online: http://localhost:8080/api/notify_payment.php
    • Mode Offline (USB): http://127.0.0.1/api/notify_payment.php
Parameter HTTP Request MacroDroid:
Headers X-API-Key: "gpg_live_xxxxxxxxxxxx"
Content-Type: "application/json"
Request Body (Raw) {"text": "{not_text}"}

💡 Ketuk tombol [..] di atas keyboard HP Anda pada MacroDroid untuk memasukkan parameter {not_text} (Notification Text) secara otomatis.

5

Simpan & Aktifkan

Ketuk ikon centang di kanan bawah MacroDroid untuk menyimpan makro Anda. Pastikan sakelar makro di sudut kanan atas berada pada posisi ON (Aktif).

Panduan Tambahan: Setup Mode Offline (Lewat Kabel USB)

Dengan mode ini, Anda tidak perlu terhubung ke jaringan internet/kuota Wi-Fi di HP Anda. Notifikasi akan diteruskan langsung ke server lokal (misalnya XAMPP) di laptop/komputer Anda menggunakan kabel data USB.

Langkah A: Aktifkan USB Debugging di HP Android Anda

  1. Buka Pengaturan HPTentang Ponsel (About Phone).
  2. Ketuk Nomor Bentukan (Build Number) sebanyak 7 kali berturut-turut untuk mengaktifkan Opsi Pengembang.
  3. Kembali ke Pengaturan utama → buka Opsi Pengembang (Developer Options).
  4. Cari dan aktifkan opsi USB Debugging (Mendebug USB).
  5. Hubungkan HP Anda ke laptop/komputer menggunakan kabel data USB. Berikan izin mendebug komputer pada dialog pop-up yang muncul di layar HP.

Langkah B: Jalankan Reverse Port Forwarding via ADB

Pastikan laptop Anda telah menginstal driver ADB (Android Debug Bridge) atau file adb.exe dari SDK Platform Tools Android.

Buka Terminal / Command Prompt / PowerShell di laptop Anda, lalu jalankan perintah berikut:

TERMINAL / COMMAND PROMPT
adb reverse tcp:80 tcp:80
TIPS PORT KHUSUS

Jika server lokal XAMPP Anda berjalan di port non-standar (misalnya port 8080), sesuaikan perintahnya menjadi: adb reverse tcp:8080 tcp:8080 dan ubah URL HTTP Request di MacroDroid Anda menjadi http://127.0.0.1:8080/api/notify_payment.php.