Skip to main content
GET
Query Payment
  • Live queries are conditional. A provider is only queried in real time when the stored status is Pending, Authorized, or InstallmentInProgress. For any other stored status (already Success, Failed, etc.), the last known status is returned immediately without a provider round-trip.
  • Querying by SessionNumber alone returns a session-level result, not one fixed transaction. Up to 3 pending transactions under that session are checked in order; the first one found Success is returned. If none are, the response reflects the session’s own status with transactionNumber: null rather than any individual transaction.

Errors

In addition to standard signature errors, this endpoint can return:

Headers

Abp-TenantId
string
required

Your unique Merchant ID assigned by CommercePay.

Authorization
string
required

Your API credentials used for authentication (typically a Bearer token).

cap-signature
string
required

A unique security hash used to verify the integrity of the request body. See Generate Signature for how to generate this.

Query Parameters

TransactionNumber
string

Unique CommercePay Transaction Number (Conditional: If it is query for specific transaction in either normal transaction or session transaction, then need pass the transaction number)

Maximum string length: 24
Timestamp
integer<int64>

new Date().getTime()

Example:

1621851652617

SessionNumber
string

Unique CommercePay Session Number (Conditional: If the query is query the session, then need pass the session number)

Maximum string length: 24

Response

Success

transactionNumber
string | null

Unique CommercePay transaction number

Maximum string length: 24
paymentSessionNumber
string | null

Unique CommercePay session number

Maximum string length: 24
referenceCode
string | null

Merchant Reference Code

Maximum string length: 50
status
enum<integer>
Available options:
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20
settlementStatus
enum<number>

0 = Unsettled, 1 = Settled, 2 = InProgress, 3 = Locked, 4 = CompleteProcessing

Available options:
0,
1,
2,
3,
4
currencyCode
string | null

Currency code with a 3-letter ISO 4217 standard code

Maximum string length: 3
Example:

"MYR"

amount
integer<int64>

This is Request Amount.

Example:

100

channelId
integer<int32>

Refer to endpoints in Get Channel List

providerTransactionNumber
string | null

Provider Transaction Number

creationTime
string<date-time>

Payment Transaction Creation Time

Example:

"2022-02-10T08:50:30.565Z"

remark
string | null

A description that additional information or clarify details for the transaction.

providerChannelId
string | null

An identifier that represents the payment provider channel

providerPaymentMethod
string | null

Provider Payment Method

providerErrorMessage
string | null

Provider Error Message

loyaltyType
enum<number>

[Conditional for Loyalty Payment]

1 = BCard

Available options:
1
loyaltyId
integer<int32> | null

[Conditional for Loyalty Payment] Identifier of the loyalty provider used for this transaction.

redemptionPoint
integer<int64>

[Conditional for Loyalty Payment] Redemption Point.

redemptionAmount
integer<int64>

[Conditional for Loyalty Payment] Redemption Amount.

rewardPoint
integer<int64>

[Conditional for Loyalty Payment] Reward Point.

paidAmount
integer<int64>

[Conditional for Loyalty Payment] This is Paid Amount.

Example:

100

loyaltyRedemptionStatus
enum<number>

[Conditional for Loyalty Payment]

0 = Pending, 1 = Success, 2 = Failed, 3 = Void

Available options:
0,
1,
2,
3
loyaltyRewardStatus
enum<number>

[Conditional for Loyalty Payment]

0 = Pending, 1 = Success, 2 = Failed, 3 = Void

Available options:
0,
1,
2,
3