Run seller screening for marketplaces
As a marketplace operator, you can use the Digital Onboarding API to initiate a fast screening check on your sellers when they register on your site. J.P. Morgan requires your sellers to be clear from sanctions, adverse media and internal interdiction lists before money can be moved to the seller’s bank account using J.P. Morgan Payments solutions. The API will allow you to confirm that sellers do not have any issues preventing them from participating and complements your own identity verification and Know Your Customer (KYC) due diligence process.
How it works
- Submit your seller’s details using the Digital Onboarding API.
- The screening response is synchronous, providing an immediate response.
- Proceed with allowing your seller access to your marketplace, or decline their request to join, based on the screening result.
If your seller does not have any matches against the screening databases, you receive an APPROVED
response from the Digital Onboarding API. Your seller is now eligible to receive payouts with your J.P. Morgan Payments solution.
If your seller does not pass the screening process due to a match found, you receive a DECLINED
response from the Digital Onboarding API. Your seller is not eligible to participate in the marketplace and receive payouts from your J.P. Morgan Payments solution.
Once you have sent the Sellers details for screening, they are automatically screened periodically to ensure they remain eligible for payouts with your J.P. Morgan Payments solution.
Screening results
There are two possible outcomes from the screening process, presented in the API as:
APPROVED
– The Seller screening is complete and they are found eligible to participate in payouts for your J.P. Morgan Payments solution.DECLINED
– The screening process returned a reason to find the Seller ineligible to participate in payouts for your J.P. Morgan Payments solution.
If your Seller decides to not proceed with onboarding to your marketplace or close their account with you, you submit a call to the API to update their Seller status, represented as TERMINATED
. This means that the Seller’s record is updated to reflect the offboarding and the periodic screening is canceled. This is a final profile state, therefore if your Seller decides to reopen their marketplace account, submit a new request to the API.
Before you begin
To conduct marketplace seller screening, make sure you can provide values for the following objects and fields:
General information about creating the party to represent the seller
All these fields are within the POST /parties
API call:
externalId
— Your own unique identifier for your client.partyType
— Whether your seller is anINDIVIDUAL
or anORGANIZATION
. If the seller is anORGANIZATION
, add information about the organization and an associated individual — either aBENEFICIAL_OWNER
or aCONTROLLER
.
Submit Seller details for screening
To perform the screening process:
- Create a party to represent the Seller using
POST /parties
. TheorganizationDetails
orindividualDetails
fields must be filled in, depending on whether the seller is a business or an individual. - If the seller is an organization, capture the information for at least one related party by creating additional parties with the
parentPartyId
set to the seller’s party'sid
. This connects an individual to the seller’s screening process. - Send the full information set for screening using
POST /parties/{id}/validations
with the merchant'spartyID
as the{id}
. - The API will provide a synchronous response with the results, and you can use
GET /parties/{id}
to see the screening results at any time.
Organization details
All these fields are within the organizationDetails object:
address
— Full address of your client's organization, including city and postal code.dbaName
— The name that your client's business is operating under.organizationName
— The legal name of your client's organization. This may be the same as the DBA, or it may be different.organizationIds.idType
— The ID type in theorganizationDetails
object. The value for this can be eitherBUSINESS_REGISTRATION_ID
orEIN
.associatedCountries
— Any country in which your client's organization has done business or has a presence. For example, US.
Individual details
All these fields are within the individualDetails
object:
firstName
andlastName
of the individual.addresses
— Full address of your seller individual or seller’s representative, including city and postal code.individualIds
— Your client must provide one of three types using:idType
— The type of individual ID provided by your client. One each forPASSPORT
,SSN
(Social Security Number), orNATIONAL_ID
.- The value is the passport number, Social Security Number (SSN), or national ID number for the ID.
Sample request to add an organization for screening:
{
"externalId": "1752208330711058",
"email": "piano@ppthospital.net",
"partyType": "ORGANIZATION",
"roles": [
"CLIENT"
],
"organizationDetails": {
"addresses": [
{
"addressType": "90 Bedford St",
"addressLines": [
"string"
],
"city": "Princeton",
"state": "NJ",
"postalCode": "08540",
"country": "US"
}
],
"associatedCountries": [
"US"
],
"countryOfFormation": "US",
"dbaName": "Gregs Piano Parts",
"organizationName": "Gregs Piano Parts",
"organizationType": "LIMITED_LIABILITY_COMPANY",
"organizationIds": [
{
"description": "Employer Identification Number",
"idType": "EIN",
"value": "245943556",
"issuer": "US"
}
]
},
"phone": {
"countryCode": "+1",
"phoneType": "BUSINESS_PHONE",
"phoneNumber": "7326215110"
}
}
Sample response:
{
"id": "2000010864",
"createdAt": "2024-12-18T16:57:17.059Z",
"email": "piano@ppthospital.net",
"externalId": "1752208330711058",
"partyType": "ORGANIZATION",
"platformId": "6016370265",
"profileStatus": "NEW",
"roles": [
"CLIENT"
],
"active": true,
"status": "ACTIVE",
"organizationDetails": {
"addresses": [
{
"addressType": "BUSINESS_ADDRESS",
"addressLines": [
"90 Bedford St"
],
"city": "Princeton",
"state": "NJ",
"postalCode": "08540",
"country": "US"
}
],
"associatedCountries": [
"US"
],
"countryOfFormation": "US",
"dbaName": "Gregs Piano Parts",
"entitiesInOwnership": false,
"socialMedia": [],
"organizationName": "Gregs Piano Parts",
"organizationType": "LIMITED_LIABILITY_COMPANY",
"organizationIds": [
{
"idType": "EIN",
"value": "245943556",
"issuer": "US"
}
]
},
"phone": {
"countryCode": "+1",
"phoneType": "BUSINESS_PHONE",
"phoneNumber": "7326215110"
}
}
Sample request to add an individual for screening:
json
{
"parentPartyId": "string",
"partyType": "INDIVIDUAL",
"roles": [
"CONTROLLER"
],
"email": "greg.house@ppthospital.net",
"individualDetails": {
"firstName": "Gregory",
"lastName": "House",
"birthDate": "1969-12-24"
},
"addresses": [
{
"addressType": "RESIDENTIAL_ADDRESS",
"addressLines": [
"23 Mulberry St"
],
"city": "Princeton",
"state": "NJ",
"postalCode": "08584",
"country": "US",
"countryOfResidence": "US"
}
],
"phone": {
"phoneType": "BUSINESS_PHONE",
"phoneNumber": "9082084567",
"countryCode": "1"
},
"jobTitle": "CEO",
"jobTitleDescription": "Chief Diagnostician",
"individualIds": [
{
"idType": "SSN",
"value": "111443456",
"issuer": "US"
}
]
}
Sample response:
{
"id": "2000010865",
"createdAt": "2024-12-18T17:07:11.198Z",
"email": "greg.house@hospital.net",
"partyType": "INDIVIDUAL",
"parentPartyId": "2000010864",
"platformId": "6016370265",
"profileStatus": "NEW",
"roles": [
"CONTROLLER"
],
"active": true,
"status": "ACTIVE",
"individualDetails": {
"addresses": [
{
"addressType": "RESIDENTIAL_ADDRESS",
"addressLines": [
"23 Mulberry St"
],
"city": "Princeton",
"state": "NJ",
"postalCode": "08584",
"country": "US"
}
],
"birthDate": "1969-12-24",
"countryOfResidence": "US",
"firstName": "Gregory",
"lastName": "House"
},
"individualIds": [
{
"idType": "SSN",
"value": "111443456",
"issuer": "US"
}
],
"jobTitle": "CEO",
"jobTitleDescription": "Chief Diagnostician",
"phone": {
"countryCode": "+1",
"phoneType": "BUSINESS_PHONE",
"phoneNumber": "9082084567"
}
}