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


FAQs

1. All required parameters are set in my request, why am I still getting an error?

a) Need to double check the CUSR and CPWD parameters. Make sure that your ID and passwords match to the ones assigned to you.

2. API calls that involve PIN seem to work when I send Pins in clear text. Why would it fail when I send PIN encrypted?

a) Double check if you have submitted the correct Key to Digital Payments. If key is correct, Digital Payments needs to check if the key is configured correctly at their end.

3. I am getting a 4-digit error from Digital Payments. What do I do?

a) In most situations, the errors are self-explanatory but if you encounter an error that you don’t understand, contact your Digital Payments representative. If you encounter an error that is not listed in our list of error codes in this API, report that to your rep as well.

4. I just added funds to my card, how do I check if it was successful?

a) Run a Balance Inquiry to see if your transaction was successful.

5. Do I always have to include CID, CUSR and CPWD for each request?

a) Yes, you will need to set these parameters for each request. If you don’t have your account set up yet, contact your Digital Payments representative.

6. I am getting missing required Parameters, what do I do?

a) Carefully examine that you are passing all required parameters. Look at sample request messages. Still having issues, send your request message and response to your Digital Payments representative

URL – Encoding

URL encoding is a simple method of encoding which converts spaces and other characters, which may confuse the program reading the form data. Since ‘=’ and ‘&’ are used for special purposes in the form data, the program wouldn’t know the difference between the user’s ‘&’ [or ‘=’] and the special ‘&’ [or ‘=’]. Therefore, all ‘&’s, ‘=’s, spaces and some other characters are converted by URL-Encoding, however the majority of characters are left alone.

Spaces are converted to “+”; most alphabetical and numerical characters are left alone. Other characters are converted to their ASCII value preceded by a ‘%’ character.

For instance, since is converted to ‘+’, a ‘+’ in the user’s input would be converted to ‘%2B’, since 2B is the hexadecimal equivalent decimal 43, the ASCII value of the character ‘+’.

Sample String 2 Space + Space 2 Space = 4
After URL Encoding 2 + %2B + 2 + %3D 4

The URL decoding process is relatively straightforward, but it is usually more useful to use a pre-written library to do the conversion and decoding