Referensi API
Refund
Cara refund bekerja di v1.0.x, event payment.refunded, dan field refund pada pembayaran.
Meminta refund#
Kirim permintaan dari email owner terdaftar ke partnership@algoritmakitadigital.id dengan menyebut merchant_id, lingkungan (sandbox/live), payment_id atau external_order_id, nominal yang direfund, dan alasannya. Jangan pernah mengirim API key atau signing secret lewat email.
Aturan refund#
- Hanya pembayaran berstatus
PAIDyang bisa direfund. - Refund boleh sebagian dan berulang; total refund tidak bisa melebihi nominal pembayaran.
- Status pembayaran tetap
PAID. Refund tidak mengubah status pembayaran; kemajuan refund terlihat darirefunded_amountdanrefund_status. - Refund Virtual Account dilakukan manual: tim AKD mentransfer dana ke pembayar dan mencatat referensinya. Refund QRIS dapat diproses lewat penyedia pembayaran dalam 30 hari setelah pembayaran; tidak semua penerbit QRIS mendukungnya.
- Biaya layanan transaksi tidak dikembalikan saat refund.
Event payment.refunded#
AKD mengirim payment.refunded setiap kali sebuah refund selesai. Satu pembayaran bisa menghasilkan beberapa event payment.refunded, masing-masing dengan event_id dan refund_id sendiri.
| Field | Arti |
|---|---|
amount |
nominal refund ini |
refunded_amount |
total refund pembayaran tersebut sejauh ini |
payment_amount |
nominal pembayaran asli |
payment_status |
tetap PAID |
refund_status |
PARTIAL bila masih ada sisa yang bisa direfund, FULL bila seluruh nominal sudah direfund |
Contoh body lengkap, header, dan cara verifikasinya ada di Webhook ke server merchant. Deduplikasi dengan X-AKD-Event-ID seperti event lain.
Membaca status refund#
Respons GET /v1/payments/{payment_id} memuat refunded_amount (total refund yang berhasil) dan refund_status: NONE, PARTIAL, atau FULL.
Yang perlu dilakukan server Anda#
- Verifikasi signature dan deduplikasi
X-AKD-Event-ID. - Catat refund per
refund_id; gunakanrefunded_amountsebagai total terbaru. - Jangan mengubah status pesanan menjadi "belum dibayar": pembayaran tetap
PAID. Tandai pesanan sebagai direfund sebagian atau penuh sesuairefund_status. - Jawab
2xxcepat.