Run a Customer Identity Check
POST /customeridentification/v1/identityprofiles
To process a Customer Identity Check, you must initiate a POST request to the identityprofiles endpoint.
See our full API documentation for a complete description of the parameters required for the Customer Identity Check request.
The following example request uses the vendorCheck parameter.
curl -X POST https://api.test.paysafe.com/customeridentification/v1/identityprofiles \
-u devcentre322:B-qa2-0-53625f86-302c021476f52bdc9deab7aea876bb28762e62f92fc6712d0214736abf501e9675e55940e83ef77f5c304edc7968 \
-H 'Content-Type: application/json' \
-d ' {
"merchantRefNum": "KYC_1520461749",
"card": {
"cardNum": "4111111111111111",
"cardExpiry": {
"month": 2,
"year": 2019
},
"cvv": 123
},
"profile": {
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@myemail.com",
"currentAddress": {
"street": "100 Queen Street West",
"street2": "Unit 201",
"city": "Toronto",
"state": "ON",
"country": "CA",
"zip": "M5H 2N2",
"monthsAtAddress": "20",
"phone": "647-788-3901"
},
"previousAddresses": [{
"city": "Calgary",
"state": "AB",
"street": "2124 Westchester street",
"street2": "string",
"zip": "M2H 2G6",
"country": "CA",
"monthsAtAddress": "30"
}],
"dateOfBirth": {
"day": "25",
"month": "12",
"year": "1980"
},
"sin": "123456789"
},
"customerIp": "1.1.1.1",
"vendorCheck": "EID_COMPARE"
} '
Prior to trying the example, you should:
- Provide a unique merchant reference number for each transaction.
- Replace the API key (after the -u) with the API key you have received.
The request contains the following parameters:
Value | Type | Required? | Description |
---|---|---|---|
merchantRefNum | string length<=255 | Yes | This is the merchant reference number created by the merchant and submitted as part of the request. |
card | object | No | These are details of the card included in the request. |
card.cardNum | string length=8-20 | No | This is the card number. It is required only if the card object is included in the request. |
card.cardExpiry | object | No | This is the card's expiry date. The following parameters are required:
|
card.cvv | string length=3-4 | No | This is the 3- or 4-digit security code that appears on the card following the card number. |
profile | complex | Yes | This is some basic personal information about the customer. |
profile.firstName | string length<=80 | Yes | This is the customer's first name. |
profile.lastName | string length<=80 | Yes | This is the customer's last name. |
profile.email | string length<=255 | No | This is the customer's email address. |
profile.sin | string length=9 | No | This is the customer's Social Insurance Number. |
profile.currentAddress | object | Yes | This is the customer's current address. The following parameters are required:
|
profile.previousAddresses | complex | No | This is an array of the customer's previous addresses. If monthsAtAddress in the currentAddress object is 24 or less, the Customer Identity request will have a greater probability of being successful if a previous address is included. |
profile.dateOfBirth | complex | Yes | This is the customer's date of birth. The following parameters are required:
|
customerIp | string length<=18 | No | This is the customer's IP address. |
vendorCheck | string length<=80 | Yes | You must include either vendorCheck or workflowId in the request but not both. |
Paysafe will inform the merchant when they integrate whether to use the vendorCheck or workflowId parameter, as well as the value to provide for the parameter. This information will be provided for both the Test and Production environments.
{
"id": "86dcb68d-cbd0-4878-8da7-ffc0e6554513",
"decision": "SUCCESS",
"merchantRefNum": "KYC_1520461749",
"card": {
"lastDigits": "1111",
"cardExpiry": {
"month": 2,
"year": 2019
}
},
"profile": {
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@myemail.com",
"currentAddress": {
"street": "100 Queen Street West",
"street2": "Unit 201",
"city": "Toronto",
"state": "ON",
"country": "CA",
"zip": "M5H 2N2",
"monthsAtAddress": "20",
"phone": "647-788-3901"
},
"previousAddresses": [{
"city": "Calgary",
"state": "AB",
"street": "2124 Westchester street",
"street2": "string",
"zip": "M2H 2G6",
"country": "CA",
"monthsAtAddress": "30"
}],
"dateOfBirth": {
"day": "25",
"month": "12",
"year": "1980"
},
"sinLastFour": "6789"
},
"customerIp": "1.1.1.1",
"vendorCheck": "EID_COMPARE",
"providerResponses": {
"eidCompare": {
"id": "0f1266b9-ce28-4df2-bc3f-d4b746cc1ced",
"status": "SUCCESS",
"response": {
"assessmentComplete": {
"reasonCodes": [{
"description": "Telephone exchange does not match the FSA (first three characters) of the postal code for Current Address",
"code": "08"
}],
"decision": "Y",
"score": 25
}
}
}
}
}
The response contains the following additional parameters:
Value | Type | Description |
---|---|---|
id | string length=36 | This is the unique request ID returned in the response. |
card.lastDigits | string length=4 | This is the last four digits of the card included in the request, returned in the response. |
decision | enum | This is the overall Customer Identity decision returned by Paysafe, based on responses by downstream providers. Possible values are:
|
providerResponses.eidcompare | complex | This is a read-only response from a downstream provider that Paysafe uses to calculate the decision value. Click here for details on the providerResponses object. |