Validate Registration
ValidateRegistration API Method
This method validates whether customer can purchase and be registered for a new card or not. Multiple identity types are supported to validate a new customer. A “Registration Token” returns, which is used in Sale Card Method to register the customer with the card.
Every request triggered should have a unique X-GD-RequestId value in the header.
- Introduced a new IdentityType as ConsulateId, which will be allowed only for the following countries:
a. Guatemala
b. Honduras
c. Colombia
d. Ecuador
Syntax
POST {baseUrl}/registration/validate
Example Request
Success Request
POST {baseUrl}/registration/validate
Authorization: bearer {token}
Content-Type: application/json
X-GD-RequestId: 123456789
{
"productCode": "51720",
"personData": {
"cellPhone": "6535738728",
"dateOfBirth": "2004-08-24",
"email": "[email protected]",
"firstName": "NIEDj",
"homeAddress": {
"addressLine1": "164 Peachtree Street",
"addressLine2": "SUITE 511",
"city": "Atlanta",
"countryCode": "USA",
"postalCode": "17513",
"state": "GA"
},
"homePhone": "5535741193",
"identification": [
{
"id": "108143604",
"issuerCountryCode": "USA",
"type": "SSN",
"expiryDate": null,
"hasCubaRelationship": null,
"hasVenezuelaRelationship": null
}
],
"lastName": "mfWKx",
"middleName": "C"
},
"termsAcceptances": [
{
"termsIdentifier": "coa",
"termsAcceptanceFlag": true,
"termsAcceptanceDateTime": "2023-09-19T03:05:05Z"
}
],
"metadata": {
"storeId": "CC970",
"merchantId": "FSCC0342",
"userId": "[email protected]",
"requestDateTime": "2023-09-19T03:06:05Z",
"registerId": "001"
}
}
Negative Request
POST {baseUrl}/registration/validate
X-GD-RequestId: 35977479313965
Content-Type: application/json
Authorization: Bearer {token}
{
"productCode":"51720",
"personData":{
"cellPhone":"6249629180",
"dateOfBirth":"2004-09-22",
"email":"[email protected]",
"firstName":"QJLkL",
"homeAddress":{
"addressLine1":"494 Peachtree Street",
"addressLine2":"SUITE 390",
"city":"Atlanta",
"countryCode":"USA",
"postalCode":"12844",
"state":"GA"
},
"homePhone":"5639410915",
"identification":[
{
"id":"107865641",
"issuerCountryCode":"USA",
"type":"SSN",
"expiryDate":"2099-09-09",
"hasCubaRelationship":null,
"hasVenezuelaRelationship":null
}
],
"lastName":"RmGro",
"middleName":"a"
},
"termsAcceptances":[
{
"termsIdentifier":"coa",
"termsAcceptanceFlag":true,
"termsAcceptanceDateTime":"2023-09-22T10:59:04Z"
}
],
"metadata":{
"storeId":"032810293123",
"merchantId":"FSCC0342",
"userId":"[email protected]",
"requestDateTime":"2023-09-22T10:59:04Z",
"registerId":"001"
}
}
Request Parameters
Parameter | Required(Y/N) | Format/Data Type | Pattern | Description |
|---|---|---|---|---|
X-GD-RequestId | Yes | String | MaxLength:50 | It is a unique transaction identifier that is generated by the retailer. |
requestDateTime | Yes | DateTime | 2023-08-08T12:34:56Z | Time stamp at which transaction occurred. YYYY-MM-DDTHH:mm:ssZ |
registerId | No | String | MaxLength: 20 | Register where the transaction occurred. |
userId | Yes | String | MaxLength:50 | The unique ID of the user generating the transaction. |
storeId | Yes | String | MaxLength: 20 | The store number associated with the retailer that sold the package. |
merchantId | Yes | String | MaxLength: 20 | The unique merchant Id. Defined by Green Dot – Merchant corresponding with Retailer. |
productCode | Yes | String | 4-7 digits | It is 4 digit Green Dot internal product code. E.g., 7680, 7681, 7682. New product has 5 digits typically. It’s required for BaaS card. |
personData | Yes | object | { 1, … } | The customer data to be registered. |
firstName | Yes | String | Max: 30 | The first name of the customer. |
middleName | No | String | Max: 1 | The initial letter of middle name of the customer. |
lastName | Yes | String | Max: 30 | The last name of the customer. |
dateOfBirth | Yes | Date | YYYY-MM-DD | The customer’s birth date. |
Yes | String | Max: 40 | The email address of the customer. | |
cellPhone | Yes | String | 10 digits | The customer cell phone number. |
homePhone | No | String | 10 digits | The customer Home phone number of the customer. |
HomeAddress | Yes | object | { 1, … } | The address of the customer. |
addressLine1 | Yes | String | Max: 30 | The mailing address of the customer. |
addressLine2 | No | String | Max: 30 | Second line of address of customer |
city | Yes | String | Max: 30 | The city in which customer resides. |
state | Yes | String | Max: 2 | The state in which the customer city belongs to. |
postalCode | Yes | String | Min: 5 Max:10 | Postal code of the customer address. |
countryCode | No | String | "USA" | CountryCode in ISO 3166-1 alpha-3 format. |
identification | Yes | Array | { 1, … } | Array of Identification provided by the customer. |
type | Yes | String | Min: 3 , Max: 21 | Accepted type of identification that can be provided by the user are as follows:
|
id | Yes | String | Min: 1 , Max: 50 | The unique identification number of user. For example: SSN, passport number. |
expiryDate | No | Date | “YYYY-MM-DD" | Provided identification expiry date in “YYYY-MM-DD” format. Note that when type is “NationalIdCard”, "ConsulateID", or “Passport”, the expiryDate has to be provided. |
issuerCountryCode | Yes | String | Min: 3 | Country that issued the identification card in ISO 3166-1 alpha-3 format. |
hasCubaRelationship | No | bool | true/false | It’s mandatory if IssuerCountryCode is CUB |
hasVenezuelaRelationship | No | bool | true/false | It’s mandatory if IssuerCountryCode is VEN. |
termsAcceptances | Yes | array | {1, …} | Sets of terms acceptance info that customer signed |
termsIdentifier | Yes | string | Max:10 | Identifier of the terms. “coa” is mandatory. However, “daa” , “privPlcy” & “eca” are optional. |
termsAcceptanceFlag | Yes | bool | true/false | Whether customer accepted or not |
termsAcceptanceDateTime | Yes | datetime | YYYY-MM-ddTHH:mm:ssZ | The datetime that customer accepts the terms in UTC format. |
Example Response
Success Response
HTTP/1.1 200 OK
Content-Type: application/json
X-GD-RequestId: 201309181254
X-GD-ResponseId: d928f8bf-814a-4b63-bdee-aea9a7e5429d
X-GD-ResponseCode: 0
{
"metadata": {
"requestId": "201309181254",
"responseCode": 0,
"responseDescription": "Success",
"responseDateTime": "2013-09-18T17:53:07.1411753Z",
"responseId": "d928f8bf-814a-4b63-bdee-aea9a7e5429d"
},
"registrationToken": "2E28C3D0-A1EC-4178-A707-77AFD46D4B24",
"validateRegistrationCure": "Healthy"
}
Negative Response
HTTP/1.1 400 Bad Request
Content-Type: application/json
X-GD-RequestId: 35977479313965
X-GD-ResponseCode: 800
X-GD-ResponseId: c1e20f33-1160-43d0-8a0f-b1cc9d8a124c
{
"registrationToken":null,
"validateRegistrationCure":null,
"metadata":{
"requestId":"35977479313965",
"responseId":"c1e20f33-1160-43d0-8a0f-b1cc9d8a124c",
"responseDateTime":"2023-09-22T10:59:06.4041579Z",
"responseCode":800,
"responseDescription":"Store was not found"
}
}
Response Parameters
Parameter | Required(Y/N) | Format/Data Type | Pattern | Description |
|---|---|---|---|---|
requestId | Yes | String | MaxLength:50 | The unique request ID from request. |
responseId | Yes | String | MaxLength:50 | The unique response identifier (generated by GreenDot). |
responseDateTime | Yes | DateTime | 2023-09-07T16:12:23.4541445+08:00 | Time stamp at which transaction occurred. YYYY-MM-DDTHH:mm:ssfffffffK |
responseCode | Yes | Numeric | MaxLength:4 | Indicates success and failure of the response codes. It is in the numeric format. |
responseDescription | Yes | String | MaxLength:255 | Describes the Response Code in more detail. It is in the String format. |
registrationToken | Yes | String | e5843e05-d367-4bf1-a223-3af46ae18802 | The unique registration identifier, which is generated by GreenDot system. It will only have value when response is success. |
validateRegistrationCure | No | String | “IDV” | Health of the CIP validation. Healthy/IDV/None. |
Response Cases
Code | Code Text | Response Description | Explanation of the Response Code |
|---|---|---|---|
0 | Success | Success | Customer passes the registration validation and good to do card sale. |
100 | InvalidParameter | • CellPhone has to be 10 digits. | Invalid parameter when validating the request. Examples: MerchantID not supplied, StoreID not supplied, Invalid identityType. |
130 | InvalidMerchant | • InvalidMerchant | MerchantId in request has not been found/enabled in the system. |
500 | CIPFailed | • Hard decline | Customer gets hard declined by CIP. |
800 | InvalidStore | • Store was not found | Store is not found; store is not for the partner or store does not support this operation. |
861 | RetailChainUserNotFound | • User is not found. | UserID in request is not found in system. |
862 | RetailChainUserNotActive | • User is not active. | UserId in request is not active in system. |
451 | SoftDeclineVerifyPending | • IDV soft decline | Customer gets soft declined by CIP process which is curable by uploading further IDV document in FSC IdvUpload endpoint. There’s ValidateRegistrationCure in response to indicate which cure customer can perform. |
453 | CustomerHasSsn | • Customer has SSN | CIP check result indicates customer has SSN but not use it to register. Customer may use SSN to submit registration again. |
600 | UnableToProcessRequest | • The product code XXXXX is unknown for this program code. | Non-CIP error happens when processing presignup. |
1000 | GeneralFailure | • GeneralFailure | Service failure/unexpected exception in system |
Updated 14 days ago
