I am running braintree payment system in nodejs, and this express app is being run via electron for desktop.
Paying by standard credit card works fine, but when the paypal button is clicked it just stall. See image below.

and when you click on cancel PayPal Login nothing happens.
Below is the html form of the braintree payment
<script src="https://js.braintreegateway.com/js/braintree-2.30.0.min.js"></script>
<script>
// We generated a client token for you so you can test out this code
// immediately. In a production-ready integration, you will need to
// generate a client token on your server (see section below).
var clientToken = document.getElementById('token').value;
braintree.setup(clientToken, "dropin", {
container: "payment-form"
});
</script>
<a href="https://www.braintreegateway.com/merchants/ID/verified" target="_blank">
<img src="https://s3.amazonaws.com/braintree-badges/braintree-badge-wide-dark.png" width="280px" height="44px" border="0"/>
</a>
When tried on a regular express app run in the web browser it works (a popup appear to pay using paypal). My assumption is that electron disables popup, but then again this does not explain as to why the "Cancel PayPal Login" button is non responsive.
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support.
Braintree does not test against compile-to-native frameworks like Electron, which means there's no guarantee Braintree's libraries will run when used alongside them.
You could integrate PayPal using PayPal's API, however keep their security guidelines in mind when developing your integration.