Memulai
AutoGopay adalah Payment API Gateway mandiri yang menghubungkan aplikasi Anda langsung ke akun GoPay Merchant pribadi. Semua transaksi diproses secara real-time dan dana langsung masuk ke saldo Anda tanpa perantara.
BASE URL
Autentikasi
Setiap permintaan API wajib menyertakan API Key. Dapatkan API Key dari halaman API Key di dashboard, lalu kirimkan pada header HTTP dengan salah satu format berikut:
// Format 1 — X-API-Key X-API-Key: iak_xxxxxx // Format 2 — Authorization Bearer Authorization: Bearer iak_xxxxxx
Buat Pembayaran
Membuat tagihan baru. Server mengembalikan kode QRIS dinamis yang siap dipindai pelanggan.
https://autogopay.my.id/api/v1/payment/create
Body Parameters (JSON)
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
| amount | Number | Ya | Nominal pembayaran dalam Rupiah (min. 1000) |
| reference | String | Tidak | ID unik transaksi dari sistem Anda. Kosongkan = digenerate otomatis |
| description | String | Tidak | Keterangan/catatan pembayaran |
| customer_name | String | Tidak | Nama pelanggan |
| callback_url | URL | Tidak | Alamat webhook khusus transaksi ini (mengganti pengaturan global) |
CONTOH REQUEST
{
"amount": 50000,
"reference": "INV-10291",
"description": "Beli Kaos Distro",
"customer_name": "Anto"
}
CONTOH RESPONSE (201 Created)
{
"success": true,
"data": {
"invoice": "INV-20260620-80E2",
"reference": "INV-10291",
"amount": 50000,
"qris_string": "0002010102122657...",
"qr_image": "https://api.qrserver.com/...",
"payment_url": "https://autogopay.my.id/payment/status/INV-20260620-80E2",
"status": "pending",
"expired_at": "2026-06-21T15:00:07+08:00"
}
}
Cek Status Pembayaran
Mendapatkan info terkini status transaksi.
https://autogopay.my.id/api/v1/payment/status/{reference}
CONTOH RESPONSE (200 OK)
{
"success": true,
"data": {
"invoice": "INV-20260620-80E2",
"reference": "INV-10291",
"amount": 50000,
"status": "success",
"payment_method": "qris",
"qris_string": "0002010102122657...",
"qr_image": "https://api.qrserver.com/...",
"payment_url": "https://autogopay.my.id/payment/status/INV-20260620-80E2",
"description": "Beli Kaos Distro",
"paid_at": "2026-06-20 15:32:01",
"expired_at": "2026-06-21 15:00:00",
"created_at": "2026-06-20 15:00:00"
}
}
Batal Transaksi
Membatalkan tagihan yang masih menunggu. Status berubah menjadi failed.
https://autogopay.my.id/api/v1/payment/cancel
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
| reference | String | Ya* | ID unik dari sistem Anda ATAU Invoice AutoGopay (format: INV-xxxx). Wajib isi salah satu. |
| invoice | String | Ya* | Nomor invoice dari AutoGopay. Isi salah satu — reference ATAU invoice. |
CONTOH REQUEST
{
"reference": "INV-10291"
}
CONTOH RESPONSE (200 OK)
{
"success": true,
"message": "Transaksi berhasil dibatalkan",
"data": {
"invoice": "INV-20260620-80E2",
"reference": "INV-10291",
"status": "failed"
}
}
Integrasi Webhook
Sistem mengirimkan POST ke alamat yang Anda tentukan secara otomatis saat status transaksi berubah: success, failed, atau expired.
PAYLOAD WEBHOOK
{
"event": "payment.updated",
"invoice": "INV-20260620-80E2",
"reference": "INV-10291",
"amount": 50000,
"status": "success",
"payment_method": "qris",
"paid_at": "2026-06-20 15:32:01",
"timestamp": "2026-06-20T15:32:01+07:00",
"signature": "c8e2fb8a9d0e12..."
}
Verifikasi Signature
Pastikan kiriman benar dari AutoGopay — tidak dipalsukan. Signature dihitung dengan algoritma HMAC-SHA256 menggunakan Secret Key sebagai kunci, dari seluruh isi payload (tanpa parameter signature).
CONTOH VERIFIKASI — PHP
$data = json_decode(file_get_contents('php://input'), true);
$signature = $data['signature'] ?? '';
unset($data['signature']);
$expected = hash_hmac('sha256', json_encode($data), $webhookSecret);
if (hash_equals($expected, $signature)) {
// Kiriman sah — proses pembayaran
}
Kode Error
Format respons saat terjadi kesalahan:
{
"success": false,
"message": "Pesan deskripsi kesalahan"
}
| HTTP Code | Keterangan |
|---|---|
| 400 | Validasi input gagal — nominal tidak valid, parameter kurang/salah format |
| 401 | API Key tidak sah, kadaluwarsa, atau tidak dikirim |
| 403 | Akun belum aktif / tidak punya izin akses |
| 404 | Transaksi tidak ditemukan — invoice/reference salah |