QRIS — Refund
Mengajukan refund untuk pembayaran QRIS yang sudah berhasil. Dana dikembalikan ke akun pelanggan yang membayar.
URL: POST /api/v1/merchant/payin/qris/refund
Refund hanya dapat dilakukan untuk transaksi dengan
status: "SUCCESS". Pastikan Anda sudah mengonfirmasi status pembayaran via Cek Status QRIS sebelum mengajukan refund.
Request
Headers
| Header | Wajib | Keterangan |
|---|---|---|
X-API-Key | Ya | API Key merchant |
Content-Type | Ya | application/json |
X-Signature | Kondisional | Jika Signature Validation aktif |
X-Timestamp | Kondisional | Unix timestamp (jika Signature Validation aktif) |
Body
| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
trace_number | String | Ya | trace_number dari transaksi QRIS yang akan di-refund |
Contoh Request
{
"trace_number": "240501001234"
}
curl -X POST "https://api-sandbox.alfakios.com/api/v1/merchant/payin/qris/refund" \
-H "Content-Type: application/json" \
-H "X-API-Key: apk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-d '{"trace_number": "240501001234"}'
Response
Spesifikasi
| Field | Tipe | Keterangan |
|---|---|---|
req_id | String | req_id dari transaksi asal |
ref_id | String | ID referensi refund |
product_id | String | Kode produk QRIS |
trace_number | String | Trace number yang di-refund |
status | String | SUCCESS, PENDING, atau FAILED |
rc | String | Kode respon |
description | String | Keterangan RC |
message | String | Pesan detail |
amount | String | Nominal yang di-refund |
data | Object | Data tambahan dari GPay |
Contoh Response Berhasil
{
"success": true,
"message": "Refund berhasil",
"rc": "000",
"data": {
"req_id": "QRIS-20240501-001",
"ref_id": "1777946295495380000",
"product_id": "GPAY",
"trace_number": "240501001234",
"status": "SUCCESS",
"rc": "000",
"description": "Refund Processed",
"message": "Refund QRIS 150000 berhasil diproses",
"amount": "150000",
"data": {
"refund_id": "RF-240501001234",
"refunded_at": "2024-05-01T10:30:00Z"
}
}
}
Contoh Response Gagal — Transaksi Tidak Ditemukan
HTTP Status: 404 Not Found
{
"success": false,
"message": "Transaction not found"
}
Contoh Response Gagal — Transaksi Belum Sukses
{
"success": true,
"message": "Refund failed",
"rc": "009",
"data": {
"trace_number": "240501001234",
"status": "FAILED",
"rc": "009",
"description": "Transaction not eligible for refund",
"message": "Hanya transaksi dengan status SUCCESS yang dapat di-refund",
"data": {}
}
}
Catatan
- Refund hanya dapat dilakukan untuk transaksi yang sudah SUCCESS.
- Kebijakan refund (batas waktu, ketersediaan) ditentukan oleh GPay — hubungi tim support jika refund ditolak.
- Setelah refund sukses, dana dikembalikan ke akun pelanggan dalam 1–3 hari kerja (tergantung bank/dompet pelanggan).
- Setiap
trace_numberhanya dapat di-refund satu kali.