openapi: 3.0.3 info: title: Paypal Subscriptions Authorizations Partner-Referrals API description: You can use billing plans and subscriptions to create subscriptions that process recurring PayPal payments for physical or digital goods, or services. A plan includes pricing and billing cycle information that defines the amount and frequency of charge for a subscription. You can also define a fixed plan, such as a $5 basic plan or a volume- or graduated-based plan with pricing tiers based on the quantity purchased. For more information, see Subscriptions Overview. version: '1.6' contact: {} servers: - url: https://api-m.sandbox.paypal.com description: PayPal Sandbox Environment - url: https://api-m.paypal.com description: PayPal Live Environment tags: - name: Partner-Referrals description: Enables you to create and get information about shared customer data. paths: /v2/customer/partner-referrals: post: summary: Paypal Create partner referral description: Creates a partner referral that is shared by the partner or API caller. The partner referral is used to onboard the seller, and contains the seller's personal, business, financial and operations. operationId: partner-referrals.create responses: '201': description: A successful request returns the HTTP `201 Created` status code and a JSON response body that contains a [HATEOAS link](/docs/api/overview/#hateoas-links) to show the referral data and an `action_url` to which you redirect the customer in a browser to complete the signup process. The `partner_referral_id` token is appended to the URL. content: application/json: schema: $ref: '#/components/schemas/create_referral_data_response' '400': description: Request is not well-formed, syntactically incorrect, or violates schema. content: application/json: schema: allOf: - $ref: '#/components/schemas/error_400' - $ref: '#/components/schemas/400' '401': description: The API call is not authorized. content: application/json: schema: allOf: - $ref: '#/components/schemas/error_401' - $ref: '#/components/schemas/401' '403': description: Authorization failed due to insufficient permissions or missing scopes on the caller account. content: application/json: schema: allOf: - $ref: '#/components/schemas/error_403' - $ref: '#/components/schemas/403' '422': description: The caller is not a business account or the account is closed or locked. content: application/json: schema: allOf: - $ref: '#/components/schemas/error_422' - $ref: '#/components/schemas/422' '500': description: An internal server error has occurred. content: application/json: schema: $ref: '#/components/schemas/error_500' default: $ref: '#/components/responses/default' requestBody: content: application/json: schema: $ref: '#/components/schemas/referral_data' required: true security: - Oauth2: - https://uri.paypal.com/services/customer/partner-referrals/readwrite tags: - Partner-Referrals /v2/customer/partner-referrals/{partner_referral_id}: get: summary: Paypal Show referral data description: Shows details by ID for referral data that was shared by the partner or API caller. operationId: partner-referrals.read responses: '200': description: A successful request returns the HTTP `200 OK` status code and a JSON response body that shows referral data. content: application/json: schema: $ref: '#/components/schemas/referral_data_response' examples: referral_data: value: individual_owners: - names: - prefix: Mr. given_name: John surname: Doe middle_name: Middle suffix: Jr. full_name: John Middle Doe Jr. type: LEGAL citizenship: US addresses: - address_line_1: One Washington Square address_line_2: Apt 123 admin_area_2: San Jose admin_area_1: CA postal_code: '95112' country_code: US type: HOME phones: - country_code: '1' national_number: '6692468839' extension_number: '1234' type: MOBILE birth_details: date_of_birth: '1955-12-29' type: PRIMARY business_entity: business_type: type: INDIVIDUAL subtype: ASSO_TYPE_INCORPORATED business_industry: category: '1004' mcc_code: '8931' subcategory: '2025' business_incorporation: incorporation_country_code: US incorporation_date: '1986-12-29' names: - business_name: Test Enterprise type: LEGAL_NAME emails: - type: CUSTOMER_SERVICE email: customerservice@example.com website: https://mystore.testenterprises.com addresses: - address_line_1: One Washington Square address_line_2: Apt 123 admin_area_2: San Jose admin_area_1: CA postal_code: '95112' country_code: US type: WORK phones: - country_code: '1' national_number: '6692478833' extension_number: '1234' type: CUSTOMER_SERVICE beneficial_owners: individual_beneficial_owners: - names: - prefix: Mr. given_name: John surname: Doe middle_name: Middle suffix: Jr. full_name: John Middle Doe Jr. type: LEGAL citizenship: US addresses: - address_line_1: One Washington Square address_line_2: Apt 123 admin_area_2: San Jose admin_area_1: CA postal_code: '95112' country_code: US type: HOME phones: - country_code: '1' national_number: '6692468839' extension_number: '1234' type: MOBILE birth_details: date_of_birth: '1955-12-29' percentage_of_ownership: '50' business_beneficial_owners: - business_type: type: INDIVIDUAL subtype: ASSO_TYPE_INCORPORATED business_industry: category: '1004' mcc_code: '8931' subcategory: '2025' business_incorporation: incorporation_country_code: US incorporation_date: '1986-12-29' names: - business_name: Test Enterprise type: LEGAL_NAME emails: - type: CUSTOMER_SERVICE email: customerservice@example.com website: https://mystore.testenterprises.com addresses: - address_line_1: One Washington Square address_line_2: Apt 123 admin_area_2: San Jose admin_area_1: CA postal_code: '95112' country_code: US type: WORK phones: - country_code: '1' national_number: '6692478833' extension_number: '1234' type: CUSTOMER_SERVICE percentage_of_ownership: '50' office_bearers: - names: - prefix: Mr. given_name: John surname: Doe middle_name: Middle suffix: Jr. full_name: John Middle Doe Jr. type: LEGAL citizenship: US addresses: - address_line_1: One Washington Square address_line_2: Apt 123 admin_area_2: San Jose admin_area_1: CA postal_code: '95112' country_code: US type: HOME phones: - country_code: '1' national_number: '6692468839' extension_number: '1234' type: MOBILE birth_details: date_of_birth: '1955-12-29' role: DIRECTOR annual_sales_volume_range: minimum_amount: currency_code: USD value: '10000' maximum_amount: currency_code: USD value: '50000' average_monthly_volume_range: minimum_amount: currency_code: USD value: '1000' maximum_amount: currency_code: USD value: '50000' purpose_code: P0104 email: accountemail@example.com preferred_language_code: en-US tracking_id: testenterprices123122 partner_config_override: partner_logo_url: https://www.paypalobjects.com/webstatic/mktg/logo/pp_cc_mark_111x69.jpg return_url: https://testenterprises.com/merchantonboarded return_url_description: the url to return the merchant after the paypal onboarding process. action_renewal_url: https://testenterprises.com/renew-exprired-url show_add_credit_card: true operations: - operation: BANK_ADDITION financial_instruments: banks: - nick_name: Bank of America account_number: '123405668293' account_type: CHECKING currency_code: USD identifiers: - type: ROUTING_NUMBER_1 value: '123456789' legal_consents: - type: SHARE_DATA_CONSENT granted: true products: - EXPRESS_CHECKOUT '401': description: The API call is not authorized. content: application/json: schema: allOf: - $ref: '#/components/schemas/error_401' - $ref: '#/components/schemas/401' '403': description: Authorization failed due to insufficient permissions or missing scopes on the caller Account. content: application/json: schema: allOf: - $ref: '#/components/schemas/error_403' - $ref: '#/components/schemas/403' '500': description: An internal server error has occurred. content: application/json: schema: $ref: '#/components/schemas/error_500' default: $ref: '#/components/responses/default' parameters: - $ref: '#/components/parameters/partner_referral_id' security: - Oauth2: - https://uri.paypal.com/services/customer/partner-referrals/readwrite - Oauth2: - https://uri.paypal.com/services/customer/partner-referrals tags: - Partner-Referrals components: schemas: phone_number_tag: description: Tag associated with the phone number. title: Phone number tag type: string pattern: ^[0-9A-Z_]+$ minLength: 1 maxLength: 255 enum: - MOBILE - LANDLINE billing_experience_preference: type: object title: Billing Experience Preference description: The preference that customizes the billing experience of the customer. additionalProperties: false properties: experience_id: type: string description: The ID of the payment web experience profile. minLength: 1 maxLength: 20 pattern: ^[a-zA-Z0-9-]+$ billing_context_set: type: boolean description: Indicates whether the partner has already displayed the billing context to the seller. person: title: Person description: Details of the person or party. properties: id: description: The encrypted party ID. type: string readOnly: true minLength: 1 maxLength: 20 pattern: ^[0-9A-Z]+$ names: description: The name of the person. type: array items: $ref: '#/components/schemas/person_name' minItems: 0 maxItems: 5 citizenship: description: The citizenship country code of the person. $ref: '#/components/schemas/country_code' addresses: description: The list of addresses associated with the person. type: array items: $ref: '#/components/schemas/person_address_detail' minItems: 0 maxItems: 5 phones: description: The list of phone numbers associated with the person. type: array items: $ref: '#/components/schemas/person_phone_detail' minItems: 0 maxItems: 5 birth_details: description: The person's birth details. $ref: '#/components/schemas/birth_details' documents: description: A person's or party's related document data collected from the customer. For example SSN, ITIN, or business registration number collected from the user.
Note: This field is not applicable for POST [/v2/customer/partner-referrals](/docs/api/partner-referrals/v2/#partner-referrals_create) API calls.type: array items: $ref: '#/components/schemas/person_document' minItems: 0 maxItems: 20 link_description: type: object title: Link Description description: The request-related [HATEOAS link](/docs/api/reference/api-responses/#hateoas-links) information. required: - href - rel properties: href: type: string description: The complete target URL. To make the related call, combine the method with this [URI Template-formatted](https://tools.ietf.org/html/rfc6570) link. For pre-processing, include the `$`, `(`, and `)` characters. The `href` is the key HATEOAS component that links a completed call with a subsequent call. rel: type: string description: The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which serves as an ID for a link that unambiguously describes the semantics of the link. See [Link Relations](https://www.iana.org/assignments/link-relations/link-relations.xhtml). method: type: string description: The HTTP method required to make the related call. enum: - GET - POST - PUT - DELETE - HEAD - CONNECT - OPTIONS - PATCH error_422: type: object title: Unprocessable Entity Error description: The requested action cannot be performed and may require interaction with APIs or processes outside of the current request. This is distinct from a 500 response in that there are no systemic problems limiting the API from performing the request. properties: name: type: string enum: - UNPROCESSABLE_ENTITY message: type: string enum: - The requested action could not be performed, semantically incorrect, or failed business validation. details: type: array items: $ref: '#/components/schemas/error_details' debug_id: type: string description: The PayPal internal ID. Used for correlation purposes. links: description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS). type: array minItems: 0 maxItems: 10000 items: $ref: '#/components/schemas/error_link_description' billing_agreement: type: object title: Billing Agreement description: The details of the billing agreement between the partner and a seller. additionalProperties: false properties: description: type: string description: The billing agreement description. minLength: 1 maxLength: 125 pattern: ^.+$ billing_experience_preference: $ref: '#/components/schemas/billing_experience_preference' merchant_custom_data: type: string description: The custom data for the billing agreement. minLength: 1 maxLength: 125 pattern: ^[a-zA-Z0-9-]+$ approval_url: type: string format: uri description: The URL to which to redirect seller to accept the billing agreement. minLength: 1 maxLength: 125 ec_token: type: string description: The billing agreement token for the agreement. minLength: 1 maxLength: 50 pattern: ^[0-9A-Z_-]+$ product: type: string description: The PayPal product for which the customer is onboarded. title: Product Name minLength: 1 maxLength: 127 pattern: ^[0-9A-Z_-]+$ enum: - EXPRESS_CHECKOUT - PAYPAL_COMMERCE_PLATFORM_BUSINESS - PPPLUS - WEBSITE_PAYMENT_PRO - PAYMENT_METHODS - PPCP - ADVANCED_VAULTING - IZETTLE error_link_description: title: Link Description description: The request-related [HATEOAS link](/api/rest/responses/#hateoas-links) information. type: object required: - href - rel properties: href: description: The complete target URL. To make the related call, combine the method with this [URI Template-formatted](https://tools.ietf.org/html/rfc6570) link. For pre-processing, include the `$`, `(`, and `)` characters. The `href` is the key HATEOAS component that links a completed call with a subsequent call. type: string minLength: 0 maxLength: 20000 pattern: ^.*$ rel: description: The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which serves as an ID for a link that unambiguously describes the semantics of the link. See [Link Relations](https://www.iana.org/assignments/link-relations/link-relations.xhtml). type: string minLength: 0 maxLength: 100 pattern: ^.*$ method: description: The HTTP method required to make the related call. type: string minLength: 3 maxLength: 6 pattern: ^[A-Z]*$ enum: - GET - POST - PUT - DELETE - PATCH phone: type: object title: Phone description: The phone number in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). properties: country_code: type: string description: The country calling code (CC), in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the CC and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN). minLength: 1 maxLength: 3 pattern: ^[0-9]{1,3}?$ national_number: type: string description: The national number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of the country calling code (CC) and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN). minLength: 1 maxLength: 14 pattern: ^[0-9]{1,14}?$ extension_number: type: string description: The extension number. minLength: 1 maxLength: 15 pattern: ^[0-9]{1,15}?$ required: - country_code - national_number individual_owner: title: Individual_owner description: The individual owner of the account. allOf: - $ref: '#/components/schemas/person' - properties: type: description: The actual role of this user on the account, PRIMARY/SECONDARY. $ref: '#/components/schemas/individual_owner_type' business_incorporation: title: Business_incorporation type: object description: Business incorporation information. properties: incorporation_country_code: description: The incorporation country code. $ref: '#/components/schemas/country_code' incorporation_date: description: date of incorporation $ref: '#/components/schemas/date_no_time' incorporation_province_code: description: The province of incorporation. type: string minLength: 1 maxLength: 50 pattern: ^[A-Z]{2}-([A-Z]{2,3}|[0-9]{2,3})$ error_default: description: The default error response. oneOf: - $ref: '#/components/schemas/error_400' - $ref: '#/components/schemas/error_401' - $ref: '#/components/schemas/error_403' - $ref: '#/components/schemas/error_404' - $ref: '#/components/schemas/error_409' - $ref: '#/components/schemas/error_415' - $ref: '#/components/schemas/error_422' - $ref: '#/components/schemas/error_500' - $ref: '#/components/schemas/error_503' business_name_detail: type: object title: Business name description: Name of the business provided. allOf: - $ref: '#/components/schemas/business_name' - properties: id: description: The encrypted ID for the business name. type: string readOnly: true minLength: 1 maxLength: 20 type: description: The type of business name. For example, trading name. $ref: '#/components/schemas/business_name_type' required: - type business_name: type: object title: Business Name description: The business name of the party. properties: business_name: type: string description: Required. The business name of the party. maxLength: 300 '401': properties: details: type: array items: anyOf: - title: AUTHORIZATION_ERROR properties: issue: type: string enum: - AUTHORIZATION_ERROR description: type: string enum: - This API call is not authorized person_phone_detail: type: object title: Phone details description: The phone number, in its canonical international [E.164 numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). allOf: - $ref: '#/components/schemas/phone' - properties: contact_name: type: string description: The name that the phone number is connected to. minLength: 1 maxLength: 900 inactive: type: boolean description: Whether this phone number has been inactivated by the user. readOnly: true primary: type: boolean description: Whether this is the primary contact phone number of the user. primary_mobile: type: boolean description: Whether this is the primary mobile phone number of the user. type: $ref: '#/components/schemas/phone_type' description: The type of phone number provided. For example, home, work, or mobile. tags: type: array description: Array of tags for this phone number. items: $ref: '#/components/schemas/phone_number_tag' minItems: 0 maxItems: 20 required: - type business_sub_type: description: Sub classification of the business type title: The business sub type. type: string pattern: ^[0-9A-Z_]+$ minLength: 1 maxLength: 255 enum: - ASSO_TYPE_INCORPORATED - ASSO_TYPE_NON_INCORPORATED - GOVT_TYPE_ENTITY - GOVT_TYPE_EMANATION - GOVT_TYPE_ESTD_COMM - GOVT_TYPE_ESTD_FC - GOVT_TYPE_ESTD_ST_TR business_beneficial_owner: title: Business_beneficial_owner description: The business beneficial owner of the account. allOf: - $ref: '#/components/schemas/business' - properties: percentage_of_ownership: description: The percentage of shares this person owns in the company. $ref: '#/components/schemas/percentage' payout_attributes: type: object title: Payout Attributes additionalProperties: false description: Payout specific attributes. properties: marketplace: type: boolean description: If `true`, specifies that the merchant or platform is offering goods or services on behalf of 3rd party sellers. kyc_required: type: boolean description: If `true`, specifies that the Kyc is required for the merchant. country_transfer_method_currency_selection: type: array description: Requested country, transfer method and currency. minItems: 1 maxItems: 50 items: $ref: '#/components/schemas/country_transfer_method_currency_selection' error_401: type: object title: Unauthorized Error description: Authentication failed due to missing Authorization header, or invalid authentication credentials. properties: name: type: string enum: - AUTHENTICATION_FAILURE message: type: string enum: - Authentication failed due to missing authorization header, or invalid authentication credentials. details: type: array items: $ref: '#/components/schemas/error_details' debug_id: type: string description: The PayPal internal ID. Used for correlation purposes. links: description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS). type: array minItems: 0 maxItems: 10000 items: $ref: '#/components/schemas/error_link_description' person_document: title: Person document description: The documents associated with the person. allOf: - $ref: '#/components/schemas/document' - properties: type: description: The actual type of the document. It could be `ID_CARD`, `PASSPORT`, etc. $ref: '#/components/schemas/person_document_type' purpose_code_enum: type: string title: Purpose Code description: The purpose code. Required only for India. For more information, see the Reserve Bank Of India web site. Value is:
P0104. Cross border delivery of goods and services.P0301. Business related travel purchase.P0801. Hardware consulting.P0802. Software consulting.P0803. Data processing consulting.P0805. Freelance journalism.P0806. Other information services.P0902. Licensing revenues.P1004. Legal.P1005. Accounting and tax.P1006. Business and management consultancy.P1007. Advertising and market research.P1008. Research and development.P1009. Architectural services.Note: Up to 64 characters are allowed before and 255 characters are allowed after theformat: ppaas_common_email_address_v2 minLength: 3 maxLength: 254 pattern: ^.+@[^"\-].+$ date_time: type: string description: The date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are required while fractional seconds are optional.@sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted@sign exists.
Note: The regular expression provides guidance but does not reject all invalid dates.format: ppaas_date_time_v3 minLength: 20 maxLength: 64 pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$ language: type: string description: The [language tag](https://tools.ietf.org/html/bcp47#section-2) for the language in which to localize the error-related strings, such as messages, issues, and suggested actions. The tag is made up of the [ISO 639-2 language code](https://www.loc.gov/standards/iso639-2/php/code_list.php), the optional [ISO-15924 script tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166 alpha-2 country code](/docs/integration/direct/rest/country-codes/). format: ppaas_common_language_v3 maxLength: 10 minLength: 2 pattern: ^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}))?$ currency_code-2: description: The [three-character ISO-4217 currency code](/docs/api/reference/currency-codes/) that identifies the currency. type: string format: ppaas_common_currency_code_v2 minLength: 3 maxLength: 3 error_403: type: object title: Not Authorized Error description: 'The client is not authorized to access this resource, although it may have valid credentials. ' properties: name: type: string enum: - NOT_AUTHORIZED message: type: string enum: - Authorization failed due to insufficient permissions. details: type: array items: $ref: '#/components/schemas/error_details' debug_id: type: string description: The PayPal internal ID. Used for correlation purposes. links: description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS). type: array minItems: 0 maxItems: 10000 items: $ref: '#/components/schemas/error_link_description' capabilities: type: string description: Optional capabilities of the selected PayPal product for which the customer is being onboarded. title: Capability minLength: 1 maxLength: 127 pattern: ^[A-Z0-9_]+$ enum: - PAYPAL_WALLET_VAULTING_ADVANCED - PAY_UPON_INVOICE - APPLE_PAY name: type: object title: Name description: The name of the party. properties: prefix: type: string description: The prefix, or title, to the party's name. maxLength: 140 given_name: type: string description: When the party is a person, the party's given, or first, name. maxLength: 140 surname: type: string description: When the party is a person, the party's surname or family name. Also known as the last name. Required when the party is a person. Use also to store multiple surnames including the matronymic, or mother's, surname. maxLength: 140 middle_name: type: string description: When the party is a person, the party's middle name. Use also to store multiple middle names including the patronymic, or father's, middle name. maxLength: 140 suffix: type: string description: The suffix for the party's name. maxLength: 140 full_name: type: string description: When the party is a person, the party's full name. maxLength: 300 birth_details: title: Birth details type: object description: Date of birth data provided by the user properties: date_of_birth: description: date of birth, fomrat [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). $ref: '#/components/schemas/date_no_time' required: - date_of_birth classic_api_integration: type: object title: CLASSIC API integration description: The integration details for PayPal CLASSIC endpoints. additionalProperties: false properties: {} rest_api_integration: type: object title: REST API Integration description: The integration details for PayPal REST endpoints. additionalProperties: false properties: integration_method: type: string description: The REST-credential integration method. default: PAYPAL minLength: 1 maxLength: 255 pattern: ^[0-9A-Z_-]+$ enum: - BRAINTREE - PAYPAL integration_type: type: string title: Integration Type description: The type of REST-endpoint integration. To integrate with Braintree v.zero for PayPal REST endpoints, specify `third_party_details`. minLength: 1 maxLength: 255 pattern: ^[0-9A-Z_-]+$ enum: - FIRST_PARTY - THIRD_PARTY first_party_details: type: object title: REST First-Party Details description: The integration details for PayPal first party REST endpoints. additionalProperties: false properties: features: type: array description: An array of features that partner can access, or use, in PayPal on behalf of the seller. The seller grants permission for these features to the partner. items: $ref: '#/components/schemas/rest_endpoint_features_enum' seller_nonce: type: string description: S256 - The code verifier must be high-entropy cryptographic random string with a byte length of 43-128 range. minLength: 44 maxLength: 128 pattern: ^[a-zA-Z0-9-_:]+$ required: - features - seller_nonce third_party_details: type: object title: REST Third-Party Details description: The integration details for PayPal REST endpoints. additionalProperties: false properties: features: type: array description: An array of features that partner can access, or use, in PayPal on behalf of the seller. The seller grants permission for these features to the partner. items: $ref: '#/components/schemas/rest_endpoint_features_enum' minItems: 0 maxItems: 20 required: - features business_type: description: The business types classified title: Business type type: string pattern: ^[0-9A-Z_]+$ minLength: 1 maxLength: 255 enum: - ANY_OTHER_BUSINESS_ENTITY - ASSOCIATION - CORPORATION - GENERAL_PARTNERSHIP - GOVERNMENT - INDIVIDUAL - LIMITED_LIABILITY_PARTNERSHIP - LIMITED_LIABILITY_PROPRIETORS - LIMITED_LIABILITY_PRIVATE_CORPORATION - LIMITED_PARTNERSHIP - LIMITED_PARTNERSHIP_PRIVATE_CORPORATION - NONPROFIT - ONLY_BUY_OR_SEND_MONEY - OTHER_CORPORATE_BODY - PARTNERSHIP - PRIVATE_PARTNERSHIP - PROPRIETORSHIP - PROPRIETORSHIP_CRAFTSMAN - PROPRIETORY_COMPANY - PRIVATE_CORPORATION - PUBLIC_COMPANY - PUBLIC_CORPORATION - PUBLIC_PARTNERSHIP - REGISTERED_COOPERATIVE person_address_detail: type: object title: Person address detail description: A simple postal address with coarse-grained fields. allOf: - $ref: '#/components/schemas/address_portable' - properties: type: description: The address type under which this is classified. $ref: '#/components/schemas/person_address_type' primary: type: boolean description: Whether this is the primary address of the user. This cannot be directly set to `false`, but rather it is toggled `false` in the datastore when another address is set to primary. inactive: type: boolean description: Whether this address has been inactivated. readOnly: true required: - type currency_range: type: object title: Currency Range description: The currency range, from the minimum inclusive amount to the maximum inclusive amount. additionalProperties: false properties: minimum_amount: description: The minimum inclusive amount for the range. $ref: '#/components/schemas/money' maximum_amount: description: The maximum inclusive amount for the range. $ref: '#/components/schemas/money' business_type_info: title: Business type information type: object description: The type and subtype of the business. properties: type: description: Type of business entity like corporation, sole prop, governmental. $ref: '#/components/schemas/business_type' subtype: description: The sub classification of the business type. $ref: '#/components/schemas/business_sub_type' country_code: type: string description: The [two-character ISO 3166-1 code](/docs/api/reference/country-codes/) that identifies the country or region.
Note: The country code for Great Britain isformat: ppaas_common_country_code_v2 maxLength: 2 minLength: 2 pattern: ^([A-Z]{2}|C2)$ referral_data: type: object title: Customer Data description: The customer's referral data that partners share with PayPal. allOf: - description: The common account model representing the basic account structure. $ref: '#/components/schemas/account' - properties: email: description: Email address of the customer used to create the account. $ref: '#/components/schemas/email_address' preferred_language_code: description: The preferred [locale code](/docs/api/reference/locale-codes/) to use in the onboarding flow for the customer. $ref: '#/components/schemas/language' tracking_id: type: string description: The partner's unique identifier for this customer in their system which can be used to track user in PayPal. minLength: 1 maxLength: 127 partner_config_override: description: The configuration property that the partner intends to override for this onboarding request. $ref: '#/components/schemas/partner_config_override' financial_instruments: description: Array of financial instruments attached to the customer's account. $ref: '#/components/schemas/financial_instruments' operations: type: array description: An array of operations to perform for the customer while they share their data. items: $ref: '#/components/schemas/operation' minItems: 1 maxItems: 5 products: type: array description: An array of PayPal products to which the partner wants to onboard the customer. items: $ref: '#/components/schemas/product' minItems: 1 maxItems: 5 capabilities: type: array description: An array of capabilities which the partner wants to enable for the selected products. Supported only when products are specified. items: $ref: '#/components/schemas/capabilities' minItems: 1 maxItems: 5 outside_process_dependencies: type: array description: An array of dependent processes. items: $ref: '#/components/schemas/dependent_process' minItems: 1 maxItems: 5 legal_consents: type: array description: An array of all consents that the partner has received from this seller. If `SHARE_DATA_CONSENT` is not granted, PayPal does not store customer data. items: $ref: '#/components/schemas/legal_consent' minItems: 1 maxItems: 5 payout_attributes: description: Payout specific attributes. $ref: '#/components/schemas/payout_attributes' additionalProperties: true required: - operations - legal_consents business_name_type: description: Business name type title: The business name type. type: string pattern: ^[0-9A-Z_]+$ minLength: 1 maxLength: 255 enum: - DOING_BUSINESS_AS - LEGAL_NAME address_portable-2: type: object title: Portable Postal Address (Medium-Grained) description: 'The portable international postal address. Maps to [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls: the autocomplete attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute).' properties: address_line_1: type: string description: The first line of the address. For example, number or street. For example, `173 Drury Lane`. Required for data entry and compliance and risk checks. Must contain the full address. maxLength: 300 address_line_2: type: string description: The second line of the address. For example, suite or apartment number. maxLength: 300 address_line_3: type: string description: The third line of the address, if needed. For example, a street complement for Brazil, direction text, such as `next to Walmart`, or a landmark in an Indian address. maxLength: 100 admin_area_4: type: string description: The neighborhood, ward, or district. Smaller than `admin_area_level_3` or `sub_locality`. Value is:GBand notUKas used in the top-level domain names for that country. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
Craven House.
maxLength: 100
sub_building:
type: string
description: The first-order entity below a named building or location that represents the sub-premise. Usually a single building within a collection of buildings with a common name. Can be a flat, story, floor, room, or apartment.
maxLength: 100
required:
- country_code
business_phone_type:
type: string
title: Phone type
description: The type of phone number provided. For example, home, work, or mobile.
pattern: ^[0-9A-Z_]+$
minLength: 1
maxLength: 255
enum:
- CUSTOMER_SERVICE
- BUSINESS
'422':
properties:
details:
type: array
items:
anyOf:
- title: USER_NOT_FOUND
properties:
issue:
type: string
enum:
- USER_NOT_FOUND
description:
type: string
enum:
- Account for this Partner ID does not exist.
- title: ACCOUNT_STATUS_ERROR
properties:
issue:
type: string
enum:
- ACCOUNT_STATUS_ERROR
description:
type: string
- title: PRODUCT_PPCP_UNAUTHORIZED
properties:
issue:
type: string
enum:
- PRODUCT_PPCP_UNAUTHORIZED
description:
type: string
enum:
- Account has not been configured to use PayPal Complete Payments
business:
properties:
business_type:
description: Information related to the business like the nature of business, started date etc.
$ref: '#/components/schemas/business_type_info'
business_industry:
description: Information related to the business like the nature of business, started date etc.
$ref: '#/components/schemas/business_industry'
business_incorporation:
description: Information related to the business like the nature of business, started date etc.
$ref: '#/components/schemas/business_incorporation'
names:
description: Name of the business.
type: array
items:
$ref: '#/components/schemas/business_name_detail'
minItems: 0
maxItems: 5
emails:
description: Email addresses of the business.
type: array
items:
$ref: '#/components/schemas/email'
minItems: 0
maxItems: 5
website:
description: Website of the business.
type: string
minLength: 1
maxLength: 50
format: uri
addresses:
description: List of addresses associated with the business entity.
type: array
items:
$ref: '#/components/schemas/business_address_detail'
minItems: 0
maxItems: 5
phones:
description: List of phone number associated with the business.
type: array
items:
$ref: '#/components/schemas/business_phone_detail'
minItems: 0
maxItems: 5
documents:
description: Business Party related Document data collected from the customer.. For example SSN, ITIN, Business registration number that were collected from the user.
type: array
items:
$ref: '#/components/schemas/business_document'
minItems: 0
maxItems: 20
file_reference:
type: object
title: File Reference
description: The file reference. Can be a file in PayPal MediaServ, PayPal DMS, or another custom store.
properties:
id:
type: string
description: The ID of the referenced file.
minLength: 1
maxLength: 255
reference_url:
type: string
description: The reference URL for the file.
format: uri
minLength: 1
maxLength: 2000
content_type:
type: string
description: The [Internet Assigned Numbers Authority (IANA) media type of the file](https://www.iana.org/assignments/media-types/media-types.xhtml).
create_time:
$ref: '#/components/schemas/date_time'
description: The date and time when the file was created, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6).
size:
type: string
description: The size of the file, in bytes.
pattern: ^[0-9]+$
business_document_type:
type: string
title: Document type
description: The type of documents.
pattern: ^[0-9A-Z_]+$
minLength: 1
maxLength: 255
enum:
- SOCIAL_SECURITY_NUMBER
- EMPLOYMENT_IDENTIFICATION_NUMBER
- TAX_IDENTIFICATION_NUMBER
- PASSPORT_NUMBER
- PENSION_FUND_ID
- MEDICAL_INSURANCE_ID
- CNPJ
- CPF
- PAN
error_404:
type: object
title: Not found Error
description: The server has not found anything matching the request URI. This either means that the URI is incorrect or the resource is not available.
properties:
name:
type: string
enum:
- RESOURCE_NOT_FOUND
message:
type: string
enum:
- The specified resource does not exist.
details:
type: array
items:
$ref: '#/components/schemas/error_details'
debug_id:
type: string
description: The PayPal internal ID. Used for correlation purposes.
links:
description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
type: array
minItems: 0
maxItems: 10000
items:
$ref: '#/components/schemas/error_link_description'
dependent_process: {}
mandate:
type: object
title: Mandate
description: Seller’s consent to operate on this financial instrument.
additionalProperties: false
properties:
accepted:
type: boolean
description: Whether mandate was accepted or not.
required:
- accepted
phone_type:
type: string
title: Phone Type
description: The phone type.
enum:
- FAX
- HOME
- MOBILE
- OTHER
- PAGER
operation:
type: object
title: Operation
description: The required operation to share data.
additionalProperties: false
properties:
operation:
type: string
minLength: 1
maxLength: 255
pattern: ^[0-9A-Z_-]+$
description: The operation to enable for the customer. To enable the collection of the API permissions that you require to integrate with the customer, specify `API_INTEGRATION`. `BANK_ADDITION` is supported only for the US.
enum:
- API_INTEGRATION
- BANK_ADDITION
- BILLING_AGREEMENT
- CONTEXTUAL_MARKETING_CONSENT
- SALESFORCE_REFERRAL
api_integration_preference:
$ref: '#/components/schemas/integration_details'
billing_agreement:
$ref: '#/components/schemas/billing_agreement'
create_referral_data_response:
type: object
title: Create Referral Data Response
description: The shared referral data.
properties:
links:
type: array
title: Links
description: An array of request-related [HATEOAS links](/docs/api/overview/#hateoas-links).
readOnly: true
additionalProperties: true
minItems: 2
maxItems: 10
items:
description: The request-related [HATEOAS link](/docs/api/reference/api-responses/#hateoas-links) information.
$ref: '#/components/schemas/link_description'
error_details:
title: Error Details
type: object
description: The error details. Required for client-side `4XX` errors.
properties:
field:
type: string
description: The field that caused the error. If this field is in the body, set this value to the field's JSON pointer value. Required for client-side errors.
value:
type: string
description: The value of the field that caused the error.
location:
$ref: '#/components/schemas/error_location'
issue:
type: string
description: The unique, fine-grained application-level error code.
description:
type: string
description: The human-readable description for an issue. The description can change over the lifetime of an API, so clients must not depend on this value.
required:
- issue
legal_consent:
type: object
title: Legal Consent
description: The customer-provided consent.
additionalProperties: false
properties:
type:
type: string
description: The type of consent. `SHARE_DATA_CONSENT` gives consent to you to share your customer's data with PayPal.
pattern: ^[0-9A-Z_-]+$
minLength: 1
maxLength: 127
enum:
- SHARE_DATA_CONSENT
granted:
type: boolean
description: Indicates whether the customer agreed to share this type of data. To give consent, specify `true`. To withhold consent, specify `false`.
required:
- type
- granted
bank:
type: object
title: Bank Account
additionalProperties: false
description: The bank account information.
properties:
nick_name:
type: string
description: The user-provided short name for the user's bank account.
minLength: 1
maxLength: 50
pattern: ^[0-9A-Za-z_-]+$
account_number:
type: string
description: The bank account number.
pattern: \d+
minLength: 1
maxLength: 50
account_type:
type: string
description: The type of bank account.
minLength: 1
maxLength: 50
pattern: ^[0-9A-Z_]+$
enum:
- CHECKING
- SAVINGS
currency_code:
description: The primary currency code of the bank account.
$ref: '#/components/schemas/currency_code'
identifiers:
type: array
description: An array of instrument institute attributes. Used with the account number to uniquely identify the instrument. Value is:Craven House.
maxLength: 100
sub_building:
type: string
description: The first-order entity below a named building or location that represents the sub-premise. Usually a single building within a collection of buildings with a common name. Can be a flat, story, floor, room, or apartment.
maxLength: 100
required:
- country_code
transfer_method:
type: object
title: Requested transfer method and currency for a country
additionalProperties: false
description: Requested transfer method and currency for a country.
properties:
transfer_method_type:
type: string
description: Transfer Method type.
pattern: ^[0-9A-Z_-]+$
minLength: 1
maxLength: 50
enum:
- BANK_ACCOUNT
- PAYPAL
- VENMO
- WIRE_ACCOUNT
currencies:
type: array
description: Requested Currencies for a Transfer Method.
minItems: 1
maxItems: 50
items:
$ref: '#/components/schemas/currency_code-2'
error_400:
type: object
title: Bad Request Error
description: Request is not well-formed, syntactically incorrect, or violates schema.
properties:
name:
type: string
enum:
- INVALID_REQUEST
message:
type: string
enum:
- Request is not well-formed, syntactically incorrect, or violates schema.
details:
type: array
items:
$ref: '#/components/schemas/error_details'
debug_id:
type: string
description: The PayPal internal ID. Used for correlation purposes.
links:
description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).
type: array
minItems: 0
maxItems: 10000
items:
$ref: '#/components/schemas/error_link_description'
integration_details:
type: object
title: Integration Details
description: The integration details for the partner and customer relationship. Required if `operation` is `API_INTEGRATION`.
additionalProperties: false
properties:
classic_api_integration:
$ref: '#/components/schemas/classic_api_integration'
rest_api_integration:
$ref: '#/components/schemas/rest_api_integration'
country_code-2:
type: string
description: The [two-character ISO 3166-1 code](/docs/integration/direct/rest/country-codes/) that identifies the country or region.Note: The country code for Great Britain isformat: ppaas_common_country_code_v2 maxLength: 2 minLength: 2 pattern: ^([A-Z]{2}|C2)$ business_address_detail: type: object title: Business_address_detail description: A simple postal address with coarse-grained fields. allOf: - $ref: '#/components/schemas/address_portable' - properties: type: description: The address type under which this is classified. For example, shipping or dropoff. $ref: '#/components/schemas/business_address_type' primary: type: boolean description: Whether this is the primary address of the user. This cannot be directly set to `false`, but rather it is toggled `false` in the datastore when another address is set to primary. inactive: type: boolean description: Whether this address has been inactivated. readOnly: true required: - type country_transfer_method_currency_selection: type: object title: Requested country, transfer method and currency additionalProperties: false description: Requested country, transfer method and currency. properties: country: description: Country. $ref: '#/components/schemas/country_code' transfer_methods: type: array description: Requested transfer method and currency for a country. minItems: 1 maxItems: 50 items: $ref: '#/components/schemas/transfer_method' error_415: type: object title: Unsupported Media Type Error description: The server does not support the request payload's media type. properties: name: type: string enum: - UNSUPPORTED_MEDIA_TYPE message: type: string enum: - The server does not support the request payload's media type. details: type: array items: $ref: '#/components/schemas/error_details' debug_id: type: string description: The PayPal internal ID. Used for correlation purposes. links: description: An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS). type: array minItems: 0 maxItems: 10000 items: $ref: '#/components/schemas/error_link_description' percentage: type: string description: The percentage, as a fixed-point, signed decimal number. For example, define a 19.99% interest rate as `19.99`. format: ppaas_common_percentage_v2 pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$ rest_endpoint_features_enum: type: string title: REST Endpoint Features description: The REST endpoint. minLength: 1 maxLength: 100 pattern: ^[0-9A-Z_-]+$ enum: - PAYOUTS - PAYMENT - REFUND - FUTURE_PAYMENT - DIRECT_PAYMENT - PARTNER_FEE - DELAY_FUNDS_DISBURSEMENT - READ_SELLER_DISPUTE - UPDATE_SELLER_DISPUTE - ADVANCED_TRANSACTIONS_SEARCH - SWEEP_FUNDS_EXTERNAL_SINK - ACCESS_MERCHANT_INFORMATION - TRACKING_SHIPMENT_READWRITE - INVOICE_READ_WRITE - DISPUTE_READ_BUYER - UPDATE_CUSTOMER_DISPUTES - VAULT - BILLING_AGREEMENT partner_config_override: type: object title: Partner Configuration Override description: The preference to customize the web experience of the customer by overriding that is set at the Partner's Account. additionalProperties: false properties: partner_logo_url: type: string format: uri description: The partner logo URL to display in the customer's onboarding flow. minLength: 1 maxLength: 127 return_url: type: string format: uri description: The URL to which to redirect the customer upon completion of the onboarding process. minLength: 1 maxLength: 127 return_url_description: type: string description: The description of the return URL. minLength: 1 maxLength: 127 pattern: ^.+$ action_renewal_url: type: string format: uri description: If `renew_action_url` expires, redirect the customer to this URL. minLength: 1 maxLength: 127 show_add_credit_card: type: boolean description: Indicates whether to show an add credit card page. responses: default: description: The default response. content: application/json: schema: $ref: '#/components/schemas/error_default' parameters: partner_referral_id: name: partner_referral_id in: path description: The ID of the partner-referrals data for which to show details. required: true schema: type: string securitySchemes: Oauth2: type: oauth2 description: Oauth 2.0 authentication flows: clientCredentials: tokenUrl: /v1/oauth2/token scopes: https://uri.paypal.com/services/subscriptions: Manage plan & subscription externalDocs: url: https://developer.paypal.com/docs/api/subscriptions/v1/GBand notUKas used in the top-level domain names for that country. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.