Sightline Direct User Enrollment with KBA

The payment Method Sightline Deposit and Withdrawal is used in the US.
This page describes the Sightline enrollment with KBA (Knowledge Based Authentication).

This flow requires the KBA flow to be activated by Sightline.

In this enrollment flow, users will be presented questions such as these:

<VerificationQuestionArray0>
	<Answers>
		<KeysAndValues attr0="KeyValuePairArray" isNull="false">
			<KeyValuePairArray0>
				<Key>CHRIS THOMAS</Key>
				<Value>CHRIS THOMAS</Value>
			</KeyValuePairArray0>
			<KeyValuePairArray1>
				<Key>STEVE. REIFEL</Key>
				<Value>STEVE. REIFEL</Value>
			</KeyValuePairArray1>
			<KeyValuePairArray2>
				<Key>JOE ANDERSON</Key>
				<Value>JOE ANDERSON</Value>
			</KeyValuePairArray2>
			<KeyValuePairArray3>
				<Key>None of the above</Key>
				<Value>None of the above</Value>
			</KeyValuePairArray3>
		</KeysAndValues>
	</Answers>
	<Prompt>From whom did you purchase the property at 222333 PEACHTREE PLACE?</Prompt>
	<a:QuestionId> purchased.property.from </a:QuestionId>
<QuestionType>purchased.property.from</QuestionType>
</VerificationQuestionArray>

Please also refer to the page on Sightline Direct User Enrollment (without KBA) for information regarding the account funding.

Flow

ActionState
1. The merchant calls PXP Financial for Enrolment with the MemberNumber and PaymentAccountID of a previously registered credit card.Created
2. PXP Financial calls Sightline with the provided MemberNumber to enroll the user.EnrolmentRequestSent
3. Sightline response with a list of questions.EnrolmentResponseReceived
4. PXP returns the list of questions to the merchant.UserVerificationRequested
5. The merchant presents the questions to the customer.PendingOnUserAction.
6. The merchant sends a list of answers to PXP.UserVerificationInformationReceived.
7. PXP sends the answers to Sightline.UserEnrollmentVerificationRequestSent
8. Sightlne responds*UserEnrollmentVerificationResponseReceived
9. The user is returned as enrolled.Enrolled.
9. Other possible results: failed enrollment or question flow repeated.EnrollmentFailed
or
UserVerificationRequested
10. PXP triggers payment initiation, and payment is successful.InitiatingPayment > PaymentInitiated > Processed
10. Alternatively: PXP trigger payment initiation, and funding fails.InitiatingPayment > PaymentInitiationFailed

📘

Payment Account registration

For payment account registration, check the V4 description here.

Enrollment - Payment Service V5 API

The following HTTP headers are required for all requests:

Querystring Parameter NameDescription
AuthorizationBasic HTTP authorization
Content TypeApplication/JSON

Sightline Enrollment

For enrollment of user to Sightline the following request has to be sent:

📘

Sightline Enrollment

This URL must be used ONLY for the first enrollment request, not for the follow-up request with user responses.

... with the following JSON request data parameters:

NameDescription
MerchantID (Mandatory)The ID of the Merchant
ClientSystemUserEnrollmentId (Mandatory)The ID of the SystemUserEnrollmentID. It should be an unique ID.
Type (Mandatory)Type of account. i.e account.sightline.direct
UserID (Mandatory)The ID of the user
MemberNumber (Mandatory)MemberNumber ID of the user
PaymentAccountID (Mandatory)The payment account ID of the credit card to be used for funding.
Amount (Mandatory)The amount that the user intends to fund his Sightline account with.
Currency (Mandatory)The currrency of the amount that the user intends to fund his Sightline account with. Defaults to USD.

User enrollment will require that the user fields listed below are considered mandatory:

NameRequired
FirstName (Mandatory)User´s first name.
LastName (Mandatory)User´s last name.
Email (Mandatory)User´s email address.
TelephoneNumber (Mandatory)User´s phone number.
Street (Mandatory)User´s address (street).
City (Mandatory)User´s address (city).
State (Mandatory)User´s address (state).
Country (Mandatory)User´s address (country).
PostalCode (Mandatory)User´s address (zip code).
IdentificationNumber (Mandatory)User´s SSN.
DateOfBirth (Mandatory)User´s date of birth.

📘

User registration

For user registration, check the V4 user registration description. Alternatively users can be registered or updated along with any regular payment.

Enrollment request sample:

{
	"merchantId": "Renegades_Test",
	"clientSystemUserEnrollmentId": "asdasda2",
	"type": "account.sightline.direct",
	"userId":"f892jfr28f-ka21-415d-2sad-f8481zzc3826",
	"details": 
	{
		"memberNumber": "KSDAJD551",
		"paymentAccountID": "lksuq931-12ss-4934-8234-26184j1zz37c",
		"amount": 20.45,
		"currency": "USD"
	} 
}

JSON Response Data Parameters:

NameDescription
ID (Mandatory)The ID of the user enrollment
State (Mandatory)The status of the user enrollment.
Details (Optional)Additional information

Example EnrollmentResponse (with questions):

{ 
   "ID":"7fbb6d0d-2c37-4183-a19b-d6db7690ac1e",
   "StateName":"PendingOnUserAction",
   "Details":{
 
      "IdentityVerificationRequestId":12436,
      "IdentityVerifierRequestId":"2472833287",
      "VerificationInformation": [
		{
			"prompt": "When did you purchase the property at PEACHTREE PLACE?",
			"type": "property.purchase.date",
			"possibleAnswers": [
				{
					"key":"August 1999",
					"value":"August 1999"
				},
				{
					"key":"April 1999",
					"value":"April 1999"
				},
				{
					"key":"April 2000",
					"value":"April 2000"
				},
				{
					"key":"None of the above",
					"value":"None of the above"
				}
			],
			"userAnswer": null
		},
		{
			"prompt": "In which county have you lived?",
			"type": "current.county.b",
			"possibleAnswers": [
				{
					"key":"FULTON",
					"value":"FULTON"
				},
				{
					"key":"MURRAY",
					"value":"MURRAY"
				},
				{
					"key":"LORAIN",
					"value":"LORAIN"
				},
				{
					"key":"None of the above",
					"value":"None of the above"
				}
			],
			"userAnswer": null
		},
		{
			"prompt": "From whom did you purchase the property at 222333 PEACHTREE PLACE?",
			"type": "purchased.property.from",
			"possibleAnswers": [
				{
					"key":"JOE ANDERSON",
					"value":"JOE ANDERSON"
				},
				{
					"key":"CHRIS THOMAS",
					"value":"CHRIS THOMAS"
				},
				{
					"key":"ELAINE RYAN",
					"value":"ELAINE RYAN"
				},
				{
					"key":"None of the above",
					"value":"None of the above"
				}
			],
			"userAnswer": null
		},
		{
			"prompt1": "Which of the following people do you know?",
			"type2": "person.known.fic",
			"possibleAnswers2": [
				{
					"key":"STEVE WASHINGTON",
					"value":"STEVE WASHINGTON"
				},
				{
					"key":"REGINA ROTHENBERG",
					"value":"REGINA ROTHENBERG"
				},
				{
					"key":"LISA MCKITRICK",
					"value":"LISA MCKITRICK"
				},
				{
					"key":"None of the above",
					"value":"None of the above"
				}
			],
			"userAnswer": null
		}
	]
   },
   "StateDescription":null
}

Example EnrollmentRequest (with user responses):

📘

URL for returning the user responses

https://payments.test.kalixa.com/api/v5/userEnrollments/{{id}}/operations
The {{id}} part comes from the EnrollmentResponse (with questions), see section Example EnrollmentResponse (with questions) above.

{
	"merchantId": "B2BTestMerchant",
	"clientSystemUserEnrollmentId": "asdasda2",
	"userId":"f892jfr28f-ka21-415d-2sad-f8481zzc3826",
	"type": "HandleUserVerification",
	"details": {
		"memberNumber": "KSDAJD551",
		"paymentAccountID": "lksuq931-12ss-4934-8234-26184j1zz37c",
		"verificationInformation": [
		{
			"prompt": "When did you purchase the property at PEACHTREE PLACE?",
			"type": "property.purchase.date",
			"userAnswer": "April 1999"
		},
		{
			"prompt": "In which county have you lived?",
			"type": "current.county.b",
			"userAnswer": "MURRAY"
		},
		{
			"prompt": "From whom did you purchase the property at 222333 PEACHTREE PLACE?",
			"type": "purchased.property.from",
			"userAnswer": "ELAINE RYAN"
		},
		{
			"prompt1": "Which of the following people do you know?",
			"type2": "person.known.fic",
			"userAnswer": "JOHN SMITH"
		}
	]
	}
}

Example EnrollmentResponse (successful / processed):

{
	"id": "0d652af0-c838-48e1-aa0d-9ab3cb9b03f5",
	"statename": "Processed",
	"details": 
	{
			"verificationInformation": [
			{
				"prompt": "When did you purchase the property at PEACHTREE PLACE?",
				"type": "property.purchase.date",
				"userAnswer": "April 1999"
			},
			{
				"prompt": "In which county have you lived?",
				"type": "current.county.b",
				"userAnswer": "MURRAY"
			},
			{
				"prompt": "From whom did you purchase the property at 222333 PEACHTREE PLACE?",
				"type": "purchased.property.from",
				"userAnswer": "ELAINE RYAN"
			},
			{
				"prompt1": "Which of the following people do you know?",
				"type2": "person.known.fic",
				"userAnswer": "JOHN SMITH"
			}
		]
	}
}