Lewati ke konten

Respons sukses

Jawaban dari request yang berhasil: kode status dan body, untuk tiap jenis operasi.


Request yang berhasil mengembalikan status 2xx dan body JSON dengan dua bagian: data dan meta.

{
"data": { … },
"meta": { "request_id": "req_Hy3k9QzT2LmN8vXa" }
}
Bagian Isinya
data Objek yang diminta, atau array objek untuk hasil daftar
meta request_id; untuk hasil daftar, juga berisi pagination

Respons error memakai meta yang sama bersama error: lihat Error. ID request ada di meta.request_id, baik pada respons sukses maupun error.

Operasi Status data
Lihat satu (GET /v1/payments/{id}) 200 Objeknya
Daftar (GET /v1/payments) 200 Sebuah array, dengan meta.pagination, lihat Paginasi
Buat (POST /v1/payments, POST /v1/payment-links, POST /v1/invoices) 201 Objek yang baru
Aksi (POST /v1/payments/{id}/cancel, POST /v1/payment-links/{id}/cancel, POST /v1/invoices/{id}/issue, atau simulasi) 200 Objek setelah aksi dilakukan
Ubah (PATCH /v1/webhook-endpoints/{id}) 200 Objek yang sudah diperbarui
Buat endpoint webhook 201 Endpoint-nya, dengan secret: secret hanya ada di jawaban ini
Hapus endpoint webhook atau invoice draf 200 ID objek yang dihapus dan "deleted": true
HTTP/1.1 200 OK
x-request-id: req_Hy3k9QzT2LmN8vXa
{
"data": {
"id": "pay_01k7q3m8x2v5t9n4b6c1d0e7fa",
"status": "paid",
"amount": 1000000,
"currency": "IDR"
},
"meta": { "request_id": "req_Hy3k9QzT2LmN8vXa" }
}

Hasil daftar berupa array di data. Gunakan meta.pagination untuk mengetahui apakah masih ada halaman berikutnya:

{
"data": [ { "id": "pay_01k7q3m8x2v5t9n4b6c1d0e7fa", "status": "paid" } ],
"meta": {
"request_id": "req_Hy3k9QzT2LmN8vXa",
"pagination": { "per_page": 20, "has_more": false, "next": null }
}
}

Pembuatan mengembalikan status 201 dan objek baru di data. Pada pembayaran, instruction berisi detail yang dibutuhkan pembayar untuk menyelesaikan pembayaran:

{
"data": {
"id": "pay_01k7q3m8x2v5t9n4b6c1d0e7fa",
"status": "pending",
"instruction": { "type": "qr", "qr_content": "…", "expires_at": "2026-10-26T03:19:05.000Z" }
},
"meta": { "request_id": "req_Hy3k9QzT2LmN8vXa" }
}

Respons pembuatan endpoint webhook menyertakan signing secret di data.secret.

Menghapus endpoint webhook atau invoice draf mengembalikan status 200 dan ID objek yang dihapus:

{
"data": { "id": "<id-objek-yang-dihapus>", "deleted": true },
"meta": { "request_id": "req_Hy3k9QzT2LmN8vXa" }
}

Setiap respons menyertakan header x-request-id dengan nilai yang sama seperti meta.request_id. Retry dengan Idempotency-Key yang sama mengembalikan jawaban tersimpan dan menyertakan Idempotent-Replayed: true; request_id-nya menunjukkan ID retry tersebut. Lihat Idempotensi. Header X-RateLimit-* menunjukkan pemakaian rate limit saat ini; lihat Rate limit.

Request yang gagal dijawab dengan status 4xx atau 5xx dan bentuk error dari Error.