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
Field | Required/Optional | Type |
---|---|---|
accountIdentifier | Optional | String |
encryptedExternalCardData | Optional | Encrypted Data |
firstName | Optional | String |
lastName | Optional | String |
nickName | Optional | String |
action | Optional | String |
address1 | Optional | String |
address2 | Optional | String |
city | Optional | String |
state | Optional | String |
zip | Optional | String |
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
Field | Required/ Optional | Type |
---|---|---|
bankName | Optional | String |
network | Optional | String |
fundingEligible | Optional | Boolean |
withdrawalEligible | Optional | Boolean |
accountExternalCardIdentifier | Optional | String |
Response Codes
Code | subCode | Description |
---|---|---|
5 | 320 | Unsupported Card |
5 | 315 | Not a US card |
5 | 316 | Not a Debit or Prepaid Card |
5 | 317 | Card other than Visa/MC |
5 | 370 | The card has expired |
5 | 318 | Max Cards already reached in the wallet |
0 | 0 | Success |
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
Field | Required/Optional | Type |
---|---|---|
externalCards | Optional | Array |
accountExternalPaymentIdentifier | Optional | String |
expirationDate | Optional | Encrypted Data |
network | Optional | String |
bankName | Optional | String |
nickName | Optional | String |
firstName | Optional | String |
lastName | Optional | String |
address | Optional | String |
city | Optional | String |
state | Optional | String |
zip | Optional | String |
fundingEligible | Optional | Boolean |
withdrawalEligible | Optional | Boolean |
Last4PAN | Optional | String |
maxCardsAllowed | Optional | Integer |
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
Updated 11 months ago