# (Venmo) Client-side Implementation This document contains changes that will be made to the following document: https://developer.paypal.com/braintree/docs/guides/venmo/client-side#mobile-browser-vs-desktop The change is limited to the **Mobile Browser vs Desktop** section. ## Mobile and Desktop Browsers The JavaScript v3 SDK supports Venmo as a payment option for both mobile and desktop websites, however the customer experiences will be different. ### Mobile Experience #### Venmo app-based authentication For mobile, the default payment flow starts in the mobile web browser and switches to the Venmo app to authorize payment. After authorization, the app returns the customer to the browser and the SDK returns a payment method nonce. If the Venmo app is not installed, the customer will be directed to the Venmo website asking them to download the app. #### Mobile Web Fallback ***NOTE** This flow currently requires a full page redirect, which means to utilize this flow your page will need to be able to handle the checkout session across different pages.* This configuration allows you to provide a web-based login experience for customers that don't have the Venmo app installed on their mobile. When tokenization is initiated and the Venmo app is not installed, customers will see a pop-up to authenticate themselves by logging into their Venmo account. To enable this, add the following parameter when creating the Venmo component: * `mobileWebFallBack: true` ### Desktop Experience #### Desktop Web Login This configuration allows customers to pay with Venmo while using a Desktop browser. When choosing to pay with Venmo, customers will be able to login to their Venmo account directly on the web and authorize the payment. The flow is kicked off by the tokenize call. A browser popup is opened with the Venmo web login page where customers can login to Venmo and authorize payment. Once authorized, the popup will close and the nonce payload will be retrieved. To enable this, add the following parameter when creating the Venmo component: * `allowDesktopWebLogin: true` * [`paymentMethodUsage: single_use/multi_use`](https://developer.paypal.com/braintree/docs/guides/venmo/client-side#payment-method-usage) If you are switching from the Desktop QR Code to Web Login, you should **remove** the following parameters as they will be ignored: * `allowDesktop:true` #### Desktop QR Code ***NOTE** We strongly recommend using the Desktop Web Login flow instead of the Desktop QR Code flow as the former offers a better customer experience and improves conversation.* This configuration also allow customers to pay with Venmo while using a Desktio browser. A QR code will display in a modal over the website which the customer must scan with their mobile device. When successfully scanned, the customer will be directed to authorize the payment in the Venmo app on their mobile device. Once authorized, a nonce will be returned to the browser on the desktop and the QR code will be dismissed. To enable this, add the following parameter when creating the Venmo component: * `allowDesktop: true` The `allowDesktopWebLogin: true` configuration takes precedence over `allowDesktop: true`, so when both are set, customers will see the Desktop Web Login flow instead of the Desktop QR Code flow.