BUSINESS · COMMERCE & FINANCE
Orders, captures, refunds, invoices and subscriptions on the connected account.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
paypal_delete_v1_notifications_webhooks_by_webhook_idWRITEDeletes a webhook, by ID. via DELETE /v1/notifications/webhooks/{webhook_id}
paypal_delete_v1_notifications_webhooks_lookup_by_webhook_lookup_idWRITEDeletes a webhook lookup, by ID. via DELETE /v1/notifications/webhooks-lookup/{webhook_lookup_id}
paypal_delete_v1_payment_experience_web_profiles_by_idWRITEDeletes a web experience profile, by ID. via DELETE /v1/payment-experience/web-profiles/{id}
paypal_delete_v2_invoicing_invoices_by_invoice_idWRITEDeletes a draft or scheduled invoice, by ID. Deletes invoices in the draft or scheduled state only. For invoices that have already been sent, you can <a href="/docs/api/invoicing/v2/#invoices_cancel">cancel the invoice</a>. After you delete a draft or scheduled invoice, you can no longer use it or show its details. However, you can reuse its invoice number. via DELETE /v2/invoicing/invoices/{invoice_id}
paypal_delete_v2_invoicing_invoices_by_invoice_id_payments_by_transaction_idWRITEDeletes an external payment, by invoice ID and transaction ID. via DELETE /v2/invoicing/invoices/{invoice_id}/payments/{transaction_id}
paypal_delete_v2_invoicing_invoices_by_invoice_id_refunds_by_transaction_idWRITEDeletes an external refund, by invoice ID and transaction ID. via DELETE /v2/invoicing/invoices/{invoice_id}/refunds/{transaction_id}
paypal_delete_v2_invoicing_templates_by_template_idWRITEDeletes a template, by ID. via DELETE /v2/invoicing/templates/{template_id}
paypal_delete_v3_vault_payment_tokens_by_idWRITEDelete the payment token associated with the payment token id. via DELETE /v3/vault/payment-tokens/{id}
paypal_get_v1_billing_plansREADLists billing plans. via GET /v1/billing/plans
paypal_get_v1_billing_plans_by_idREADShows details for a plan, by ID. via GET /v1/billing/plans/{id}
paypal_get_v1_billing_subscriptions_by_idREADShows details for a subscription, by ID. via GET /v1/billing/subscriptions/{id}
paypal_get_v1_billing_subscriptions_by_id_transactionsREADLists transactions for a subscription. via GET /v1/billing/subscriptions/{id}/transactions
paypal_get_v1_catalogs_productsREADLists products. via GET /v1/catalogs/products
paypal_get_v1_catalogs_products_by_product_idREADShows details for a product, by ID. via GET /v1/catalogs/products/{product_id}
paypal_get_v1_customer_disputesREADLists disputes with a summary set of details, which shows the <code>dispute_id</code>, <code>reason</code>, <code>status</code>, <code>dispute_state</code>, <code>dispute_life_cycle_stage</code>, <code>dispute_channel</code>, <code>dispute_amount</code>, <code>create_time</code> and <code>update_time</code> fields.<br/><br/>To filter the disputes in the response, specify one or more optional query parameters. To limit the number of disputes in the response, specify the <code>page_size</code> query parameter.<br/><br/>To list multiple disputes, set these query parameters in the request:<ul><li><code>page_size=2</code></li><li><code>start_time</code> instead of <code>disputed_transaction_id</code></li></ul><br/>If the response contains more than two disputes, it lists two disputes and includes a HATEOAS link to the next page of results. via GET /v1/customer/disputes
paypal_get_v1_customer_disputes_by_idREADShows details for a dispute, by ID.<blockquote><strong>Note:</strong> The fields that appear in the response depend on the access. For example, if the merchant requests shows dispute details, the customer's email ID does not appear.</blockquote> via GET /v1/customer/disputes/{id}
paypal_get_v1_notifications_webhooksREADLists webhooks for an app. via GET /v1/notifications/webhooks
paypal_get_v1_notifications_webhooks_by_webhook_idREADShows details for a webhook, by ID. via GET /v1/notifications/webhooks/{webhook_id}
paypal_get_v1_notifications_webhooks_by_webhook_id_event_typesREADLists event subscriptions for a webhook, by ID. via GET /v1/notifications/webhooks/{webhook_id}/event-types
paypal_get_v1_notifications_webhooks_event_typesREADLists available events to which any webhook can subscribe. For a list of supported events, see [Webhook event names](/docs/api/notifications/webhooks/event-names/). via GET /v1/notifications/webhooks-event-types
paypal_get_v1_notifications_webhooks_eventsREADLists webhooks event notifications. Use query parameters to filter the response. via GET /v1/notifications/webhooks-events
paypal_get_v1_notifications_webhooks_events_by_event_idREADShows details for a webhooks event notification, by ID. via GET /v1/notifications/webhooks-events/{event_id}
paypal_get_v1_notifications_webhooks_lookupREADLists webhook lookups. via GET /v1/notifications/webhooks-lookup
paypal_get_v1_notifications_webhooks_lookup_by_webhook_lookup_idREADShows details for a webhook lookup, by ID. via GET /v1/notifications/webhooks-lookup/{webhook_lookup_id}
paypal_get_v1_payment_experience_web_profilesREADLists the latest 20 web experience profiles for a merchant or subject. To show details for these or additional profiles, you can show web experience profile details by ID. via GET /v1/payment-experience/web-profiles
paypal_get_v1_payment_experience_web_profiles_by_idREADShows details for a web experience profile, by ID. via GET /v1/payment-experience/web-profiles/{id}
paypal_get_v1_payments_payouts_by_idREADShows the latest status of a batch payout. Includes the transaction status and other data for individual payout items. via GET /v1/payments/payouts/{id}
paypal_get_v1_payments_payouts_item_by_payout_item_idREADShows details for a payout item, by ID. A <code>payout_item_id</code> helps you identify denied payments. If a payment is denied, you can use the <code>payout_item_id</code> to identify the payment even if it lacks a <code>transaction_id</code>. via GET /v1/payments/payouts-item/{payout_item_id}
paypal_get_v1_reporting_balancesREADList all balances. Specify date time to list balances for that time that appear in the response.<blockquote><strong>Notes:</strong> <ul><li>It takes a maximum of three hours for balances to appear in the list balances call.</li><li>This call lists balances upto the previous three years.</li></ul></blockquote> via GET /v1/reporting/balances
paypal_get_v1_reporting_transactionsREADLists transactions. Specify one or more query parameters to filter the transaction that appear in the response.<blockquote><strong>Notes:</strong> <ul><li>If you specify one or more optional query parameters, the <code>ending_balance</code> response field is empty.</li><li>It takes a maximum of three hours for executed transactions to appear in the list transactions call.</li><li>This call lists transaction for the previous three years.</li></ul></blockquote> via GET /v1/reporting/transactions
paypal_get_v1_shipping_trackersREADLists tracking information that meet search criteria. The tracking ID is required but the tracking number is optional. via GET /v1/shipping/trackers
paypal_get_v1_shipping_trackers_by_idREADShows tracking information, by tracker ID, for a PayPal transaction. via GET /v1/shipping/trackers/{id}
paypal_get_v2_checkout_orders_by_idREADShows details for an order, by ID.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#get-order">Orders v2 errors</a>.</blockquote> via GET /v2/checkout/orders/{id}
paypal_get_v2_customer_partner_referrals_by_partner_referral_idREADShows details by ID for referral data that was shared by the partner or API caller. via GET /v2/customer/partner-referrals/{partner_referral_id}
paypal_get_v2_invoicing_accounting_sync_invoices_by_id_connectionsREADLists connections to accounting platforms per invoice. via GET /v2/invoicing/accounting-sync/invoices/{id}/connections
paypal_get_v2_invoicing_accounting_sync_merchant_connectionsREADLists connections to accounting platforms per merchant. via GET /v2/invoicing/accounting-sync/merchant/connections
paypal_get_v2_invoicing_invoicesREADLists invoices. To filter the invoices that appear in the response, you can specify one or more optional query parameters. via GET /v2/invoicing/invoices
paypal_get_v2_invoicing_invoices_by_invoice_idREADShows details for an invoice, by ID. via GET /v2/invoicing/invoices/{invoice_id}
paypal_get_v2_invoicing_templatesREADLists merchant-created templates with associated details. The associated details include the emails, addresses, and phone numbers from the user's PayPal profile.<br/>The user can select which values to show in the business information section of their template. via GET /v2/invoicing/templates
paypal_get_v2_invoicing_templates_by_template_idREADShows details for a template, by ID. via GET /v2/invoicing/templates/{template_id}
paypal_get_v2_payments_authorizations_by_authorization_idREADShows details for an authorized payment, by ID. via GET /v2/payments/authorizations/{authorization_id}
paypal_get_v2_payments_captures_by_capture_idREADShows details for a captured payment, by ID. via GET /v2/payments/captures/{capture_id}
paypal_get_v2_payments_refunds_by_refund_idREADShows details for a refund, by ID. via GET /v2/payments/refunds/{refund_id}
paypal_get_v3_vault_payment_tokensREADReturns all payment tokens for a customer. via GET /v3/vault/payment-tokens
paypal_get_v3_vault_payment_tokens_by_idREADReturns a readable representation of vaulted payment source associated with the payment token id. via GET /v3/vault/payment-tokens/{id}
paypal_get_v3_vault_setup_tokens_by_idREADReturns a readable representation of temporarily vaulted payment source associated with the setup token id. via GET /v3/vault/setup-tokens/{id}
paypal_patch_v1_billing_plans_by_idWRITEUpdates a plan with the `CREATED` or `ACTIVE` status. For an `INACTIVE` plan, you can make only status updates.<br/>You can patch these attributes and objects:<table><thead><tr><th>Attribute or object</th><th>Operations</th></tr></thead><tbody><tr><td><code>description</code></td><td>replace</td></tr><tr><td><code>payment_preferences.auto_bill_outstanding</code></td><td>replace</td></tr><tr><td><code>taxes.percentage</code></td><td>replace</td></tr><tr><td><code>payment_preferences.payment_failure_threshold</code></td><td>replace</td></tr><tr><td><code>payment_preferences.setup_fee</code></td><td>replace</td></tr><tr><td><code>payment_preferences.setup_fee_failure_action</code></td><td>replace</td></tr><tr><td><code>name</code></td><td>replace</td></tr></tbody></table> via PATCH /v1/billing/plans/{id}
paypal_patch_v1_billing_subscriptions_by_idWRITEUpdates a subscription which could be in <code>ACTIVE</code> or <code>SUSPENDED</code> status. You can override plan level default attributes by providing customised values for plan path in the patch request.<br /> <ul> <li>You cannot update attributes that have already completed (Example - trial cycles can’t be updated if completed).</li> <li>Once overridden, changes to plan resource will not impact subscription.</li> <li>Any price update will not impact billing cycles within next 10 days (Applicable only for subscriptions funded by PayPal account).</li> </ul> Following are the fields eligible for patch.<table><thead><tr><th>Attribute or object</th><th>Operations</th></tr></thead><tbody><tr><td><code>billing_info.outstanding_balance</code></td><td>replace</td></tr><tr><td><code>custom_id</code></td><td>add,replace</td></tr><tr><td><code>plan.billing_cycles[@sequence==n].<br/>pricing_scheme.fixed_price</code></td><td>add,replace</td></tr><tr><td><code>plan.billing_cycles[@sequence==n].<br/>pricing_scheme.tiers</code></td><td>replace</td></tr><tr><td><code>plan.billing_cycles[@sequence==n].<br/>total_cycles</code></td><td>replace</td></tr><tr><td><code>plan.payment_preferences.<br/>auto_bill_outstanding</code></td><td>replace</td></tr><tr><td><code>plan.payment_preferences.<br/>payment_failure_threshold</code></td><td>replace</td></tr><tr><td><code>plan.taxes.inclusive</code></td><td>add,replace</td></tr><tr><td><code>plan.taxes.percentage</code></td><td>add,replace</td></tr><tr><td><code>shipping_amount</code></td><td>add,replace</td></tr><tr><td><code>start_time</code></td><td>replace</td></tr><tr><td><code>subscriber.shipping_address</code></td><td>add,replace</td></tr><tr><td><code>subscriber.payment_source (for subscriptions funded<br/>by card payments)</code></td><td>replace</td></tr></tbody></table> via PATCH /v1/billing/subscriptions/{id}
paypal_patch_v1_catalogs_products_by_product_idWRITEUpdates a product, by ID. You can patch these attributes and objects:<table><thead><tr><th>Attribute or object</th><th>Operations</th></tr></thead><tbody><tr><td><code>description</code></td><td>add, replace, remove</td></tr><tr><td><code>category</code></td><td>add, replace, remove</td></tr><tr><td><code>image_url</code></td><td>add, replace, remove</td></tr><tr><td><code>home_url</code></td><td>add, replace, remove</td></tr></tbody></table> via PATCH /v1/catalogs/products/{product_id}
paypal_patch_v1_customer_disputes_by_idWRITEPartially updates a dispute, by ID. Seller can update the `communication_detail` value or The partner can add the `partner action` information. via PATCH /v1/customer/disputes/{id}
paypal_patch_v1_notifications_webhooks_by_webhook_idWRITEUpdates a webhook to replace webhook fields with new values. Supports only the `replace` operation. Pass a `json_patch` object with `replace` operation and `path`, which is `/url` for a URL or `/event_types` for events. The `value` is either the URL or a list of events. via PATCH /v1/notifications/webhooks/{webhook_id}
paypal_patch_v1_payment_experience_web_profiles_by_idWRITEPartially-updates a web experience profile, by ID. In the JSON request body, specify a patch object, the path of the profile location to update, and a new value. via PATCH /v1/payment-experience/web-profiles/{id}
paypal_patch_v2_checkout_orders_by_idWRITEUpdates an order with a `CREATED` or `APPROVED` status. You cannot update an order with the `COMPLETED` status.<br/><br/>To make an update, you must provide a `reference_id`. If you omit this value with an order that contains only one purchase unit, PayPal sets the value to `default` which enables you to use the path: <code>\"/purchase_units/@reference_id=='default'/{attribute-or-object}\"</code>. Merchants and partners can add Level 2 and 3 data to payments to reduce risk and payment processing costs. For more information about processing payments, see <a href="https://developer.paypal.com/docs/checkout/advanced/processing/">checkout</a> or <a href="https://developer.paypal.com/docs/multiparty/checkout/advanced/processing/">multiparty checkout</a>.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#patch-order">Orders v2 errors</a>.</blockquote>Patchable attributes or objects:<br/><br/><table><thead><th>Attribute</th><th>Op</th><th>Notes</th></thead><tbody><tr><td><code>intent</code></td><td>replace</td><td></td></tr><tr><td><code>payer</code></td><td>replace, add</td><td>Using replace op for <code>payer</code> will replace the whole <code>payer</code> object with the value sent in request.</td></tr><tr><td><code>purchase_units</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].custom_id</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].description</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].payee.email</code></td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].shipping.name</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.email_address</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.phone_number</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.options</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.address</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].shipping.type</code></td><td>replace, add</td><td></td></tr><tr><td><code>purchase_units[].soft_descriptor</code></td><td>replace, remove</td><td></td></tr><tr><td><code>purchase_units[].amount</code></td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].items</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].invoice_id</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].payment_instruction</code></td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].payment_instruction.disbursement_mode</code></td><td>replace</td><td>By default, <code>disbursement_mode</code> is <code>INSTANT</code>.</td></tr><tr><td><code>purchase_units[].payment_instruction.payee_receivable_fx_rate_id</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].payment_instruction.platform_fees</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].supplementary_data.airline</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>purchase_units[].supplementary_data.card</code></td><td>replace, add, remove</td><td></td></tr><tr><td><code>application_context.client_configuration</code></td><td>replace, add</td><td></td></tr></tbody></table> via PATCH /v2/checkout/orders/{id}
paypal_patch_v2_checkout_orders_by_id_trackers_by_tracker_idWRITEUpdates or cancels the tracking information for a PayPal order, by ID. Updatable attributes or objects:<br/><br/><table><thead><th>Attribute</th><th>Op</th><th>Notes</th></thead><tbody></tr><tr><td><code>items</code></td><td>replace</td><td>Using replace op for <code>items</code> will replace the entire <code>items</code> object with the value sent in request.</td></tr><tr><td><code>notify_payer</code></td><td>replace, add</td><td></td></tr><tr><td><code>status</code></td><td>replace</td><td>Only patching status to CANCELLED is currently supported.</td></tr></tbody></table> via PATCH /v2/checkout/orders/{id}/trackers/{tracker_id}
paypal_post_v1_billing_plansWRITECreates a plan that defines pricing and billing cycle details for subscriptions. via POST /v1/billing/plans
paypal_post_v1_billing_plans_by_id_activateWRITEActivates a plan, by ID. via POST /v1/billing/plans/{id}/activate
paypal_post_v1_billing_plans_by_id_deactivateWRITEDeactivates a plan, by ID. via POST /v1/billing/plans/{id}/deactivate
paypal_post_v1_billing_plans_by_id_update_pricing_schemesWRITEUpdates pricing for a plan. For example, you can update a regular billing cycle from $5 per month to $7 per month. via POST /v1/billing/plans/{id}/update-pricing-schemes
paypal_post_v1_billing_subscriptionsWRITECreates a subscription. via POST /v1/billing/subscriptions
paypal_post_v1_billing_subscriptions_by_id_activateWRITEActivates the subscription. via POST /v1/billing/subscriptions/{id}/activate
paypal_post_v1_billing_subscriptions_by_id_cancelWRITECancels the subscription. via POST /v1/billing/subscriptions/{id}/cancel
paypal_post_v1_billing_subscriptions_by_id_captureWRITECaptures an authorized payment from the subscriber on the subscription. via POST /v1/billing/subscriptions/{id}/capture
paypal_post_v1_billing_subscriptions_by_id_reviseWRITEUpdates the quantity of the product or service in a subscription. You can also use this method to switch the plan and update the `shipping_amount`, `shipping_address` values for the subscription. This type of update requires the buyer's consent. via POST /v1/billing/subscriptions/{id}/revise
paypal_post_v1_billing_subscriptions_by_id_suspendWRITESuspends the subscription. via POST /v1/billing/subscriptions/{id}/suspend
paypal_post_v1_catalogs_productsWRITECreates a product. via POST /v1/catalogs/products
paypal_post_v1_customer_disputes_by_id_accept_offerWRITEThe customer accepts the offer from merchant to resolve a dispute, by ID. PayPal automatically refunds the amount proposed by merchant to the customer. via POST /v1/customer/disputes/{id}/accept-offer
paypal_post_v1_customer_disputes_by_id_adjudicateWRITE<blockquote><strong>Important:</strong> This method is for sandbox use only.</blockquote> Settles a dispute in either the customer's or merchant's favor. Merchants can make this call in the sandbox to complete end-to-end dispute resolution testing, which mimics the dispute resolution that PayPal agents normally complete. To make this call, the dispute <code>status</code> must be <code>UNDER_REVIEW</code> and <code>adjudicate</code> link should be available in the <a href="/docs/api/customer-disputes/v1/#disputes_get!c=200&path=links&t=response/">HATEOAS links</a> of the <a href="/docs/api/customer-disputes/v1/#disputes_get">show dispute details</a> response. via POST /v1/customer/disputes/{id}/adjudicate
paypal_post_v1_customer_disputes_by_id_deny_offerWRITEDenies an offer that the merchant proposes for a dispute, by ID. via POST /v1/customer/disputes/{id}/deny-offer
paypal_post_v1_customer_disputes_by_id_escalateWRITEEscalates the dispute, by ID, to a PayPal claim. To make this call, the stage in the dispute lifecycle must be `INQUIRY`. via POST /v1/customer/disputes/{id}/escalate
paypal_post_v1_customer_disputes_by_id_make_offerWRITEMakes an offer to the other party to resolve a dispute, by ID. To make this call, the stage in the dispute lifecycle must be `INQUIRY`. If the customer accepts the offer, PayPal automatically makes a refund. Allowed offer_type values for the request is available in dispute details <a href="/docs/api/customer-disputes/v1/#definition-allowed_response_options">allowed response options</a> object. via POST /v1/customer/disputes/{id}/make-offer
paypal_post_v1_customer_disputes_by_id_require_evidenceWRITE<blockquote><strong>Important:</strong> This method is for sandbox use only.</blockquote> Updates the status of a dispute, by ID, from <code>UNDER_REVIEW</code> to either:<ul><li><code>WAITING_FOR_BUYER_RESPONSE</code></li><li><code>WAITING_FOR_SELLER_RESPONSE</code></li></ul>This status change enables either the customer or merchant to submit evidence for the dispute. To make this call, the dispute <code>status</code> must be <code>UNDER_REVIEW</code> and <code>require-evidence</code> link should be available in the <a href="/docs/api/customer-disputes/v1/#disputes_get!c=200&path=links&t=response/">HATEOAS links</a> of the <a href="/docs/api/customer-disputes/v1/#disputes_get">show dispute details</a> response. Specify an <code>action</code> value in the JSON request body to indicate whether the status change enables the customer or merchant to submit evidence:<table><thead><tr align="left"><th>If <code>action</code> is</th><th>The <code>status</code> updates to</th></tr></thead><tbody><tr><td><code>BUYER_EVIDENCE</code></td><td> <code>WAITING_FOR_BUYER_RESPONSE</code></td></tr><tr><td><code>SELLER_EVIDENCE</code></td><td> <code>WAITING_FOR_SELLER_RESPONSE</code></td></tr></tbody></table>. via POST /v1/customer/disputes/{id}/require-evidence
paypal_post_v1_notifications_simulate_eventWRITESimulates a webhook event. In the JSON request body, specify a sample payload.<br>You need to subscribe to the following webhook events for Pay upon Invoice:<br><table><thead><tr><th>Event</th><th>Trigger</th></tr></thead><tbody><tr><td><code>PAYMENT.CAPTURE.COMPLETED</code></td><td>A payment capture completes.</td></tr><tr><td><code>PAYMENT.CAPTURE.DENIED</code></td><td>A payment capture is denied.</td></tr><tr><td><code>CHECKOUT.PAYMENT-APPROVAL.REVERSED</code></td><td>PayPal reverses a payment capture.</td></tr></tbody></table> via POST /v1/notifications/simulate-event
paypal_post_v1_notifications_verify_webhook_signatureWRITEVerifies a webhook signature. via POST /v1/notifications/verify-webhook-signature
paypal_post_v1_notifications_webhooksWRITESubscribes your webhook listener to events. via POST /v1/notifications/webhooks
paypal_post_v1_notifications_webhooks_events_by_event_id_resendWRITEResends a webhook event notification, by ID. Any pending notifications are not resent. via POST /v1/notifications/webhooks-events/{event_id}/resend
paypal_post_v1_notifications_webhooks_lookupWRITECreates a webhook lookup. A webhook lookup ties the API caller's REST API app to the subject account (or, if no subject is specified, to the API caller's account). If a webhook event is generated for an event that is tied to the account but not to a particular REST API app (for example, payments initiated with the NVP/SOAP APIs or through the user interface on PayPal.com), those webhook events will treated as if they were intended for the REST API app registered in the webhook lookup instead. Webhook events will then be delivered to any webhooks registered to that REST API app. via POST /v1/notifications/webhooks-lookup
paypal_post_v1_payment_experience_web_profilesWRITECreates a web experience profile. In the JSON request body, specify the profile name and details. via POST /v1/payment-experience/web-profiles
paypal_post_v1_payments_payoutsWRITECreates a batch payout. In the JSON request body, pass a `sender_batch_header` and an `items` array. The `sender_batch_header` defines how to handle the payout. The `items` array defines the payout items.<br/>You can make payouts to one or more recipients.<blockquote><strong>Notes:</strong> <ul><li><p>PayPal does not process duplicate payouts. If you specify a <code>sender_batch_id</code> that was used in the last 30 days, the API rejects the request with an error message that shows the duplicate <code>sender_batch_id</code> and includes a HATEOAS link to the original payout with the same <code>sender_batch_id</code>.</p><p>If you receive an HTTP <code>5<i>nn</i></code> status code, you can safely retry the request with the same <code>sender_batch_id</code>.</p></li><li><p>The Payouts API does not support build notation (BN) codes. In a future Payouts release, you can optionally provide BN codes in the <code>PayPal-Partner-Attribution-Id</code> request header.</p><p>For information about the <code>PayPal-Partner-Attribution-Id</code> header, see <a href="/api/rest/requests/#http-request-headers">HTTP request headers</a>. To learn about or request a BN code, contact your partner manager or see <a href="https://www.paypal.com/us/webapps/mpp/partner-program">PayPal Partner Program</a>.</p></li></ul></blockquote> via POST /v1/payments/payouts
paypal_post_v1_payments_payouts_item_by_payout_item_id_cancelWRITECancels an unclaimed payout item, by ID. If no one claims the unclaimed item within 30 days, the API automatically returns the funds to the sender. Use this call to cancel the unclaimed item before the automatic 30-day refund. You can cancel payout items with a <code>transaction_status</code> of <code>UNCLAIMED</code>. via POST /v1/payments/payouts-item/{payout_item_id}/cancel
paypal_post_v1_shipping_trackersWRITEAdds tracking information for a PayPal transaction. via POST /v1/shipping/trackers
paypal_post_v1_shipping_trackers_batchWRITE<blockquote><strong>Deprecation notice:</strong> Adding tracking details for an order through <code>/v1/shipping/trackers-batch</code> is deprecated as its a legacy way of integration. Use the new <a href="/docs/tracking/orders-api/integrate/">Orders v2 API</a> to share tracking details with PayPal.</blockquote>Adds tracking information, with or without tracking numbers, for multiple PayPal transactions. Accepts up to 20 tracking IDs. For more information, see <a href="/docs/tracking/tracking-api/integrate/#link-addtrackinginformationwithtrackingnumbers">Add tracking information with tracking numbers</a> and <a href="/docs/tracking/tracking-api/integrate/#link-addtrackinginformationwithouttrackingnumbers">Add tracking information without tracking numbers</a>. via POST /v1/shipping/trackers-batch
paypal_post_v2_checkout_ordersWRITECreates an order. Merchants and partners can add Level 2 and 3 data to payments to reduce risk and payment processing costs. For more information about processing payments, see <a href="https://developer.paypal.com/docs/checkout/advanced/processing/">checkout</a> or <a href="https://developer.paypal.com/docs/multiparty/checkout/advanced/processing/">multiparty checkout</a>.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#create-order">Orders v2 errors</a>.</blockquote> via POST /v2/checkout/orders
paypal_post_v2_checkout_orders_by_id_authorizeWRITEAuthorizes payment for an order. To successfully authorize payment for an order, the buyer must first approve the order or a valid payment_source must be provided in the request. A buyer can approve the order upon being redirected to the rel:approve URL that was returned in the HATEOAS links in the create order response.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#authorize-order">Orders v2 errors</a>.</blockquote> via POST /v2/checkout/orders/{id}/authorize
paypal_post_v2_checkout_orders_by_id_captureWRITECaptures payment for an order. To successfully capture payment for an order, the buyer must first approve the order or a valid payment_source must be provided in the request. A buyer can approve the order upon being redirected to the rel:approve URL that was returned in the HATEOAS links in the create order response.<blockquote><strong>Note:</strong> For error handling and troubleshooting, see <a href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#capture-order">Orders v2 errors</a>.</blockquote> via POST /v2/checkout/orders/{id}/capture
paypal_post_v2_checkout_orders_by_id_confirm_payment_sourceWRITEPayer confirms their intent to pay for the the Order with the given payment source. via POST /v2/checkout/orders/{id}/confirm-payment-source
paypal_post_v2_checkout_orders_by_id_trackWRITEAdds tracking information for an Order. via POST /v2/checkout/orders/{id}/track
paypal_post_v2_checkout_orders_order_update_callbackWRITEThe documentation for this 'endpoint' is different from the other endpoints under v2 Orders. For this endpoint the role of client and server is reversed. The client sending the request is PayPal, and the server sending the response is the merchant. In the request, PayPal will send the buyer's redacted shipping address and selected shipping option to the callback URL defined the create order request. The response from the merchant will update the Orders resource. via POST /v2/checkout/orders/order-update-callback
paypal_post_v2_customer_partner_referralsWRITECreates a partner referral that is shared by the partner or API caller. The partner referral is used to onboard the seller, and contains the seller's personal, business, financial and operations. via POST /v2/customer/partner-referrals
paypal_post_v2_invoicing_generate_next_invoice_numberWRITEGenerates the next invoice number that is available to the merchant. The next invoice number uses the prefix and suffix from the last invoice number and increments the number by one. For example, the next invoice number after `INVOICE-1234` is `INVOICE-1235`. via POST /v2/invoicing/generate-next-invoice-number
paypal_post_v2_invoicing_invoicesWRITECreates a draft invoice. To move the invoice from a draft to payable state, you must <a href="#invoices_send">send the invoice</a>.<br/><br/>In the JSON request body, include invoice details including merchant information. The <code>invoice</code> object must include an <code>items</code> array.<blockquote><strong>Note:</strong> The merchant that you specify in an invoice must have a PayPal account in good standing.</blockquote>. via POST /v2/invoicing/invoices
paypal_post_v2_invoicing_invoices_by_invoice_id_cancelWRITECancels a sent invoice, by ID, and, optionally, sends a notification about the cancellation to the payer, merchant, and CC: emails. via POST /v2/invoicing/invoices/{invoice_id}/cancel
paypal_post_v2_invoicing_invoices_by_invoice_id_generate_qr_codeWRITEGenerates a QR code for an invoice, by ID. The QR code is a PNG image in <a href="https://www.base64encode.org/">Base64-encoded</a> format that corresponds to the invoice ID. You can generate a QR code for an invoice and add it to a paper or PDF invoice. When customers use their mobile devices to scan the QR code, they are redirected to the PayPal mobile payment flow where they can view the invoice and pay online with PayPal or a credit card. Before you get a QR code, you must <a href="#invoices_create">create an invoice</a> and <a href="#invoices_send">send an invoice</a> to move the invoice from a draft to payable state. Do not include an email address if you do not want the invoice emailed. via POST /v2/invoicing/invoices/{invoice_id}/generate-qr-code
paypal_post_v2_invoicing_invoices_by_invoice_id_paymentsWRITERecords a payment for the invoice. If no payment is due, the invoice is marked as `PAID`. Otherwise, the invoice is marked as `PARTIALLY PAID`. via POST /v2/invoicing/invoices/{invoice_id}/payments
paypal_post_v2_invoicing_invoices_by_invoice_id_refundsWRITERecords a refund for the invoice. If all payments are refunded, the invoice is marked as `REFUNDED`. Otherwise, the invoice is marked as `PARTIALLY REFUNDED`. via POST /v2/invoicing/invoices/{invoice_id}/refunds
paypal_post_v2_invoicing_invoices_by_invoice_id_remindWRITESends a reminder to the payer about an invoice, by ID. In the JSON request body, include a `notification` object that defines the subject of the reminder and other details. <blockquote><strong>Notes:</strong><ul><li>API caller can send only 2 reminders in a day.</li></ul></blockquote>. via POST /v2/invoicing/invoices/{invoice_id}/remind
paypal_post_v2_invoicing_invoices_by_invoice_id_sendWRITESends or schedules an invoice, by ID, to be sent to a customer. The action depends on the invoice issue date:<ul><li>If the invoice issue date is current or in the past, sends the invoice immediately.</li><li>If the invoice issue date is in the future, schedules the invoice to be sent on that date.</li></ul>To suppress the merchant's email notification, set the `send_to_invoicer` body parameter to `false`. To send the invoice through a share link and not through PayPal, set the <code>send_to_recipient</code> parameter to <code>false</code> in the <code>notification</code> object. The <code>send_to_recipient</code> parameter does not apply to a future issue date because the invoice is scheduled to be sent through PayPal on that date.<blockquote><strong>Notes:</strong><ul><li>After you send an invoice, resending it has no effect.</li><li>To send a notification for updates, <a href="#invoices_update">update the invoice</a> and set the <code>send_to_recipient</code> body parameter to <code>true</code>.</li></ul></blockquote> via POST /v2/invoicing/invoices/{invoice_id}/send
paypal_post_v2_invoicing_search_invoicesWRITESearches for and lists invoices that match search criteria. If you pass multiple criteria, the response lists invoices that match all criteria. via POST /v2/invoicing/search-invoices
paypal_post_v2_invoicing_templatesWRITECreates an invoice template. You can use details from this template to create an invoice. You can create up to 50 templates.<blockquote><strong>Note:</strong> Every merchant starts with three PayPal system templates that are optimized for the unit type billed. The template includes `Quantity`, `Hours`, and `Amount`.</blockquote> via POST /v2/invoicing/templates
paypal_post_v2_payments_authorizations_by_authorization_id_captureWRITECaptures an authorized payment, by ID. via POST /v2/payments/authorizations/{authorization_id}/capture
paypal_post_v2_payments_authorizations_by_authorization_id_reauthorizeWRITEReauthorizes an authorized PayPal account payment, by ID. To ensure that funds are still available, reauthorize a payment after its initial three-day honor period expires. Within the 29-day authorization period, you can issue multiple re-authorizations after the honor period expires.<br/><br/>If 30 days have transpired since the date of the original authorization, you must create an authorized payment instead of reauthorizing the original authorized payment.<br/><br/>A reauthorized payment itself has a new honor period of three days.<br/><br/>You can reauthorize an authorized payment from 4 to 29 days after the 3-day honor period. The allowed amount depends on context and geography, for example in US it is up to 115% of the original authorized amount, not to exceed an increase of $75 USD.<br/><br/>Supports only the `amount` request parameter. via POST /v2/payments/authorizations/{authorization_id}/reauthorize
paypal_post_v2_payments_authorizations_by_authorization_id_voidWRITEVoids, or cancels, an authorized payment, by ID. You cannot void an authorized payment that has been fully captured. via POST /v2/payments/authorizations/{authorization_id}/void
paypal_post_v2_payments_captures_by_capture_id_refundWRITERefunds a captured payment, by ID. For a full refund, include an empty payload in the JSON request body. For a partial refund, include an <code>amount</code> object in the JSON request body. via POST /v2/payments/captures/{capture_id}/refund
paypal_post_v2_payments_find_eligible_methodsWRITEGet a list of eligible payment methods based on the input parameters provided. via POST /v2/payments/find-eligible-methods
paypal_post_v3_vault_payment_tokensWRITECreates a Payment Token from the given payment source and adds it to the Vault of the associated customer. via POST /v3/vault/payment-tokens
paypal_post_v3_vault_setup_tokensWRITECreates a Setup Token from the given payment source and adds it to the Vault of the associated customer. via POST /v3/vault/setup-tokens
paypal_put_v1_payment_experience_web_profiles_by_idWRITEUpdates a web experience profile, by ID. In the JSON request body, specify the profile details. If your request omits any profile parameters, any previously set values for those parameters are removed. via PUT /v1/payment-experience/web-profiles/{id}
paypal_put_v1_shipping_trackers_by_idWRITEUpdates or cancels the tracking information for a PayPal transaction, by ID. To cancel tracking information, call this method and set the status to CANCELLED. For more information, see <a href="/docs/tracking/tracking-api/integrate/#link-updateorcanceltrackinginformation">Update or cancel tracking information</a>. via PUT /v1/shipping/trackers/{id}
paypal_put_v2_invoicing_invoices_by_invoice_idWRITEFully updates an invoice, by ID. In the JSON request body, include a complete `invoice` object. This call does not support partial updates. <blockquote><strong>Notes:</strong><ul><li>API caller can change/modify recipient only 2 times in 72 hours.</li></ul></blockquote>. via PUT /v2/invoicing/invoices/{invoice_id}
paypal_put_v2_invoicing_templates_by_template_idWRITEFully updates a template, by ID. In the JSON request body, include a complete `template` object. This call does not support partial updates. via PUT /v2/invoicing/templates/{template_id}
Put PayPal behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.