# Paypal

Online payment system that allows money transfers and serves as an electronic alternative to traditional payment methods

- **Category:** payment processing
- **Auth:** S2S_OAUTH2
- **Composio Managed App Available?** No
- **Tools:** 74
- **Triggers:** 0
- **Slug:** `PAYPAL`
- **Version:** 00000000_00

## Tools

### Activate billing plan

**Slug:** `PAYPAL_ACTIVATE_PLAN`

Activates a billing plan in PayPal, making it available for subscription signups. Use this action when you have a billing plan in inactive state that you want to make available for new subscriptions. A successful activation returns HTTP 204 No Content with no response body. This action is idempotent - activating an already active plan returns success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the billing plan to activate. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Batch Tracking Information

**Slug:** `PAYPAL_ADD_BATCH_TRACKERS`

Add tracking information for multiple PayPal transactions in a single request. Use this action when you need to add or update tracking information for one or more PayPal transactions. This is particularly useful for batch processing shipping updates when fulfilling multiple orders. The action supports up to 20 trackers per request. The response includes tracker identifiers for successfully processed entries and any errors for entries that failed validation or processing. **Required fields:** - trackers: An array containing at least one tracker object **Each tracker requires:** - transaction_id: The PayPal transaction ID - status: The shipment status (CLICKED, SHIPPED, DELIVERED, etc.)

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `trackers` | array | Yes | An array of tracking information for one or more shipments. Maximum 20 trackers per request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Cancel Invoice Reminders

**Slug:** `PAYPAL_CANCEL_REMINDERS`

Cancels the automatic payment reminders for a PayPal invoice. Use this action when you need to stop the automatic reminder emails from being sent to the payer for a particular invoice. This is useful when the invoice has been paid, is no longer relevant, or when you want to handle payment follow-ups manually. Note: This action only cancels future scheduled reminders. It does not affect reminders that have already been sent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_id` | string | Yes | The ID of the invoice for which to cancel the reminders. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Capture subscription payment

**Slug:** `PAYPAL_CAPTURE_SUBSCRIPTION_PAYMENT`

Captures an authorized payment on a PayPal subscription. Use this action when you need to charge a subscriber for an outstanding balance or capture an authorized payment that was previously approved. This action captures payments for subscriptions that have an outstanding balance to be charged. The capture type must be OUTSTANDING_BALANCE, and you must provide the amount to capture along with a note explaining the reason for the charge.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the subscription. |
| `note` | string | Yes | The reason or note for the subscription charge. |
| `amount` | object | Yes | The charge amount from the subscriber. |
| `capture_type` | string ("OUTSTANDING_BALANCE") | Yes | The type of capture. Currently only OUTSTANDING_BALANCE is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Charge Payment Method

**Slug:** `PAYPAL_CHARGE_PAYMENT_METHOD`

Charges a payment method and captures funds immediately using Braintree GraphQL API. Use this action when you need to charge a customer's stored payment method (credit card, PayPal account, Venmo account, etc.) and immediately capture the funds into your merchant account. This creates a Braintree transaction and begins the settlement process. The payment method ID should be obtained from a previous tokenization operation using the Braintree client SDK (e.g., `hostedFields.tokenize()` or PayPal button). Note: This action is irreversible once the transaction is successfully captured.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `input` | object | Yes | The input containing the payment method ID and transaction details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create invoice

**Slug:** `PAYPAL_CREATE_INVOICE`

Creates a PayPal draft invoice. Use this action when you need to create a new invoice that can be customized and sent to recipients. The invoice is created in DRAFT status and can be modified before being sent. **Required fields:** - detail.currency_code: The three-character currency code (e.g., "USD") **Optional fields:** - detail.invoice_number: Custom invoice number - detail.invoice_date: Date when invoice was issued - detail.note: Note to the payer - detail.terms_and_conditions: Payment terms - items: List of line items (name, quantity, unit_amount required) - primary_recipients: Billing information for recipients - amount: Invoice amount breakdown The created invoice can be modified, scheduled, or sent using other PayPal invoicing actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | array | No | An array of invoice line items. Each item includes name, quantity, and unit amount. Maximum 100 items. |
| `amount` | object | No | The invoice amount summary including breakdown. |
| `detail` | object | Yes | The details of the invoice. Includes invoice number, date, currency code, and payment terms. The currency_code field is required. |
| `invoicer` | object | No | The invoicer business information that appears on the invoice. |
| `due_amount` | object | No | The currency and amount for a financial transaction. |
| `configuration` | object | No | Configuration for the invoice template. |
| `primary_recipients` | array | No | The billing and shipping information for the recipients. Includes name, email, address, and phone. |
| `additional_recipients` | array | No | An array of CC email addresses to which notifications are sent. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create PayPal payment

**Slug:** `PAYPAL_CREATE_PAYMENT`

Creates a PayPal payment using the v1 Payments API. Use this action when you need to create a payment to be processed through PayPal. This action is for the deprecated v1 API - consider using the v2 Payments API for new integrations. The action returns the created payment object including approval URLs for the buyer to complete the payment. After the buyer approves the payment, execute it to complete the transaction. Note: This is an irreversible operation once the payment is executed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `payer` | object | Yes | The payer information including payment method. |
| `intent` | string ("sale" | "authorize" | "order") | Yes | The payment intent. Must be 'sale' for immediate payment, 'authorize' for payment authorization, or 'order' for creating an order. |
| `transactions` | array | Yes | List of transaction details including amount and description. |
| `redirect_urls` | object | No | Redirect URLs for the payment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create billing plan (legacy)

**Slug:** `PAYPAL_CREATE_PAYMENTS_BILLING_PLANS`

Creates a PayPal billing plan using the legacy payments API (POST /v1/payments/billing-plans). Use this action when setting up a new billing plan for PayPal billing agreements, including plans with trial periods, regular billing cycles, and custom payment preferences. After creation, the plan must be activated via the activate_plan action before it can be used in billing agreements. Note: This uses the legacy /v1/payments/billing-plans endpoint. For newer integrations, consider using the /v1/billing/plans endpoint instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The billing plan name. Must be 1-256 characters. |
| `type` | string ("FIXED" | "INFINITE") | Yes | The type of the billing plan. One of: FIXED, INFINITE. |
| `terms` | array | No | An array of terms for the billing plan. |
| `description` | string | Yes | The detailed description of the billing plan. Must be 1-127 characters. |
| `payment_definitions` | array | Yes | An array of payment definitions for the billing plan. Includes trial and regular payment configurations. |
| `merchant_preferences` | object | Yes | The merchant preferences for the billing plan, including setup fee, return URL, and cancel URL. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a billing plan

**Slug:** `PAYPAL_CREATE_PLAN`

Creates a PayPal billing plan for subscription billing. Use this action when setting up new subscription pricing plans in PayPal, including plans with trial periods, regular billing cycles, and custom payment preferences. The plan must be associated with an existing product. The action returns the created plan object with its unique ID and status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The plan name. Must be 1-127 characters. |
| `taxes` | object | No | Tax configuration for the plan. |
| `status` | string ("CREATED" | "INACTIVE" | "ACTIVE") | No | Initial state of the plan. |
| `product_id` | string | Yes | The ID of the product created through the Catalog Products API. PayPal-generated IDs are 22 characters (e.g. PROD-...) but custom IDs may be 6-50 characters. |
| `description` | string | No | The detailed description of the plan. Must be 1-127 characters. |
| `billing_cycles` | array | Yes | An array of billing cycles for trial billing and regular billing. A plan can have at most two trial cycles and only one regular cycle. |
| `quantity_supported` | boolean | No | Indicates whether you can subscribe to this plan by providing a quantity for the goods or service. |
| `payment_preferences` | object | Yes | The payment preferences for a subscription. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Product

**Slug:** `PAYPAL_CREATE_PRODUCT`

Creates a new product in PayPal's catalog. Use when you need to set up a product that can be used with PayPal's subscription or payment services. The product can be physical goods, digital goods, or a service. Once created, you can associate plans and pricing with this product. Use this action when you want to create a new product entry in PayPal's catalog system for selling physical items, digital products, or services through PayPal's payment infrastructure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | The ID for the product. You can specify the SKU for the product. If omitted, the system generates an ID with the PROD- prefix. |
| `name` | string | Yes | The product name. Required. Maximum 127 characters. |
| `type` | string ("PHYSICAL" | "DIGITAL" | "SERVICE") | No | The product type. Indicates whether the product is physical or digital goods, or a service. Default: PHYSICAL. |
| `category` | string ("ACCESSORIES" | "ACCOUNTING" | "ADULT" | "ADVERTISING" | "AIRLINES" | "ANTIQUES" | "ART_AND_CRAFT_SUPPLIES" | "ART_DEALERS_AND_GALLERIES" | "ARTS_AND_CRAFTS" | "AUDIO_BOOKS" | "AUTOMOTIVE" | "BABIES_CLOTHING_AND_SUPPLIES" | "BANKING" | "BEAUTY_AND_FRAGRANCES" | "BOOKS" | "BOOKS_AND_MAGAZINES" | "BUSINESS" | "CAMERAS_AND_PHOTOGRAPHY" | "CAR_AND_TRUCK_DEALERS" | "CHARITY" | "CLOTHING" | "CLOTHING_ACCESSORIES_AND_SHOES" | "COFFEE_AND_TEA" | "COLLECTIBLES" | "COMPUTER_HARDWARE_AND_SOFTWARE" | "CONSTRUCTION" | "CONSUMER_ELECTRONICS" | "COSMETIC_STORES" | "CATERING_SERVICES" | "CURRENCY" | "DAIRY_PRODUCTS" | "DANCE_HALLS_STUDIOS_AND_SCHOOLS" | "DENTAL" | "DEPARTMENT_STORES" | "DIGITAL_GOODS" | "DIGITAL_MEDIA_BOOKS_MOVIES_MUSIC" | "DOGS_AND_CATS" | "DOWNLOAD" | "DRUGSTORE" | "DURABLE_GOODS" | "ECOMMERCE_DEVELOPMENT" | "EDUCATION" | "ELECTRONICS" | "ENTERTAINMENT" | "EQUIPMENT" | "EVENTS" | "FASHION_JEWELRY" | "FERTILIZERS" | "FINANCIAL" | "FINANCIAL_SERVICES" | "FIREARMS_WEAPONS_AND_KNIVES" | "FLORISTS" | "FOOD" | "FOOD_PRODUCTS" | "FUNERAL" | "FURNITURE" | "GADGETS_AND_OTHER_ELECTRONICS" | "GAMBLING" | "GAMES" | "GARDEN_SUPPLIES" | "GENERAL" | "GIFTS_AND_FLOWERS" | "GOVERNMENT" | "HARDWARE_AND_TOOLS" | "HEALTH_AND_NUTRITION" | "HEALTH_AND_PERSONAL_CARE" | "HOBBIES_TOYS_AND_GAMES" | "HOME_AND_GARDEN" | "HOTELS_MOTELS_INNS_RESORTS" | "HUMOROUS_GIFTS_AND_NOVELTIES" | "INSURANCE" | "JEWELRY_AND_WATCHES" | "KITCHEN" | "LAW" | "LEGAL_SERVICES_AND_ATTORNEYS" | "LIVESTOCK" | "LOCAL_DELIVERY_SERVICE" | "LOCKSMITH" | "LOTTERY_AND_CONTESTS" | "LUGGAGE_AND_LEATHER_GOODS" | "LUXURY" | "MAGAZINES" | "MARINE_SUPPLIES" | "MEDICAL" | "MEDICAL_AND_PHARMACEUTICAL" | "MEMORABILIA" | "MILITARY" | "MOBILE_RINGTONES" | "MOTION_PICTURE_THEATERS" | "MOVIE_TICKETS" | "MULTI_LEVEL_MARKETING" | "MUSIC" | "MUSIC_CDS_CASSETTES_AND_ALBUMS" | "NETWORKING" | "NON_DURABLE_GOODS" | "NON_PROFIT_POLITICAL_AND_RELIGION" | "NUTRITION" | "OFFICE" | "OFFICE_SUPPLIES_AND_EQUIPMENT" | "ONLINE_DATING" | "ONLINE_GAMING" | "ONLINE_SERVICES" | "OPTICAL" | "OTHER" | "OUTDOOR" | "PACKAGING" | "PEST_CONTROL" | "PET_SHOPS_PET_FOOD_AND_SUPPLIES" | "PETROLEUM_AND_PETROLEUM_PRODUCTS" | "PHOTOFINISHING" | "PHOTOGRAPHY" | "PHYSICAL_GOOD" | "PRECIOUS_STONES_AND_GOODS" | "PRESCRIPTION_DRUGS" | "PRINTING" | "PROMOTIONAL_ITEMS" | "PUBLISHING" | "PUBLISHING_AND_PRINTING" | "REAL_ESTATE" | "RECREATIONAL" | "RELIGIOUS" | "RENTAL" | "REPAIR" | "RESTAURANTS" | "RETAIL" | "SCHOOLS_AND_COLLEGES" | "SERVICES" | "SHOES" | "SOFTWARE" | "SPORTING" | "SPORTING_GOODS" | "SUBSCRIPTIONS" | "TELECOMMUNICATION" | "TEXTILE" | "THEATER" | "TOOLS_AND_EQUIPMENT" | "TOYS_AND_GAMES" | "TRAVEL" | "TRUCK_AND_UTILITY_TRAILER_RENTALS" | "UTILITIES" | "VETERINARY" | "VIDEO_GAMES_AND_SYSTEMS" | "WASTE_MANAGEMENT" | "WHOLESALE" | "WINE_AND_ALCOHOL") | No | The product category classification. |
| `home_url` | string | No | The home page URL for the product. Must be a valid URI. |
| `image_url` | string | No | The image URL for the product. Must be a valid URI. |
| `description` | string | No | The product description. Maximum 256 characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Subscription

**Slug:** `PAYPAL_CREATE_SUBSCRIPTION`

Creates a new PayPal subscription based on a billing plan. Use this action when you need to set up a recurring billing subscription for a customer. The action returns a subscription ID and an approval URL where the subscriber must complete the subscription by logging into their PayPal account and confirming the payment. This action is irreversible once the subscriber approves the subscription. **Required fields:** - plan_id: The PayPal billing plan ID **Important:** - The subscriber will be redirected to PayPal to approve the subscription - Use the 'approve' link from the response to redirect the subscriber - The subscription status will be 'PENDING' until the subscriber approves it

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan` | object | No | An inline plan object to customize the subscription. |
| `plan_id` | string | Yes | The ID of the plan for the subscription. Typically a PayPal plan ID like 'P-4BP00732K8416940FNHU6FGA'. |
| `quantity` | string | No | The quantity of the product in the subscription. |
| `custom_id` | string | No | The custom id for the subscription. Can be an invoice id. |
| `start_time` | string | No | The date and time when the subscription starts, in Internet date and time format (ISO 8601). |
| `subscriber` | object | No | The subscriber information for the subscription. |
| `auto_renewal` | boolean | No | DEPRECATED. Indicates whether the subscription auto-renews after the billing cycles complete. |
| `shipping_amount` | object | No | The currency and amount for a financial transaction. |
| `application_context` | object | No | The application context, which customizes the payer experience during the subscription approval process with PayPal. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create template

**Slug:** `PAYPAL_CREATE_TEMPLATE`

Creates a PayPal invoice template. Use this action when you need to create a reusable invoice template that can be used to generate invoices with consistent settings. Templates are useful for businesses that regularly send similar invoices. **Required fields:** - name: The template name (must be unique) - template_info.detail.currency_code: The three-character ISO-4217 currency code **Optional fields:** - default_template: Set as the default template (only one allowed per account) - standard_template: Indicates if this is a custom template - template_info: Full template configuration - invoicer: Business information (email, tax_id, logo_url, etc.) - primary_recipients: Billing/shipping information for recipients - items: Line item presets - configuration: Tax settings, partial payment options - settings: Display preferences - unit_of_measure: QUANTITY, HOURS, or AMOUNT The created template can be used with the Generate Invoice action to quickly create invoices from pre-configured templates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The template name. Must be unique. |
| `settings` | array | No | The template settings. Sets a template as the default template or edit template. |
| `template_info` | object | No | The template details including invoicer business information, invoice recipients, items, and configuration. |
| `unit_of_measure` | string ("QUANTITY" | "HOURS" | "AMOUNT") | No | The unit of measure for the invoiced item. |
| `default_template` | boolean | No | Indicates whether this template is the default template. A invoicer can have one default template. |
| `standard_template` | boolean | No | Indicates whether this template is a invoicer-created custom template. The system generates non-custom templates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a webhook

**Slug:** `PAYPAL_CREATE_WEBHOOK`

Creates a PayPal webhook endpoint to receive notifications about events. Use this action when you need to set up a webhook to receive real-time notifications about PayPal events such as payment completions, refunds, disputes, or subscription changes. The webhook URL must be publicly accessible and support HTTPS. The action returns the created webhook object including its unique ID for later reference.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL that is configured to listen on localhost for incoming POST notification messages that contain event information. The URL must be a valid HTTPS URL. |
| `event_types` | array | Yes | An array of events to which to subscribe your webhook. To subscribe to all events, including events as they are added, specify the asterisk wild card '*' as the name. To list all supported events, use the List Available Events endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a webhook lookup

**Slug:** `PAYPAL_CREATE_WEBHOOK_LOOKUP`

Creates a new PayPal webhook lookup to verify a webhook signature. Use this action when you need to initiate a webhook lookup to validate that a webhook endpoint is correctly receiving and processing PayPal event notifications. This is useful for testing webhook configurations or verifying webhook authenticity before enabling it in production. This is a create operation that returns the newly created webhook lookup details, including the lookup ID, client ID, and related HATEOAS links. The action requires no input parameters.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a web experience profile

**Slug:** `PAYPAL_CREATE_WEB_PROFILE`

Creates a PayPal web experience profile for customizing checkout. Use this action when you need to set up a branded, customized checkout experience for PayPal payments. This includes configuring the landing page, branding elements like logo and brand name, input field customization, and checkout flow behavior. The profile can be set as temporary (persists for three hours) or permanent. To use this profile, pass its ID when creating a payment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | The ID of the web experience profile. If not provided, PayPal generates an ID. |
| `name` | string | Yes | The web experience profile name. Must be unique for a set of profiles for a merchant. |
| `temporary` | boolean | No | Indicates whether the profile persists for three hours or permanently. Set to false for permanent persistence, true for three-hour persistence. |
| `flow_config` | object | No | The flow configuration parameters. |
| `input_fields` | object | No | The input field customization parameters. |
| `presentation` | object | No | The style and presentation parameters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Deactivate Plan

**Slug:** `PAYPAL_DEACTIVATE_PLAN`

Deactivates a PayPal billing plan, making it unavailable for new subscriptions while preserving existing subscriptions. Use this action when you need to stop offering a particular billing plan without deleting it. Existing subscriptions will continue to work, but no new subscriptions can be created with this plan. Note: Only plans in an ACTIVE state can be deactivated. Deactivated plans cannot be reactivated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique plan identifier. Required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Invoice External Payment

**Slug:** `PAYPAL_DELETE_EXTERNAL_PAYMENT`

Permanently deletes an external payment from a specified PayPal invoice. Use when you need to remove a specific external payment transaction that was incorrectly recorded on an invoice. This action is irreversible — once deleted, the payment record cannot be recovered. A successful deletion returns HTTP 204 No Content with no JSON response body. This action is idempotent — attempting to delete a non-existent payment record also returns success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_id` | string | Yes | The unique identifier of the invoice from which to delete the external payment. This is the invoice ID returned when creating or listing invoices. |
| `transaction_id` | string | Yes | The unique identifier of the external payment transaction to delete. This is the transaction ID associated with the payment record on the invoice. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Invoice

**Slug:** `PAYPAL_DELETE_INVOICE`

Deletes a PayPal invoice by its ID. Use this action when you need to permanently remove an invoice that is no longer needed. This action is irreversible — once deleted, the invoice cannot be recovered and any associated payment records will be lost. Note: Only draft invoices can be deleted. Attempting to delete an invoice that has been sent or paid will return an error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_id` | string | Yes | The ID of the invoice to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete invoice payment record

**Slug:** `PAYPAL_DELETE_INVOICE_PAYMENT_RECORD`

Deletes a payment record from a PayPal invoice. Use this action when you need to remove a specific payment transaction record that was incorrectly applied to an invoice. This action permanently removes the payment record from the invoice. This action is irreversible — once deleted, the payment record cannot be recovered. A successful deletion returns HTTP 204 No Content with no response body. This action is idempotent — attempting to delete a non-existent payment record also returns success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_id` | string | Yes | The ID of the invoice from which to delete the payment record. |
| `transaction_id` | string | Yes | The ID of the payment transaction record to delete from the invoice. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Invoice Refund Record

**Slug:** `PAYPAL_DELETE_INVOICE_REFUND_RECORD`

Permanently deletes a refund record from a specified PayPal invoice. This action is irreversible - once deleted, the refund record cannot be recovered. Use when correcting invoice payment records, removing erroneous refunds, or cleaning up invoice payment history. Note: This action only deletes the refund record reference from the invoice. It does not reverse or refund the actual payment through PayPal.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_id` | string | Yes | The unique identifier of the invoice from which to delete the refund record. This is the invoice ID returned when creating or listing invoices. |
| `transaction_id` | string | Yes | The unique identifier of the refund transaction to delete. This is the transaction ID associated with the refund record on the invoice. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Payment Resource

**Slug:** `PAYPAL_DELETE_PAYMENT_RESOURCE`

Deletes a PayPal payment resource. Use when you need to permanently remove a payment resource that is no longer needed. This action is irreversible — the payment resource cannot be recovered once deleted. Note: Only payment resources in a valid state can be deleted. Attempting to delete a resource that is already deleted or does not exist will return an error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `payment_resource_id` | string | Yes | The unique payment resource identifier to delete. Typically starts with 'XD' followed by alphanumeric characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Template

**Slug:** `PAYPAL_DELETE_TEMPLATE`

Deletes a PayPal invoice template by its ID. Use this action when you need to permanently remove an invoice template that is no longer needed. This action is irreversible — once deleted, the template cannot be recovered and will need to be recreated if needed again. Note: Only templates that are not currently in use can be deleted. Attempting to delete a template that is associated with active invoices may return an error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | The ID of the template to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Webhook

**Slug:** `PAYPAL_DELETE_WEBHOOK`

Deletes a PayPal webhook by its ID. Use this action when you need to permanently remove a webhook endpoint that is no longer needed. This action is irreversible — once deleted, the webhook cannot be recovered and will stop receiving event notifications immediately. Note: Deleting a webhook does not affect any events that were already processed by that webhook. Only future events will be affected.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | The ID of the webhook to delete. This is the unique identifier returned when the webhook was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Web Experience Profile

**Slug:** `PAYPAL_DELETE_WEB_PROFILE`

Deletes a PayPal web experience profile by its ID. Use this action when you need to permanently remove a web experience profile that is no longer needed. This action is irreversible — the web experience profile cannot be recovered once deleted. Note: Only web profiles that are not currently in use can be deleted. Attempting to delete a profile that is associated with an active resource will return an error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the web experience profile to delete. Typically starts with 'TXP-' followed by alphanumeric characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Braintree Node

**Slug:** `PAYPAL_FETCH_NODE`

Fetches any object that extends the Node interface using its ID. Use this action when you need to retrieve details about a specific Braintree resource (transaction, customer, payment method, etc.) by its global ID. This action performs a GraphQL query against the Braintree API to fetch the node and its associated data. Note: This action uses the Braintree GraphQL API endpoint at /graphql. The node ID should be the base64-encoded global ID from Braintree. Different node types return different fields in the response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `node_id` | string | Yes | The global ID of the node to fetch. This ID is the base64-encoded ID used by Braintree's GraphQL API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Finalize Braintree Dispute

**Slug:** `PAYPAL_FINALIZE_PAY_PAL_BRAINTREE_DISPUTE`

Finalizes a Braintree dispute after adding evidence, submitting it to the cardholder's bank for review. Use this action when you have finished adding evidence to an OPEN dispute and want to formally submit it for review. Only disputes with a status of OPEN can be finalized. This action must be performed before the reply-by date deadline. Once finalized, the dispute cannot be modified or additional evidence added. Note: This action uses the Braintree GraphQL API endpoint, which is separate from the standard PayPal REST API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dispute_id` | string | Yes | The ID of the dispute to finalize. Only disputes with a status of OPEN can be finalized. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find eligible PayPal payment methods

**Slug:** `PAYPAL_FIND_ELIGIBLE_METHODS`

Find a list of eligible payment methods for a customer. Use this action when you need to determine which payment methods (such as PayPal, PayPal Credit, Pay Later, or Venmo) are available for a customer based on their country and purchase details. This is useful for displaying appropriate payment options during checkout or determining payment eligibility before creating an order. The response includes available payment methods and optionally vaulted tokens if the customer has saved payment instruments. **Common use cases:** - Pre-checkout payment method availability - Display appropriate payment options to customers - Determine eligible funding sources for a transaction

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer` | object | No | Customer who is making a purchase from the merchant/partner. |
| `preferences` | object | No | Preferences of merchant/partner consuming the API. |
| `purchase_units` | array | Yes | An array of purchase units for which to determine payment eligibility. Each unit includes amount and optionally payee information. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate PayPal Client Token

**Slug:** `PAYPAL_GENERATE_CLIENT_TOKEN`

Generate a client token for PayPal JavaScript SDK integration. Use this action when you need to obtain a client token for accepting PayPal payments on the client side. The client token is required when initializing the PayPal JS SDK (paypal.Buttons() or paypal.Messages()) in your web application. This action requires no request body parameters - the token is generated based on your authenticated credentials (Bearer token in Authorization header). Note: Client tokens are short-lived and should be fetched fresh before each checkout session. Do not cache or reuse client tokens across multiple sessions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Next Invoice Number

**Slug:** `PAYPAL_GENERATE_NEXT_INVOICE_NUMBER`

Generates the next invoice number from PayPal's invoicing service. Use this action when you need to retrieve the next sequential invoice number in your customized format before creating an invoice. This ensures consistent invoice numbering across your PayPal invoices. Note: This action queries PayPal for the next available invoice number in your sequence. The format is configured in your PayPal account settings.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Next Invoice Number (v2)

**Slug:** `PAYPAL_GENERATE_NEXT_INVOICE_NUMBER_V2`

Generates the next invoice number from PayPal's invoicing service using the v2 API. Use this action when you need to retrieve the next sequential invoice number in your customized format before creating an invoice. This ensures consistent invoice numbering across your PayPal invoices. Note: This action queries PayPal for the next available invoice number in your sequence. The format is configured in your PayPal account settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fetch_id` | boolean | No | Optional parameter to decide whether to fetch the next invoice number or ID. Set to true to fetch the ID, false or omitted for the number. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Invoice QR Code

**Slug:** `PAYPAL_GENERATE_QR_CODE`

Generates a QR code image for a PayPal invoice using the v2 invoicing API. Use this action when you need to display a scannable QR code that customers can use to pay an invoice or view its details via the PayPal mobile app. The QR code contains encoded payment information that redirects users to PayPal to complete the transaction. **Customization options:** - Adjust dimensions using the `width` and `height` parameters (150-500 pixels) - Choose between payment URL (`action='pay'`) or details URL (`action='details'`) Note: This action uses the PayPal Invoicing API v2, which is the recommended version for new integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `width` | integer | No | The width, in pixels, of the QR code image. Value must be between 150 and 500 pixels. |
| `action` | string ("pay" | "details") | No | The type of URL for which to generate a QR code.  - PAY: Generate a QR code for payment - DETAILS: Generate a QR code for viewing invoice details |
| `height` | integer | No | The height, in pixels, of the QR code image. Value must be between 150 and 500 pixels. |
| `invoice_id` | string | Yes | The ID of the invoice for which to generate a QR code. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Billing Subscriptions

**Slug:** `PAYPAL_GET_BILLING_SUBSCRIPTIONS`

Lists PayPal billing subscriptions for the merchant account. Use when you need to retrieve a paginated list of subscriptions, optionally filtered by creation date range, status, or plan ID. This action supports pagination via page and page_size parameters. Set total_required=true to include total item and page counts in the response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | A non-zero integer representing the page number of the result. Default: 1. |
| `status` | string ("APPROVAL_PENDING" | "APPROVED" | "ACTIVE" | "SUSPENDED" | "CANCELLED" | "EXPIRED") | No | Possible status values for a subscription. |
| `end_time` | string | No | The end date and time for the subscription range, in Internet date and time format. Example: 2020-12-31T23:59:59Z. |
| `page_size` | integer | No | The number of items to return in the response. Default: 25, Maximum: 100. |
| `start_time` | string | No | The start date and time for the subscription range, in Internet date and time format. Example: 2020-01-01T00:00:00Z. |
| `total_required` | boolean | No | Indicates whether to show the total items and total pages in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invoice

**Slug:** `PAYPAL_GET_INVOICE`

Retrieves detailed information about a specific PayPal invoice by its ID. Use this action when you need to get details about an existing invoice, such as its status, amount, line items, payment history, or refund information. This is useful for verifying invoice details, tracking payment status, or auditing invoice information. This is a read-only operation that returns the complete invoice details including invoicer information, recipient details, items, amounts, payments, refunds, and HATEOAS links for related actions. Note: The invoice ID is a path parameter, not a query parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_id` | string | Yes | The ID of the invoice to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invoice QR Code

**Slug:** `PAYPAL_GET_INVOICING_INVOICES_QR_CODE`

Generates a QR code image for a PayPal invoice. Use this action when you need to display a scannable QR code that customers can use to pay an invoice. The QR code contains encoded payment information that redirects customers to PayPal to complete the payment. You can customize the QR code dimensions using the width and height parameters. Note: The PayPal Invoicing v1 API is deprecated. Consider migrating to the v2 API for new integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `width` | integer | No | The width of the QR code image in pixels. The minimum value is 150 and the maximum value is 600. |
| `action` | string | No | The action for the QR code. Can be 'pay' for payment or 'capture' for payment capture. |
| `height` | integer | No | The height of the QR code image in pixels. The minimum value is 150 and the maximum value is 600. |
| `invoice_id` | string | Yes | The ID of the invoice for which to generate a QR code. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invoice Template

**Slug:** `PAYPAL_GET_INVOICING_TEMPLATE`

Retrieves detailed information about a specific PayPal invoice template by its ID. Use this action when you need to get details about an existing invoice template, such as its name, settings, template info (invoicer details, recipients, line items, amounts), or whether it is the default template. This is useful for verifying template configuration before creating invoices, auditing template settings, or retrieving template details for display purposes. This is a read-only operation that returns the complete template details including the template name, settings, template_info (invoicer business info, recipients, items, amounts, configuration), HATEOAS links, and whether it is a default or standard template. Note: The template_id is a path parameter, not a query parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | The ID of the template to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Payment Details

**Slug:** `PAYPAL_GET_PAYMENT`

Retrieves details for a PayPal payment by its ID using the deprecated v1 Payments API. Use when you need to check the status, payer information, transaction details, or related resources of an existing payment. This action is useful for verifying payment details, checking if a payment was approved, viewing transaction amounts, or accessing related sale/authorization/capture resources. Note that this is a deprecated v1 API endpoint — consider using the v2 Payments API for new integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `payment_id` | string | Yes | The ID of the payment to retrieve. This is the unique identifier assigned when a payment was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Refund Details

**Slug:** `PAYPAL_GET_PAYMENTS_REFUND`

Retrieves details for a PayPal refund by its ID. Use when you need to check the status, amount, or details of an existing refund. This action is useful for verifying refund details, checking refund status, or monitoring refund progress. Note that this is a deprecated v1 API endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `refund_id` | string | Yes | The ID of the refund to retrieve. This is the unique identifier assigned when a refund was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Plan

**Slug:** `PAYPAL_GET_PLAN`

Retrieves details for a specific PayPal billing plan by its ID. Use when you need to fetch information about an existing subscription plan, such as its pricing, billing cycles, status, or payment preferences.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique PayPal-generated ID for the plan. Plan IDs start with 'P-' followed by alphanumeric characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Product

**Slug:** `PAYPAL_GET_PRODUCT`

Retrieves detailed information about a specific PayPal product by its ID. Use when you need to get details about a product, such as its name, description, category, or type. This action is useful for verifying product details before creating plans or subscriptions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | The ID of the product to retrieve. This is the unique identifier assigned when the product was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Subscription Details

**Slug:** `PAYPAL_GET_SUBSCRIPTION`

Retrieves the details of a PayPal subscription by its ID. Use this action when you need to check the status, billing information, subscriber details, or other properties of an existing subscription. Optionally, you can request additional fields like 'last_failed_payment' or 'plan' details using the fields parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the subscription to retrieve. |
| `fields` | string | No | A comma-separated list of additional fields to include in the response. Possible values are 'last_failed_payment' and 'plan'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get PayPal User Info

**Slug:** `PAYPAL_GET_USERINFO`

Retrieves user claims from PayPal using OpenID Connect. Use when you need to obtain authenticated user's profile information such as email, name, and address based on an access token. This endpoint returns user identity information associated with the OAuth access token provided in the Authorization header. The access token must have been obtained via OpenID Connect authentication flow. This action requires an access token with the 'openid' scope. The token is passed via the Authorization header (Bearer token), which is automatically injected from the auth_metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `claims_schema` | string ("paypalv1.userinfo-1.0" | "openid") | No | The schema that defines the claims format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Info

**Slug:** `PAYPAL_GET_USER_INFO`

Retrieves user profile information from PayPal. Use when you need to get the authenticated user's profile details including name, email, address, and account verification status. The response is filtered by the specified schema. The only supported schema value is 'paypalv1.1', which returns the user information in a structured format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `schema` | string ("paypalv1.1") | No | Supported schema values for user info response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Webhook

**Slug:** `PAYPAL_GET_WEBHOOK`

Retrieves detailed information about a specific PayPal webhook by its ID. Use this action when you need to get details about an existing webhook configuration, such as the webhook URL, subscribed event types, or webhook status. This is useful for auditing webhook settings, verifying webhook subscriptions, or checking webhook configuration. This is a read-only operation that returns the webhook details including its ID, URL, subscribed event types, and HATEOAS links for related actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | The ID of the webhook to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Webhook Lookup

**Slug:** `PAYPAL_GET_WEBHOOK_LOOKUP`

Retrieves detailed information about a specific PayPal webhook lookup by its ID. Use this action when you need to get details about a webhook lookup, such as its associated client ID and related HATEOAS links. This is useful for verifying webhook lookup information or auditing webhook lookup records. This is a read-only operation that returns the webhook lookup details including the lookup ID, client ID, and related links for navigation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_lookup_id` | string | Yes | The ID of the webhook lookup to retrieve. This is the unique identifier assigned when the webhook lookup was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Web Profile

**Slug:** `PAYPAL_GET_WEB_PROFILE`

Retrieves detailed information about a PayPal web experience profile by its ID. Use when you need to get details about an existing web experience profile, such as its name, flow configuration, input field settings, or presentation style. This is useful for auditing profile settings, verifying configurations, or retrieving profile information before updating. This is a read-only operation that returns the web profile details including its ID, name, flow config, input fields, presentation settings, and temporary status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the web experience profile to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List PayPal Disputes

**Slug:** `PAYPAL_LIST_DISPUTES`

List PayPal customer disputes with optional filtering by date, transaction, or state. Use when you need to retrieve a paginated list of PayPal disputes. You can filter by creation date, transaction ID, dispute state, or update time range. Results are sorted by creation time (newest first). Use the next_page_token from response links to paginate through additional results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Limits the number of disputes in the response. Maximum allowed value is typically 100. |
| `start_time` | string | No | Filters the disputes by creation date and time. The start time must be within the last 180 days. Format: ISO 8601 (e.g., yyyy-MM-ddTHH:mm:ss.SSSZ). You can specify either start_time or disputed_transaction_id, but not both. |
| `dispute_state` | array | No | Filters the disputes by one or more dispute states. Separate multiple values with comma or provide as a list. When multiple states are specified, disputes matching any of the states are returned. |
| `next_page_token` | string | No | A token that describes the next page of results to fetch. Use the token from the previous response's HATEOAS links. |
| `update_time_after` | string | No | Filters disputes updated after this date and time. Must be within the last 180 days. Default is 180 days ago. Format: ISO 8601. |
| `update_time_before` | string | No | Filters disputes updated before this date and time. Must be within the last 180 days. Default is current time. Format: ISO 8601. |
| `disputed_transaction_id` | string | No | Filters the disputes by a transaction ID. You can specify either start_time or disputed_transaction_id, but not both. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List PayPal Invoices

**Slug:** `PAYPAL_LIST_INVOICES`

List invoices from PayPal with pagination support. Use when you need to retrieve a paginated list of PayPal invoices. You can control the number of results per page using page_size, navigate through pages using page, and optionally include total counts in the response by setting total_required=true. This action supports filtering fields to return either all invoice details (fields='all') or only the essential information like name, ID, and defaults (fields='none').

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to be retrieved. A combination of page=1 and page_size=20 returns the first 20 templates. A combination of page=2 and page_size=20 returns the next 20 templates. |
| `fields` | string ("all" | "none") | No | Fields to return in the response. |
| `page_size` | integer | No | The maximum number of templates to return in the response. |
| `total_required` | boolean | No | Indicates whether to show total_pages and total_items in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Legacy Billing Plans

**Slug:** `PAYPAL_LIST_LEGACY_BILLING_PLANS`

Lists billing plans using the legacy PayPal payments API (v1/payments/billing-plans). Use when you need to retrieve billing plans created with the legacy PayPal billing agreements API. This is a read-only operation that returns plan details including payment definitions, merchant preferences, and status. Note: This action uses the legacy API endpoint. For newer integrations, consider using the /v1/billing/plans endpoint instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | A non-zero integer which is the start index of the entire list of items to return in the response. |
| `status` | string ("CREATED" | "ACTIVE" | "INACTIVE" | "DELETED") | No | Possible states of a billing plan in the legacy API. |
| `end_time` | string | No | The end date and time for the range to consider, in ISO 8601 format (e.g., 2024-12-31T23:59:59Z). |
| `page_size` | integer | No | The number of items to return in the response. Defaults to 25. |
| `start_time` | string | No | The start date and time for the range to consider, in ISO 8601 format (e.g., 2024-01-01T00:00:00Z). |
| `total_required` | boolean | No | Indicates whether to show the total count in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Payments

**Slug:** `PAYPAL_LIST_PAYMENTS`

Lists payment information for authorized payments. Use when you need to retrieve a list of PayPal payments with optional filtering by time, payer, or status. This action is useful for reconciling transactions, monitoring payment states, and building payment dashboards. Results are paginated and can be filtered by various criteria including creation time, payer ID, and payment status. NOTE: This endpoint is deprecated. For new integrations, use /v1/payments/captures and /v1/payments/authorizations instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | The number of items to return. Default: 10. Maximum: 20. |
| `status` | string ("CREATED" | "APPROVED" | "FAILED" | "PAYER_ACTION_REQUIRED") | No | Payment status values. |
| `end_time` | string | No | Filters payments created before this date and time (ISO 8601 format). |
| `payer_id` | string | No | Filters payments by the PayPal account ID of the payer. |
| `start_id` | string | No | The ID of the starting payment in a paginated result set. |
| `start_time` | string | No | Filters payments created after this date and time (ISO 8601 format). |
| `start_index` | integer | No | The index of the first payment to return. Must be a multiple of count. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List billing plans

**Slug:** `PAYPAL_LIST_PLANS`

Lists billing plans from PayPal with optional filtering and pagination. Use this action when you need to retrieve available billing plans for subscription products. This is a read-only operation that returns plan details including pricing, billing cycles, and status. Results can be filtered by product_id and paginated using page and page_size parameters. The response includes HATEOAS links for navigating between pages and performing related actions (e.g., activate, deactivate, update plan).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | A non-zero integer which is the start index of the entire list of items to return in the response. The combination of page=1 and page_size=20 returns the first 20 items. |
| `page_size` | integer | No | The number of items to return in the response. Defaults to 25. |
| `product_id` | string | No | Filters the response by a Product ID. |
| `total_required` | boolean | No | Indicates whether to show the total count in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List PayPal Products

**Slug:** `PAYPAL_LIST_PRODUCTS`

List products from the PayPal product catalog. Use when you need to retrieve a paginated list of products with their details, such as product IDs, names, and descriptions. This action supports pagination via page_size and page parameters. Set total_required=true to include total item and page counts in the response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | A non-zero integer which is the start index of the entire list of items that are returned in the response. |
| `page_size` | integer | No | The number of items to return in the response. Defaults to 10. |
| `total_required` | boolean | No | Indicates whether to show the total items and total pages in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List PayPal Invoice Templates

**Slug:** `PAYPAL_LIST_TEMPLATES`

List invoice templates from PayPal. Use when you need to retrieve a paginated list of PayPal invoice templates with their details. This is a read-only operation that returns template information including names, IDs, settings, and default status. The action supports pagination via page and page_size parameters, and you can control which fields are returned using the fields parameter (set to 'none' for minimal template info).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to be retrieved, for the list of templates. A combination of page=1 and page_size=20 returns the first 20 templates. |
| `fields` | string ("all" | "none") | No | Fields to return in the response. |
| `page_size` | integer | No | The maximum number of templates to return in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List webhook event types

**Slug:** `PAYPAL_LIST_WEBHOOK_EVENT_TYPES`

Lists all available PayPal webhook event types to which you can subscribe. Use this action when you need to discover all webhook events available in the PayPal API before creating or configuring webhooks. This is useful for initial setup or when you need to display available webhook options to users. The endpoint requires no parameters and returns the full list of supported event types with their descriptions and statuses. This is a read-only operation that queries available events without modifying anything.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List webhook event type subscriptions

**Slug:** `PAYPAL_LIST_WEBHOOK_EVENT_TYPE_SUBSCRIPTIONS`

Lists event type subscriptions for a specific PayPal webhook. Use this action when you need to retrieve the list of event types to which a specific webhook is subscribed. This is useful for auditing webhook configurations, verifying which events a webhook is set up to receive, or checking the status of event subscriptions. Unlike the ListWebhookEventTypes action which lists all available event types, this action returns only the event types that a specific webhook is subscribed to. This is a read-only operation that does not modify any webhook configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | The ID of the webhook for which to list event type subscriptions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List webhook lookups

**Slug:** `PAYPAL_LIST_WEBHOOK_LOOKUPS`

Lists all webhook lookups associated with your PayPal application. Use this action when you need to retrieve webhook lookups that have been configured for your application. This is useful for auditing webhook configurations, verifying lookup status, or checking which client IDs have registered webhooks. This is a read-only operation that returns webhook lookup details including IDs, client IDs, and HATEOAS links for related actions. The action requires no input parameters.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhooks

**Slug:** `PAYPAL_LIST_WEBHOOKS`

Lists webhooks configured for an application or PayPal account. Use this action when you need to retrieve all webhooks that have been created and configured in your PayPal integration. This is useful for auditing existing webhook configurations, verifying webhook subscriptions, or checking webhook status. The results can be filtered by anchor_type to show webhooks for the application (APPLICATION) or a specific account (ACCOUNT). This is a read-only operation that returns webhook details including URLs, subscribed event types, and HATEOAS links for related actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `anchor_type` | string ("APPLICATION" | "ACCOUNT") | No | The type of entity to use as an anchor for filtering webhooks. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List web experience profiles

**Slug:** `PAYPAL_LIST_WEB_PROFILES`

Lists web experience profiles from PayPal with optional pagination. Use this action when you need to retrieve available web experience profiles for customizing the checkout experience. This is a read-only operation that returns profile details including flow configuration, input field settings, and branding options. Results can be paginated using page and page_size parameters. The response includes up to 20 profiles by default (configurable via page_size), with HATEOAS links for pagination if more results exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | A non-zero integer which is the start index of the entire list of items to return. |
| `page_size` | integer | No | The number of items to return in the response. Defaults to 25. Maximum is 20. |
| `total_required` | boolean | No | Indicates whether to show the total count in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update checkout order (partial)

**Slug:** `PAYPAL_PATCH_ORDERS`

Partially updates a PayPal checkout order using JSON Patch (RFC 6902) operations. Use this action when you need to update specific fields of an existing checkout order without replacing the entire resource. This action accepts an array of patch operations (add, remove, replace, move, copy, test) and applies them to the checkout order. Common use cases include updating the order description, custom fields, or other patchable properties. A successful update returns HTTP 204 No Content with no JSON response body. This action is idempotent - applying the same patch multiple times produces the same result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the checkout order to update. |
| `operations` | array | Yes | An array of JSON Patch operations to apply to the order. Each operation follows RFC 6902 format with 'op', 'path', and optionally 'value'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update billing plan (partial)

**Slug:** `PAYPAL_PATCH_PLAN`

Partially updates a PayPal billing plan using JSON Patch (RFC 6902) operations. Use this action when you need to update specific fields of a billing plan without replacing the entire resource. This action accepts an array of patch operations (add, remove, replace, move, copy, test) and applies them to the billing plan. Common use cases include updating the plan name, description, payment definitions, or other fields. A successful update returns HTTP 204 No Content with no JSON response body. This action is idempotent - applying the same patch multiple times produces the same result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique billing plan ID. |
| `patches` | array | Yes | An array of JSON Patch operations to apply to the billing plan. Each operation follows RFC 6902 format with 'op', 'path', and optionally 'value'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Subscription

**Slug:** `PAYPAL_PATCH_SUBSCRIPTION`

Update a PayPal subscription using JSON Patch operations. Use when you need to modify specific fields of an existing subscription such as custom_id, billing_token, shipping_address, or other patchable properties. This action applies partial updates to the subscription using RFC 6902 JSON Patch format. Multiple operations can be provided and will be applied in order.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the subscription to update. |
| `operations` | array | Yes | Array of JSON Patch operations to apply to the subscription. Each operation is applied in order. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update web experience profile (partial)

**Slug:** `PAYPAL_PATCH_WEB_PROFILE`

Partially updates a PayPal web experience profile using JSON Patch (RFC 6902) operations. Use this action when you need to update specific fields of a web experience profile without replacing the entire resource. This action accepts an array of patch operations (add, remove, replace, move, copy, test) and applies them to the web experience profile. Common use cases include updating the profile name, presentation settings, flow configuration, or other fields. A successful update returns HTTP 204 No Content with no JSON response body. This action is idempotent - applying the same patch multiple times produces the same result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique web experience profile ID. |
| `patches` | array | Yes | An array of JSON Patch operations to apply to the web experience profile. Each operation follows RFC 6902 format with 'op', 'path', and optionally 'value'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Braintree Ping

**Slug:** `PAYPAL_PING_BRAINTREE`

Sends a ping query to the PayPal Braintree GraphQL API. Use when you need to verify connectivity and authentication status with the Braintree GraphQL endpoint. Returns the literal string 'pong' on successful connection. This is a simple health check endpoint for verifying API connectivity. The ping operation does not modify any data and is idempotent.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Query Braintree Report

**Slug:** `PAYPAL_QUERY_BRAINTREE_REPORT`

Queries Braintree reports via GraphQL API. Use this action when you need to retrieve reports from Braintree's GraphQL API, such as transaction reports, dispute reports, merchant funds availability, or transaction settlement outcomes. Each report type returns different data structures based on the specified report type and filter parameters. The report query provides access to various report types that can be queried with their own input parameters. This is a read-only operation that retrieves report data without modifying any records. Note: This action uses the Braintree GraphQL API endpoint at /graphql.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_date` | string | No | The end date for the report query in ISO 8601 format (e.g., '2024-01-31'). Used for time-based reports. |
| `start_date` | string | No | The start date for the report query in ISO 8601 format (e.g., '2024-01-01'). Used for time-based reports. |
| `report_type` | string ("transactionReport" | "disputeReport" | "merchantFundsAvailable" | "transactionSettlementOutcomesReport") | Yes | The type of report to query. Each type has its own input parameters and response structure. |
| `merchant_account_id` | string | No | The merchant account ID to filter the report by. If not specified, uses the default merchant account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Payment Resource

**Slug:** `PAYPAL_RETRIEVE_PAYMENT_RESOURCE`

Retrieve a PayPal payment resource by its ID. Use this action when you need to fetch details about an existing payment resource created through the Payment Links and Buttons API. This action is useful for checking payment resource status, viewing line items, or retrieving associated links after creating a payment resource. Note: Payment resources are shareable payment links used for simple payment flows.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `payment_resource_id` | string | Yes | Unique identifier of the payment resource to retrieve. This ID is typically returned when creating a payment resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search PayPal Invoices

**Slug:** `PAYPAL_SEARCH_INVOICES`

Search for PayPal invoices based on various filter criteria. Use when you need to find invoices matching specific criteria such as status, date ranges, recipient information, amount ranges, or invoice numbers. This action supports pagination and can return total counts when total_required=true. **Common use cases:** - Find all invoices with a specific status (e.g., all DRAFT or SENT invoices) - Find invoices created within a date range - Find invoices for a specific customer by email or business name - Find invoices within a monetary amount range - Combine multiple filters for precise invoice searches **Pagination:** Results are paginated using page and page_size parameters. Set total_required=true to include total_counts in the response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memo` | string | No | A private bookkeeping memo to filter by. |
| `page` | integer | No | The page number to be retrieved. A combination of page=1 and page_size=20 returns the first 20 invoices. A combination of page=2 and page_size=20 returns the next 20 invoices. |
| `fields` | array | No | A list of fields to return for each invoice. Valid fields are: items, payments, refunds, additional_recipients_info, and attachments. Maximum 5 fields. |
| `status` | array | No | An array of invoice status values to filter by. Common statuses include DRAFT, SENT, SCHEDULED, PAID, CANCELLED, REFUNDED, PARTIALLY_PAID, UNPAID. |
| `archived` | boolean | No | Indicates whether to list merchant-archived invoices. true: lists only archived, false: lists only unarchived, null: lists all. |
| `page_size` | integer | No | The maximum number of invoices to return in the response. |
| `reference` | string | No | The reference data including a Purchase Order (PO) number to filter by. |
| `currency_code` | string | No | The three-character ISO-4217 currency code to filter invoices. |
| `due_date_range` | object | No | The date range for filtering invoices. |
| `invoice_number` | string | No | Filters the search by the invoice number. |
| `total_required` | boolean | No | Indicates whether to show total_pages and total_items in the response. |
| `recipient_email` | string | No | Filters the search by the recipient email address. |
| `invoice_date_range` | object | No | The date range for filtering invoices. |
| `payment_date_range` | object | No | The date and time range for filtering invoices. |
| `total_amount_range` | object | No | The amount range for filtering invoices. |
| `creation_date_range` | object | No | The date and time range for filtering invoices. |
| `recipient_last_name` | string | No | Filters the search by the recipient last name. |
| `recipient_first_name` | string | No | Filters the search by the recipient first name. |
| `recipient_business_name` | string | No | Filters the search by the recipient business name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Simulate Webhook Event

**Slug:** `PAYPAL_SIMULATE_WEBHOOK_EVENT`

Simulates a webhook event to test your webhook integration. Use this action when you need to verify that your webhook endpoint is correctly configured and receiving events from PayPal. This is particularly useful during development and testing to ensure webhook handlers process events correctly without requiring real transaction data. Note: Either `url` or `webhook_id` must be provided in the request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | The URL for the webhook endpoint. If omitted, the webhook ID is required. |
| `event_type` | string | Yes | The event name. Specify one of the subscribed events. For each request, provide only one event. |
| `webhook_id` | string | No | The ID of the webhook. If omitted, the URL is required. |
| `resource_version` | string | No | The identifier for event type (e.g., 1.0, 2.0). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Dispute

**Slug:** `PAYPAL_UPDATE_DISPUTE`

Partially update a PayPal dispute using JSON Patch operations. Use when you need to modify specific fields of an existing dispute such as notes, status, or other patchable properties. This action applies partial updates to the dispute using RFC 6902 JSON Patch format. Multiple operations can be provided and will be applied in order. The API returns HTTP 202 (Accepted) on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dispute_id` | string | Yes | The ID of the dispute to update. |
| `operations` | array | Yes | Array of JSON Patch operations to apply to the dispute. Each operation is applied in order. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Invoice (Full)

**Slug:** `PAYPAL_UPDATE_INVOICE`

Fully updates a PayPal invoice by replacing the entire invoice with the provided data. Use this action when you need to completely replace an invoice with new data. The invoice must be in DRAFT status to be fully updated. Note: This action sends optional notifications to both the recipient and the merchant by default. You can control this behavior using the send_to_recipient and send_to_invoicer parameters. This action is useful when you want to replace the entire invoice rather than making partial updates. For partial updates, use the UpdateInvoice action with PATCH semantics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | array | No | An array of invoice line item information. The maximum items for an invoice is 100. |
| `amount` | object | No | The invoice amount summary. |
| `detail` | object | Yes | The details of the invoice. Includes invoice number, date, payment terms, and audit metadata. |
| `status` | string ("DRAFT" | "SENT" | "SCHEDULED" | "PAID" | "MARKED_AS_PAID" | "CANCELLED" | "REFUNDED" | "PARTIALLY_PAID" | "PARTIALLY_REFUNDED" | "MARKED_AS_REFUNDED" | "UNPAID" | "PAYMENT_PENDING" | "AUTO_CANCELLED" | "PAID_EXTERNAL" | "REFUNDED_EXTERNAL" | "SHARED") | No | The status of an invoice. |
| `gratuity` | object | No | The currency and amount for a financial transaction. |
| `invoicer` | object | No | The invoicer business information. |
| `due_amount` | object | No | The currency and amount for a financial transaction. |
| `invoice_id` | string | Yes | The ID of the invoice to update. |
| `configuration` | object | No | The invoice configuration. |
| `send_to_invoicer` | boolean | No | Indicates whether to send the invoice update notification to the merchant. Defaults to true. |
| `send_to_recipient` | boolean | No | Indicates whether to send the invoice update notification to the recipient. Defaults to true. |
| `primary_recipients` | array | No | The billing and shipping information. Includes name, email, address, phone, and language. |
| `additional_recipients` | array | No | An array of one or more CC: emails to which notifications are sent. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update product (partial)

**Slug:** `PAYPAL_UPDATE_PAY_PAL_PRODUCT`

Partially updates a PayPal product using JSON Patch (RFC 6902) operations. Use this action when you need to update specific fields of a product without replacing the entire resource. This action accepts an array of patch operations (add, remove, replace, move, copy, test) and applies them to the product. Common use cases include updating the product name, description, or other fields. A successful update returns HTTP 204 No Content with no JSON response body. This action is idempotent - applying the same patch multiple times produces the same result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `patches` | array | Yes | An array of JSON Patch operations to apply to the product. Each operation follows RFC 6902 format with 'op', 'path', and optionally 'value'. |
| `product_id` | string | Yes | The unique product ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Webhook

**Slug:** `PAYPAL_UPDATE_PAY_PAL_WEBHOOK`

Updates a PayPal webhook using JSON Patch (RFC 6902) operations. Use this action when you need to modify specific fields of a webhook such as the URL or event types without replacing the entire resource. This action accepts an array of patch operations (add, remove, replace, move, copy, test) and applies them to the webhook. Common use cases include updating the webhook URL, adding or removing event type subscriptions, or modifying other webhook configuration. A successful update returns HTTP 200 OK with the updated webhook object. This action is idempotent - applying the same patch multiple times produces the same result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `patches` | array | Yes | An array of JSON Patch operations to apply to the webhook. Each operation follows RFC 6902 format with 'op', 'path', and optionally 'value'. |
| `webhook_id` | string | Yes | The unique webhook ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update template

**Slug:** `PAYPAL_UPDATE_TEMPLATES`

Fully updates a PayPal invoice template. Use this action when you need to completely replace an existing template with new values. Unlike partial updates, this replaces all fields of the template. The template_id path parameter must match the id in the request body. **Note:** This action replaces the entire template. Any fields not included in the request will be reset to their default values. **Required fields:** - template_id (path parameter): The ID of the template to update - id (request body): The template ID (must match the path parameter) - name (request body): The template name (must be unique) A successful update returns HTTP 200 OK with the updated template object. This action is idempotent - updating a template with the same values produces the same result without side effects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the template. |
| `name` | string | Yes | The template name. Must be unique for the invoicer. |
| `settings` | object | No | The template settings. |
| `template_info` | object | No | The template details including invoicer business information, invoice recipients, items, and configuration. |
| `unit_of_measure` | string ("QUANTITY" | "HOURS" | "AMOUNT") | No | The unit of measure for the invoiced item. |
| `default_template` | boolean | No | Indicates whether this template is the default template. An invoicer can have only one default template. |
| `standard_template` | boolean | No | Indicates whether this template is a invoicer-created custom template. The system generates non-custom templates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update web experience profile

**Slug:** `PAYPAL_UPDATE_WEB_PROFILE`

Updates a PayPal web experience profile. Use this action when you need to modify an existing web experience profile that controls the checkout flow appearance, branding, shipping options, and customer experience for PayPal payments. This action replaces the entire profile configuration with the provided values. A successful update returns HTTP 204 No Content with no JSON response body. This action is idempotent - updating a profile with the same values produces the same result without side effects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the web experience profile to update. |
| `name` | string | Yes | The web experience profile name. Must be unique for a set of profiles for a merchant. |
| `temporary` | boolean | No | Indicates whether the profile persists for three hours or permanently. True for three hours, false for permanent. |
| `flow_config` | object | No | The flow configuration parameters for the web profile. |
| `input_fields` | object | No | The input field customization parameters for the web profile. |
| `presentation` | object | No | The style and presentation parameters for the web profile. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Verify Payment Method via Braintree

**Slug:** `PAYPAL_VERIFY_PAYMENT_METHOD`

Verifies a multi-use payment method to ensure it has passed fraud rules and is associated with a valid account. Use this action when you need to verify that a vaulted (multi-use) payment method is valid before using it for transactions. The verification runs the payment method through your configured Braintree fraud rules and confirms with the card issuer that the card is associated with a valid account. This action is commonly used when a customer adds a new payment method and you want to validate it, when checking if a stored payment method is still valid before a scheduled transaction, or as part of a risk management workflow to pre-validate payment methods. The response includes a verification status (VERIFIED, FAILED, GATEWAY_REJECTED, or PROCESSOR_DECLINED) along with processor response codes. Note: This action uses the Braintree GraphQL API endpoint at /graphql. The payment method must be a multi-use token that has been stored in the Braintree vault.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `input` | object | Yes | The input containing the payment method ID and optional merchant account ID for verification. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Verify Webhook Signature

**Slug:** `PAYPAL_VERIFY_WEBHOOK_SIGNATURE`

Verifies the signature of a PayPal webhook notification to confirm its authenticity. Use this action when you receive a webhook notification from PayPal and need to verify that it was actually sent by PayPal and not tampered with during transmission. This is essential for security when processing webhook events like payments, disputes, or subscription changes. The required parameters (auth_algo, cert_url, transmission_id, transmission_sig, transmission_time, webhook_id, and webhook_event) are extracted from the webhook notification headers and body that PayPal sends to your endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cert_url` | string | Yes | The X.509 public key certificate. Download the certificate from this URL and use it to verify the signature. Extract this value from the PAYPAL-CERT-URL response header, which is received with the webhook notification. |
| `auth_algo` | string | Yes | The algorithm that PayPal uses to generate the signature and that you can use to verify the signature. Extract this value from the PAYPAL-AUTH-ALGO response header, which is received with the webhook notification. |
| `webhook_id` | string | Yes | The ID of the webhook as configured in your Developer Portal account. |
| `webhook_event` | object | Yes | A webhook event notification. |
| `transmission_id` | string | Yes | The ID of the HTTP transmission. Contained in the PAYPAL-TRANSMISSION-ID header of the notification message. |
| `transmission_sig` | string | Yes | The PayPal-generated asymmetric signature. Appears in the PAYPAL-TRANSMISSION-SIG header of the notification message. |
| `transmission_time` | string | Yes | The date and time of the HTTP transmission, in Internet date and time format. Appears in the PAYPAL-TRANSMISSION-TIME header of the notification message. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
