Integrasi Backend•Webhook Callback

Spesifikasi Callback Refund

Callback Refund dipicu setelah permohonan pengembalian dana selesai dieksekusi di background oleh layanan RefundService atau ReleaseBalanceService Qoin.

HTTP Callback & Headers

CALLBACKPOST {UrlCallback}
HTTP Request Headers
POST {UrlCallback} HTTP/1.1
Content-Type: application/json; charset=utf-8
Accept: application/json
Accept-Charset: utf-8
Signature: {RSA_SIGNATURE_BASE64}

Model & Kamus Data Refund

Model C# rujukan: RefundCallback (Models/RefundModels.cs)

Data Field Payload Refund
ParameterTipe DataStatusDeskripsi & Contoh
ReferenceNostringWajib
Nomor referensi pengajuan refund dari pihak merchant.
Contoh: REF-MERCHANT-00123
OrderNostring / nullOpsional
Nomor order asli transaksi pembayaran. Dapat bernilai null jika tidak disertakan.
Contoh: INV-2026-0001
ReceiptNostringWajib
Nomor struk/bukti transaksi resmi proses refund dari sistem Qoin.
Contoh: RFD240930000000001
AmountdecimalWajib
Nominal dana yang dikembalikan ke saldo pengguna.
Contoh: 50000.0
StatusintWajib
Kode status numerik proses refund (1 = Sukses, selain 1 = Gagal).
Contoh: 1
DescriptionstringWajib
Pesan detail/deskripsi status proses refund dalam bentuk string teks biasa.
Contoh: Refund success
Perbedaan Kritis dengan Callback Payment
Perhatikan bahwa field Description pada Callback Refund bertipe string (teks deskripsi alasan / status), BUKAN array of object seperti pada Callback Payment.

Contoh Payload Callback Refund

A. Refund Berhasil (Status 1)

refund_success.json
{
  "ReferenceNo": "REF-MERCHANT-00123",
  "OrderNo": "INV-2026-0001",
  "ReceiptNo": "RFD240930000000001",
  "Amount": 50000.0,
  "Status": 1,
  "Description": "Refund success"
}

B. Refund Gagal: Melebihi Transaksi Asli (Status 17)

refund_amount_exceeded.json
{
  "ReferenceNo": "REF-MERCHANT-00124",
  "OrderNo": null,
  "ReceiptNo": "RFD240930000000002",
  "Amount": 150000.0,
  "Status": 17,
  "Description": "Refund amount (150000) exceeds transaction amount (100000)"
}

C. Refund Gagal: Member Tidak Ditemukan (Status 10)

refund_member_not_found.json
{
  "ReferenceNo": "REF-MERCHANT-00125",
  "OrderNo": null,
  "ReceiptNo": "",
  "Amount": 25000.0,
  "Status": 10,
  "Description": "Member validation failed: Member data not found"
}