All integrations

PayPal

BUSINESS · COMMERCE & FINANCE

Orders, captures, refunds, invoices and subscriptions on the connected account.

Acts as the person, not as itself

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.

Credentials never touch the agent

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.

Every call on the record

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.

What an agent can do

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_idWRITE

Deletes a webhook, by ID. via DELETE /v1/notifications/webhooks/{webhook_id}

api
paypal_delete_v1_notifications_webhooks_lookup_by_webhook_lookup_idWRITE

Deletes a webhook lookup, by ID. via DELETE /v1/notifications/webhooks-lookup/{webhook_lookup_id}

api
paypal_delete_v1_payment_experience_web_profiles_by_idWRITE

Deletes a web experience profile, by ID. via DELETE /v1/payment-experience/web-profiles/{id}

api
paypal_delete_v2_invoicing_invoices_by_invoice_idWRITE

Deletes 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}

api
paypal_delete_v2_invoicing_invoices_by_invoice_id_payments_by_transaction_idWRITE

Deletes an external payment, by invoice ID and transaction ID. via DELETE /v2/invoicing/invoices/{invoice_id}/payments/{transaction_id}

api
paypal_delete_v2_invoicing_invoices_by_invoice_id_refunds_by_transaction_idWRITE

Deletes an external refund, by invoice ID and transaction ID. via DELETE /v2/invoicing/invoices/{invoice_id}/refunds/{transaction_id}

api
paypal_delete_v2_invoicing_templates_by_template_idWRITE

Deletes a template, by ID. via DELETE /v2/invoicing/templates/{template_id}

api
paypal_delete_v3_vault_payment_tokens_by_idWRITE

Delete the payment token associated with the payment token id. via DELETE /v3/vault/payment-tokens/{id}

api
paypal_get_v1_billing_plansREAD

Lists billing plans. via GET /v1/billing/plans

api
paypal_get_v1_billing_plans_by_idREAD

Shows details for a plan, by ID. via GET /v1/billing/plans/{id}

api
paypal_get_v1_billing_subscriptions_by_idREAD

Shows details for a subscription, by ID. via GET /v1/billing/subscriptions/{id}

api
paypal_get_v1_billing_subscriptions_by_id_transactionsREAD

Lists transactions for a subscription. via GET /v1/billing/subscriptions/{id}/transactions

api
paypal_get_v1_catalogs_productsREAD

Lists products. via GET /v1/catalogs/products

api
paypal_get_v1_catalogs_products_by_product_idREAD

Shows details for a product, by ID. via GET /v1/catalogs/products/{product_id}

api
paypal_get_v1_customer_disputesREAD

Lists 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

api
paypal_get_v1_customer_disputes_by_idREAD

Shows 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}

api
paypal_get_v1_notifications_webhooksREAD

Lists webhooks for an app. via GET /v1/notifications/webhooks

api
paypal_get_v1_notifications_webhooks_by_webhook_idREAD

Shows details for a webhook, by ID. via GET /v1/notifications/webhooks/{webhook_id}

api
paypal_get_v1_notifications_webhooks_by_webhook_id_event_typesREAD

Lists event subscriptions for a webhook, by ID. via GET /v1/notifications/webhooks/{webhook_id}/event-types

api
paypal_get_v1_notifications_webhooks_event_typesREAD

Lists 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

api
paypal_get_v1_notifications_webhooks_eventsREAD

Lists webhooks event notifications. Use query parameters to filter the response. via GET /v1/notifications/webhooks-events

api
paypal_get_v1_notifications_webhooks_events_by_event_idREAD

Shows details for a webhooks event notification, by ID. via GET /v1/notifications/webhooks-events/{event_id}

api
paypal_get_v1_notifications_webhooks_lookupREAD

Lists webhook lookups. via GET /v1/notifications/webhooks-lookup

api
paypal_get_v1_notifications_webhooks_lookup_by_webhook_lookup_idREAD

Shows details for a webhook lookup, by ID. via GET /v1/notifications/webhooks-lookup/{webhook_lookup_id}

api
paypal_get_v1_payment_experience_web_profilesREAD

Lists 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

api
paypal_get_v1_payment_experience_web_profiles_by_idREAD

Shows details for a web experience profile, by ID. via GET /v1/payment-experience/web-profiles/{id}

api
paypal_get_v1_payments_payouts_by_idREAD

Shows the latest status of a batch payout. Includes the transaction status and other data for individual payout items. via GET /v1/payments/payouts/{id}

api
paypal_get_v1_payments_payouts_item_by_payout_item_idREAD

Shows 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}

api
paypal_get_v1_reporting_balancesREAD

List 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

api
paypal_get_v1_reporting_transactionsREAD

Lists 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

api
paypal_get_v1_shipping_trackersREAD

Lists tracking information that meet search criteria. The tracking ID is required but the tracking number is optional. via GET /v1/shipping/trackers

api
paypal_get_v1_shipping_trackers_by_idREAD

Shows tracking information, by tracker ID, for a PayPal transaction. via GET /v1/shipping/trackers/{id}

api
paypal_get_v2_checkout_orders_by_idREAD

Shows 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}

api
paypal_get_v2_customer_partner_referrals_by_partner_referral_idREAD

Shows details by ID for referral data that was shared by the partner or API caller. via GET /v2/customer/partner-referrals/{partner_referral_id}

api
paypal_get_v2_invoicing_accounting_sync_invoices_by_id_connectionsREAD

Lists connections to accounting platforms per invoice. via GET /v2/invoicing/accounting-sync/invoices/{id}/connections

api
paypal_get_v2_invoicing_accounting_sync_merchant_connectionsREAD

Lists connections to accounting platforms per merchant. via GET /v2/invoicing/accounting-sync/merchant/connections

api
paypal_get_v2_invoicing_invoicesREAD

Lists invoices. To filter the invoices that appear in the response, you can specify one or more optional query parameters. via GET /v2/invoicing/invoices

api
paypal_get_v2_invoicing_invoices_by_invoice_idREAD

Shows details for an invoice, by ID. via GET /v2/invoicing/invoices/{invoice_id}

api
paypal_get_v2_invoicing_templatesREAD

Lists 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

api
paypal_get_v2_invoicing_templates_by_template_idREAD

Shows details for a template, by ID. via GET /v2/invoicing/templates/{template_id}

api
paypal_get_v2_payments_authorizations_by_authorization_idREAD

Shows details for an authorized payment, by ID. via GET /v2/payments/authorizations/{authorization_id}

api
paypal_get_v2_payments_captures_by_capture_idREAD

Shows details for a captured payment, by ID. via GET /v2/payments/captures/{capture_id}

api
paypal_get_v2_payments_refunds_by_refund_idREAD

Shows details for a refund, by ID. via GET /v2/payments/refunds/{refund_id}

api
paypal_get_v3_vault_payment_tokensREAD

Returns all payment tokens for a customer. via GET /v3/vault/payment-tokens

api
paypal_get_v3_vault_payment_tokens_by_idREAD

Returns a readable representation of vaulted payment source associated with the payment token id. via GET /v3/vault/payment-tokens/{id}

api
paypal_get_v3_vault_setup_tokens_by_idREAD

Returns a readable representation of temporarily vaulted payment source associated with the setup token id. via GET /v3/vault/setup-tokens/{id}

api
paypal_patch_v1_billing_plans_by_idWRITE

Updates 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}

api
paypal_patch_v1_billing_subscriptions_by_idWRITE

Updates 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}

api
paypal_patch_v1_catalogs_products_by_product_idWRITE

Updates 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}

api
paypal_patch_v1_customer_disputes_by_idWRITE

Partially 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}

api
paypal_patch_v1_notifications_webhooks_by_webhook_idWRITE

Updates 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}

api
paypal_patch_v1_payment_experience_web_profiles_by_idWRITE

Partially-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}

api
paypal_patch_v2_checkout_orders_by_idWRITE

Updates 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}

api
paypal_patch_v2_checkout_orders_by_id_trackers_by_tracker_idWRITE

Updates 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}

api
paypal_post_v1_billing_plansWRITE

Creates a plan that defines pricing and billing cycle details for subscriptions. via POST /v1/billing/plans

api
paypal_post_v1_billing_plans_by_id_activateWRITE

Activates a plan, by ID. via POST /v1/billing/plans/{id}/activate

api
paypal_post_v1_billing_plans_by_id_deactivateWRITE

Deactivates a plan, by ID. via POST /v1/billing/plans/{id}/deactivate

api
paypal_post_v1_billing_plans_by_id_update_pricing_schemesWRITE

Updates 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

api
paypal_post_v1_billing_subscriptionsWRITE

Creates a subscription. via POST /v1/billing/subscriptions

api
paypal_post_v1_billing_subscriptions_by_id_activateWRITE

Activates the subscription. via POST /v1/billing/subscriptions/{id}/activate

api
paypal_post_v1_billing_subscriptions_by_id_cancelWRITE

Cancels the subscription. via POST /v1/billing/subscriptions/{id}/cancel

api
paypal_post_v1_billing_subscriptions_by_id_captureWRITE

Captures an authorized payment from the subscriber on the subscription. via POST /v1/billing/subscriptions/{id}/capture

api
paypal_post_v1_billing_subscriptions_by_id_reviseWRITE

Updates 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

api
paypal_post_v1_billing_subscriptions_by_id_suspendWRITE

Suspends the subscription. via POST /v1/billing/subscriptions/{id}/suspend

api
paypal_post_v1_catalogs_productsWRITE

Creates a product. via POST /v1/catalogs/products

api
paypal_post_v1_customer_disputes_by_id_accept_offerWRITE

The 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

api
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

api
paypal_post_v1_customer_disputes_by_id_deny_offerWRITE

Denies an offer that the merchant proposes for a dispute, by ID. via POST /v1/customer/disputes/{id}/deny-offer

api
paypal_post_v1_customer_disputes_by_id_escalateWRITE

Escalates 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

api
paypal_post_v1_customer_disputes_by_id_make_offerWRITE

Makes 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

api
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

api
paypal_post_v1_notifications_simulate_eventWRITE

Simulates 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

api
paypal_post_v1_notifications_verify_webhook_signatureWRITE

Verifies a webhook signature. via POST /v1/notifications/verify-webhook-signature

api
paypal_post_v1_notifications_webhooksWRITE

Subscribes your webhook listener to events. via POST /v1/notifications/webhooks

api
paypal_post_v1_notifications_webhooks_events_by_event_id_resendWRITE

Resends a webhook event notification, by ID. Any pending notifications are not resent. via POST /v1/notifications/webhooks-events/{event_id}/resend

api
paypal_post_v1_notifications_webhooks_lookupWRITE

Creates 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

api
paypal_post_v1_payment_experience_web_profilesWRITE

Creates a web experience profile. In the JSON request body, specify the profile name and details. via POST /v1/payment-experience/web-profiles

api
paypal_post_v1_payments_payoutsWRITE

Creates 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

api
paypal_post_v1_payments_payouts_item_by_payout_item_id_cancelWRITE

Cancels 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

api
paypal_post_v1_shipping_trackersWRITE

Adds tracking information for a PayPal transaction. via POST /v1/shipping/trackers

api
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

api
paypal_post_v2_checkout_ordersWRITE

Creates 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

api
paypal_post_v2_checkout_orders_by_id_authorizeWRITE

Authorizes 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

api
paypal_post_v2_checkout_orders_by_id_captureWRITE

Captures 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

api
paypal_post_v2_checkout_orders_by_id_confirm_payment_sourceWRITE

Payer confirms their intent to pay for the the Order with the given payment source. via POST /v2/checkout/orders/{id}/confirm-payment-source

api
paypal_post_v2_checkout_orders_by_id_trackWRITE

Adds tracking information for an Order. via POST /v2/checkout/orders/{id}/track

api
paypal_post_v2_checkout_orders_order_update_callbackWRITE

The 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

api
paypal_post_v2_customer_partner_referralsWRITE

Creates a partner referral that is shared by the partner or API caller. The partner referral is used to onboard the seller, and contains the seller's personal, business, financial and operations. via POST /v2/customer/partner-referrals

api
paypal_post_v2_invoicing_generate_next_invoice_numberWRITE

Generates 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

api
paypal_post_v2_invoicing_invoicesWRITE

Creates 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

api
paypal_post_v2_invoicing_invoices_by_invoice_id_cancelWRITE

Cancels 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

api
paypal_post_v2_invoicing_invoices_by_invoice_id_generate_qr_codeWRITE

Generates 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

api
paypal_post_v2_invoicing_invoices_by_invoice_id_paymentsWRITE

Records 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

api
paypal_post_v2_invoicing_invoices_by_invoice_id_refundsWRITE

Records 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

api
paypal_post_v2_invoicing_invoices_by_invoice_id_remindWRITE

Sends 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

api
paypal_post_v2_invoicing_invoices_by_invoice_id_sendWRITE

Sends 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

api
paypal_post_v2_invoicing_search_invoicesWRITE

Searches 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

api
paypal_post_v2_invoicing_templatesWRITE

Creates 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

api
paypal_post_v2_payments_authorizations_by_authorization_id_captureWRITE

Captures an authorized payment, by ID. via POST /v2/payments/authorizations/{authorization_id}/capture

api
paypal_post_v2_payments_authorizations_by_authorization_id_reauthorizeWRITE

Reauthorizes 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

api
paypal_post_v2_payments_authorizations_by_authorization_id_voidWRITE

Voids, 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

api
paypal_post_v2_payments_captures_by_capture_id_refundWRITE

Refunds 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

api
paypal_post_v2_payments_find_eligible_methodsWRITE

Get a list of eligible payment methods based on the input parameters provided. via POST /v2/payments/find-eligible-methods

api
paypal_post_v3_vault_payment_tokensWRITE

Creates a Payment Token from the given payment source and adds it to the Vault of the associated customer. via POST /v3/vault/payment-tokens

api
paypal_post_v3_vault_setup_tokensWRITE

Creates a Setup Token from the given payment source and adds it to the Vault of the associated customer. via POST /v3/vault/setup-tokens

api
paypal_put_v1_payment_experience_web_profiles_by_idWRITE

Updates 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}

api
paypal_put_v1_shipping_trackers_by_idWRITE

Updates 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}

api
paypal_put_v2_invoicing_invoices_by_invoice_idWRITE

Fully 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}

api
paypal_put_v2_invoicing_templates_by_template_idWRITE

Fully 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}

api

Put PayPal behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.