canonical: https://jentic.com/apis/paypal.com/paypal-orders

# Paypal Orders

Create, authorize, and capture payment orders across PayPal wallets, cards, and local payment methods through a unified checkout flow. The API handles buyer authentication, seller protection eligibility, and payment state transitions from creation through authorization and final capture. Order tracking with carrier and shipment details enables automatic seller protection and buyer dispute resolution.

## For AI agents

Create and capture PayPal payment orders, authorize funds, and attach shipping trackers. Supports PayPal wallet, cards, and local payment methods with buyer and seller protection.

## Scope

Does not handle recurring subscriptions, invoicing, or payouts - use for one-time order payments and authorizations only.

## Capabilities

- Create payment orders with multiple purchase units, shipping details, and payment source preferences
- Authorize funds on an order and capture them separately for delayed fulfillment workflows
- Confirm the payment source on an order to trigger buyer authentication (3D Secure, PayPal login)
- Attach carrier tracking information to captured orders for automatic seller protection
- Update order details including shipping address and purchase amount before authorization
- Retrieve full order state including payment status, buyer details, and disbursement timelines

## Use cases

### AI Agent Order Processing

AI agents create and capture PayPal orders through Jentic without storing OAuth client secrets directly. An agent searches for 'create a PayPal order' via Jentic, receives the order creation schema with purchase unit structure, and executes the call with credential isolation. The agent can then authorize and capture in subsequent calls, all without managing token refresh logic.

Example prompt: Search Jentic for 'create a PayPal order', load the schema, create an order for $75.00 USD with intent CAPTURE, then execute the capture call

### E-Commerce Checkout with PayPal

Accept payments from 400+ million PayPal wallet users alongside guest card payments through a single order creation call. The Orders API handles buyer redirection to PayPal for approval, supports both immediate capture (intent=CAPTURE) and delayed authorization (intent=AUTHORIZE), and calculates seller protection eligibility based on shipping address and item category.

Example prompt: Create an order with intent CAPTURE for $50.00 USD including item details and shipping address, then retrieve the order to confirm status is APPROVED

### Authorization and Delayed Capture

Place a hold on buyer funds at checkout and capture later when goods ship, with a 29-day authorization window for PayPal wallet and 3-day window for cards. The authorize-then-capture flow is ideal for physical goods fulfillment where the exact shipping cost may change. Partial captures are supported, allowing agents to capture less than the authorized amount.

Example prompt: Create an order with intent AUTHORIZE for $120.00 USD, authorize it, then capture $115.00 as a partial capture after adjusting for actual shipping cost

### Shipment Tracking and Seller Protection

Attach carrier tracking information to captured orders to qualify for PayPal Seller Protection on eligible transactions. The tracking endpoint accepts carrier name, tracking number, and notify_buyer flag. Orders with valid tracking automatically transition to seller-protected status, reducing chargeback liability and dispute losses.

Example prompt: Add a UPS tracking number to a captured order using POST /v2/checkout/orders/{id}/track with carrier 'UPS' and notify_buyer set to true

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v2/checkout/orders | Create a new payment order |
| GET | /v2/checkout/orders/{id} | Retrieve order details by ID |
| POST | /v2/checkout/orders/{id}/authorize | Authorize payment on an order |
| POST | /v2/checkout/orders/{id}/capture | Capture payment on an authorized order |
| POST | /v2/checkout/orders/{id}/confirm-payment-source | Confirm payment source for buyer auth |
| POST | /v2/checkout/orders/{id}/track | Add tracking info to a captured order |

## Key resources

- **Orders** — Payment orders with purchase units, buyer info, payment status, and disbursement details
- **Authorizations** — Authorized funds held against an order pending capture or void
- **Captures** — Captured payments with settlement status and seller protection eligibility
- **Trackers** — Shipping tracking entries attached to captured orders for seller protection

## Why Jentic

- **Setup:** Wiring PayPal Orders by hand means running its OAuth 2.0 flow, refreshing Bearer tokens against the live api-m.paypal.com host, and constructing the purchase_units payload yourself. Through Jentic you install once, import Orders from the API Directory, store the client credentials once, and your agent calls it.
- **Permission scoping:** Orders puts the order id in the URL path (/v2/checkout/orders/{id}), so a rule can pin your agent to reading one order. You choose the operations it may call, so authorizing or capturing that order is not included unless you add them.
- **Credential handling:** Your PayPal OAuth client id and secret are stored once, encrypted, by your own Jentic One instance and injected at execution time, with token refresh handled for you. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a PayPal order' or 'capture a payment', and Jentic returns the matching Orders operation with its full request schema so the agent constructs the correct purchase_units payload without browsing the reference docs.

## Related APIs

- **Stripe API** — Developer-centric payment platform with broader subscription and marketplace features
- **PayPal Payments API** — Lower-level payment details and refund operations for captured PayPal orders
- **PayPal Subscriptions API** — Recurring billing and subscription management for PayPal payments
- **Adyen Checkout API** — Enterprise checkout with broader local payment method coverage in Europe and APAC

## FAQ

### What authentication does the PayPal Orders API use?

The PayPal Orders API uses OAuth 2.0 with client credentials flow. You exchange your client_id and secret for a Bearer access token via POST /v1/oauth2/token, then pass the token in the Authorization header. Tokens expire after ~9 hours. Through Jentic, your PayPal OAuth credentials are stored in your Jentic One instance and token refresh is handled automatically - agents never see the client secret.

### Can I authorize and capture payments separately with the PayPal Orders API?

Yes. Create an order with intent=AUTHORIZE, then call POST /v2/checkout/orders/{id}/authorize to place a hold on funds. When ready to collect, call POST /v2/checkout/orders/{id}/capture. The authorization window is 29 days for PayPal wallet payments and 3 days for card payments. Partial captures below the authorized amount are supported.

### What are the rate limits for the PayPal Orders API?

PayPal applies rate limits based on your account tier and endpoint. Standard accounts get approximately 30 requests per second for order creation and 50 for retrieval. If you exceed limits, the API returns HTTP 429. PayPal recommends exponential backoff with a maximum of 3 retries.

### How do I create a PayPal order through Jentic?

Search Jentic for 'create a PayPal order' to find the POST /v2/checkout/orders operation. The schema shows required fields: intent (CAPTURE or AUTHORIZE) and purchase_units array with amount (currency_code + value). Jentic handles OAuth token management automatically. Run it through Jentic One, the self-hosted execution layer.

### Does the PayPal Orders API support multiple currencies?

Yes. The Orders API supports over 100 currencies specified in the purchase_units[].amount.currency_code field using ISO 4217 codes (e.g., USD, EUR, GBP). Each purchase unit can have a different currency. Settlement currency depends on your PayPal account configuration.

### How does seller protection work with the PayPal Orders API?

Seller protection eligibility is determined automatically based on order attributes. To qualify, orders must include a shipping address and be captured (not just authorized). Adding carrier tracking via POST /v2/checkout/orders/{id}/track strengthens protection. The order response includes a seller_protection object showing eligibility status and dispute categories covered.

### Can I limit what my agent is allowed to do with the PayPal Orders API?

Yes. Jentic One is self-hosted by you, so your own rules decide which PayPal Orders operations and credentials your agent may use. Because the order id sits in the URL path (/v2/checkout/orders/{id}), you can pin an agent to reading a single order while excluding authorize (POST /v2/checkout/orders/{id}/authorize) and capture (POST /v2/checkout/orders/{id}/capture) unless you explicitly allow them. Your OAuth client id and secret stay in your own instance and are injected at execution time, so the agent can only call the operations you scope to it.
