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


Set Cardholder Level Limit – Function CardLimit

Sets a limit at the Cardholder level which would supersede the Issuer, Program or Account configured limit. This allows for most of a limit to be set through the API. Note that the limit and count configuration must not exceed the limit values for the issuer, programme, or account level configured limit. The limit being set must have a parent counterpart for the same period e.g., Daily, Monthly, etc. The risk level is set to zero for these cardholder level limits. The limits that are currently adjustable are as follows.
• Total POS – [limit_total_pos]
• Total Cash – [limit_total_cash]

The values that can be set for the above are as follows.
• Limit Count – Transaction count within the limit Period
• Limit Amount – Transactions total amount within the limit Period
• Limit Period – Limit time period

The query parameters are as follows.

Inputs Description Required Data Type
FUNC CardLimit Y
P1 PAN or ALT ID Y (12…24) Alphanumeric
P2 Limit Name (POS or CASH) Y (1…24) Alphanumeric
P3 Limit Count Y (1…99999) Number
P4 Limit Amount Y (1…999999999) Number
P5 Limit Period (D, L, M, C, Y, W) Y (1) Alpha
P6 Remove the configured cardholder level limit N (DELETE) Alpha
Output Description
P1 Error/Response Code
P2 Error/Response Text
Example: CardLimit Request
https://api.m2fin.com:8443/AuthENGINAPI/AuthENGINAPI?CID=5&CUSR=someuser&CPWD=somepass&MSGID=00005019198155533&FUNC=CardLimit&P1=I705515811929&P2=POS&P3=200&P4=1000&P5=D
Example: CardLimit Response
P1=0000&P2=Limit limit_total_pos has been removed
P1=0000&P2=Limit limit_total_pos set with count 200 and amount 1000 for period D
P1=5901&P2=Set Card Level Limit Error: No card number found
P1=5901&P2=Set Card Level Limit Error: Requested Count or Amount cannot be greater than the program
configuration
P1=5999&P2=System Errors…
Note: Dynamic error response regarding Ancestor limit indicates that the limit
has not been setup on the issuer/program yet. To allow the SetCondCheck
Fuction to work, a request to change the issuer/program level limit would be
required.