Estoy ejecutando el sistema de pago braintree en nodejs, y esta aplicación express se ejecuta a través de electron para escritorio.
Pagar con tarjeta de crédito estándar funciona bien, pero cuando se hace clic en el botón de PayPal, simplemente se bloquea. Ver imagen a continuación. 
y cuando hace clic en cancelar el inicio de sesión de PayPal, no sucede nada.
A continuación se muestra el formulario html del pago de braintree
<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>Cuando se prueba en una aplicación Express regular ejecutada en el navegador web, funciona (aparece una ventana emergente para pagar con Paypal). Mi suposición es que electron desactiva la ventana emergente, pero, de nuevo, esto no explica por qué el botón "Cancelar inicio de sesión de PayPal" no responde.
Divulgación completa: trabajo en Braintree. Si tiene más preguntas, no dude en ponerse en contacto con el soporte .
Braintree no prueba contra marcos de compilación a nativos como Electron, lo que significa que no hay garantía de que las bibliotecas de Braintree se ejecutarán cuando se usen junto con ellas .
Puede integrar PayPal utilizando la API de PayPal ; sin embargo , tenga en cuenta sus pautas de seguridad al desarrollar su integración.