As a Moniepoint-powered business, your Enterprise resource planning (ERP) system can send purchase transaction details to Moniepoint POS terminals for payment processing. This feature will help streamline your sales process and make it easier for your customers to make payments for purchases. You can accept payments using debit cards by integrating your ERP software (like Retailman) with Moniepoint POS terminals via Serial Port.
Get started with your integration
Prerequisites
Here are the tools you need before starting.
A Moniepoint POS terminal (supported app version is 1.7.0 or higher)
Enable ERP integration under your Moniepoint account settings. Navigate to POS terminal configuration > POS Terminal features to enable this feature.
Point of sale (POS) system with a serial port interface or a personal computer loaded with the ERP software.
Data cable (USB cable or type C to RS-232 serial cable).
Establishing a Connection Using the Serial Port Communications Protocol
Highlighted below are instructions for establishing a connection between the payment terminal and an ERP system using the serial port communications protocol.
How it works
The ERP system needs to be configured to communicate with the POS terminal using the serial port. This typically involves establishing a connection between the two devices using a serial communication protocol. Once the connection has been established, the ERP system can send the transaction details to the POS terminal over the serial port.
The transaction details include the following:
amount of the purchase,
transaction reference and,
the transaction type.
The POS terminal processes the payment using the transaction details and returns a response indicating the transaction’s outcome to the ERP system. The ERP system can complete the sale and update any necessary records or databases.
Setting up
Step one: Connect the serial cable
Connect the serial cable to the serial port of your POS system and the other end to your Moniepoint POS terminal.
Step two: Verify Serial Port Connection
On Windows:
Go to Device manager
Click Ports (COM & LPT)
Ensure that you can detect the specific COM Port, e.g. (COM 1, COM 2)
On Mac or Linux:
On your terminal, run the command below
$> ls /dev/tty.*
Step three: Configure connection on ERP software
Configure communication with the terminal based on the ERP software you are using. Once the connection is verified, you can test with the Moniepoint POS Terminal.
Communication between Moniepoint POS terminal and ERP system
The diagram describes the communication flow between the ERP system and Moniepoint POS terminal.
Fig 1. Diagram showing communication flow between Moniepoint POS terminal and client ERP system
Payment request configuration
Step one: Test the connection
Note: All characters presented are ASCII characters. Refer to this documentation for the specific Decimal code to send.
Sample Request
<ENQ><CR>
Sample Response
<ACK><CR>
If you have any issues establishing connection, verify the serial cable is properly connected and the request was sent in the correct format.
Step two: Send payment request
On receiving the response (in step one), proceed to send the payment request in XML format.
Sample Request
<STX> <!--convert from string to byte--> <?xml version="1.0"?> <Request> <TransactionType>1</TransactionType> <Amount>900.70</Amount> <MerchantReference>123494911108</MerchantReference> </Request> <!--stop conversion to byte here--> <CR> <ETX><CR>
TransactionType:
1 – Credit Card Purchase
2 – Debit Card Purchase
3 – Debit / Credit Cash Out
4 – Debit / Credit Card Void
5 – Credit Card Return
6 – Debit Card Return
7 – Credit / Debit Card Balance
Sample Response
<?xml version="1.0"?> <Response> <MaskedPan>512345******1230</MaskedPan> <ResponseCode>00</ResponseCode> <AuthorizeCode>1B7D</AuthorizeCode> <CardHolderName>CUSTOMER/ZENITH</CardHolderName> <Amount>10000</Amount> <RetrievalRefNo>000000000007</RetrievalRefNo> <TerminalID></TerminalID> <TransTime>2023-09-11T17:07:33.000000000</TransTime> <PaymentMethod>CARD_PURCHASE</PaymentMethod> <CardScheme>MASTERCARD</CardScheme> </Response>
ResponseCode:
00 - Approved or completed successfully
01 - Refer to card issuer
02 - Refer to card issuer, special condition
03 - Invalid merchant
04 - Pick-up card
05 - Do not honour
06 - Error
07 - Pick-up card, special condition
08 - Honor with identification
09 - Request in progress
10 - Approved, partial
11 - Approved, VIP
12 - Invalid transaction
13 - Invalid amount
14 - Invalid card number
15 - No such issuer
16 - Approved, update track 3
17 - Customer cancellation
18 - Customer dispute
19 - Re-enter transaction
20 - Invalid response
21 - No action taken
22 - Suspected malfunction
23 - Unacceptable transaction fee
24 - File update not supported
25 - Unable to locate record
26 - Duplicate record
27 - File update edit error
28 - File update file locked
29 - File update failed
30 - Format error
31 - Bank not supported
32 - Completed partially
33 - Expired card, pick-up
34 - Suspected fraud, pick-up
35 - Contact acquirer, pick-up
36 - Restricted card, pick-up
37 - Call acquirer security, pick-up
38 - PIN tries exceeded, pick-up
39 - No credit account
40 - Function not supported
41 - Lost card
42 - No universal account
43 - Stolen card
44 - No investment account
51 - Not sufficient funds
52 - No check account
53 - No savings account
54 - Expired card
55 - Incorrect PIN
56 - No card record
57 - Transaction not permitted to cardholder
58 - Transaction not permitted on terminal
59 - Suspected fraud
60 - Contact acquirer
61 - Exceeds withdrawal limit
62 - Restricted card
63 - Security violation
64 - Original amount incorrect
65 - Exceeds withdrawal frequency
66 - Call acquirer security
67 - Hard capture
68 - Response received too late
75 - PIN tries exceeded
77 - Intervene, bank approval required
78 - Intervene, bank approval required for partial amount
90 - Cut-off in progress
91 - Issuer or switch inoperative
92 - Routing error
93 - Violation of law
94 - Duplicate transaction
95 - Reconcile error
96 - System malfunction
98 - Exceeds cash limit
Communication library: link