Customer Identity (KYC) API.
Perform AML/KYC identity verification checks on customers with a single API request. Available globally (CA, EU/UK, US).
Base path: /customeridentification/v1/identityprofiles. Note this is a
flat resource — it is not nested under /accounts/{account_id} like
most other Payments API resources.
Example
{:ok, profile} = Paysafe.CustomerIdentity.verify(config, %{
merchant_ref_num: "KYC_1520461749",
profile: %{
first_name: "John",
last_name: "Smith",
email: "john.smith@myemail.com",
current_address: %{
street: "100 Queen Street West",
street2: "Unit 201",
city: "Toronto",
state: "ON",
country: "CA",
zip: "M5H 2N2",
months_at_address: "20",
phone: "647-788-3901"
},
date_of_birth: %{day: "25", month: "12", year: "1980"}
},
customer_ip: "1.1.1.1",
vendor_check: "EID_COMPARE"
})
profile.decision #=> :success | :error | :fail | :outsort:success means the customer passed. :error means a downstream provider
issue occurred — use rerun/3 with the returned id to retry. :fail
means the customer failed the check outright. :outsort means the result
was inconclusive and you should manually verify via documents.
Summary
Functions
Retrieve a previously submitted identity profile by ID.
Rerun a failed identity check.
Submit an identity verification request.
Functions
@spec get(Paysafe.Config.t(), String.t(), keyword()) :: {:ok, Paysafe.Types.IdentityProfile.t()} | {:error, Paysafe.Error.t()}
Retrieve a previously submitted identity profile by ID.
@spec rerun(Paysafe.Config.t(), String.t(), keyword()) :: {:ok, Paysafe.Types.IdentityProfile.t()} | {:error, Paysafe.Error.t()}
Rerun a failed identity check.
Only rerun a check whose decision was :error — this indicates the
request could not be completed for a transient reason (e.g. a downstream
provider timeout). Do not rerun a check whose decision was :fail;
resubmitting will return the same :fail decision again.
@spec verify(Paysafe.Config.t(), map(), keyword()) :: {:ok, Paysafe.Types.IdentityProfile.t()} | {:error, Paysafe.Error.t()}
Submit an identity verification request.
Parameters
:merchant_ref_num(required) — Your unique reference number.:profile(required) — Map withfirst_name,last_name,email,current_address,date_of_birth, and other identity fields.:card— Optional card details, when checking identity alongside a card payment.:customer_ip— Customer's IP address.:vendor_checkor:workflow_id— Determines which downstream KYC provider(s) process the request. Paysafe will advise which to use.