## The problem
Issue paypal/paypal-js#615 (closed, 7 comments): ### Library used react-paypal-js v8.8.1 ### 🐞 Describe the Bug Most users, when trying to checkout with Venmo (on iOS device) get the error: "Buyer access token not present" [image] Specifically, the onError handler for the PayPalButtons returns the error: "Buyer access token not present - can not call smart api: /smart/api/order/4AE92946YJ553122K/capture Also, in my Paypal Events I see this 403 error, whenever the issue occurs. [image] ### 🔬 Minimal Reproduction In Mobile Safari, try buying this test product with Venmo mount the host path https at container path //www.ninjaduds.

## What fixed it
PayPal/Venmo checkout failing with "Buyer access token not present" (plus a 403 PERMISSION_DENIED on /smart/api/order/.../capture): this happens when you capture the order client-side from onApprove. The frontend runs on a Low Scope Access Token that lacks permission to capture, especially for Venmo, local wallets, and some Sandbox configs. Fix: move the capture entirely server-side. In onApprove, send the order ID to your server and capture it there instead of calling actions.order.capture() in the browser. Reporter-verified.