Skip to main content

Query Transaction

GET/v3/payment/transaction/{id}

What is this?

Retrieve transaction details by Transaction ID, Order ID, or list all transactions. Use this to confirm payment status, get transaction records, or retrieve details needed for refunds.

When to Use

Use this endpoint when you:

  • Need to confirm whether a payment succeeded
  • Want to retrieve full transaction details after a payment notification
  • Need to look up a transaction by its Order ID
  • Need to audit or reconcile transactions

Store either the Transaction ID or Order ID from every payment response — you will need one of these to query the transaction later.


How to Use

Step 1: Choose Your Query Method

You can query by:

  • Transaction ID — the unique ID generated by Revenue Monster
  • Order ID — the ID you provided when initiating the payment
  • List all — fetch a paginated list of transactions

Step 2: Make the GET Request

Pass the ID as a path parameter, or use the limit query parameter to list transactions.

Step 3: Review the Response

Check the status field in the response. Common values: "SUCCESS", "FAILED", "IN_PROCESS", "FULL_REFUNDED", "PARTIAL_REFUNDED".


Query By Order ID

Request Parameters

idStringrequired

Order ID to look up

Example: "1684743768790895"

Response Parameters

itemObject

Transaction response object

Example: (See Transaction Object below)

codeString

"SUCCESS" if the request succeeded, otherwise an error code.

error.codeString

Error code if the request failed.

error.messageString

Error message if the request failed.

error.debugString

Debug message (sandbox only).


Query By Transaction ID

Request Parameters

idStringrequired

Transaction ID to look up

Example: "230522082259300426500551"

Response Parameters

itemObject

Transaction response object

Example: (See Transaction Object below)

codeString

"SUCCESS" if the request succeeded, otherwise an error code.

error.codeString

Error code if the request failed.

error.messageString

Error message if the request failed.

error.debugString

Debug message (sandbox only).


Get All Transactions

To list transactions, use the query endpoint:

GET /v3/payment/transactions?limit=N

Request Parameters

limitInteger

Maximum number of transactions to return

Example: 10

Response Parameters

itemsArray

List of transaction response objects

codeString

"SUCCESS" if the request succeeded, otherwise an error code.

error.codeString

Error code if the request failed.

error.messageString

Error message if the request failed.

error.debugString

Debug message (sandbox only).


Transaction Object

The transaction object is returned in the item field of successful responses.

storeJSON

Store details

referenceIdString

Reference ID from the payment provider

transactionIdStringrequired

Revenue Monster's unique transaction ID

terminalIdString

Terminal ID if applicable

currencyTypeStringrequired

Currency type (currently supported MYR only)

balanceAmountUint64required

Remaining balance amount for initiating refund

finalAmountUint64required

Amount after all deductions (voucher, membership)

platformStringrequired

Transaction platform

typeStringrequired

Transaction type

methodStringrequired

Transaction payment method

regionStringrequired

Transaction payment region

statusStringrequired

Transaction status (SUCCESS, FAILED, IN_PROCESS, etc.)

sourceStringrequired

(Internal) Determines initiator source

transactionAtString

Transaction date time (exists only when SUCCESS)

createdAtStringrequired

Transaction created date time

updatedAtStringrequired

Transaction last updated date time

order.idStringrequired

Order ID

order.titleStringrequired

Order title

order.currencyTypeStringrequired

Order currency type

order.amountUint64required

Order amount

order.detailString

Order detail

order.additionalDataString

Order additional data

Example Transaction
JSON
1{
2 "referenceId": "230522162302AC0570UM",
3 "transactionId": "230522082259300426500551",
4 "order": {
5 "id": "1684743768790895",
6 "title": "Demo",
7 "detail": "Demo",
8 "additionalData": "Demo",
9 "amount": 120
10 },
11 "terminalId": "",
12 "payee": {
13 "userId": "",
14 "subUserId": ""
15 },
16 "currencyType": "MYR",
17 "balanceAmount": 120,
18 "finalAmount": 120,
19 "voucher": null,
20 "platform": "OPEN_API",
21 "method": "GOBIZ",
22 "transactionAt": "2023-05-22T08:23:02Z",
23 "type": "WEB_PAYMENT",
24 "status": "SUCCESS",
25 "region": "MALAYSIA",
26 "source": "",
27 "createdAt": "2023-05-22T08:23:02Z",
28 "updatedAt": "2023-05-22T08:23:11Z"
29}

Store Object

idStringrequired

Store ID

nameString

Store name

imageUrlString

Store image URL

addressLine1String

Store address line 1

addressLine2String

Store address line 2

postCodeString

Store postal code

cityString

Store city

stateString

Store state

countryString

Store country

countryCodeString

Store country code for phone number

phoneNumberString

Store phone number

geoLocation.latitudeFloat64

Store latitude

geoLocation.longitudeFloat64

Store longitude

statusString

Store status

createdAtString

Store created time

updatedAtString

Store last updated time

Example
JSON
1{
2 "id": "10946114768247530",
3 "name": "Utropolis",
4 "imageUrl": "https://storage.googleapis.com/rm-sandbox-asset/img/store.png",
5 "addressLine1": "UTROPOLIS GLENMARIE, JALAN KONTRAKTOR U1/14, HICOM-GLENMARIE INDUSTRIAL PARK",
6 "addressLine2": "UTROPOLIS GLENMARIE, JALAN KONTRAKTOR U1/14, HICOM-GLENMARIE INDUSTRIAL PARK",
7 "postCode": "40150",
8 "city": "Shah Alam",
9 "state": "Selangor",
10 "country": "Malaysia",
11 "countryCode": "60",
12 "phoneNumber": "1123621544",
13 "geoLocation": {
14 "latitude": 3.091198,
15 "longitude": 101.5588264
16 },
17 "status": "ACTIVE",
18 "createdAt": "2020-12-18T11:17:51Z",
19 "updatedAt": "2023-04-07T06:35:57Z"
20}

BuyNowPayLater (BNPL)

isBuyNowPayLaterBoolean

Whether this is a BNPL transaction

installmentMonthUint64

Number of months selected for BNPL

Example
JSON
1{
2 "isBuyNowPayLater": true,
3 "installmentMonth": 3
4}

Online Banking (FPX)

buyerNameString

FPX buyer name

bankIdString

FPX bank ID

Example
JSON
1{
2 "buyerName": "",
3 "bankId": "TEST0021"
4}

Card Payment

cardType.brandString

Card brand

cardType.typeString

Card type (CREDIT, DEBIT)

cardType.issuerString

Card issuer

cardType.alpha2String

Card country in alpha2 code

cardType.alpha3String

Card country in alpha3 code

cardType.countryString

Card country full name

providerString

(Internal) Card provider

isTokenizationBoolean

Whether payment uses a token instead of PAN

tokenString

Token used for tokenized payment

maskNoString

Masked PAN, last four digits

Example: "XXXX-XXXX-XXXX-2354"

inputTypeString

Card input type

referenceIdString

Card transaction reference number

secondaryReferenceIdString

Card transaction invoice number

domainString

Online card payment domain

Example (Online Payment)
JSON
1{
2 "isTokenization": true,
3 "token": "8814223001082177022",
4 "domain": "revenuemonster.my",
5 "maskNo": "XXXX-XXXX-XXXX-2354"
6}
Example (Offline Payment)
JSON
1{
2 "cardType": {
3 "brand": "VISA",
4 "type": "CREDIT",
5 "issuer": "WASHINGTON MUTUAL",
6 "alpha2": "US",
7 "alpha3": "USA",
8 "country": "United States"
9 },
10 "provider": "SC",
11 "maskNo": "XXXX-XXXX-XXXX-2354",
12 "inputType": "NFC",
13 "referenceId": "313110000027",
14 "secondaryReferenceId": "000027"
15}

Spending Loyalty

If you are using QR code mode for payment, you will receive the spending loyalty object in the transaction response. When printing the receipt, include the qrcode parameter as the QR code content — customers can scan it to retrieve their loyalty points.

codeString

Spending loyalty code

qrcodeString

Spending loyalty QR code content

idString

Spending loyalty ID

Example
JSON
1{
2 "id": "EhQKCE1lcmNoYW50EJXVzd3wraqTORIhChVMb3lhbHR5U3BlbmRpbmdSZXdhcmQQ-qf65Pa6p_kV",
3 "code": "6ebd1a92c03e7a62580eac7b013c97e8",
4 "qrcode": "http://api.local.rm:8080/qr/4118165203679668885/loyalty/6ebd1a92c03e7a62580eac7b013c97e8"
5}

Payment Provider Discount Info

salesAmountUint64

Original sales amount before discount

discountAmountUint64

Payment provider discount amount

grossAmountUint64

Sales amount after discount

Example
JSON
1{
2 "grossAmount": 1875,
3 "salesAmount": 2500,
4 "discountAmount": 625
5}

Membership Discount Info

memberIdString

Membership member ID

voucherIdString

Membership voucher ID

discountAmountUint64

Membership discount amount

Example
JSON
1{
2 "memberId": "28159426363267580029",
3 "voucherId": "EhQKCE1lcmNoYW50EJXVzd3wraqTORIhChVMb3lhbHR5U3BlbmRpbmdSZXdhcmQQ-qf65Pa6p_kV",
4 "discountAmount": 10
5}

Appendix

Transaction Type

ValueDescription
QUICK_PAYQuickPay transaction
RETAIL_QRPAY(Coming Soon) Offline RetailQR
BANK_CARDTerminal card transaction
WEB_PAYMENTWeb payment checkout
WEB_MOBILE_PAYMENTH5/Mobile payment checkout
MINI_PROGRAMMiniprogram checkout
RECURRING_PAYMENTRecurring payment transaction
QR_PAY(Deprecated) Platform Specific QR Payment
MOBILE_PAYMENT(Deprecated) Now known as WEB_MOBILE_PAYMENT

Transaction Status

ValueDescription
SUCCESSSuccess transaction
FAILEDFailed transaction
IN_PROCESSTransaction in process
FULL_REFUNDEDTransaction fully refunded
PARTIAL_REFUNDEDTransaction partially refunded
REVERSEDTransaction reversed (timeout triggers automatic reversal)

Transaction Method & Region

For online payment checkout, append the region name to the method. For example, Malaysia uses MY, so the full method name is ALIPAYPLUS_MY.

MethodRegionNotes
WECHATPAYMALAYSIA, CHINAQuick Pay, Web Payment, Web Mobile/Mobile Payment supported
ALIPAYCHINAQuick Pay, Web Payment, Web Mobile/Mobile Payment supported
ALIPAYPLUSMALAYSIAQuick Pay not supported
TNG, BOOST, PRESTO, GRABPAY, SHOPEEPAY, ZAPP, MCASHMALAYSIAVarious support levels
MAYBANK, FAVEPAYMALAYSIAQuick Pay supported
FPX, PAYDEE, GOBIZMALAYSIAWeb Payment only
BINFINITE, ATOME, IOUPAY, SENHENGPAY, SETEL, TRUEMONEY, HOOLAH, GOPAYZMALAYSIAVarious
NETSPAYSINGAPORERetail QRPay supported
SARAWAKPAYMALAYSIAWide payment method support