Skip to main content
GET
List by VA number

Authorizations

Authorization
string
header
required

JWT issued by POST /api/v1.1/access-token/b2b. Send Authorization: Bearer <token>.

X-PARTNER-ID
string
header
required

Merchant API key (Credential.api_key). Required on every request.

Path Parameters

account_id
string
required

ULID of the account that owns the Virtual Account. Must belong to the authenticated merchant. Account ULID

Example:

"01H9X8ZK3M7QF4N2VTB6RYJWPC"

va_number
string
required

The Virtual Account number whose transactions are being listed (the VA number itself, not a ULID). Corresponds to the Laravel route segment virtual_account_no. Virtual account number

Example:

"88810012345678"

Query Parameters

per_page
integer
default:50

Number of items per page.

Example:

50

sort_by
string
default:id

Column to sort by (e.g. id, created_at, amount, post_timestamp).

Example:

"id"

sort_order
enum<string>
default:desc

Sort direction.

Available options:
asc,
desc
transaction_id
string

Filter by business transaction id (partial/substring match).

Example:

"VA-20251024"

merchant_reff_no
string

Filter by merchant reference number (partial/substring match).

Example:

"INV-2025-001"

status
enum<string>

Filter by exact transaction status.

Available options:
unpaid,
paid,
expired,
failed
Example:

"paid"

amount
number

Filter by exact transaction amount (IDR).

Example:

1200000

amount_min
number

Filter by minimum transaction amount (IDR), inclusive.

Example:

100000

amount_max
number

Filter by maximum transaction amount (IDR), inclusive.

Example:

5000000

has_settle
boolean

Filter by settlement state. True returns only transactions already settled to the merchant balance.

Example:

true

post_timestamp_from
integer

Lower bound (inclusive) on the posted time, as a Unix timestamp in milliseconds.

Example:

1729728000000

post_timestamp_to
integer

Upper bound (inclusive) on the posted time, as a Unix timestamp in milliseconds.

Example:

1729814400000

processed_timestamp_from
integer

Lower bound (inclusive) on the processed time, as a Unix timestamp in milliseconds.

Example:

1729728000000

processed_timestamp_to
integer

Upper bound (inclusive) on the processed time, as a Unix timestamp in milliseconds.

Example:

1729814400000

settle_at_from
integer

Lower bound (inclusive) on the settlement time, as a Unix timestamp in milliseconds.

Example:

1729728000000

settle_at_to
integer

Upper bound (inclusive) on the settlement time, as a Unix timestamp in milliseconds.

Example:

1729814400000

Response

Success

Standard success envelope wrapping a paginated list of VA transactions.

status
integer
required

HTTP status code of the response.

Example:

200

success
boolean
required

Always true for successful responses.

Example:

true

data
object[]
required

The list of VA transactions for the current page.

pagination
object

Pagination metadata for the collection — current page, per-page size, total item count, and total page count (Laravel paginator output).