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.

Request Example
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:

  • month – number, length=2
  • year – number, length=4
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:

  • city – string, length<=255
  • country – string, length=2
  • state – string, length=2
  • zip – string, length<=10
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:

  • year – number, length=4, min=1900
  • month – number, length=2, max=12
  • day – number, length=2, max=31
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.

Response Example
{
	"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:

  • SUCCESS – The customer has successfully passed the Customer Identity check.
  • ERROR – The Customer Identity check could not be processed. In this case you can attempt to rerun the request.
  • FAIL – The customer has failed the Customer Identity check.
  • OUTSORT – The Customer Identity check was inconclusive. The merchant should collect additional documents to manually verify the customer.
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.

Did you find this page useful?