Installation & Testing
Build and run the Backend Wavelet POS Software.
Connect POS Terminal to the SAME Wi-Fi Network as the device running the Backend Wavelet POS Software. Note down the IPv4 Address of the POS Terminal.
From the POS Terminal, go to Management > Config and then do the following:
Input the System Administrator Password (This will vary, but at the time of writing was ‘88888888’)
Go to EDC
Scroll down to TCP/IP and note down the TCP/IP Port (Again, this will vary, but at the time of writing it was 8080).
Install Postman from this link
Create a WebSocket request
Click on New > WebSocket
Paste the URL as
ws://localhost:[INSERT-YOUR-PORT-NUMBER-HERE]/revenue-terminal-websocket?terminalId=[INSERT-TERMINAL-ID-HERE]
where[INSERT-YOUR-PORT-NUMBER-HERE]
denotes the Port Number of the Backend Console and[INSERT-TERMINAL-ID-HERE]
denotes the unique identifier for that POS Terminal.Click Connect
Create HTTP requests for each endpoint.
Click on New > HTTP
Select the appropriate request method and enter the specific endpoint prefixed with
http://localhost:[INSERT-YOUR-PORT-NUMBER-HERE]
where[INSERT-YOUR-PORT-NUMBER-HERE]
denotes the Port Number of the Backend Console
For each of the HTTP requests created in Postman, do the following:
Set the terminalIp parameter to the IPv4 Address of the POS Terminal
Set the terminalPort parameter to the TCP/IP Port of the POS Terminal
Set the terminalId Parameter to the unique identifier for that specific POS Terminal
If there are any additional parameters for that specific HTTP request, add them.
Send the respective HTTP request.
API Documentation
Swc macro | ||
---|---|---|
|
GET /ping
/revenue-terminals/ping
Pings the terminal to establish a WebSocket connection.
Parameters
terminalIp
: The IP address of the terminal
...
terminalId
: An identifier for the terminal
WebSocket Response (OK)
Code Block |
---|
{ "pay_resp_error_desc":"OK", "pay_function":"05" } |
WebSocket Response (CARD INSERT)
Code Block |
---|
{ "pay_resp_error_desc":"Card Insert", "pay_function":"05" } |
POST /card-sale
/revenue-terminals/card-sale
Processes a card sale transaction.
Parameters
terminalIp
: The IP address of the terminal
...
payAmount
: The monetary amount of the card sale transaction (in decimal format)
WebSocket Response
Code Block |
---|
{ "pay_resp_issuer_id":"01", "pay_resp_error_desc":"APPROVED", "pay_function":"01", "pay_resp_qr_txn_id":"", "pay_resp_invoice_no":"3", "pay_resp_scheme":"VISA", "pay_resp_batch_no":"1", "pay_resp_txn_date":"190902", "pay_resp_txn_time":"141130", "pay_print_receipt_id":"Y", "pay_resp_qr_wallet_id":"", "pay_resp_code":"00", "pay_resp_card_app_cryptogram":"8B76DB79FBAB8C56", "pay_resp_app_label":"VISACREDIT", "pay_resp_card_ref_num":"123456789012", "pay_camera_mode":"", "pay_resp_card_auth_code":"111111", "pay_resp_card_aid":"A0000000031010", "pay_resp_merch_info":"DEFAULT\n\n\n\n\n", "pay_resp_mid":"048800001467398", "pay_resp_tid":"50009643", "pay_resp_tvr":"0880048000", "pay_resp_customer_id":"", "pay_type":"01", "pay_resp_trace_no":"7", "pay_resp_cvm_desc":"PIN VERIFIED\nNOSIGNATURE REQUIRED", "pay_resp_card_no":"450920******0252", "pay_amount":"100" } |
POST /{paymentProvider}/card-sale
...
Processes a card sale transaction for a specified payment provider.
Parameters
paymentProvider
: The specified payment provider (refer to here for the format)
...
payAmount
: The monetary amount of the card sale transaction (in decimal format)
POST /cancel-sale
/revenue-terminals/cancel-sale
Cancels the current sale transaction.
Parameters
terminalIp
: The IP address of the terminal
...
terminalId
: An identifier for the terminal
WebSocket Response
Code Block |
---|
{ "pay_function":"07", "pay_resp_code":"00" } |
POST /void-sale
/revenue-terminals/void-card-sale
Voids the current sale transaction.
Parameters should be passed as query parameters.
| The IP address of the terminal |
| The port number of the terminal for the connection |
| An identifier for the terminal |
| The trace number of the transaction to be voided |
| The monetary amount of the sale transaction to be voided (in decimal format) |
WebSocket Response
Code Block |
---|
{ "pay_resp_issuer_id":"01", "pay_resp_error_desc":"APPROVED", "pay_function":"02", "pay_resp_qr_txn_id":"", "pay_resp_invoice_no":"3", "pay_resp_scheme":"VISA", "pay_resp_batch_no":"1", "pay_resp_txn_date":"190902", "pay_resp_txn_time":"141638", "pay_print_receipt_id":"Y", "pay_resp_qr_wallet_id":"", "pay_resp_code":"00", "pay_resp_card_app_cryptogram":"8B76DB79FBAB8C56", "pay_resp_app_label":"VISACREDIT", "pay_resp_card_ref_num":"123456789012", "pay_resp_card_auth_code":"111111", "pay_resp_merch_info":"DEFAULT\n\n\n\n\n", "pay_resp_mid":"048800001467398", "pay_resp_tid":"50009643", "pay_resp_tvr":"0880048000", "pay_resp_customer_id":"", "pay_type":"01", "pay_resp_trace_no":"9", "pay_resp_cvm_desc":"NO PIN\nNO SIGNATUREREQUIRED", "pay_resp_card_no":"450920******0252", "pay_amount":"100" } |
POST /settlement
/revenue-terminals/settlement
Processes a settlement request.
Parameters should be passed as query parameters.
| The IP address of the terminal |
| The port number of the terminal for the connection |
| An identifier for the terminal |
POST /qr-sale
/revenue-terminals/qr-sale
Processes a QR sale transaction.
Parameters should be passed as query parameters.
| The IP address of the terminal |
---|---|
| The port number of the terminal for the connection |
| An identifier for the terminal |
| The monetary amount of the QR sale transaction (in decimal format) |
WebSocket Response
Code Block |
---|
{ "pay_resp_issuer_id":"80", "pay_resp_error_desc":"SUCCESS", "pay_function":"01", "pay_resp_qr_txn_id":"2020090222001476870501103854", "pay_resp_invoice_no":"2", "pay_resp_scheme":"ASP", "pay_resp_batch_no":"1", "pay_resp_txn_date":"190902", "pay_resp_txn_time":"143023", "pay_print_receipt_id":"Y", "pay_resp_qr_wallet_id":"202009021430236557", "pay_resp_code":"00", "pay_resp_card_app_cryptogram":"", "pay_resp_app_label":"", "pay_resp_card_ref_num":"", "pay_camera_mode":"02", "pay_resp_card_auth_code":"", "pay_resp_card_aid":"", "pay_resp_merch_info":"DEFAULT\n\n\n\n\n", "pay_resp_mid":"000000000000189", "pay_resp_tid":"88880001", "pay_resp_tvr":"", "pay_resp_customer_id":"", "pay_type":"02", "pay_resp_trace_no":"11", "pay_resp_cvm_desc":"SIGNATURE ISREQUIRED", "pay_resp_card_no":"284424********2767", "pay_amount":"10" } |
POST /{paymentProvider}/qr-sale
...
Processes a QR sale transaction for a specified payment provider.
Parameters should be passed as query parameters.
| The specified payment provider (refer to here for the format) |
| The IP address of the terminal |
| The port number of the terminal for the connection |
| An identifier for the terminal |
| The monetary amount of the QR sale transaction (in decimal format) |
POST /qr-void
/revenue-terminals/qr-void
Voids a QR sale transaction.
Parameters should be passed as query parameters.
| The IP address of the terminal |
| The port number of the terminal for the connection |
| An identifier for the terminal |
| The monetary amount of the QR sale transaction to be voided (in decimal format) |
WebSocket Response
Code Block |
---|
{ "pay_resp_issuer_id":"80", "pay_resp_error_desc":"SUCCESS", "pay_function":"02", "pay_resp_qr_txn_id":"2020090222001476870501103854", "pay_resp_invoice_no":"2", "pay_resp_scheme":"ASP", "pay_resp_batch_no":"1", "pay_resp_txn_date":"190902", "pay_resp_txn_time":"143240", "pay_print_receipt_id":"Y", "pay_resp_qr_wallet_id":"202009021432433313", "pay_resp_code":"00", "pay_resp_card_app_cryptogram":"", "pay_resp_app_label":"", "pay_resp_card_ref_num":"", "pay_resp_card_auth_code":"", "pay_resp_merch_info":"DEFAULT\n\n\n\n\n", "pay_resp_mid":"000000000000189", "pay_resp_tid":"88880001", "pay_resp_tvr":"", "pay_resp_customer_id":"", "pay_type":"02", "pay_resp_trace_no":"12", "pay_resp_cvm_desc":"SIGNATURE IS REQUIRED", "pay_resp_card_no":"", "pay_amount":"10" } |
POST /qr-inquiry/trace-no
/revenue-terminals/qr-inquiry/trace-no
Processes a QR Sale Inquiry.
Parameters should be passed as query parameters.
| The IP address of the terminal |
---|---|
| The port number of the terminal for the connection |
| An identifier for the terminal |
| The monetary amount of the sale transaction (in decimal format) |
(Optional) | The trace number of the transaction, if any |
(Optional) | The invoice number of the transaction, if any |
POST /my-debit-sale
/revenue-terminals/my-debit-sale
Processes a debit sale transaction.
Parameters should be passed as query parameters.
| The IP address of the terminal |
---|---|
| The port number of the terminal for the connection |
| An identifier for the terminal |
| The monetary amount of the my debit sale transaction (in decimal format) |
| The monetary amount of the my debit sale transaction (in decimal format) to be added |
WebSocket Response
Code Block |
---|
{ "pay_amount":"150", "pay_add_amount":"50", "pay_function":"04", "pay_type":"", "pay_camera_mode":"", "pay_print_receipt_id":"Y", "pay_resp_txn_date":"", "pay_resp_txn_time":"", "pay_resp_invoice_no":"7", "pay_resp_trace_no":"12", "pay_resp_batch_no":"1", "pay_resp_scheme":"MYDEBIT", "pay_resp_tid":"02286949", "pay_resp_mid":"550002000001546", "pay_resp_card_auth_code":"023811", "pay_resp_card_ref_num":"000012087649", "pay_resp_card_no":"519603******0175", "pay_resp_issuer_id":"15", "pay_resp_card_aid":"A0000006150001", "pay_resp_card_app_cryptogram":"FC9CD0C750E70FB6", "pay_resp_qr_txn_id":"", "pay_resp_qr_wallet_id":"", "pay_resp_customer_id":"", "pay_resp_code":"00", "pay_resp_error_desc":"APPROVED", "pay_resp_merch_info":"OCBC TESTING V5 u3\nWISMA REVENUE\nNO.12, JALAN UDANGHARIMAU2\nKEPONGBUSINESSPARK\n51200KUALA LUMPUR\n00.00.05_20200625", "pay_resp_tvr":"8000048000", "pay_resp_cvm_desc":"", "pay_resp_app_label":"MyDebit" } |
POST /installment
/revenue-terminals/installment
Processes an installment sale transaction.
Parameters should be passed as query parameters.
| The IP address of the terminal |
---|---|
| The port number of the terminal for the connection |
| An identifier for the terminal |
| The length of time for which the sale transaction will be paid over in installments. |
| The monetary amount of the sale transaction (in decimal format) |
WebSocket Response
Code Block |
---|
{ "pay_resp_issuer_id":"", "pay_resp_error_desc":"APPROVED", "pay_function":"08", "pay_resp_qr_txn_id":"", "pay_resp_invoice_no":"3", "pay_resp_scheme":"VISA_IPP", "pay_resp_batch_no":"1", "pay_resp_txn_date":"190902", "pay_resp_txn_time":"165146", "pay_print_receipt_id":"Y", "pay_resp_qr_wallet_id":"", "pay_resp_code":"00", "pay_resp_card_app_cryptogram":"753DD5A7FC59B21B", "pay_resp_app_label":"VISACREDIT", "pay_first_amount":"0", "pay_resp_card_ref_num":"123456789012", "pay_camera_mode":"", "pay_resp_card_auth_code":"111111", "pay_resp_card_aid":"A0000000031010", "pay_monthly_amount":"0", "pay_resp_merch_info":"DEFAULT\n\n\n\n\n", "pay_resp_mid":"000000000000000", "pay_resp_tid":"00000000", "pay_resp_tvr":"0880048000", "pay_installment_tenure":"6", "pay_resp_customer_id":"", "pay_type":"", "pay_resp_trace_no":"16", "pay_resp_cvm_desc":"PIN VERIFIED\nNO SIGNATUREREQUIRED", "pay_resp_card_no":"490281******7095", "pay_amount":"50000" } |
POST /pre-auth
/revenue-terminals/pre-auth
Processes a pre-authorization request.
Parameters should be passed as query parameters.
| The IP address of the terminal |
---|---|
| The port number of the terminal for the connection |
| An identifier for the terminal |
| The monetary amount of the sale transaction (in decimal format) |
POST /sale-completion
/revenue-terminals/sale-completion
Processes a sale completion.
Parameters should be passed as query parameters.
| The IP address of the terminal |
---|---|
| The port number of the terminal for the connection |
| An identifier for the terminal |
| The monetary amount of the sale transaction (in decimal format) |
| The authorization code of the sale transaction |
POST /sale-with-pos-txn-id
/revenue-terminals/sale-with-pos-txn-id
Processes a sale transaction with POS Transaction ID.
Parameters should be passed as query parameters.
| The IP address of the terminal |
---|---|
| The port number of the terminal for the connection |
| An identifier for the terminal |
| The monetary amount of the sale transaction (in decimal format) |
| The identifier for the POS Transaction |
WebSocket Response
Code Block |
---|
{ "pay_amount":"14", "pay_add_amount":"", "pay_function":"01", "pay_type":"", "pay_camera_mode":"01", "pay_print_receipt_id":"Y", "pay_resp_txn_date":"", "pay_resp_txn_time":"", "pay_resp_invoice_no":"4", "pay_resp_trace_no":"6", "pay_resp_batch_no":"1", "pay_resp_scheme":"VISA", "pay_resp_tid":"80000092", "pay_resp_mid":"000018888888888", "pay_resp_card_auth_code":"111111", "pay_resp_card_ref_num":"123456789012", "pay_resp_card_no":"450920******0252", "pay_resp_issuer_id":"01", "pay_resp_card_aid":"A0000000031010", "pay_resp_card_app_cryptogram":"7B65CBF9C995D720", "pay_resp_qr_txn_id":"", "pay_resp_qr_wallet_id":"", "pay_resp_customer_id":"", "pay_resp_code":"00", "pay_resp_error_desc":"APPROVED", "pay_resp_merch_info":"OCBC TESTING V5 u3\nWISMA REVENUE\nNO.12, JALAN UDANG HARIMAU2\nKEPONGBUSINESSPARK\n51200 KUALA LUMPUR\n00.00.05_20200625", "pay_resp_tvr":"0000000000", "pay_resp_cvm_desc":"", "pay_resp_app_label":"VISA CREDIT" } |
...