POS Terminal Integration
Integrate RM Terminal with a POS system or Kiosk machine using local callback. Drives the terminal to initiate an e-wallet or card payment from your POS app.
When to Use
▾
Use this endpoint when:
- Connecting a POS system / Kiosk to an RM Terminal over local network
- Driving terminal payments from your own checkout app
This endpoint only supports payment initiation. For refund / reverse / settlement, follow the standard refund, reverse, and settlement API steps.
How to Use
▾
Method: POST
URL: https://open.revenuemonster.my/v3/payment/terminal/quickpay
Sandbox URL: https://sb-open.revenuemonster.my/v3/payment/terminal/quickpay
Step 1: Configure Terminal
▾
Identify the terminalId of your RM Terminal.
Step 2: Send the Payment Request
▾
POST with type ("E-WALLET" or "CARD"), receiptType, order details, and cameraType (for e-wallet).
Step 3: Handle the Response
▾
The response contains transactionId and status. Use the transaction ID for subsequent refund or query operations.
Request Parameters
▾
Terminal ID
Example: "1582107209454501456"
e-wallet "E-WALLET" or Bank card "CARD" payment
Example: "E-WALLET"
1 : Print Merchant Copy and Customer copy 2 : Print Customer copy 3 : Do not print Merchant Copy & Customer Copy
Example: 1
For "E-WALLET" only, use back or front camera to scan QR
Example: "FRONT"
(Refer order )
Example: {}
Amount of order in cent (min RM 0.10 or amount: 10)
Example: 100
Currency notation (currently only support MYR)
Example: "MYR"
Order ID (from Merchant), max: 24
Example: "123443333304"
Order title, max: 32
Example: "title"
Order details, max: 600
Example: "desc"
For merchant's remark, max 128
Example: "API Test"
1curl --location --request POST "https://sb-open.revenuemonster.my/v3/payment/terminal/quickpay" \2--header "Content-Type: application/json" \3--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjIwMTgtMDMtMTMiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOlsiYXBpX2NsaWVudEBFaGNLQzA5QmRYUm9RMnhwWlc1MEVNV1Z4NF9UbE5MZEZRIl0sImV4cCI6MTU4NjMzNzc1OCwiaWF0IjoxNTgzNzQ1NzU4LCJpc3MiOiJodHRwczovL3NiLW9hdXRoLnJldmVudWVtb25zdGVyLm15IiwianRpIjoiRWh3S0VFOUJkWFJvUVdOalpYTnpWRzlyWlc0UXlKSG9qb2VNcHYwViIsIm5iZiI6MTU4Mzc0NTc1OCwic3ViIjoiRWhRS0NFMWxjbU5vWVc1MEVKWFZ6ZDN3cmFxVE9SSVFDZ1JWYzJWeUVJeUpxSXp2eU1QVmNRIn0.FfBkCb7fjCKJdcy_DS06dKgEtcAvukPio0HyDRtH2UovhZsLFSqD_8oo21u094XSor_mqFg4hqXmLaHjX-h92Wz3kHl7OwiKQb16x8Rnl5OdyPHtMqIZqP8ab8Ch0RHEZ33VchK1zBTnG6Xosrb1B44tWqJ0_kdTtbRZN4rG821C8i4sb6sx8GaxgluJ5q7CEifMTBFJam_Jub9LfAfukq8YyIl0Bykp7B3A_su2QoELL9L_ElJdV9FuwFPHcKr9bxLvVSrEdyrFg7IBm_tJHxSl8gTh3j4b6lWZrBCfMSLraXaYRNzz1ddbVnwYD4aRuSyRmQeMYTUj0cInktnKUA" \4--header "X-Signature: sha256 GohuT2QTUXJV3MZh2OoEE9qW9wcfakOU9iVLmkTjM12NQuV6IcWMRQDz9NdxAOVIrh5MssfYCLDlafb2illXxgQMpmZkZ38NT6NQsMeMfGbHBS1Kc+BUtU7o1TMLUzk55J1tA6f0Z95oEuBlCeLm6VsgCG30wFm5YmgssJ0weIwMcW355r2sFl7QcKOuRqynoGtmmr/aGfOk1HjiFLoFzSd38O7rRjwGrekYwuYUD1N/Wp5GFXRjtaaPkzAERPbXEmnh/taLME8VeAhky6dAVGZE6gHKnP5WvvVjUE+KLtj3D32YIHzxhzEW9x3JEObqgvm5Q2oRZNxoh6/MvqwkVA==" \5--header "X-Nonce-Str: bfdgdjgtjhmnbmmjmdfdghghffj" \6--header "X-Timestamp: 1546850694" \7--data-raw {8"terminalId": "1554193032595276913",9"type": "CARD",10"receiptType": 3,11"cameraType": "BACK",12"order": {13 "amount": 10,14 "currencyType": "MYR",15 "id": "387153091916665362292147",16 "title": "title",17 "detail": "desc",18 "additionalData": "010100 Pay parking ticket\n30/07/20 07:13 - 30/07/20 18:40\nLength of stay: 0 Days. 11:35\n02993777014011020212260030??"19}20}
Response Parameters
▾
Amount of order in cent
Example: 10
Creation date time of store
Example: "2020-02-13T07:08:56Z"
Currency notation (currently only support MYR)
Example: "MYR"
for CARD payment (Refer to extraInfo)
Example: {}
Object of card Info
Type of card payment
Example: "NFC"
Masked card no
Example: "XXXX-XXXX-XXXX-9081"
Card payment ref on server
Example: "104974001774"
Card payment ref on terminal
Example: "001774"
RM currently supported method
Example: "CARD"
(Refer order )
Example: {}
Amount of order in cent (min RM 0.10 or amount: 10)
Example: 10
Order ID (from Merchant), max: 24
Example: "201919250001"
Order title, max: 32
Example: "SALE"
Order details, max: 600
Example: "XXXX-XXXX-XXXX-3121"
For merchant's remark, max 128
Example: "000008"
for E-WALLET payment (Refer to payee)
Example: {}
Payee account id
Example: "1000000806040489"
Only "TERMINAL"
Example: "TERMINAL"
Transaction ID (from server)
Example: "00000000000791320002737201919250001"
Region of wallet
Example: "MALAYSIA"
Status returned from WeChat server
Example: "SUCCESS"
(Refer to store)
Example: {}
Store ID
Example: "6170506694335521334"
Store Name
Example: "REVENUE MONSTER"
Store Address 1
Example: "B-5-30, 5th Floor, Block Bougainvillea,"
Store Address 2
Example: "PJU 6A, Lebuhraya SPRINT, 10 Boulevard,"
Postcode of store
Example: "47400"
City of store
Example: "Petaling Jaya"
State of store
Example: "Selangor"
Country of store
Example: "Malaysia"
Country code of store contact number
Example: "60"
Phone number of store
Example: "377334080"
Geo Location (latitude and longtitude) of store
Example: {"latitude": 3.1349857, "longtitude": 101.6136659 }
Current status of store
Example: "ACTIVE"
Creation date time of store
Example: "2018-02-12T08:53:13Z"
Last update date time of store
Example: "2018-02-12T08:53:13Z"
Transaction date time of store
Example: "2020-10-25T04:35:22Z"
Transaction ID generated from Revenue Monster.
Example: "200213070856100322408442"
"QUICKPAY" or "BANK_CARD"
Example: "BANK_CARD"
Last update date time of store
Example: "2020-02-13T07:08:56Z"
1{2"balanceAmount": 10,3"createdAt": "2021-02-17T18:39:30Z",4"currencyType": "MYR",5"extraInfo": {6 "card": {7 "inputType": "NFC",8 "maskNo": "XXXX-XXXX-XXXX-9081",9 "referenceId": "104983001779",10 "secondaryReferenceId": "001779"11 }12},13"method": "CARD",14"order": {15 "additionalData": "010100 Pay parking ticket\n30/07/20 07:13 - 30/07/20 18:40\nLength of stay: 0 Days. 11:35\n02993777014011020212260030??",16 "amount": 10,17 "detail": "desc",18 "id": "387153091916665362292147",19 "title": "title"20},21"payee": {22 "userId": "1000000806040489"23},24"platform": "TERMINAL",25"referenceId": "00000000000550520003236104983001779",26"region": "MALAYSIA",27"status": "SUCCESS",28"store": {29 "addressLine1": "UTROPOLIS MARKETPLACE, JALAN KONTRAKTOR U1/14, SHAH ALAM",30 "addressLine2": "UTROPOLIS MARKETPLACE, JALAN KONTRAKTOR U1/14, SHAH ALAM",31 "city": "Shah Alam",32 "country": "Malaysia",33 "countryCode": "60",34 "createdAt": "2021-01-08T10:09:23Z",35 "geoLocation": {36 "latitude": 3.0901139,37 "longitude": 101.5598738 },39 "id": "1601912947341252990",40 "name": "Mountain Food - Utropolis",41 "phoneNumber": "1123621544",42 "postCode": "40150",43 "state": "Selangor",44 "status": "ACTIVE",45 "updatedAt": "2021-01-08T10:09:23Z"46},47"transactionAt": "2021-02-18T02:39:35+08:00",48"transactionId": "210217183930100325434403",49"type": "BANK_CARD",50"updatedAt": "2021-02-17T18:39:37Z"51}