> Faqs > Paypal checkout usando Smart Payment Buttons da error

Paypal checkout usando Smart Payment Buttons da error

Usando Paypal API V2, lo que llaman ahora Paypal checkout.

Al cargar el javascript del botón (Smart Payment Buttons) se produce un error.

Error: Attempted to load sdk version 5.0.73 on page, but version unknown already loaded.

To load this sdk alongside the existing version, please specify a different namespace in the script tag, e.g. <script src="https://www.paypal.com/sdk/js?client-id=CLIENT_ID" data-namespace="paypal_sdk"></script>, then use the paypal_sdk namespace in place of paypal in your code.

Luego, el sistema da un error en la línea que lanza el renderizado de los botones.

window.paypal_sdk.Buttons().render('#paypal-button-container');

Dice que "paypal.Buttons is not a function"

Respuestas

No lo tienen documentado en Paypal, pero me respondo a mi mismo:

Hay que ponerle como un scope (namespace, ámbito) al script de paypal. Se hace con data-namespace="paypal_sdk"

<script
  src="https://www.paypal.com/sdk/js?client-id=PAYPAL_CLIENTID&currency=EUR" data-namespace="paypal_sdk">
</script>

Luego hay que referirse al sdk de paypal con ese scope configurado.

window.paypal_sdk.Buttons().render('#paypal-button-container');
Miguel Angel
3310 147 216 17