Skip to main content

List transaksi — Partner Transactions API

GET /api/v1/transactions

Mengembalikan daftar transaksi milik partner yang sedang login. Hanya transaksi milik partner sendiri yang dikembalikan.

note

Jika parameter sort tidak dikirim, urutan hasil tidak dijamin dan tidak otomatis diurutkan dari yang terbaru. Jika membutuhkan urutan yang konsisten, selalu gunakan sort=createdAt,desc secara eksplisit seperti pada contoh di bawah.

Autentikasi

Kirim header Authorization: Bearer <accessToken>, memakai accessToken yang didapat dari Partner Auth API. Butuh permission transactions:read.

Query parameter

ParameterTipeWajibDeskripsi
statusTransactionStatus (enum)TidakFilter berdasarkan status. Kosongkan untuk semua status. Nilai valid: PENDING, SUCCESS, FAILED, EXPIRED, CANCELLED.
pageintegerTidakNomor halaman, 0-based. Default 0.
sizeintegerTidakJumlah item per halaman. Default 20.
sortstringTidakFormat properti,arah, misalnya createdAt,desc.

Contoh request

Request
curl -G '{{BASE_URL}}/api/v1/transactions' \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d status=PENDING \
-d page=0 \
-d size=20 \
-d sort=createdAt,desc

Response sukses

200 OK -- selalu 200 walau hasilnya kosong (list kosong, bukan error).

200 OK
{
"code": "00",
"message": "Success",
"data": {
"content": [
{
"transactionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"partnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"groupId": "3fa85f64-5717-4562-b3fc-2c963f66afa7",
"externalReference": "INV-2026-001234",
"platformReference": "TXN-20260707-A1B2C3",
"transactionType": "PAYMENT",
"paymentMethod": "QRIS_DYNAMIC",
"status": "PENDING",
"amount": 150000,
"currency": "IDR",
"providerCode": "GDC",
"providerReference": null,
"qrString": "00020101021226...",
"expiredAt": "2026-07-07T10:30:00Z",
"description": "Pembayaran order #INV-2026-001234",
"createdAt": "2026-07-07T09:00:00Z",
"updatedAt": "2026-07-07T09:00:00Z"
}
],
"page": 0,
"size": 20,
"totalElements": 1,
"totalPages": 1,
"first": true,
"last": true,
"hasNext": false,
"hasPrevious": false
},
"correlationId": "9f8e7d6c-5b4a-3210-fedc-ba9876543210",
"requestId": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
"timestamp": "2026-08-13T09:15:30.123Z"
}

Lihat penjelasan tiap field transaksi di halaman Buat transaksi QRIS atau Buat disbursement.

Response error

HTTP StatuscodeKapan terjadi
400VALIDATION_ERRORstatus bukan salah satu nilai valid (PENDING/SUCCESS/FAILED/EXPIRED/CANCELLED).
401INVALID_TOKENAuthorization header tidak ada, JWT tidak valid, atau kadaluarsa.
403ACCESS_DENIEDToken valid tapi tidak punya permission transactions:read.
Contoh -- 400 status tidak valid
{
"code": "VALIDATION_ERROR",
"message": "Parameter 'status' bernilai 'NGACO' tidak valid. Nilai yang diterima: PENDING, SUCCESS, FAILED, EXPIRED, CANCELLED.",
"correlationId": "9f8e7d6c-5b4a-3210-fedc-ba9876543210",
"requestId": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
"timestamp": "2026-08-13T09:15:30.123Z"
}
Contoh -- 401 Unauthorized
{
"code": "INVALID_TOKEN",
"message": "Token tidak ada atau tidak valid",
"correlationId": "9f8e7d6c-5b4a-3210-fedc-ba9876543210",
"requestId": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
"timestamp": "2026-08-13T09:15:30.123Z"
}
Contoh -- 403 Forbidden
{
"code": "ACCESS_DENIED",
"message": "Akses ditolak — permission tidak mencukupi untuk operasi ini.",
"correlationId": "9f8e7d6c-5b4a-3210-fedc-ba9876543210",
"requestId": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
"timestamp": "2026-08-13T09:15:30.123Z"
}