Docs
Firmly Agentic Commerce
Set theme to dark (⇧+D)

PayPal Express Checkout

PayPal Express is a three-call sequence on the /express/paypal/… paths. Call them in order:

  1. Start — open a PayPal session and get the EC token
  2. Authorize — record the buyer’s PayPal approval (optional)
  3. Complete Order — place the order and charge the buyer

Step 2 can be skipped: Complete Order authorizes on its own when no authorization has been recorded.

Between Start and Authorize the buyer approves the payment in PayPal’s own window; PayPal returns a payer ID that Authorize needs. Nothing is charged until Complete Order.

​​ Checking availability

PayPal is enabled per merchant. Any cart response lists what the merchant supports:


"payment_method_options": [
{ "type": "CreditCard", "wallet": "user" },
{ "type": "PayPal", "wallet": "paypal" }
]

If no "type": "PayPal" entry is present, do not render the PayPal button — calling these endpoints returns 404 GatewayNotFound.

The merchant’s PayPal client credentials for the PayPal JS SDK arrive on the cart as shop_properties.paypal — see Get Cart for the full field list.