Skip to main content

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

  1. Submit your seller’s details using the Digital Onboarding API.
  2. The screening response is synchronous, providing an immediate response.
  3. 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 an INDIVIDUAL or an ORGANIZATION. If the seller is an ORGANIZATION, add information about the organization and an associated individual — either a BENEFICIAL_OWNER or a CONTROLLER

Submit Seller details for screening

To perform the screening process:

  1. Create a party to represent the Seller using POST /parties. The organizationDetails or individualDetails fields must be filled in, depending on whether the seller is a business or an individual.
  2. 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's id. This connects an individual to the seller’s screening process. 
  3. Send the full information set for screening using POST /parties/{id}/validations with the merchant's partyID as the {id}.
  4. 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 the organizationDetails object. The value for this can be either BUSINESS_REGISTRATION_ID or EIN.
  • 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 and lastName 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 for PASSPORTSSN (Social Security Number), or NATIONAL_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:

Onboarding request - organization
Json
{
  "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: 

Response to create client for screening request - Organization
Json
{
  "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: 

Create client request - idividual
Json
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: 

Create client for screening response - individual
Json
{
  "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"
  }
}