External Card Management

External Card Management APIs can be used for money transfers between external accounts and Green Dot accounts.

Overview

The External Card Management APIs allows money transfers between external accounts and Green Dot accounts.

🚧

Partners must be configured to use External Card Management features. Please contact your Green Dot representative for more information.

Add or Validate External Bank Card

This endpoint is used to validate an external bank card or add one to a customer’s account.

API Call Structure

POST /programs/{programCode}/externalCards

Sample Request Body

{
   "accountIdentifier":"76fc6cca-4119-4aef-a547-10c578d8354d",
   "encryptedExternalCardData":{
      "version":"string",
      "ephemeralPublicKey":"string",
      "publicKeyHash":"string",
      "data":"string"
   },
   "firstName":"John",
   "lastName":"Doe",
   "nickName":"JD",
   "action":"add", //Available options: add or null"
   "address1": "123 South Street", 
   "address2": "121", 
   "city": "Pasadena",
   "state": "CA", 
   "zip": "91107
}

Request Parameters

FieldRequired/OptionalType
accountIdentifierOptionalString
encryptedExternalCardDataOptionalEncrypted Data
firstNameOptionalString
lastNameOptionalString
nickNameOptionalString
actionOptionalString
address1OptionalString
address2OptionalString
cityOptionalString
stateOptionalString
zipOptionalString

Sample Unencrypted External Card Data with Sample Response

{
   "cvv":"123",
   "cardNumber":"5104410000000044",
   "expiration":{
      "month":"04",
      "year":"21"
   },
   "firstName":"John",
   "lastName":"Doe",
   "addressLine1":"123 South Street",
   "addressLine2":"121",
   "city":"Pasadena",
   "state":"CA",
   "zipCode":"91107"
}

Sample Unencrypted External Card Data Response

{
   "bankName":"string",
   "network":"visa",// Available options: mastercard, visa, or null 
   "fundingEligible":true,
   "withdrawalEligible":true,
   "accountExternalCardIdentifier":"c59f5f97-0971-4f9f-a59e-1711b37bfecc",
   "responseDetails":[
      {
         "code":0,
         "subCode":0,
         "description":"Success",
         "url":"http://tbd"
      }
   ]
}

Response Parameters

FieldRequired/
Optional
Type
bankNameOptionalString
networkOptionalString
fundingEligibleOptionalBoolean
withdrawalEligibleOptionalBoolean
accountExternalCardIdentifierOptionalString

Response Codes

CodesubCodeDescription
5320Unsupported Card
5315Not a US card
5316Not a Debit or Prepaid Card
5317Card other than Visa/MC
5370The card has expired
5318Max Cards already reached in the wallet
00Success

Obtain External Cards

This endpoint is used to retrieve a list of external cards for a specific account. Simply call GET /externalCards and include the accountIdentifier.

API Call Structure

GET /programs/{programCode}/accounts/{accountIdentifier}/externalCards

Sample Response Body

{
   "externalCards":[
      {
         "accountExternalPaymentIdentifier":"string",
         "expirationDate":{
            "version":"string",
            "ephemeralPublicKey":"string",
            "publicKeyHash":"string",
            "data":"string"
         },
         "network":"visa", //Available options: mastercard, visa, or non-network
         "bankName":"GDotBank",
         "nickName":"Janny",
         "firstName":"Jane",
         "lastName":"Doe",
         "address":"987 Apple Street",
         "city":"Pasadena",
         "state":"CA",
         "zip":"91107",
         "fundingEligible":true,
         "withdrawalEligible":true,
         "last4PAN":"1234"
      }
   ],
   "maxCardsAllowed":0, //This field is configurable, and the maximum number of cards allowed is 5.
   "responseDetails":[
      {
         "code":0,
         "subCode":0,
         "description":"Success",
         "url":"http://tbd"
      }
   ]
}

Response Parameters

FieldRequired/OptionalType
externalCardsOptionalArray
accountExternalPaymentIdentifierOptionalString
expirationDateOptionalEncrypted Data
networkOptionalString
bankNameOptionalString
nickNameOptionalString
firstNameOptionalString
lastNameOptionalString
addressOptionalString
cityOptionalString
stateOptionalString
zipOptionalString
fundingEligibleOptionalBoolean
withdrawalEligibleOptionalBoolean
Last4PANOptionalString
maxCardsAllowedOptionalInteger

Obtain Card Options

This API obtains card options.

API Call Structure

GET /programs​/{programCode}​/accounts/{accountIdentifier}/cardOptions/

Response

{

              "options": [

                             {

                                           "cardType": "string",

                                           "fee": 0,

                                           "isFreeEligible": true

                             }

              ],

              "responseDetails": [

                             {

                                           "code": 0,

                                           "subCode": 0,

                                           "description": "string",

                                           "url": "string"

                             }

              ]

}

Delete External Card

This endpoint is used to delete a specific external card from an account. Simply call DELETE /externalCards/{cardIdentifier} and include the accountIdentifier and cardIdentifier.

API Call Structure

DELETE /programs/{programCode}/accounts/{accountIdentifier}/externalCards/{cardIdentifier}

Sample Response Body

{
   "responseDetails":[
      {
         "code":0,
         "subCode":0,
         "description":"Success",
         "url":"http://tbd"
      }
   ]
}

Response Codes

Code 5, subCode 319 - Description: Card not found