Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 13 Next »

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:

  1. Go to Device manager 

  2. Click Ports (COM & LPT) 

  3. Ensure that you can detect the specific COM Port, e.g. (COM 1, COM 2)

  • On Mac or Linux:

  1. 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

  • No labels