Moniepoint Communication Library Documentation
Overview
The Moniepoint Communication Library provides a C# implementation for seamless communication with Moniepoint payment terminals through a serial port. This library facilitates developers in interacting with Moniepoint devices by enabling the sending of payment requests.
DLL Name
The DLL associated with the Moniepoint Communication Library is named moniepoint.dll
You need the DLL file to enable communication
Constructor
public MoniepointCommunicationService(string portName, int baudRate, int timeoutMilliseconds)
Methods
GetVersion()
Returns the version of the Moniepoint Communication Library.
2. PaymentSendAndReceive(out response, transactionRequest)
Sends a payment request to the Moniepoint payment terminal and get response.
Usage Example
using System;
using MoniepointLibrary;
namespace MoniepointApplication
{
class Program
{
static void Main(string[] args)
{
string response;
try
{
string portName = "COM1";
int baudRate = 115200;
int timeoutMilliseconds = 90000; //90 seconds
using (var communicationService = new MoniepointCommunicationService(portName, baudRate, timeoutMilliseconds))
{
var transactionRequest = new PaymentRequest
{
TransactionType = "1",
Amount = "100.00",
MerchantReference = "ABC123"
};
int paymentStatus = communicationService.PaymentSendAndReceive(out response, transactionRequest);
if (paymentStatus == MoniepointCommunicationService.SuccessStatus)
{
Console.WriteLine("Payment Response Data: " + response);
}
else
{
Console.WriteLine("Error code: {0}, description: {1}", paymentStatus, communicationService.GetErrorMessage(paymentStatus));
}
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
Console.WriteLine("Press Enter to exit...");
}
}
}
Transaction Type
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
8 - Gift Card Purchase
9 - Gift Card Void
10 - Gift Card Add Money
11 - Gift Card Balance
Response Code
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
Sample Response - POS Transfer
<?xml
version="1.0"?>
<Response>
<MaskedPan>null</MaskedPan>
<ResponseCode>00</ResponseCode>
<AuthorizeCode>null</AuthorizeCode>
<CardHolderName>null</CardHolderName>
<Amount>10000</Amount>
<RetrievalRefNo>null</RetrievalRefNo>
<TerminallD>2214YY0M
</TerminalID>
<TransTime>2024-09-27T00:24:31.000000000</TransTime>
<PaymentMethod>POS_TRANSFER</PaymentMethod>
<CardScheme>null</CardScheme>
</Response>
Sample Response - Card Payment
<?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>
Error codes
Contact Support
pos-integrations@moniepoint.com