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 Condition Check for Existing Cardholder – Function SetCondCheck

Sets the value of the Cardholder Limit for allowing or denying transactions based on a specific condition code.

The Cardholder identification is passed to this function as either the PAN or the Cardholder ID alternate identifier. For wallet cards please use 5bin PAN or Cardholder ID.

P2 gives the specific condition code this condition check will apply to. The currently supported conditions are:

Limit Label Limit Name Condition Being Controlled
CONTACTLESS limit_condcheck_contactless allows or denies all contactless
transaction preauthorizations
CVV2 limit_cvv2_failures (MDES Only) For MDES preauthorizations the
CVV2 failures can be tracked
and if 4 failures occur then all
MDES TAR transactions would be
automatically denied until this
limit is reset/disabled.
BLOCKECOM limit_ecom_block Block e-commerce transactions.
If P4 is absent then it blocks all e-
commerce transactions,
otherwise P4 restricts the block to
either domestic, international,
country code or country code
group.
BLOCKMAGSTRIPE limit_magstripe_block Block magstripe transactions. This
is a simple toggle, P4 does not affect this block.
BLOCKATM limit_atm_block Block ATM transactions. If P4 is
absent then it blocks all ATM
transactions, otherwise P4
restricts the block to either
domestic, international, country
code or country code group.
BLOCKPOS limit_pos_block Block POS transactions. If P4 is
absent then it blocks all POS
transactions, otherwise P4
restricts the block to either
domestic, international, country
code or country code group.
P3 indicates the action to be taken on the API call or for the condition. Condition changes can allow or deny preauthorization transactions that meet the condition provided.
• Values indicating condition enabling are “ALLOW”, “YES” or “Y”. This would indicate the provided limit as enabled.
• Values indicating condition disabling are “DENY”, “NO” or “N”. This would indicate the provided limit as disabled.
• Values indicating bucket/count resets are “RESET” or “R”. (CVV2 for MDES only at this time) This allows for the failure count of the CVV2 failure tracking to be reset. If a Cardholder does not have this limit set when a reset is submitted, the limit will be enabled automatically and applied to the Cardholder as a sign of intent to use this feature.
P4 indicates the type of limit control applied to block style limits. P4 is only checked if P3 is set to enabled (e.g., Y). If P4 is not provided for a block style limit and P3 is in the enabled state (e.g., Y) then the block is applied. The following values are acceptable for P4.
• “D” – Domestic Block – Block all domestic transactions that apply to the blocking limit.
• “I” – International Block – Block all international transactions that apply to the blocking limit.
• ISO-3166 Numeric Country Code – Country Code Block – Block all transactions that occur in the corresponding country as the country code that apply to the blocking limit.
• Configured Country Code Group – Country Code Group Block – Block all transactions that occur in the corresponding countries as the country code group configuration that apply to the blocking limit.
FunctionID SetCondCheck Y
P1 PAN or ALT ID Y (12…24) Alphanumeric
P2 Condition Code to Check Y (4…24) (Note 1)
P3 Allow, Deny or Reset Action Y (1…5) (Note 2)
P4 Domestic, International, Country
Code or Country Code Group
N (1…32) (Alphanumeric)
Outputs Description
P1 Error Code
P2 Error Text
Example: SetCondCheck Request
https://api.m2fin.com:8443/AuthENGINAPI/AuthENGINAPI?CID=5&CUSR=someuser&CPWD=somepass&FUNC=SetCondCheck&MSGID=00001000000000023&P1=20000000001234&P2=CONTACTLESS&P3=ALLOWhttps://api.m2fin.com:8443/AuthENGINAPI/AuthENGINAPI?CID=5&CUSR=someuser&CPWD=somepass&FUNC=SetCondCheck&MSGID=00001000000000023&P1=20000000001234&P2=BLOCKECOM&P3=Y&P4=D
Example: SetCondCheck Response
P1=0000&P2=Limit Set
Declined Responses:
P1=5901&P2=SetCondCheck Error: No cardnumber found
P1=5901&P2=SetCondCheck Error: Invalid P2 Condition Specified
P1=5901&P2=SetCondCheck Error: Invalid P3 Action Specified
P1=5901&P2=SetCondCheck Error: required limit configuration not found (setup
error)
P1=5901&P2=SetCondCheck Err: Set Condition Check Error: No Condition Code provided
P1=5901&P2=SetCondCheck Err: Set Condition Check Error: An action value of Y, N, D, I, C or CG is required
P1=006&P2=An action value of Y, N or R is required
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 limits to include ATM Toggle Limit, E-Commerce Conditional Toggle Limit, Magstripe Toggle Limit or POS Toggle Limit would be required.