Understanding the process_view object

DocsCurrent

Last updated: Apr 24th, 3:22am

The process_view object in the JSON response body shows the verification process that PayPal applies to your merchant, along with merchant information and the account status.

Analyze process_view

The process_view object has the following sections:

  • name: Name of the data collection and verification checks, called processes, that PayPal runs on the merchant. The processes include the following:
    • Verification policies such as MANAGED_PATH_KYC_VERIFICATION
    • Collection policies such as MANAGED_PATH_KYC_COLLECTION.

    For more information on various countries' data collection policies, see Data elements for account creation

  • status: Result of the data collection and verification checks that PayPal runs on the merchant. The statuses include the following:
    • COMPLETED - indicates when a collection or verification process is complete 
    • NEED_MORE_DATA - indicates when a collection or verification process is incomplete and needs more data
  • capabilities: Array containing information about account abilities, current statuses, and associated payment processing limits.
    The status in the capabilities section describes the status of the associated capability. If capabilities show any status other than ACTIVE, the limits block may apply.
  • required: Additional data points you need to provide. Collect the attributes shown in required from the merchant through data field collection and document upload collection.
  • required_correction Data points you need to correct to finalize the verification process. This section shows up only after you attempt verification and lists the attributes that need correction to finalize the verification process. The attributes in the required_correction section differ from those in the required section because they represent merchant details that need correction, such as updating data fields or re-uploading documents, rather than collecting new data.
  • required_documents: Lists all the documents that the merchant should upload. Depending on the required and required_correction requirements, you may need to upload only a subset of documents from this list to fulfill the verification requirements. Each required_document object within this array contains the following:
    • id: number associated with the document and referenced in the required and required_document sections.
    • name: name of the document that needs to be uploaded.
    • entity: entity associated with the document.
    • links: array of links that shows what actions you can take. For example, you can upload the required document to a unique tokenized upload link using the POST method.

Structure and logic of required and required_correction

Aggregators

The required and required_correction sections include the following aggregators: 

  • ALL_OF: indicates that all the attributes within the array of the same level should be collected or corrected.
  • ONE_OF: indicates that only one of the attributes within the array of the same level should be collected or corrected.

Attributes

The required and required_correction sections include the following attributes:

path

The path attribute type is presented in the form of JSONPath and points to a specific field in the API response object.

The following table provides sample PATCH requests for common scenarios where the original POST API request does not contain all the required data. A path ending in /- indicates an append operation, allowing you to add specified data to a list or array.

Sample

Description

Patch object to provide the data points

"$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].birth_details.date_of_birth"

The date_of_birth data field under birth_detailsobject attributed to individual_ownerswith id = TH2SLRZ8X24TU.

{ "op": "add", "path": "/individual_owners/@id=='{{account_id}}'/birth_details", "value": { "date_of_birth": "1993-01-11" } }

"$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].primary_residence"

The primary_residence object attributed to individual_ownerswith id = TH2SLRZ8X24TU.

{ "op": "add", "path": "/individual_owners/@id=='{{person_id}}'/primary_residence", "value": { "address_line_1": "1800-475 Howe St", "admin_area_2": "100 Vancouver B.C", "postal_code": "V6C 2B3", "country_code": "CA" } }

"$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].occupation"

The occupation object attributed to individual_owners with id = TH2SLRZ8X24TU.

{ "op": "replace", "path": "/individual_owners/@id=='{{person_id}}'/occupation", "value": "Engineer" }

"$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].citizenship"

The citizenship object attributed to individual_owners with id = TH2SLRZ8X24TU.

{ "op": "add", "path": "/individual_owners/@id=='{{account_id}}'/citizenship", "value": "CA" }

"$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].phone_numbers[?(@['type']=='HOME')]"

The phone_numbers object with type HOME attributed to individual_owners with id = TH2SLRZ8X24TU.

{ "op": "add", "path": "/individual_owners/@id=='{{account_id}}'/phone_numbers/-", "value": { "country_code": "1", "national_number": "6692076750", "type": "HOME" } }

"$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].phone_numbers[?(@['type']=='BUSINESS')]

The phone_numbers object with BUSINESS type attributed to individual_owners with id = TH2SLRZ8X24TU.

{ "op": "add", "path": "/individual_owners/@id=='{{account_id}}'/phone_numbers/-", "value": { "country_code": "1", "national_number": "6692076750", "type": "BUSINESS" } }

"$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].phone_numbers[?(@['type']=='MOBILE')]

The phone_numbers object with type MOBILE attributed to individual_owners with id = TH2SLRZ8X24TU.

{ "op": "add", "path": "/individual_owners/@id=='{{account_id}}'/phone_numbers/-", "value": { "country_code": "1", "national_number": "6692076750", "type": "MOBILE" } }

"$.business_entity.beneficial_owners.individuals[?(@['id']=='GHLRS5QFH7JHU')].names[?(@['type']=='LEGAL')]"

The names object with type LEGAL that belongs to beneficial_owner with id=GHLRS5QFH7JHU under the business_entity object.

The legal name is a mandatory field for the beneficial owner and does not require a PATCH request.

"$.business_entity.beneficial_owners.individuals[?(@['id']=='GHLRS5QFH7JHU')].birth_details.date_of_birth"

The date_of_birth field under birth_details object that is attributed to beneficial_owner with id=GHLRS5QFH7JHU under the business_entity object.

In this scenario, the beneficial owner is missing birth details. In such cases, you can complete either of the following:

  • Update the birth_details of the given beneficial owner

{ "op": "add", "path": "/business_entity/beneficial_owners/individuals/@id=='{{beneficial_owner_id}}'/birth_details", "value": {"date_of_birth": "1995-05-30"}

  • Bundle with other updates to the beneficial owner to update the whole beneficial_owner object. In this case, ADD works as a REPLACE of the given beneficial owner.  

{ "op": "add", "path": "/business_entity/beneficial_owners/individuals/@id=='{{beneficial_owner_id}}'", "value": { "names": [ { "type": "LEGAL", "given_name": "Beck", "surname": "Smith" } ], "birth_details": { "date_of_birth": "1995-05-30" }, "addresses": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ] } }

"$.business_entity.beneficial_owners.individuals[?(@['id']=='GHLRS5QFH7JHU')].addresses[?(@['type']=='HOME')]”

The addresses object with the type HOME attributed to beneficial_owner with id=GHLRS5QFH7JHU under the business_entity object.

In this scenario, the beneficial owner is missing a home address. In such cases, you can complete either of the following:

  • Update the addresses of the given beneficial owner

{ "op": "add", "path": "/business_entity/beneficial_owners/individuals/@id=='{{beneficial_owner_id}}'/addresses", "value": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ] }

  • Bundle with other updates to the beneficial owner to update the whole beneficial_owner object. In this case, ADD works as a REPLACE of the given beneficial owner.

{ "op": "add", "path": "/business_entity/beneficial_owners/individuals/@id=='{{beneficial_owner_id}}'", "value": { "names": [ { "type": "LEGAL", "given_name": "Beck", "surname": "Smith" } ], "birth_details": { "date_of_birth": "1995-05-30" }, "addresses": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ] } }

"$.business_entity.office_bearer[?(@['id']=='4864XNNGRU7AY')].identification_documents[?(@['type']=='INDIVIDUAL_TAX_IDENTIFICATION_NUMBER')]"

The identification_document with type INDIVIDUAL_TAX_IDENTIFICATION_NUMBER, that belongs to the office_bearer object with id=4864XNNGRU7AY under the business_entity object.

In this scenario, the office bearer is missing tax identification documents. In such cases, you can complete either of the following:

  • Update the identification_documents of the given beneficial owner 

{ { "op": "add", "path": "/business_entity/office_bearers/@id=='{{office_bearer_id}}'/identification_documents", "value": [ { "identification_number": "****", "issuing_country_code": "CA", "type": "INDIVIDUAL_TAX_IDENTIFICATION_NUMBER" } ] }

  • Bundle with other updates to the beneficial owner to update the whole office_bearer object. In this case, ADD works as a REPLACE of the given office bearer owner.

{ "op": "add", "path": "/business_entity/office_bearers/@id=='{{office_bearer_id}}'", "value": { "names": [ { "type": "LEGAL", "given_name": "Beck", "surname": "Smith" } ], "birth_details": { "date_of_birth": "1995-05-30" }, "addresses": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ], "identification_documents": [ { "identification_number": "****", "issuing_country_code": "CA", "type": "INDIVIDUAL_TAX_IDENTIFICATION_NUMBER" } ] } }

"$.business_entity.office_bearer[?(@['id']=='4864XNNGRU7AY')].identification_documents[?(@['type']=='SOCIAL_SECURITY_NUMBER')]"

The identification_document with type SOCIAL_SECURITY_NUMBER,that belongs to the office_bearer object with id=4864XNNGRU7AY under the business_entity object.

In this scenario, the office bearer is missing social security identification documents. In such cases, you can complete either of the following:

  • Update the identification_documents of the given beneficial owner 

{ "op": "add", "path": "/business_entity/office_bearers/@id=='{{office_bearer_id}}'/identification_documents", "value": [ { "identification_number": "****", "issuing_country_code": "CA", "type": "SOCIAL_SECURITY_NUMBER" } ] }

  • Bundle with other updates to the office bearer to update the whole office_bearer object. In this case, ADD works as a REPLACE of the given office bearer owner.

{ "op": "add", "path": "/business_entity/office_bearers/@id=='{{office_bearer_id}}'", "value": { "names": [ { "type": "LEGAL", "given_name": "Beck", "surname": "Smith" } ], "birth_details": { "date_of_birth": "1995-05-30" }, "addresses": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ], "identification_documents": [ { "identification_number": "****", "issuing_country_code": "CA", "type": "SOCIAL_SECURITY_NUMBER" } ] } }

"$.business_entity.identification_documents[?(@['type']=='BUSINESS_REGISTRATION_NUMBER')]"

The identification_document with type BUSINESS_REGISTRATION_NUMBER that belongs to the business_entity object.

{ "op": "add", "path": "/business_entity//identification_documents", "value": [ { "identification_number": "****", "issuing_country_code": "CA", "type": "BUSINESS_REGISTRATION_NUMBER" } ] }

"$.business_entity.office_bearers[?(@['role']=='AUTHORIZED_REPRESENTATIVE')].names[?(@['type']=='LEGAL')]"

If office_bearers is missing, refer to the office_bearers data requirement with role, instead of id. When role is used, include the object names with type LEGAL attributed to the office_bearer object with role= AUTHORIZED_REPRESENTATIVE under the business_entity object.

{ "op": "add", "path": "/business_entity/office_bearers/-", "value": { "role": "AUTHORIZED_REPRESENTATIVE", "names": [ { "type": "LEGAL", "given_name": "Beck", "surname": "Smith" } ], "addresses": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ] } }

"$.business_entity.office_bearers[?(@['role']=='AUTHORIZED_REPRESENTATIVE')].addresses[?(@['type']=='HOME')]"

If office_bearers is missing, refer to the office_bearers data requirement with role, instead of id. When role is used, include the object addresses with type HOME attributed to the office_bearer object with role= AUTHORIZED_REPRESENTATIVE under the business_entity object.

{ "op": "add", "path": "/business_entity/office_bearers/-", "value": { "role": "AUTHORIZED_REPRESENTATIVE", "names": [ { "type": "LEGAL", "given_name": "Beck", "surname": "Smith" } ], "addresses": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ] } }

"$.business_entity.office_bearers[?(@['role']=='COMPANY_EXECUTIVE')].names[?(@['type']=='LEGAL')]"

If office_bearers is missing, refer to the office_bearers data requirement with a specific role, instead of id. When role is used, include the object names with type LEGAL attributed to the office_bearer object with role= COMPANY_EXECUTIVE under the business_entity object.

{ "op": "add", "path": "/business_entity/office_bearers/-", "value": { "role": "COMPANY_EXECUTIVE", "names": [ { "type": "LEGAL", "given_name": "Beck", "surname": "Smith" } ], "addresses": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ] } }

"$.business_entity.office_bearers[?(@['role']=='COMPANY_EXECUTIVE')].addresses[?(@['type']=='HOME')]"

If office_bearers is missing, refer to the office_bearers data requirement with a specific role, instead of id. When role is used, include the object addresses with type HOME attributed to the office_bearer object with role= COMPANY_EXECUTIVE under the business_entity object.

{ "op": "add", "path": "/business_entity/office_bearers/-", "value": { "role": "COMPANY_EXECUTIVE", "names": [ { "type": "LEGAL", "given_name": "Beck", "surname": "Smith" } ], "addresses": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ] } }

"$.business_entity.beneficial_owners.individuals[*].names[?(@['type']=='LEGAL')]"

If beneficial_owners is missing, refer to the beneficial_owners data requirement with *, which indicates that you can provide any beneficial owner. When * is used, include the object names with type LEGAL attributed to the beneficial_owners object under the business_entity object.

{ "op": "add", "path": "/business_entity/beneficial_owners/individuals/-", "value": { "names": [ { "type": "LEGAL", "given_name": "Beck", "surname": "Smith" } ], "addresses": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ] } }

"$.business_entity.beneficial_owners.individuals[*].addresses[?(@['type']=='HOME')]"

If beneficial_owners is missing, refer to the beneficial_owners data requirement with *, which indicates that you can provide any beneficial owner. When * is used, include the object addresses with type HOME attributed to the beneficial_owners object under the business_entity object.

{ "op": "add", "path": "/business_entity/beneficial_owners/individuals/-", "value": { "names": [ { "type": "LEGAL", "given_name": "Beck", "surname": "Smith" } ], "addresses": [ { "type": "HOME", "address_line_1": "495 Howe St", "address_line_2": "Unit 2", "admin_area_2": "Vancouver", "admin_area_1": "BC", "postal_code": "V6C2B3", "country_code": "CA" } ] } }

"$.business_entity.incorporation_details.incorporation_country_code"

The incorporation_country_code within incorporation_details object under the business_entity object.

{ "op": "add", "path": "/business_entity/incorporation_details", "value": { "incorporation_country_code": "CA", "incorporation_date": "2024-07-07", "incorporation_province_code": "BC", "company_law": "Legislation Name" } }

"$.business_entity.registered_business_address"

The registered_business_address object under the business_entity object.

{ "op": "add", "path": "/business_entity/registered_business_address", "value": { "address_line_1": "1200-475 Howe St", "admin_area_2": "Vancouver B.C", "postal_code": "V6C2B3", "country_code": "CA" } }

"$.business_entity.merchant_category_code"

The merchant_category_code field under the business_entity object.

{ "op": "add", "path": "/business_entity/merchant_category_code", "value": "4481" }

"$.business_entity.phone_numbers"[?(@['type']=='BUSINESS')]"

The phone_numbers object with BUSINESS type that is attributed to the business_entity.

{ "op": "add", "path": "/business_entity/phone_numbers/-", "value": { "country_code": "1", "national_number": "6692076750", "type": "MOBILE" } }

Document Upload Reference

The document upload reference is represented as a string, where the string value is used as the document upload requirement reference id in the required_documents array that contains the document upload link.

    1"required_documents": [
    2
    3 {
    4
    5 "id": "c1c63",
    6
    7 "name": "BUSINESS_REGISTRATION",
    8
    9 "entity": "$.business_entity",
    10
    11 "links": [
    12
    13 {
    14
    15 "href": "https://api.paypal.com/v1/customer/supporting-documents/8442128f-b54d-4d9b-88f7-32c675f1780f/upload",
    16
    17 "rel": "upload",
    18
    19 "method": "POST"
    20
    21 }
    22
    23 ]
    24
    25 }
    26
    27 ]

    Sample response of process_view

      1{
      2 "processes": [
      3 {
      4 "name": "MANAGED_PATH_KYC",
      5 "status": "NEED_MORE_DATA",
      6 "capabilities": [
      7 {
      8 "name": "CUSTOM_CARD_PROCESSING",
      9 "limits": [
      10 {
      11 "type": "AMOUNT",
      12 "unit": "EUR",
      13 "value": "1000.00",
      14 "remaining_value": "0.00"
      15 }
      16 ],
      17 "grace_periods": [
      18 {
      19 "start_time": "2025-03-09T17:57:24.212Z",
      20 "expiry_time": "2025-03-23T17:57:24.212Z"
      21 }
      22 ]
      23 },
      24 {
      25 "name": "RECEIVE_MONEY",
      26 "limits": [
      27 {
      28 "type": "AMOUNT",
      29 "unit": "EUR",
      30 "value": "1000.00",
      31 "remaining_value": "0.00"
      32 }
      33 ],
      34 "grace_periods": [
      35 {
      36 "start_time": "2025-03-09T17:57:24.212Z",
      37 "expiry_time": "2025-03-23T17:57:24.212Z"
      38 }
      39 ]
      40 },
      41 {
      42 "name": "APPLE_PAY",
      43 "limits": [
      44 {
      45 "type": "AMOUNT",
      46 "unit": "EUR",
      47 "value": "1000.00",
      48 "remaining_value": "0.00"
      49 }
      50 ],
      51 "grace_periods": [
      52 {
      53 "start_time": "2025-03-09T17:57:24.212Z",
      54 "expiry_time": "2025-03-23T17:57:24.212Z"
      55 }
      56 ]
      57 },
      58 {
      59 "name": "WITHDRAW_MONEY",
      60 "limits": [
      61 {
      62 "type": "AMOUNT",
      63 "unit": "EUR",
      64 "value": "1000.00",
      65 "remaining_value": "0.00"
      66 }
      67 ]
      68 }
      69 ],
      70 "required": {
      71 "op": "ALL_OF",
      72 "attributes": [
      73 "$.business_entity.merchant_category_code",
      74 "c1c63"
      75 ,
      76 {
      77 "op": "ALL_OF",
      78 "attributes": [
      79 "$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].birth_details.date_of_birth",
      80 "$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].primary_residence",
      81 "$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].occupation",
      82 "$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].citizenship",
      83 {
      84 "op": "ONE_OF",
      85 "attributes": [
      86 "$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].phone_numbers[?(@['type']=='BUSINESS')]",
      87 "$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].phone_numbers[?(@['type']=='HOME')]",
      88 "$.individual_owners[?(@['id']=='TH2SLRZ8X24TU')].phone_numbers[?(@['type']=='MOBILE')]"
      89 ]
      90 }
      91 ]
      92 },
      93 {
      94 "op": "ONE_OF",
      95 "attributes": [
      96 "$.business_entity.office_bearer[?(@['id']=='4864XNNGRU7AY')].identification_documents[?(@['type']=='INDIVIDUAL_TAX_IDENTIFICATION_NUMBER')]",
      97 "$.business_entity.office_bearer[?(@['id']=='4864XNNGRU7AY')].identification_documents[?(@['type']=='SOCIAL_SECURITY_NUMBER')]"
      98 ]
      99 },
      100 {
      101 "op": "ALL_OF",
      102 "attributes": [
      103 "$.business_entity.identification_documents[?(@['type']=='BUSINESS_REGISTRATION_NUMBER')]"
      104 ]
      105 }
      106 ]
      107 },
      108 "required_corrections": {
      109 "op": "ALL_OF",
      110 "attributes": [
      111 "$.business_entity.beneficial_owners.individuals[?(@['id']=='GHLRS5QFH7JHU')].names[?(@['type']=='LEGAL')]",
      112 "$.business_entity.beneficial_owners.individuals[?(@['id']=='GHLRS5QFH7JHU')].birth_details.date_of_birth",
      113 "$.business_entity.beneficial_owners.individuals[?(@['id']=='GHLRS5QFH7JHU')].addresses[?(@['type']=='HOME')]",
      114 "$.business_entity.registered_business_address",
      115 "c1c63"
      116 ]
      117 }
      118 },
      119 {
      120 "name": "MANAGED_PATH_CIP_COLLECTION",
      121 "status": "COMPLETED",
      122 "capabilities": [
      123 {
      124 "name": "APPLE_PAY"
      125 },
      126 {
      127 "name": "CUSTOM_CARD_PROCESSING"
      128 },
      129 {
      130 "name": "RECEIVE_MONEY"
      131 },
      132 {
      133 "name": "WITHDRAW_MONEY"
      134 }
      135 ]
      136 }
      137 ],
      138 "required_documents": [
      139 {
      140 "id": "c1c63",
      141 "name": "BUSINESS_REGISTRATION",
      142 "entity": "$.business_entity",
      143 "links": [
      144 {
      145 "href": "https://api.paypal.com/v1/customer/supporting-documents/8442128f-b54d-4d9b-88f7-32c675f1780f/upload",
      146 "rel": "upload",
      147 "method": "POST"
      148 }
      149 ]
      150 }
      151 ]
      152}

      If you accept cookies, we’ll use them to improve and customize your experience and enable our partners to show you personalized PayPal ads when you visit other sites. Manage cookies and learn more