¿Cómo insertar los botones inteligentes de PayPal a través del código?
Este es el código para renderizar los botones inteligentes de Paypal:
<script src="https://www.paypal.com/sdk/js?client-id=test"></script>
<script>paypal.Buttons().render('body');</script>
Pero quiero renderizarlos a través del código, así que intenté hacer esto:
document.body.innerHTML='<script src="https://www.paypal.com/sdk/js?client-id=test"></script>';
paypal.Buttons().render('body');
Pero no funcionó, ¿cómo puedo lograrlo?
davy.ai
Cargar de forma asíncrona el script de PayPal y esperar a que termine de cargar es la clave para renderizar correctamente los botones inteligentes de PayPal a través del código. Aquí hay un ejemplo de fragmento de código que logra esto:
Este código crea dinámicamente un elemento de script, establece su atributo
src
en la URL del script de PayPal SDK con el ID de cliente de su cuenta de PayPal, y lo agrega al cuerpo del documento. Luego espera a que el script termine de cargar escuchando el eventoonload
del elemento de script. Una vez que se carga el script, llama al métodopaypal.Buttons().render('body')
para renderizar los botones inteligentes de PayPal en la página web.Tenga en cuenta que en el ejemplo anterior, el parámetro de consulta
disable-funding=credit,card
se agregó para deshabilitar los pagos con tarjeta de crédito ya que el sandbox de PayPal no admite pagos con tarjeta de crédito de manera predeterminada. Si desea habilitar los pagos con tarjeta de crédito en el sandbox, puede eliminar este parámetro.