PayPal Express Checkout
PayPal Express is a three-call sequence on the /express/paypal/… paths. Call them in order:
- Start — open a PayPal session and get the EC token
- Authorize — record the buyer’s PayPal approval (optional)
- 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.