MSD

Developer Hub

Next-Gen
Payments
Commerce
integration

We are here 24/7, keeping an eye on things and making sure everything runs smoothly.

Issuing API Documentation

For every API request, the following headers and parameters are required:

  • Header: Concatenated AES 128-bit ECB encrypted value of (api_user, api_key, current_timestamp) using secret key. Use Pipe (|) as a separator.
  • Parameters:
    • – GET Requests: Include these parameters in the parameters area
    • – POST Requests: Include these parameters in the request JSON body.
Variable NameDescriptionRequiredExpected Value
api_usernameUnique API username associated with the accountYesString
api_keyUnique API key associated with the accountYesString

– API username, API key, and secret key will be provided upon onboarding.

– All dates and times are in GMT.

Users APIs

Add User

This API is responsible for creating new payment transactions, and this API is compatible with both encrypted and plain credit card methods of transactions.

Name of API:

Add User

Description:

Add a new user to the system.

URL:

https://issuing.www.merchantservicedepot.com/apis/users/add

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/users/add

Method:

POST

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
user_typeType of user you are creating (A default user(“USER”) will always only have capability of reaching data unique to their unique ID)YesString (“ADMIN”, “USER”, “ANALYST”)
first_nameFirst name to be associated with userYesString
last_nameLast name to be associated with userYesString
emailEmail to be associated with userYesString
phone_numberPhone number to be associated with userYesInteger (10 digits)
employee_numberAn employee number to associate with this accountYesInteger (9 digits)
shipping_address1Primary street address for shipping physical cardsConditional, required for physical cardsString (100 characters)
shipping_address2Secondary street address for shipping physical cardsNoString (100 characters)
shipping_cityCity associated with shipping addressConditional, required for physical cardsString (50 characters)
shipping_stateState associated with shipping addressConditional, required for physical cardsUS State Abbreviation i.e. (FL, GA, NY, TX, etc.)
shipping_zipZip code associated with shipping addressConditional, required for physical cards5 Digit integer (e.g., 32829, 12129, 24747)
billing_address_typeSpecifies if billing address will be
1. Address user has saved on profile
2. Address of account (company)
3. Specified address using ‘billing_’ variable fields
YesString (
1 character
“U” - User Shipping
“C” - Company
“N” - specific
)
billing_address1Primary billing address used for AVS (Address Verification System) on digital cards. (For physical cards, shipping address will be used)Conditional (Required if billing_address_type = “N” )String (100 characters)
billing_address2Secondary billing address used for AVS (Address Verification System) on digital cards. (For physical cards shipping address will be used)NoString (100 characters)
billing_cityBilling City associated with the billing address used for AVS on digital cardsConditional (Required if billing_address_type = “N” )String (e.g., “orlando”, “austin”, “boston”)
billing_stateBilling state associated with the billing address used for AVS on digital cardsConditional (Required if billing_address_type = “N” )US State Abbreviation i.e. (FL, GA, NY, TX, etc.)
billing_zipBilling zip code associated with the billing address used for AVS on digital cardsConditional (Required if billing_address_type = “N” )5-Digit integer (e.g., 32829, 12129, 24747)

Example Request Payload Body (JSON)

{
	"api_username": "{Unique api username}",
	"api_key": "{Unique api_key}",
	"first_name": "firstname",
	"last_name": "lastname",
	"email": "example@example.com",
"phone_number": "4071234567",
	"employee_number": "999999999",
	"shipping_address1": "123 example street", 
	"shipping_address2": "apt 123", 
	"shipping_city": "example",
	"shipping_state": "TX",
	"shipping_zip": "12345",
"billing_address1": "123 example street", 
	"billing_address2": "apt 123", 
	"billing_city": "example",
	"billing_state": "TX",
	"billing_zip": "12345",
}

Example Response Payload(JSON)

{
	"message": "User successfully created.",
    "code": 00,
	"data": { 
		"user_uid": "{Unique ID of user}",
		"activation_code": "{Unique activation code needed to activate user}",
"first_name": "firstname", 
"last_name": "lastname", 
"email": "example@example.com", 
"phone_number": "4071234567", 
"employee_number": "999999999", 
"shipping_address1": "123 example street", 
"shipping_address2": "apt 123", 
"shipping_city": "example", 
"shipping_state": "TX", 
"shipping_zip": "12345", 
"billing_address1": "123 example street", 
"billing_address2": "apt 123", 
"billing_city": "example", 
"billing_state": "TX", 
"billing_zip": "12345" 
"created_date": "2024-12-03 14:25:00", 
}
}

Response Codes

The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, two elements are returned, code, description token. The response code is always 00 for a successful API call.

CodeDescription
00Success
01API Key is missing or invalid.
02Username is missing or invalid.
03User uid is missing or invalid.
04User Type is missing or invalid.
05Analyst can only be changed to Admin or User.
06Admin or User cannot be changed to Analyst.
07First/Last name is missing or invalid.
08Email is missing or invalid.
09Email already exists.
10Phone number is missing or invalid.
11Phone number already exists.
12Employee number is missing or invalid.
13Employee number already exists.
14Driver’s license number is missing or invalid.
15Driver’s license number already exists.
16Billing address type is missing or invalid.
17Billing address 1 is missing or invalid.
18Billing address 2 is invalid.
19Billing city is missing or invalid.
20Billing state is missing or invalid.
21Billing ZIP code is missing or invalid.
22Shipping address 1 is missing or invalid.
23Shipping address 2 is invalid.
24Shipping city is missing or invalid.
25Shipping state is missing or invalid.
26Shipping ZIP code is missing or invalid.
27Start date is invalid date format.
28End date is invalid date format.
29Activation code is missing or invalid.
30User status is missing or invalid.
31Password is missing or invalid.
32Failed to modify user status.
33Failed to modify user.
34Page number is missing or invalid.
35Failed to fetch user list.
36Failed to cancel cards and modify user status.
37Can’t delete a user with cards assigned.
38Card uids missing or invalid.
39User uids missing or invalid.
40Operation type is missing or invalid.
41Failed to modify analyst user access.

Users APIs

Modify User

Name of API:

Modify User

Description:

Update the details of an existing user.

URL:

https://issuing.www.merchantservicedepot.com/apis/users/modify

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/users/modify

Method

POST

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
user_uidUnique ID of user you are modifyingYesString
user_typeType of user you are creating (A default user(“USER”) will always only have capability of reaching data unique to their unique ID)ConditionalString (“ADMIN”,“USER”,“ANALYST”)
phone_numberPhone number to be associated with userConditionalInteger (10 digits)
shipping_address1Primary street address for shipping physical cardsConditionalString(100 characters)
shipping_address2Secondary street address for shipping physical cardConditionalString(100 characters)
shipping_cityCity associated with shipping addressConditionalString (50 characters)
shipping_stateState associated with shipping addressConditionalUS State Abbreviation i.e. (FL, GA, NY, TX, etc.)
shipping_zipZip code associated with shipping addressConditional5 Digit integer (e.g., 32829, 12129, 24747)
billing_address_typeSpecifies if billing address will be
1. Address user has saved on profile
2. Address of account (company)
3. Specified address using ‘billing_’ variable fieldsConditionalString ( 1 character: “U” - User Shipping “C” - Company “N” - Specific )
billing_address1Primary billing address used for AVS (Address Verification System) on digital cards. (For physical cards shipping address will be used)ConditionalString (100 characters)
billing_address2Secondary billing address used for AVS (Address Verification System) on digital cards. (For physical cards shipping address will be used)ConditionalString(100 characters)
billing_cityBilling city associated with the billing address used for AVS on digital cardsConditionalString(50 characters)
billing_stateBilling state associated with the billing address used for AVS on digital cardsConditionalUS State Abbreviation i.e. (FL, GA, NY, TX, etc.)
billing_zipBilling zip code associated with the billing address used for AVS on digital cardsConditional5-Digit integer (e.g., 32829, 12129, 24747)

Example Request Payload Body(JSON)

{
	"api_username": "{Unique api username}",
	"api_key": "{Unique api_key}",
	"user_uid": "{Unique id of user to be modified}"
	"phone_number": "4071234567"
	"billing_address_type": "N",
	"billing_address1": "123 example street", 
	"billing_address2": "apt 123", 
	"billing_city": "example",
	"billing_state": "TX",
	"billing_zip": "12345",
}

Example Response Payload(JSON)

{
	"message": "User successfully modified.",
	"code": 00,
	"data": { 
"user_uid": "{Unique id of user}", 
"first_name": "firstname", 
"last_name": "lastname", 
"user_type": "user",
"email": "example@example.com", 
"phone_number": "4071234567", 
"employee_number": "999999999", 
"shipping_address1": "123 example street", 
"shipping_address2": "apt 123", 
"shipping_city": "example", 
"shipping_state": "TX", 
"shipping_zip": "12345", 
"billing_address_type": "N",
	"billing_address1": "123 example street", 
	"billing_address2": "apt 123", 
	"billing_city": "example",
	"billing_state": "TX",
	"billing_zip": "12345",
	"modified_date": "2024-01-01 23:59:59"
}
}

Users APIs

Modify User Status

Name of API:

Modify User Status

Description:

Update the details of an existing user.

Remove a user from the system.

URL:

https://issuing.www.merchantservicedepot.com/apis/users/modify-status

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/users/modify-status

Method

POST

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
user_uidUnique ID received upon creation of user you are deletingYesString
statusHow you are changing the user’s status
(IMPORTANT NOTE:
- Can’t delete users that have any locked or unlocked cards
- Deactivating a user will cancel all cards related to the user)
Conditional String( DELETE, ACTIVATE, DEACTIVATE )
activation_codeUnique activation code received upon creation of userConditional (If status = ACTIVATE)Varchar
passwordUnique password for userConditional (If status = ACTIVATE)Varchar encrypted with AES 128-bit ECB using secret key.
Must be:
10 or more characters
One lowercase character
One uppercase character
One number
One symbol

Example Request Payload Body(JSON)

{
	"api_username": "{Unique api username}",
	"api_key": "{Unique api_key}",
"status":"DELETE",
"user_uid": "{Unique id of user}"
}

Example Response Payload(JSON)

{
"message": "User status successfully changed.",
"code": 00,
	"user_uid": "{Unique id of user}"
"status":"DELETED",
	"deleted_date": "2024-01-01 23:59:59",.
}

Users APIs

List All Users

Name of API:

List All Users

Description:

Retrieve a list of all users in the system.

URL:

https://issuing.www.merchantservicedepot.com/apis/users/list

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/users/list

Method

GET

Parameters:

Variable NameDescriptionRequiredExpected Value
page_noSpecified Page number - 100 records per pageYesINT
start_dateDate to start based on the created date of a userNoDate(YYYY-MM-DD)
end_dateDate to end based on the created date of a userNoDate(YYYY-MM-DD)
user_typeSpecific users to grabNoString(“USER”, “ADMIN”, “ANALYST”)

Example Request Payload Body(JSON)

{
	"message": "Users successfully received.",
	"code": 00,
	"current_page": 1,
	"total_pages": 1,
	"total_record_count": 1,
	"data": {
       	"users": [
        {
       "user_details": { 
		"user_uid": "{Unique id of user}",
"first_name": "firstname", 
"last_name": "lastname", 
"email": "example@example.com", 
"phone_number": "4071234567", 
"user_type": "USER",
"employee_number": "999999999", 
"shipping_address1": "123 example street", 
"shipping_address2": "apt 123", 
"shipping_city": "example", 
"shipping_state": "TX", 
"shipping_zip": "12345", 
"billing_address1": "123 example street", 
"billing_address2": "apt 123", 
"billing_city": "example", 
"billing_state": "TX", 
"billing_zip": "12345" 
"status": "active",
"created_date": "2024-01-01 23:59:59",
"modified_date": "2024-01-01 23:59:59",
"deleted_date": "2024-01-01 23:59:59",
"is_deleted": "1"
}
}
      	]
	}
}

Users APIs

Analyst User Access Modify

Name of API:

Analyst Access Modify

Description:

Manage access for analysts to view cards and user details. (Priority on card).

URL:

https://issuing.www.merchantservicedepot.com/apis/users/analystaccessmodify

Sandbox endpoint URL:

https:// issuing-stg.www.merchantservicedepot.com/apis/users/analystaccessmodify

Method

POST

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
user_access_uidUnique ID of user you are giving access toYesString
card_uidsList of unique IDs associated with cards user will have access toYesArray
user_uidsUser you are giving all card access to (if one card is specified in card_uids user is granted to access of that card only if none they are granted with access to all cards of specified user)YesArray
operation_typeSpecifies the operation to be performedYesString(“Remove”, “Add”)

Example Request Payload Body(JSON)

{
  "api_username": "{Unique api username}",
  "api_key": "{Unique api_key}",
 "user_access_uid": "{unique id of user}"
  "card_uid": [
	"{unique id of card}",
	"{unique id of card}",
	"{unique id of card}"
  ],
  "user_uid": [
	"{unique id of user}",
	"{unique id of user}"
  ],
  "operation_type": "Add"
}

Example Response(JSON)

{
  "message": "Access list successfully modified",
  "code": 00,
  "cards": [
	"{unique id of card}",
	"{unique id of card}",
	"{unique id of card}"
  ],
  "users": [
	"{unique id of user}",
	"{unique id of user}"
  ]
}

Users APIs

Analyst User Access

Name of API:

Analyst Access by User

Description:

Manage access for analysts to view cards and user details. (Priority on card).

URL:

https://issuing.www.merchantservicedepot.com/apis/users/analystaccess

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/users/analystaccess

Method

POST

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
user_uidUnique ID of userYesString

Parameters Example Response(JSON)

{ "message": "Access list successfully recieved",
  "code": 00,
  "cards": [
	"{unique id of card}",
	"{unique id of card}",
	"{unique id of card}"
  ],
  "users": [
	"{unique id of user}",
	"{unique id of user}"
  ]
}

Response Codes

The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, two elements are returned, code, description token. The response code is always 00 for a successful API call.

CodeDescription
00Success
01API Key is missing or invalid.
02Username is missing or invalid.
03User uid is missing or invalid.
04User Type is missing or invalid.
05Analyst can only be changed to Admin or User.
06Admin or User cannot be changed to Analyst.
07First/Last name is missing or invalid.
08Email is missing or invalid.
09Email already exists.
10Phone number is missing or invalid.
11Phone number already exists.
12Employee number is missing or invalid.
13Employee number already exists.
14Driver’s license number is missing or invalid.
15Driver’s license number already exists.
16Billing address type is missing or invalid.
17Billing address 1 is missing or invalid.
18Billing address 2 is invalid.
19Billing city is missing or invalid.
20Billing state is missing or invalid.
21Billing ZIP code is missing or invalid.
22Shipping address 1 is missing or invalid.
23Shipping address 2 is invalid.
24Shipping city is missing or invalid.
25Shipping state is missing or invalid.
26Shipping ZIP code is missing or invalid.
27Start date is invalid date format.
28End date is invalid date format.
29Activation code is missing or invalid.
30User status is missing or invalid.
31Password is missing or invalid.
32Failed to modify user status.
33Failed to modify user.
34Page number is missing or invalid.
35Failed to fetch user list.
36Failed to cancel cards and modify user status.
37Can’t delete a user with cards assigned.
38Card uids missing or invalid.
39User uids missing or invalid.
40Operation type is missing or invalid.
41Failed to modify analyst user access.

Card APIs

Add Card

Name of API:

Card Add

Description:

This API allows you to add a new card to the system.

URL:

https://issuing.www.merchantservicedepot.com/apis/cards/add

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/cards/add

Method

POST

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
user_uidUnique ID associated with the user who will become the cardholder for this card (Max 1 User)YesString
card_typeType of card to be createdYesString(“DIGITAL”, “PHYSICAL”)
profileSpecifies whether the card is prepaid or creditYesString (“N” for prepaid, “Y” for credit
spending_profile_uidUnique ID of existing preset spendingConditional if profile = “Y”varchar
spending_limitSpecific amount card will have to spendConditional if profile = “N”Integer
shipping_address_typeSpecifies address card will be shipped to
1. Address user has saved on profile
2. Address of account (company)
Conditional ( Required if card_type = “PHYSICAL” ) String ( 1 character “U” - User Shipping “C” - Company )
billing_address_typeSpecifies if billing address will be
1. Shipping address user has saved on profile
2. Address of account (company)
3. Billing address user has saved on profile
4. Specified address using ‘billing_’ variable fields
yesString ( “U” - User shipping “C” - Company “B” - User billing “N” - specific )
billing_address1Primary billing address used for AVS (Address Verification System) on digital cards.(For physical cards shipping address will be used)Conditional (Required if card_type = DIGITAL)String (100 characters)
billing_address2Secondary billing address used for AVS (Address Verification System) on digital cards.(For physical cards shipping address will be used)NoString
billing_cityBilling city associated with the billing address used for AVS on digital cardsConditional (Required if card_type = DIGITAL)String (e.g., “Orlando”, “Austin”, “Boston”)
billing_stateBilling state associated with the billing address used for AVS on digital cardsConditional (Required if card_type = DIGITAL)US State Abbreviation i.e. (FL, GA, NY, TX, etc.)
billing_zipBilling zip associated with the billing address used for AVS on digital cardsConditional (Required if card_type = DIGITAL)5-Digit integer (e.g., 32829, 12129, 24747)

Example Request Payload Body(JSON)

{
	"api_username": "{Unique api username}",
	"api_key": "{Unique api_key}",
	"user_uid": "{Unique id of user}",
	"card_type": "DIGITAL",
	"profile": "Y",
	"spending_profile_uid": "null",
	"spending_limit": "1000"
	"shipping_address1": "123 Main St",
	"shipping_address2": "Apt 4B",
	"shipping_city": "Orlando",
	"shipping_state": "FL",
	"shipping_zip": "32829",
	"billing_address_type": "N",
	"billing_address1": "456 Elm St",
	"billing_address2": "Suite 101",
	"billing_city": "Austin",
	"billing_state": "TX",
	"billing_zip": "73301"
}

Example Response Payload(JSON)

{
  	"message": "Card successfully created.",
 	 "code": "00",
 	 "data": {
		"card_number": "1234 1234 1234 1234",  // (encrypted)
		"card_exp": "00/00", // (encrypted)
		"card_cvv": "111",// (encrypted)
	"card_uid": "Unique id of card",
	"card_type": "DIGITAL",
	"profile_flag": true,
	"spending_profile_uid": "null",
	"spending_limit": "1000",
		"first_name": "firstname",
		"last_name": "lastname",
		"address_type": "C",
		"address1": "1234 street example",
		"address2": "apt 123",
		"city": "Austin",
		"state": "TX",
		"zip": "12345",
		"created_date": "0000-00-00 00:00:00"
 	 }
}

Response Codes

The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, two elements are returned, code, description token. The response code is always 00 for a successful API call.

CodeDescription
00Success
01API Key is missing or invalid.
02Username is missing or invalid.
03User uid is missing or invalid.
04User Type is missing or invalid.
05Analyst can only be changed to Admin or User.
06Admin or User cannot be changed to Analyst.
07First/Last name is missing or invalid.
08Email is missing or invalid.
09Email already exists.
10Phone number is missing or invalid.
11Phone number already exists.
12Employee number is missing or invalid.
13Employee number already exists.
14Driver’s license number is missing or invalid.
15Driver’s license number already exists.
16Billing address type is missing or invalid.
17Billing address 1 is missing or invalid.
18Billing address 2 is invalid.
19Billing city is missing or invalid.
20Billing state is missing or invalid.
21Billing ZIP code is missing or invalid.
22Shipping address 1 is missing or invalid.
23Shipping address 2 is invalid.
24Shipping city is missing or invalid.
25Shipping state is missing or invalid.
26Shipping ZIP code is missing or invalid.
27Start date is invalid date format.
28End date is invalid date format.
29Activation code is missing or invalid.
30User status is missing or invalid.
31Password is missing or invalid.
32Failed to modify user status.
33Failed to modify user.
34Page number is missing or invalid.
35Failed to fetch user list.
36Failed to cancel cards and modify user status.
37Can’t delete a user with cards assigned.
38Card uids missing or invalid.
39User uids missing or invalid.
40Operation type is missing or invalid.
41Failed to modify analyst user access.

Card APIs

Modify Card Status

Name of API:

Modify Card Status

Description:

This API enables locking, unlocking or canceling a card.

URL:

https://issuing.www.merchantservicedepot.com/apis/cards/modify-status

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/cards/modify-status

Method

POST

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
card_uidUnique ID of card given upon creation of cardYesVarchar
card_statusStatus to set card toYesString ( “L” - Lock, “U”, - Unlock “C” - Cancel )

Example Request Payload Body(JSON)

{
	"api_username": "{Unique api username}",
	"api_key": "{Unique api_key}",
	"card_uid": "{Unique id of card}",
	"card_status": "B",
}

Example Response Payload(JSON)

{
	"message": "Card details successfully modified.",
	"code": 00,
"card_uid": "{Unique id of card}",
	"card_status": "B"
}

Card APIs

Card Reload

Name of API:

Reload card (Applicable to cards with profile = N)

Description:

Adds money to card

URL:

https://issuing.www.merchantservicedepot.com/apis/cards/reload

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/cards/reload

Method

POST

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
card_uidUnique ID of card given upon creation of cardYesVarchar
amount_to_loadInteger of amount to addYesInteger

Example Request Payload Body(JSON)

{
	"api_username": "{Unique api username}",
	"api_key": "{Unique api_key}",
	"card_uid": "{Unique id of card}",
	"amount_to_load": 50,
}

Example Response Payload(JSON)

{
	"message": "Card successfully reloaded.",
	"code": 00,
	"data"{
"card_uid": "{Unique id of card}",
	"spending_limit": "150"
	"modified_date": "0000-00-00 00:00:00"
}
}

Card APIs

Card Details

Name of API:

Card Details

Description:

Retrieve details of specific card in the system.

URL:

https://issuing.www.merchantservicedepot.com/apis/cards/details

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/cards/details

Method

GET

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
card_uidUnique ID of card being requested (Must be valid card in system)YesString

Example Request Payload Body(JSON)

{
	"message": "Card details recieved successfully.",
	"code": 00,
	"data": {
		"user_uid": "{Unique ID of cardholder user}"
"card_number": "1234 1234 1234 1234",(encrypted)
	"card_exp": "00/00",(encrypted)
"card_cvv": "111"(encrypted)
"card_status": "B",
        	"card_uid": "{Unique id of card}",
       	"card_type": "DIGITAL",
       	"profile_flag": true
"spending_profile_uid": "{Unique id of spending profile}",
	"sp_name": "spending profile name"
"cycle_type": "M",
"cycle_reset_day": "23",
	"cycle_spending_limit": 10000,
	"daily_spending_limit": 2000,
	"max_amt_per_tran": 1000,
	"max_number_of_trans": 15,
	"first_name": firstname,
	"last_name": lastname,
	"address_type": "C",
	"address1": "1234 street example",
	"address2": "apt 123",
	"city": "austin",
	"state": "tx",
	"zip": "12345",
	"created_date": "0000-00-00 00:00:00",
	"modified_date": "0000-00-00 00:00:00",
"deleted_date": "0000-00-00 00:00:00"
	}
}

Card APIs

List Cards by User

Name of API:

List of Cards Against One User

Description:

Get a list of all cards associated with a specific user.

URL:

https://issuing.www.merchantservicedepot.com/apis/cards/list

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/cards/list

Method

GET

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
user_uidUnique ID associated with user you want cards ofYesString

Example Request Payload Body(JSON)

{
  "message": "Card list successfully received.",
  "data": {
	"user_uid": "{Unique id of cardholder user}",
	"cards": [
  	{
    		"card_details": {
      			"card_number": "1234 1234 1234 1234", // (encrypted)
      			"card_exp": "00/00",             	// (encrypted)
      			"card_cvv": "111",               	// (encrypted)
      			"card_uid": "Unique id of card 1",
      			"card_type": "DIGITAL",
      			"profile_flag": true,
      			"spending_profile_uid": "Unique id of spending profile",
      			"sp_name": "Spending Profile Name 1",
      			"cycle_type": "M",
      			"cycle_reset_day": "23",
      			"cycle_spending_limit": 10000,
      			"daily_spending_limit": 2000,
      			"max_amt_per_tran": 1000,
      			"max_number_of_trans": 15,
      			"first_name": "FirstName1",
      			"last_name": "LastName1",
      			"address_type": "C",
      			"address1": "1234 Street Example 1",
      			"address2": "Apt 123",
      			"city": "Austin",
      			"state": "TX",
      			"zip": "12345",
      			"created_date": "0000-00-00 00:00:00",
		"modified_date": "0000-00-00 00:00:00",
"deleted_date": "0000-00-00 00:00:00"

    		}
  	}
	]
  }
}

Response Codes

The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, two elements are returned, code, description token. The response code is always 00 for a successful API call.

CodeDescription
00Success
01API Key is missing or invalid.
02Username is missing or invalid.
03User uid is missing or invalid.
04Card uid is missing or invalid.
05Card type is missing or invalid.
06Profile is missing or invalid.
07Spending profile uid is missing or invalid.
08Spending limit is missing or invalid.
09Shipping address type is missing or invalid.
10Billing address type is missing or invalid.
11User has no shipping address on record.
12User has no billing address on record.
13User has no company address on record.
14Billing address 1 is missing or invalid.
15Billing address 2 is invalid.
16Billing city is missing or invalid.
17Billing state is missing or invalid.
18Billing ZIP code is missing or invalid.
19Card status is missing or invalid.
20Amount to load is missing or invalid.
21Unable to set card’s billing address.
22Unable to add card.
23Unable to modify card status.
24Failed to fetch card list for specified user.
25Unable to update spending limit.
26Card must be unlocked and profile “N” in order to reload.
27Failed to fetch updated card data.
28Couldn't reload card due to insufficient balance.

Spending Profiles APIs

Spending Profiles APIs

Name of API:

List of Spending Profiles Against Account

Description:

Get a list of all spending profiles associated with an account.

URL:

https://issuing.www.merchantservicedepot.com/apis/spendingprofile/list

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/spendingprofile/list

Method

GET

Example Response Payload(JSON)

{
	"message": "Spending profile list successfully recieved.",
	"data": {
    	"profiles": [
       {
       "spending_profile_details": {
		"spending_profile_uid": "{unique id of spending profile}",
    		"sp_name": "spending profile name"
"cycle_type": "M",
"cycle_reset_day": "23",
		"cycle_spending_limit": 10000,
		"daily_spending_limit": 2000,
		"max_amt_per_tran": 1000,
		"created_date": "0000-00-00 00:00:00",
		"modified_date": "0000-00-00 00:00:00",
"deleted_date": "0000-00-00 00:00:00"
"is_deleted": "NO"
        	}
}
    	]
	}
}

Spending Profiles APIs

Spending Profile Add

Name of API:

Spending Profile Add

Description:

Adds a spending profile that can be used for credit card limits

URL:

https://issuing.www.merchantservicedepot.com/apis/spendingprofile/add

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/spendingprofile/add

Method

GET

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
sp_nameName of spending profileYesString
cycle_typeWhen card will reset (weekly/monthly)YesString( “M” - month, “W” - week )
cycle_reset_dayDay it will resetYesInteger( cycle_type = M e.g., 1-30 cycle_type = W e.g., 1-07 )
cycle_spending_limitCycle spending limit (applicable for credit card)YesInteger (e.g., 100, 1000, 2000, 10000, etc.)
daily_spending_limitDaily spending limit (applicable for credit card)YesInteger (e.g., 100, 1000, 2000, 10000, etc.)
max_amt_per_tranMaximum amount allowed per transaction (applicable for credit card)YesInteger (e.g., 100, 1000, 2000, 10000, etc.)

Example Request Payload Body(JSON)

{
	"api_username": "{Unique api username}",
	"api_key": "{Unique api_key}",
	"sp_name": "profile name"
"cycle_type": "M",
"cycle_reset_day": "23",
	"cycle_spending_limit": 10000,
	"daily_spending_limit": 2000,
	"max_amt_per_tran": 1000
}

Example Response Payload(JSON)

{
	"message": "Spending profile successfully created.",
	"code": 00,
	"data": {
    		"spending_profile_uid": "{unique id of spending profile}",
    	"sp_name": "spending profile name"
"cycle_type": "M",
"cycle_reset_day": "23",
	"cycle_spending_limit": 10000,
		"daily_spending_limit": 2000,
		"max_amt_per_tran": 1000,
		"created_date": 0000-00-00 00:00:00
        }
}

Spending Profiles APIs

Spending Profile Modify (Applicable to spending profiles with no cards attached)

Name of API:

Spending Profile Modify

Description:

Modifies a spending profile that has no cards attached

URL:

https://issuing.www.merchantservicedepot.com/apis/spendingprofile/modify

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/spendingprofile/modify

Method

GET

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
spending_profile_uidUnique ID associated with spending profile to be modifiedYesString
sp_nameName of spending profileConditionalString
cycle_typeWhen card will reset (weekly/monthly)ConditionalString( “M” - month, “W” - week )
cycle_reset_dayDay it will reset ()ConditionalInteger( cycle_type = M e.g., 01-30 cycle_type = W e.g., 01-07 )
cycle_spending_limitCycle spending limit (applicable for credit card)ConditionalInteger (e.g., 100, 1000, 2000, 10000, etc.)
daily_spending_limitDaily spending limit (applicable for credit card)ConditionalInteger (e.g., 100, 1000, 2000, 10000, etc.)
max_amt_per_tranMaximum amount allowed per transaction (applicable for credit card)ConditionalInteger (e.g., 100, 1000, 2000, 10000, etc.)

Example Request Payload Body(JSON)

{
	"api_username": "{Unique api username}",
	"api_key": "{Unique api_key}",
	"spending_profile_uid": "{unique id of spending profile}"
	"sp_name": "profile name"
	"cycle_spending_limit": 10000
}

Example Response Payload(JSON)

{
	"message": "Spending profile successfully modified.",
	"data": {
    			"spending_profile_uid": "{unique id of spending profile}",
    		"sp_name": "profile name"
"cycle_type": "M",
"cycle_reset_day": "23",
		"cycle_spending_limit": 10000,
		"daily_spending_limit": 2000,
		"max_amt_per_tran": 1000,
		"modified_date": "0000-00-00 00:00:00"
	}
}

Spending Profiles APIs

Spending profile delete

Name of API:

Spending profile delete

Description:

Remove a user from the system.

URL:

https://issuing.www.merchantservicedepot.com/apis/spendingprofile/delete

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/spendingprofile/delete

Method

POST

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
spending_profile_uidUnique ID received upon creation of spending profile you are deletingYesString

Example Request Payload Body(JSON)

{
	"api_username": "{Unique api username}",
	"api_key": "{Unique api_key}",
"spending_profile_uid": "{Unique id of spending profile}"
}

Example Response Payload(JSON)

{
"message": "Successfully deleted spending profile.",
"code": 00,
	"spending_profile_uid": "{Unique id of spending profile}"
	"deleted_date": "2024-01-01 23:59:59"
}

Response Codes

The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, two elements are returned, code, description token. The response code is always 00 for a successful API call.

CodeDescription
00Success
01API Key is missing or invalid.
02Username is missing or invalid.
03Spending profile uid is missing or invalid.
04Spending profile name is missing or invalid.
05Cycle type is missing or invalid.
06Cycle reset day is missing or invalid.
07Cycle spending limit is missing or invalid.
08Daily spending limit is missing or invalid.
09Maximum amount per transaction is missing or invalid.
10Cycle spending limit should be equal to or greater than daily spending limit.
11Maximum amount per transaction should be equal to or less than cycle spending limit and daily spending limit.
12Cannot create more spending profiles. 50 spending profiles have already been created.
13Unable to create spending profile.
14Unable to delete spending profile.
15Unable to modify spending profile.
16Unable to modify spending profile that has cards attached to it.
17Unable to delete spending profile that has cards attached to it.
18Unable to fetch spending profile list.

Transactions API

Name of API:

Last 30 Days Transactions

Description:

Retrieves transaction details for the last 30 days.

URL:

https://issuing.www.merchantservicedepot.com/apis/transactions/report

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/transactions/report

Method

GET

JSON Body Parameters:

Variable NameDescriptionRequiredExpected Value
page_noSpecified Page number - 100 records per pageYesINT
transaction_typeSpecified transaction typeNoComma separated String(“Approved”, “Declined”, “Refund”, “Pending”, “Reversal”)
start_dateStart date based on the created date of a userNoDate
end_dateEnd date based on the created date of a userNoDate

Example Request Payload Body(JSON)

{
	"message": "Transactions successfully received.",
	"data": {
	"current_page": 1,
	"total_pages": 1
    	"transactions": [
        	{
            	"transaction_details": {
                		"transaction_id": "{uid of transaction}",
                		"card_uid": "{uid of card performing transaction}",
				"card_last_four": "1234"
                		"amount": "500.00",
                		"status": "Approved",
                    		"merchant": "TCB PAY",
               		 	"approval_code": "011111"
               		 	"transaction_time_gmt": "2024-01-10 23:59:59",
                		"authorization_time_gmt": "2024-01-10 23:59:59",
                		"posted_time_gmt": "2024-01-10 23:59:59",
                		"void_time_gmt": null
            		}
        	}
    	]
	}
}

Response Codes

The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, two elements are returned, code, description token. The response code is always 00 for a successful API call.

CodeDescription
00Success
01API Key is missing or invalid.
02Username is missing or invalid.
03Start date is invalid date format.
04End date is invalid date format.
05Transaction type is missing or invalid.
06Page number is missing or invalid.
07No transactions on record.

Account Funding API

Name of API:

Account Funding

Description:

Gets balances related to account funding

URL:

https://issuing.www.merchantservicedepot.com/apis/account/funding

Sandbox endpoint URL:

https://issuing-stg.www.merchantservicedepot.com/apis/account/funding

Method

GET

Example Request Payload Body(JSON)

{
  "message": "Balances successfully received.",
	"code": 00,
	"data": {
"last_amount_requested" :"1000.00""
		"last_amount_funded": "1000.00", 
"current_amount_available": "1000.00", 
"transfer_amount_available": "1000.00",
"last_funded_date":"2024-01-01 23:59:59"
       }
}

Response Codes

The response of the API Call is a JSON array. For Error, two elements are returned, code and description. For Successful transactions, two elements are returned, code, description token. The response code is always 00 for a successful API call.

CodeDescription
00Success
01API Key is missing or invalid.
02Username is missing or invalid.
03Unable to fetch account details.