Create Recipients

Create Customer Profile API

This API creates a recipient customer profile in the Green Dot instant transfer system. As part of that, the customer information goes through Green Dot's verification process configured for this partner before initiating any further API calls, ensuring all required information was passed and there are no OFAC or compliance problems with the recipient. The profile is needed before a customer links with an external card. The same customer profile can have multiple card accounts linked to it, and the target card accounts must always be linked to a target receiving customer.

Business Logic

  • CustomerToken – If this field is left blank
    • When this field is mandatory, the partner must provide a unique value.
    • When this field is optional and the request contains a CustomerToken value, the same value is used. Otherwise, the Instant Transfer Service generates a GUID as the CustomerToken.
  • Idempotent Check -- This check is based on the CustomerToken. If the request contains a value that already exists in the database, it returns the Record already exists error.
  • DB Level Encryption -- This encryption is based on DateOfBirth.
  • CustomerID in DB -- As per Green Dot standards, the CustomerID is a GUID that the Instant Transfer service generates.

Syntax / URL

POST /programs/{programCode}/customers

Request Header

Field NameDataTypeDescriptionFormatValues AllowedRequired
ProgramCodestringPartner program codemax 20 characters

min 2 characters
a-z, A-Z, hyphen, underscore, 0-9Yes

Request

Encrypted Request Data

FieldRequired
(Y/N/C)
DescriptionFormatFormat
dataYencrypted requeststring

Request Body Parameters

Field NameDataTypeDescriptionFormatValues AllowedRequiredBaaS Specification
CustomerTokenstringUnique identifier of customer, the Samsung PPIDmax 50 charactersa-z, A-Z, hyphen, underscore, 0-9Conditional
FirstNamestringCustomer's First name from the Samsung AccountMin 1 characters

Max 35 characters
a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis( ( ), closing paranthesis( ) ), comma(,), apostrophe('), Plus(+)YesMust be 1 - 35 characters long.

Cannot be more than 35 characters
MiddleNamestringCustomer's Middle nameMin 1 characters

Max 35 characters
a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis, closing paranthesis, comma(,), apostrophe('), Plus(+)NoMust be 2 - 35 characters long.

Cannot be more than 35 characters.
LastNamestringCustomer's Last name from Samsung AccountMin 2 characters

Max 35 characters
a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis, closing paranthesis, comma(,), apostrophe('), Plus(+)YesMust be 2 - 35 characters long.

Cannot be more than 35 characters.
EmailstringCustomer's Email validated by SamsungMin 6 characters

Max 255 characters
a-Z, A-Z, 0-9, underscore, hyphen, period, ampersand, @YesRequired for Samsung to provide
PhoneNumberstringCustomer's phoneonly allow 10 characters0-9NoSamsung should pass if available. Samsung should pass it for RemoteP2P scenarios.
DateOfBirthdateCustomer's Date of Birth from Samsung AccountYYYY-MM-DDDOB should be less than current date

and Min year should be 1901
ConditionalMust be in the format: YYYY-MM-DD.
AddressLine1stringCustomer's Address Line1Min 0 characters

Max 255 characters
a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis, closing paranthesis, comma(,), apostrophe('), Plus(+)Noo Must be 2 - 40 characters long.

o Must be the user’s home address.

o Cannot be a PO Box or non-U.S. address.

Note: Discuss any restrictions for selling in U.S.

Territories with your Green Dot onboarding
team
AddressLine2stringCustomer's Address Line2Min 0 characters

Max 255 characters
a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis, closing paranthesis, comma(,), apostrophe('), Plus(+)NoIf provided, must be 1 - 40 characters long
CitystringCustomer's cityMin 0 characters

Max 50 characters
a-z, A-Z, 0-9, hyphen(-), space, period(.), slash(/), questionMark(?), colon(:), opening paranthesis, closing paranthesis, comma(,), apostrophe('), Plus(+)No
StatestringCustomer's stateMin 0 characters

Max 2 characters
A-Z, a-zNoState:

Must be 2 characters long
ZipCodestringCustomer's Zipcodemax 5 characters

min 5 characters
0-9Noo zipCode must be 5 digits only and in the format 99999.

o No extended zip codes are allowed.

o If an extended zip code is provided, the
extended digits will be removed by the
system.

Request Sample

{
  "firstName": "tpgFN",
  "lastName": "tpgLN",
  "nickName": "string",
  "middleName": "string",
  "email": "string",
  "phoneNumber": "string",
  "dateOfBirth": "string",
  "address": {
    "addressLine1": "string",
    "addressLine2": "string",
    "city": "string",
    "state": "string",
    "zipCode": "string"
  },
  "customerToken": "52d7eb75-8f83-4467-88ef-8008a7aa9a4e",
}

Fields Encrypted Request

 {
   "salt": "eb6c967d-765a-4b18-9a6e-d4eb4df69efa",
  "customerToken": "52d7eb75-8f83-4467-88ef-8008a7aa9a4e",
  "encryptedData": {
        "version": "EC_v1",
        "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExwDdXm5e3P9+/nTAFW5Y+WJahmHhtbRlGwpmtoEJyiQCqBtC8NhQVsIVIq874XwY+8Yzk8LFCcdvoHn4zFwjMA==",
        "publicKeyHash": "PiRV5ko8JYGxAtcNb9WV4aVg7aXIp8EsstmeUqqWzT8=",
        "data": "DfAHBPjSNYP6umhaD9R0K4rNoQZpe/gWjwZs52o="
      } 
 }

Customer Statuses


CustomerStatusDescription
PendingBefore the first transfer
VerifiedAfter the first transfer
OFACMatch-PendingN/A
OFACMatch-ConfirmedN/A
LockedLocked
ClosedClosed

Response

Response Messages

HTTP Status CodeResponse Message
201Customer profile created successfully
401Unauthorized access, wrong token access or expired
502Service unavailable, try again later or contact IT support
503Server Error

Sample Response Body

{
  "customerToken": "eb6c967d-765a-4b18-9a6e-d4eb4df69efa",
  "status": "Verified",
  "responseDetails": [
    {
      "code": 0,
      "subCode": 0,
      "description": "string"
    }
  ]
}