Introduction to APIs

API General Message Layout and Requirements

API Message Format

About the Response to the User

About Response Time

Back Office Web Access

Currency Amounts and Conversion Instructions

PIN Encryption

Alternatives to Using Card Number in the CardAPI

API User Credentials

CardHolder API’s

Change Card Status – Function 004

Change Card PIN – Function 005

Deposit to Card Number – Function 007

Message Response Lookup – Function 008

View Statement Details by Card Number – Function 010

Validate PIN – Function 012

Set Card PIN – Function 022

Get Card Status – Function 023

Get Card Account Balance – Function 024

Cardholder Fees – Function 030

Adjustment – Function 031

Card Linking – Function 032

Card Inquiry – Function 033

Cash Out – Function 034

Card to Card Transfer – Function 035

Update Cardholder – Function 036

PIN Reset – Function 037

PIN Request – Function PINRequest

View Statement Details by Account Number – Function 039

Unlock Bad PIN Tries – Function 040

Set Condition Check for Existing Cardholder – Function SetCondCheck

Manage MCC Blocks – Function MCCBlock

Set Cardholder Level Limit – Function CardLimit

Get Configurable Card Limits – Function GetCardLimits

OFAC Check – Function 056

View Statement Details by Card Number (V2) – Function 070

3DS Enrolment Control – Function THREEDS

3DS Whitelist Management – Function Manage3DSWhitelist

Card Risk Level API Calls

Update Card Risk Level – Function = UpdateRiskLevel

Get Card Risk Level – Function = GetRiskLevel

Instant Card Issue – Function = InstantCardIssue

Specialized Financial Transactions

Validate Cardholder Verification Data – Function ValidateCVV2

Get Dynamic CVV (CVV3) – Function GetCVV3

General Web APIs

Change Password – ChangePswd

Message Heart Beat – Function 025

Wallet API Functions

Create Wallet for Existing Cardholder – Function CreateCardholderWallet

Create Wallet Multi-Currency Card Purse – Function CreateCardPurse

Retrieve Card Purse Identification from Wallet – Function GetCardPurses

Multi-currency Card Purse to Purse Transfer – Function PurseFundsTransfer

Processing Codes

Statements

Transaction Processing Codes

Response Codes

Card/Account Type Definitions

API Error Codes

FAQs


View Statement Details by Card Number – Function 010

Function 010, View Statement Details by a PAN or ALT ID, gives you a summary or history of transactions over a given period. All transactions that occurred to that card number between the start and the end dates are returned. The results are returned using XML for this API call.

Beginnings with API version 6.0.19 two new parameter options are available.

1. ViewAll=Y This will return all data transactions
2. ViewAll=N This only returns settled transactions or authorizations that have not been settled
3. First Row – This is a numeric value that indicates at what index the results should start at in the total result set. i.e., Records 101-200 would have a first row of 101 and a last row of 200 for 100records.
4. Last Row – This is a numeric value that indicates at what index the results should end at in the total result set. i.e., Records 101-200 would have a first row of 101 and a last row of 200
for 100records.

By default, function 010 will suppress authorization transactions when there is a matching settlement.

Inputs Description Required Data Type
FunctionID 010 Y
P1 PAN OR ALT ID Y (16,19) numeric
P2 Start Date Y date (i.e., 01/01/2001)
P3 End Date Y date (i.e.,01/01/2001)
P4 GMT N alpha (Z, T, Y)
P5 First Row N numeric (starting index of result set)
P6 Last Row N numeric (ending index of result set)
ViewAll=Y Returns all transactions N
ViewAll=N Returns only settled transactions N
Outputs Description
XML The data will be passed back in a well-formed XML document. The error code processing will be contained in the P1 node that contains two attributes errnumber and errdescription. Therefore, if the errnumber attribute is equal to “000” the document will contain a “cardholderstatementdetails” node; otherwise, it will not.

Response XML:

Element Name Description
Date Date/time of the transaction.
CardNumber Card number associated with the transaction.
TransactionType Transaction type code.
MTI Message type identifier.
STN System Trace Audit Number.
TermID Unique identifier of the of a card acceptor terminal.
AuthNum Authorization identification number.
RecType Record Type. Private use field which varies by network.
TransactionOrigin Identifies if this transaction comes from an ATM (‘A’) or POS (‘P’)
Description A short description of what kind of transaction this is.
Amount Implied decimal amount of the transaction.
fee Implied decimal amount of any fee charged for this transaction.
atmfee Fee applied to the cardholder by the ATM in an implied decimal amount.
availablebalance Available balance on the card after the transaction was processed.
ledgerbalance Ledger balance on the card after the transaction was processed.
clientid Client ID.
termnamelocation Location of the terminal.
termowner Owner of the terminal.
termcity City of the terminal.
termstate State of the terminal.
termcountry Country of the terminal.
mcc Merchant category code of the transaction.
surcharge Surcharge applied in the cardholder billing currency in an implied decimal
amount.
rspcode Response code. See section 10.2 for a detailed list of response codes.
processor Identifies which system processed the transaction.
issuerfee Issuer fee.
origtransamt Local currency amount.
convrrate Currency conversion rate used if this transaction required a currency conversion.
termcurrency Terminal currency.
currency Cardholder currency.
origholdamt Original holding amount.
acqinst Acquiring Institution Identification Code.
cardacceptoridcode Identifying code of the card acceptor.
ancillaryfee Contains the ancillary fee code and fee amount of non-ticket releated service charges applicable in the passenger transport industry.
cbconrateinf Contains the ECB Foreign Exchange reference rates and the percentage difference in comparison to the MasterCard foreign exchange rate.
termzip Identifying the postal code of the terminal.
termurl Identifying the website of the terminal.
termphonetaxidpartnerid Identifying additional information of the terminal.
NOTE: When an element is not present the column will have a gap, such as:
data1||data3|data4|data5
servicelocation Identifying service location of the terminal.
NOTE: When an element is not present the column will have a gap, such as:
data1|data2||data3|data4
geocoordinates Acceptor Geographic Coordinates | Service Location Geographic Coordinates
NOTE: The | symbol separates the 2 values. The element may be null if neither is present. In addition, data may only be present for one DE. For example, ‘43.26226,76.94125|’ will occur if the 2nd element is absent.
Example: Statement Details Request by           PAN OR ALT ID by

https://api.m2fin.com:8443/AuthENGINAPI/AuthENGINAPI?CID=5&CUSR=myuseraccount&CPWD=passwordassignedtome&FUNC=010&MSGID=00001646767884116&P1= PAN OR ALT ID&P2=03/01/2004&P3=06/07/2004&P4=0

Example: Statement Details Response by           PAN OR ALT ID
<api func=”010″>
<p1 errnumber=”0000″ errdescription=”” />
<cardholderstatementdetails RecCnt=”360″>
<cardpan account=”################” startdate=”01/01/2008″
enddate=”06/06/2008″ reportdate=”2005/10/08 10:27 AM”>
<currency>USD</currency>
<cardaccount>
<transactionlist>
<transaction>
<date>05/02/2008 11:42:27 AM</date>
<CardNumber>################</CardNumber>
<TransactionType>270J</TransactionType>
<MTI>0100</MTI>
<ARN>134227240000</ARN>
<STN>1342272400</STN>
<TermID />
<AuthNum>134227</AuthNum>
<RecType>2401</RecType>
<TransactionOrigin>P</TransactionOrigin>
<description>Deposit funds</description>
<amount>000002000</amount>
<fee>00000</fee>
<availablebalance>0000065080</availablebalance>
<ledgerbalance>0000065080</ledgerbalance>
<clientid>GKBL</clientid>
<termnamelocation>00000</termnamelocation>
<termowner />
<termcity />
<termstate />
<termcountry />
<mcc/>**
<surcharge>00000</surcharge>
<rspcode>001</rspcode>
<processor>BINCLIENT</processor>**
<issuerfee>000000000</issuerfee>
<origtransamt>000002934</origtransamt>
<convrrate>1.000000</convrrate>
<termcurrency>978</termcurrency>
<currency>978</currency>
<origholdamt>000000000</origholdamt>
<acqinst>00000000000</acqinst>
<cardacceptoridcode>273141000156182</cardacceptoridcode>**
</transaction>
</transactionlist>
</cardaccount>
<cardaccount>
<transactionlist>
<transaction>
<date>05/02/2008 11:49:22 AM</date>
<CardNumber>################</CardNumber>
<TransactionType>27J</TransactionType>
<MTI>0100</MTI>
<ARN>134922788000</ARN>
<STN>1349227880</STN>
<TermID />
<AuthNum>134922</AuthNum>
<RecType>7801</RecType>
<TransactionOrigin>P</TransactionOrigin>
<description>Deposit funds</description>
<amount>000002000</amount>
<fee>00000</fee>
<availablebalance>0000067080</availablebalance>
<ledgerbalance>0000067080</ledgerbalance>
<clientid>GKBL</clientid>
<termnamelocation>00000</termnamelocation>
<termowner />
<termcity />
<termstate />
<termcountry />
<mcc/>
<surcharge>00000</surcharge>
<rspcode>001</rspcode>
<processor>BINCLIENT</processor>
<issuerfee>000000000</issuerfee>
<origtransamt>000002934</origtransamt>
<convrrate>1.000000</convrrate>
<termcurrency>978</termcurrency>
<currency>978</currency>
<origholdamt>000000000</origholdamt>
<acqinst>00000000000</acqinst>
<cardacceptoridcode>273141000156182</cardacceptoridcode>
</transaction>
</transactionlist>
</cardaccount>
</cardpan>
</cardholderstatementdetails>
</api>
Interpreting transaction history and details responses data:
1. The first two numbers in the transaction type identify the transaction (see below)
2. The ‘transaction origin’ identifies if the transaction is a “POS” transaction, or “ATM” transaction If the transaction type starts with a 15 it is a debit, if it starts with a 27 it is a
credit.