openapi: 3.0.3 info: title: Paypal Subscriptions Authorizations Transactions 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: Transactions paths: /v1/billing/subscriptions/{id}/transactions: get: summary: List transactions for subscription description: Lists transactions for a subscription. operationId: subscriptions.transactions responses: '200': description: A successful request returns the HTTP `200 OK` status code and a JSON response body that shows subscription details. content: application/json: schema: $ref: '#/components/schemas/transactions_list' '400': description: Bad Request. Request is not well-formed, syntactically incorrect, or violates schema. content: application/json: schema: allOf: - $ref: '#/components/schemas/error_400' - $ref: '#/components/schemas/subscriptions.transactions-400' '401': description: Authentication failed due to missing authorization header, or invalid authentication credentials. content: application/json: schema: allOf: - $ref: '#/components/schemas/error_401' - $ref: '#/components/schemas/401' '403': description: Authorization failed due to insufficient permissions. content: application/json: schema: allOf: - $ref: '#/components/schemas/error_403' - $ref: '#/components/schemas/403' '404': description: The specified resource does not exist. content: application/json: schema: allOf: - $ref: '#/components/schemas/error_404' - $ref: '#/components/schemas/404' '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/id' - $ref: '#/components/parameters/start_time' - $ref: '#/components/parameters/end_time' security: - Oauth2: - https://uri.paypal.com/services/subscriptions tags: - Transactions /v1/reporting/transactions: get: summary: Paypal List transactions description: Lists transactions. Specify one or more query parameters to filter the transaction that appear in the response.
Notes:
operationId: search.get responses: '200': description: A successful request returns the HTTP `200 OK` status code and a JSON response body that lists transactions . content: application/json: schema: $ref: '#/components/schemas/search_response' default: $ref: '#/components/responses/default' parameters: - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/transaction_type' - $ref: '#/components/parameters/transaction_status' - $ref: '#/components/parameters/transaction_amount' - $ref: '#/components/parameters/transaction_currency' - $ref: '#/components/parameters/start_date' - $ref: '#/components/parameters/end_date' - $ref: '#/components/parameters/payment_instrument_type' - $ref: '#/components/parameters/store_id' - $ref: '#/components/parameters/terminal_id' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/balance_affecting_records_only' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/page' security: - Oauth2: - https://uri.paypal.com/services/reporting/search/read tags: - Transactions components: schemas: 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' error_409: type: object title: Resource Conflict Error description: The server has detected a conflict while processing this request. properties: name: type: string enum: - RESOURCE_CONFLICT message: type: string enum: - The server has detected a conflict while processing this request. 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' transactions_list: title: List Transactions description: The list transactions for a subscription request details. type: object properties: transactions: type: array description: An array of transactions. minItems: 0 maxItems: 32767 items: $ref: '#/components/schemas/transaction' total_items: type: integer description: The total number of items. minimum: 0 maximum: 500000000 total_pages: type: integer description: The total number of pages. minimum: 0 maximum: 100000000 links: type: array description: An array of request-related [HATEOAS links](/docs/api/reference/api-responses/#hateoas-links). readOnly: true minItems: 1 maxItems: 10 items: readOnly: true $ref: '#/components/schemas/link_description' '403': properties: details: type: array items: anyOf: - title: PERMISSION_DENIED properties: issue: type: string enum: - PERMISSION_DENIED description: type: string enum: - You do not have permission to access or perform operations on this resource. 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_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' 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' capture_status: type: object title: Capture Status description: The status of a captured payment. properties: status: description: The status of the captured payment. type: string readOnly: true enum: - COMPLETED - DECLINED - PARTIALLY_REFUNDED - PENDING - REFUNDED status_details: description: The details of the captured payment status. readOnly: true $ref: '#/components/schemas/capture_status_details' 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 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 alternate_full_name: type: string description: DEPRECATED. The party's alternate name. Can be a business name, nickname, or any other name that cannot be split into first, last name. Required when the party is a business. maxLength: 300 full_name: type: string description: When the party is a person, the party's full name. maxLength: 300 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 transaction: title: Transaction Details description: The transaction details. type: object allOf: - $ref: '#/components/schemas/capture_status' - properties: id: type: string description: The PayPal-generated transaction ID. minLength: 3 maxLength: 50 readOnly: true amount_with_breakdown: $ref: '#/components/schemas/amount_with_breakdown' payer_name: description: The name of the customer. readOnly: true $ref: '#/components/schemas/name' payer_email: description: The email ID of the customer. readOnly: true $ref: '#/components/schemas/email_address' time: description: The date and time when the transaction was processed, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). readOnly: true $ref: '#/components/schemas/date_time' required: - id - amount_with_breakdown - time 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' error_location: type: string description: The location of the field that caused the error. Value is `body`, `path`, or `query`. enum: - body - path - query default: body money: type: object title: Money description: The currency and amount for a financial transaction, such as a balance or payment due. properties: currency_code: $ref: '#/components/schemas/currency_code' value: type: string description: The value, which might be:For the required number of decimal places for a currency code, see [Currency Codes](/docs/integration/direct/rest/currency-codes/). maxLength: 32 pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$ required: - currency_code - value capture_status_details: title: Capture Status Details description: The details of the captured payment status. type: object properties: reason: description: The reason why the captured payment status is `PENDING` or `DENIED`. type: string enum: - BUYER_COMPLAINT - CHARGEBACK - ECHECK - INTERNATIONAL_WITHDRAWAL - OTHER - PENDING_REVIEW - RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION - REFUNDED - TRANSACTION_APPROVED_AWAITING_FUNDING - UNILATERAL - VERIFICATION_REQUIRED amount_with_breakdown: type: object title: Amount with Breakdown description: The breakdown details for the amount. Includes the gross, tax, fee, and shipping amounts. properties: gross_amount: description: The amount for this transaction. readOnly: true $ref: '#/components/schemas/money' total_item_amount: description: The item total for the transaction. readOnly: true $ref: '#/components/schemas/money' fee_amount: description: The fee details for the transaction. readOnly: true $ref: '#/components/schemas/money' shipping_amount: description: The shipping amount for the transaction. readOnly: true $ref: '#/components/schemas/money' tax_amount: description: The tax amount for the transaction. readOnly: true $ref: '#/components/schemas/money' net_amount: description: The net amount that the payee receives for this transaction in their PayPal account. The net amount is computed as gross_amount minus the paypal_fee. readOnly: true $ref: '#/components/schemas/money' required: - gross_amount '401': properties: details: type: array items: anyOf: - title: INVALID_ACCOUNT_STATUS properties: issue: type: string enum: - INVALID_ACCOUNT_STATUS description: type: string enum: - Account validations failed for the user. error_503: type: object title: Service Unavailable Error description: The server is temporarily unable to handle the request, for example, because of planned maintenance or downtime. properties: name: type: string enum: - SERVICE_UNAVAILABLE message: type: string enum: - Service Unavailable. 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' example: name: SERVICE_UNAVAILABLE message: Service Unavailable. debug_id: 90957fca61718 information_link: https://developer.paypal.com/docs/api/orders/v2/#error-SERVICE_UNAVAILABLE 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' currency_code: description: The [three-character ISO-4217 currency code](/docs/integration/direct/rest/currency-codes/) that identifies the currency. type: string format: ppaas_common_currency_code_v2 minLength: 3 maxLength: 3 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' '404': properties: details: type: array items: anyOf: - title: INVALID_RESOURCE_ID properties: issue: type: string enum: - INVALID_RESOURCE_ID description: type: string enum: - Specified resource ID does not exist. Please check the resource ID and try again. 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' error_500: type: object title: Internal Server Error description: This is either a system or application error, and generally indicates that although the client appeared to provide a correct request, something unexpected has gone wrong on the server. properties: name: type: string enum: - INTERNAL_SERVER_ERROR message: type: string enum: - An internal server error occurred. 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' example: name: INTERNAL_SERVER_ERROR message: An internal server error occurred. debug_id: 90957fca61718 links: - href: https://developer.paypal.com/api/orders/v2/#error-INTERNAL_SERVER_ERROR rel: information_link email_address: type: string description: The internationalized email address.
Note: Up to 64 characters are allowed before and 255 characters are allowed after the @ sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted @ sign exists.
format: 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.
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})$ subscriptions.transactions-400: properties: details: type: array items: anyOf: - title: INVALID_PARAMETER_SYNTAX properties: issue: type: string enum: - INVALID_PARAMETER_SYNTAX description: type: string enum: - The value of a field does not conform to the expected format. - title: INVALID_PARAMETER_VALUE properties: issue: type: string enum: - INVALID_PARAMETER_VALUE description: type: string enum: - The value of a field is invalid. - title: MISSING_REQUIRED_PARAMETER properties: issue: type: string enum: - MISSING_REQUIRED_PARAMETER description: type: string enum: - A required field is missing. incentive_detail: type: object title: Incentive Details description: The incentive details. properties: incentive_type: type: string description: The type of incentive, such as a special offer or coupon. minLength: 1 maxLength: 500 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ incentive_code: type: string description: The code that identifies an incentive, such as a coupon. minLength: 1 maxLength: 200 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ incentive_amount: $ref: '#/components/schemas/money' description: The incentive amount. incentive_program_code: type: string description: The incentive program code that identifies a merchant loyalty or incentive program. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ transaction_info: type: object title: Transaction Information description: The transaction information. properties: paypal_account_id: type: string description: The ID of the PayPal account of the counterparty. minLength: 1 maxLength: 24 pattern: ^[a-zA-Z0-9]*$ transaction_id: type: string description: The PayPal-generated transaction ID. readOnly: true minLength: 1 maxLength: 24 pattern: ^[a-zA-Z0-9]*$ paypal_reference_id: type: string description: The PayPal-generated base ID. PayPal exclusive. Cannot be altered. Defined as a related, pre-existing transaction or event. minLength: 1 maxLength: 24 pattern: ^[a-zA-Z0-9]*$ paypal_reference_id_type: type: string description: The PayPal reference ID type. minLength: 3 maxLength: 3 pattern: ^[a-zA-Z0-9]*$ enum: - ODR - TXN - SUB - PAP transaction_event_code: type: string minLength: 1 maxLength: 5 pattern: ^[a-zA-Z0-9]*$ description: A five-digit transaction event code that classifies the transaction type based on money movement and debit or credit. For example, T0001. See [Transaction event codes](/docs/integration/direct/transaction-search/transaction-event-codes/). transaction_initiation_date: description: The date and time when work on a transaction began in the PayPal system, as expressed in the time zone of the account on this side of the payment. Specify the value in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). $ref: '#/components/schemas/date_time' transaction_updated_date: description: The date and time when the transaction was last changed, as expressed in the time zone of the account on this side of the payment. Specify the value in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). $ref: '#/components/schemas/date_time' transaction_amount: $ref: '#/components/schemas/money' description: The all-inclusive gross transaction amount that was transferred between the sender and receiver through PayPal. fee_amount: $ref: '#/components/schemas/money' description: The PayPal fee amount. All transaction fees are included in this amount, which is the record of fee associated with the transaction.
Note: This field contains a value only when a transaction fee is applied and processed for this transaction.
discount_amount: $ref: '#/components/schemas/money' description: The reduction in price offered for goods or services purchased.
Note: This discount is for a price reduction that is offered for other than that at a individual item level.
insurance_amount: $ref: '#/components/schemas/money' description: An insurance charge. Guarantees the quality or delivery of a product. sales_tax_amount: $ref: '#/components/schemas/money' description: The PayPal- or merchant-reported sales tax amount for the transaction. shipping_amount: $ref: '#/components/schemas/money' description: The PayPal- or merchant-reported shipping amount for the transaction. shipping_discount_amount: $ref: '#/components/schemas/money' description: The discount on the shipping amount. shipping_tax_amount: $ref: '#/components/schemas/money' description: The tax on the shipping service. other_amount: $ref: '#/components/schemas/money' description: The special amount that is added to the transaction. tip_amount: $ref: '#/components/schemas/money' description: The tip. transaction_status: type: string description: A code that indicates the transaction status. Value is:
Status codeDescription
DPayPal or merchant rules denied the transaction.
PThe transaction is pending. The transaction was created but waits for another payment process to complete, such as an ACH transaction, before the status changes to S.
SThe transaction successfully completed without a denial and after any pending statuses.
VA successful transaction was fully reversed and funds were refunded to the original sender.
minLength: 1 maxLength: 1 pattern: ^[a-zA-Z0-9]*$ transaction_subject: type: string description: The subject of payment. The payer passes this value to the payee. The payer controls this data through the interface through which he or she sends the data. minLength: 1 maxLength: 256 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ transaction_note: type: string description: A special note that the payer passes to the payee. Might contain special customer requests, such as shipping instructions. minLength: 1 maxLength: 4000 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ payment_tracking_id: type: string description: The payment tracking ID, which is a unique ID that partners specify to either get information about a payment or request a refund. minLength: 1 maxLength: 127 pattern: ^[a-zA-Z0-9]*$ bank_reference_id: type: string description: The bank reference ID. The bank provides this value for an ACH transaction. minLength: 1 maxLength: 127 pattern: ^[a-zA-Z0-9]*$ ending_balance: $ref: '#/components/schemas/money' description: The ending balance.
Note: If you specify one or more optional query parameters, the ending_balance response field is empty.
available_balance: $ref: '#/components/schemas/money' description: The available amount of transaction currency during the completion of this transaction. invoice_id: type: string description: The invoice ID that is sent by the merchant with the transaction.
Note: If an invoice ID was sent with the capture request, the value is reported. Otherwise, the invoice ID of the authorizing transaction is reported.
minLength: 1 maxLength: 127 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ custom_field: type: string description: The merchant-provided custom text.
Note: Usually, this field includes the unique ID for payments made with MassPay type transaction.
minLength: 1 maxLength: 127 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ protection_eligibility: type: string description: Indicates whether the transaction is eligible for protection. Value is: minLength: 1 maxLength: 2 pattern: ^[a-zA-Z0-9]*$ credit_term: type: string description: The credit term. The time span covered by the installment payments as expressed in the term length plus the length time unit code. minLength: 1 maxLength: 25 pattern: ^[a-zA-Z0-9.]*$ credit_transactional_fee: $ref: '#/components/schemas/money' description: The overall amount of the credit transaction fee. credit_promotional_fee: $ref: '#/components/schemas/money' description: The overall amount of the credit promotional fee. annual_percentage_rate: $ref: '#/components/schemas/percentage' description: The annual percentage rate (APR). Determines the amount of interest a consumer pays to finance a purchase at a merchant. payment_method_type: type: string minLength: 1 maxLength: 20 pattern: ^[a-zA-Z0-9-]*$ description: The payment method that was used for a transaction. Value is PUI, installment, or mEFT.
Note: Appears only for pay upon invoice (PUI), installment, and mEFT transactions. Merchants and partners in the EMEA region can use this attribute to note transactions that attract turn-over tax.
instrument_type: type: string minLength: 1 maxLength: 64 description: A high-level classification of the type of financial instrument that was used to fund a payment. The pattern is not provided because the value is defined by an external party. E.g. PAYPAL, CREDIT_CARD, DEBIT_CARD, APPLE_PAY, BANK , VENMO ,Pay Upon Invoice, Pay Later or Alternative Payment Methods (APM). instrument_sub_type: type: string minLength: 1 maxLength: 64 description: A finer-grained classification of the financial instrument that was used to fund a payment. For example, `Visa card` or a `Mastercard` for a credit card, BANKCARD ,DISCOVER etc. The pattern is not provided because the value is defined by an external party. payer_info: type: object title: Payer Information description: The payer information. properties: account_id: type: string description: The PayPal` customer account ID. minLength: 1 maxLength: 13 pattern: ^[a-zA-Z0-9]*$ email_address: description: The email address of the payer. $ref: '#/components/schemas/email_address' phone_number: description: The primary phone number of the payer. $ref: '#/components/schemas/phone' address_status: type: string minLength: 1 maxLength: 1 pattern: ^[N|Y]$ description: The address status of the payer. Value is either: payer_status: type: string minLength: 1 maxLength: 1 pattern: ^[N|Y]$ description: The status of the payer. Value is `Y` or `N`. payer_name: description: The payer name. $ref: '#/components/schemas/name' country_code: description: The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/) that identifies the country or region of the payer.
Note: The country code for Great Britain is GB and not UK as 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.
$ref: '#/components/schemas/country_code' address: description: The payer address. $ref: '#/components/schemas/address' item_detail_tax_amount: type: object title: Tax Amount description: The tax levied by a government on the purchase of goods or services. properties: tax_amount: $ref: '#/components/schemas/money' description: The tax levied by a government on the purchase of goods or services. item_detail: type: object title: Item Details description: The item details. properties: item_code: type: string description: An item code that identifies a merchant's goods or service. minLength: 1 maxLength: 1000 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ item_name: type: string description: The item name. minLength: 1 maxLength: 200 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ item_description: type: string description: The item description. minLength: 1 maxLength: 2000 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ item_options: type: string description: The item options. Describes option choices on the purchase of the item in some detail. minLength: 1 maxLength: 4000 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ item_quantity: type: string description: The number of purchased units of goods or a service. minLength: 1 maxLength: 4000 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ item_unit_price: $ref: '#/components/schemas/money' description: The cost for each instance of goods or a service. item_amount: $ref: '#/components/schemas/money' description: The amount of the payment for the item. discount_amount: $ref: '#/components/schemas/money' description: The reduction in price associated with goods or a service. adjustment_amount: $ref: '#/components/schemas/money' description: An increment or decrement to a purchase amount. gift_wrap_amount: $ref: '#/components/schemas/money' description: The amount of money charged for gift wrapping an item. tax_percentage: $ref: '#/components/schemas/percentage' description: A rate, expressed in hundreds, that is used to calculate a levy for the purchase of goods or services. maxLength: 10 pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$ tax_amounts: type: array description: An array of tax amounts levied by a government on the purchase of goods or services. maxItems: 32767 minItems: 1 items: $ref: '#/components/schemas/item_detail_tax_amount' description: A tax levied by a government on the purchase of goods or services. basic_shipping_amount: $ref: '#/components/schemas/money' description: The delivery cost. extra_shipping_amount: $ref: '#/components/schemas/money' description: The cost for expedited delivery of the goods. handling_amount: $ref: '#/components/schemas/money' description: A charge for processing the purchase of goods or services. insurance_amount: $ref: '#/components/schemas/money' description: A charge for guaranteeing the quality of a product or delivery of a product. total_item_amount: $ref: '#/components/schemas/money' description: The sum of all factors, item cost, discounts, tax, shipping, and so on, that goes into the cost of an item. invoice_number: type: string description: The invoice number. An alphanumeric string that identifies a billing for a merchant. minLength: 1 maxLength: 200 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ checkout_options: type: array description: An array of checkout options. Each option has a name and value. items: $ref: '#/components/schemas/checkout_option' description: A checkout option as a name-and-value pair. minItems: 1 maxItems: 32767 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 cart_info: type: object title: Cart Information description: The cart information. properties: item_details: type: array description: An array of item details. maxItems: 32767 minItems: 1 items: $ref: '#/components/schemas/item_detail' tax_inclusive: type: boolean description: Indicates whether the item amount or the shipping amount already includes tax. default: false paypal_invoice_id: type: string description: The ID of the invoice. Appears for only PayPal-generated invoices. minLength: 1 maxLength: 127 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ transaction_detail: type: object title: Transaction Details description: The transaction details. properties: transaction_info: $ref: '#/components/schemas/transaction_info' description: The transaction information. payer_info: $ref: '#/components/schemas/payer_info' description: The payer information. shipping_info: $ref: '#/components/schemas/shipping_info' description: The shipping information. cart_info: $ref: '#/components/schemas/cart_info' description: The cart information. store_info: $ref: '#/components/schemas/store_info' description: The store information. auction_info: $ref: '#/components/schemas/auction_info' description: The auction information. incentive_info: $ref: '#/components/schemas/incentive_info' description: The incentive information. shipping_info: type: object title: Shipping Information description: The shipping information. properties: name: type: string description: The recipient's name. minLength: 1 maxLength: 500 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ method: type: string description: The shipping method that is associated with this order. minLength: 1 maxLength: 500 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ address: $ref: '#/components/schemas/address' description: The shipping address that is associated with this order. secondary_shipping_address: $ref: '#/components/schemas/address' description: The secondary shipping address that is associated with this order. address: type: object title: Simple Postal Address (Coarse-Grained) description: A simple postal address with coarse-grained fields. Do not use for an international address. Use for backward compatibility only. Does not contain phone. properties: line1: type: string description: The first line of the address. For example, number or street. line2: type: string description: The second line of the address. For example, suite or apartment number. city: type: string description: The city name. state: type: string description: 'The [code](/docs/api/reference/state-codes/) for a US state or the equivalent for other countries. Required for transactions if the address is in one of these countries: [Argentina](/docs/api/reference/state-codes/#argentina), [Brazil](/docs/api/reference/state-codes/#brazil), [Canada](/docs/api/reference/state-codes/#canada), [China](/docs/api/reference/state-codes/#china), [India](/docs/api/reference/state-codes/#india), [Italy](/docs/api/reference/state-codes/#italy), [Japan](/docs/api/reference/state-codes/#japan), [Mexico](/docs/api/reference/state-codes/#mexico), [Thailand](/docs/api/reference/state-codes/#thailand), or [United States](/docs/api/reference/state-codes/#usa). Maximum length is 40 single-byte characters.' country_code: $ref: '#/components/schemas/country_code' postal_code: type: string description: The postal code, which is the zip code or equivalent. Typically required for countries with a postal code or an equivalent. See [postal code](https://en.wikipedia.org/wiki/Postal_code). required: - line1 - city - country_code store_info: type: object title: Store Information description: The store information. properties: store_id: type: string description: The ID of a store for a merchant in the system of record. minLength: 1 maxLength: 100 pattern: ^[a-zA-Z0-9]*$ terminal_id: type: string description: The terminal ID for the checkout stand in a merchant store. minLength: 1 maxLength: 60 pattern: ^[a-zA-Z0-9]*$ country_code: 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 is GB and not UK as 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.
format: ppaas_common_country_code_v2 maxLength: 2 minLength: 2 pattern: ^([A-Z]{2}|C2)$ auction_info: type: object title: Auction Information description: The auction information. properties: auction_site: type: string description: The name of the auction site. minLength: 1 maxLength: 200 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ auction_item_site: type: string description: The auction site URL. minLength: 1 maxLength: 4000 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ auction_buyer_id: type: string description: The ID of the buyer who makes the purchase in the auction. This ID might be different from the payer ID provided for the payment. minLength: 1 maxLength: 500 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ auction_closing_date: description: The date and time when the auction closes, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). $ref: '#/components/schemas/date_time' search_response: type: object title: Search Response description: The search response information. properties: transaction_details: type: array maxItems: 2147483647 minItems: 1 items: $ref: '#/components/schemas/transaction_detail' description: An array of transaction detail objects. account_number: type: string minLength: 1 maxLength: 255 pattern: ^[a-zA-Z0-9]*$ description: The merchant account number. start_date: description: The start date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). $ref: '#/components/schemas/date_time' end_date: description: The end date and time or the last date when the data can be served, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). $ref: '#/components/schemas/date_time' last_refreshed_datetime: description: The date and time when the data was last refreshed, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). $ref: '#/components/schemas/date_time' page: type: integer description: A zero-relative index of transactions. maximum: 2147483647 minimum: 0 total_items: type: integer description: The total number of transactions as an integer beginning with the specified `page` in the full result and not just in this response. maximum: 2147483647 minimum: 0 total_pages: type: integer description: The total number of pages, as an `integer`, when the `total_items` is divided into pages of the specified `page_size`. maximum: 2147483647 minimum: 0 links: type: array description: An array of request-related [HATEOAS links](/api/rest/responses/#hateoas-links). readOnly: true items: $ref: '#/components/schemas/link_description' readOnly: true maxItems: 32767 minItems: 1 checkout_option: type: object title: Checkout Option description: A checkout option as a name-and-value pair. properties: checkout_option_name: type: string description: The checkout option name, such as `color` or `texture`. minLength: 1 maxLength: 200 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ checkout_option_value: type: string description: The checkout option value. For example, the checkout option `color` might be `blue` or `red` while the checkout option `texture` might be `smooth` or `rippled`. minLength: 1 maxLength: 200 pattern: ^[a-zA-Z0-9_'\-., ":;\!?]*$ 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]+))$ incentive_info: type: object title: Incentive Information description: The incentive details. properties: incentive_details: type: array description: An array of incentive details. items: $ref: '#/components/schemas/incentive_detail' maxItems: 32767 minItems: 1 parameters: end_time: name: end_time in: query required: true description: The end time of the range of transactions to list. schema: type: string 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})$ id: name: id in: path required: true description: The ID of the subscription. schema: type: string start_time: name: start_time in: query required: true description: The start time of the range of transactions to list. schema: type: string 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})$ page_size: name: page_size in: query description: The number of items to return in the response. So, the combination of `page=1` and `page_size=20` returns the first 20 items. The combination of `page=2` and `page_size=20` returns the next 20 items. schema: type: integer minimum: 1 maximum: 500 default: 100 balance_affecting_records_only: name: balance_affecting_records_only in: query description: Indicates whether the response includes only balance-impacting transactions or all transactions. Value is either: schema: type: string default: Y terminal_id: name: terminal_id in: query description: Filters the transactions in the response by a terminal ID. schema: type: string end_date: name: end_date in: query description: Filters the transactions in the response by an end date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are required. Fractional seconds are optional. The maximum supported range is 31 days. required: true schema: type: string 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})$ start_date: name: start_date in: query description: Filters the transactions in the response by a start date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are required. Fractional seconds are optional. required: true schema: type: string 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})$ transaction_type: name: transaction_type in: query description: Filters the transactions in the response by a PayPal transaction event code. See [Transaction event codes](/docs/integration/direct/transaction-search/transaction-event-codes/). schema: type: string store_id: name: store_id in: query description: Filters the transactions in the response by a store ID. schema: type: string transaction_currency: name: transaction_currency in: query description: Filters the transactions in the response by a [three-character ISO-4217 currency code](/api/rest/reference/currency-codes/) for the PayPal transaction currency. schema: type: string transaction_status: name: transaction_status in: query description: Filters the transactions in the response by a PayPal transaction status code. Value is:
Status codeDescription
DPayPal or merchant rules denied the transaction.
PThe transaction is pending. The transaction was created but waits for another payment process to complete, such as an ACH transaction, before the status changes to S.
SThe transaction successfully completed without a denial and after any pending statuses.
VA successful transaction was reversed and funds were refunded to the original sender.
schema: type: string fields: name: fields in: query description: Indicates which fields appear in the response. Value is a single field or a comma-separated list of fields. The transaction_info value returns only the transaction details in the response. To include all fields in the response, specify fields=all. Valid fields are: schema: type: string default: transaction_info transaction_amount: name: transaction_amount in: query description: Filters the transactions in the response by a gross transaction amount range. Specify the range as ` TO `, where `` is the lower limit of the gross PayPal transaction amount and `` is the upper limit of the gross transaction amount. Specify the amounts in lower denominations. For example, to search for transactions from $5.00 to $10.05, specify `[500 TO 1005]`.
Note:The values must be URL encoded.
schema: type: string page: name: page in: query description: The zero-relative start index of the entire list of items that are returned in the response. So, the combination of `page=1` and `page_size=20` returns the first 20 items. schema: type: integer minimum: 1 maximum: 2147483647 default: 1 payment_instrument_type: name: payment_instrument_type in: query description: Filters the transactions in the response by a payment instrument type. Value is either:
  • CREDITCARD. Returns a direct credit card transaction with a corresponding value.
  • DEBITCARD. Returns a debit card transaction with a corresponding value.
If you omit this parameter, the API does not apply this filter. required: false schema: type: string transaction_id: name: transaction_id in: query description: Filters the transactions in the response by a PayPal transaction ID. A valid transaction ID is 17 characters long, except for an order ID, which is 19 characters long.
Note: A transaction ID is not unique in the reporting system. The response can list two transactions with the same ID. One transaction can be balance affecting while the other is non-balance affecting.
schema: type: string minLength: 17 maxLength: 19 responses: default: description: The default response. content: application/json: schema: $ref: '#/components/schemas/error_default' 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/