Skip to main content
GET
/
api
/
v1.0
/
va-transactions
/
{account_id}
/
detail-by-va-number
/
{va_number}
List by VA number
curl --request GET \
  --url https://sandbox-payment-b2b.singapay.id/api/v1.0/va-transactions/{account_id}/detail-by-va-number/{va_number} \
  --header 'Authorization: Bearer <token>' \
  --header 'X-PARTNER-ID: <api-key>'
{
  "status": 200,
  "success": true,
  "data": [
    {
      "transaction_id": "VA-20251024-0001H9X8ZK",
      "merchant_reff_no": "INV/2025/10/0001",
      "va_number": "88810012345678",
      "account": {
        "id": "01H9X8ZK3M7QF4N2VTB6RYJWPC",
        "name": "Toko Sumber Rejeki",
        "email": "finance@sumberrejeki.co.id",
        "phone": "081234567890"
      },
      "bank": {
        "short_name": "BRI",
        "number": "002",
        "swift_code": "BRINIDJA",
        "bank_code": "BRI"
      },
      "notes": "Pembayaran order #1024",
      "status": "paid",
      "fees": {
        "name": "BRI Virtual Account",
        "amount": 4500,
        "currency": "IDR"
      },
      "amount": {
        "value": "1234.56",
        "currency": "IDR"
      },
      "post_timestamp": "1729748679474",
      "processed_timestamp": "1729748707000",
      "has_settle": true,
      "settle_at": 1729753200000
    }
  ],
  "pagination": {}
}

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).