Al renderizar un botón de paypal en angular así:
@ViewChild("paypalRef", { static: false }) private paypalRef: ElementRef; renderPaypalButton() { this.paypalSelected = true; if (this.paypalButtonRendered != true) { paypal .Buttons({ style: { layout: "horizontal", color: "white", label: "", }, createOrder: (data, actions) => { return actions.order.create({ purchase_units: [ { amount: { value: "1000", currency_code: "zar", }, }, ], }); }, }) .render(this.paypalRef.nativeElement); } this.paypalButtonRendered = true; }la ventana emergente de PayPal se muestra durante una fracción de segundo y luego desaparece. Sin embargo, tan pronto como elimino la función createOrder, la ventana emergente de PayPal se muestra normalmente. Estoy seguro de que hay algo que estoy haciendo mal, pero cualquier ayuda sería apreciada, gracias.
la ventana emergente de PayPal se muestra durante una fracción de segundo y luego desaparece.
En general, mire la consola Javascript del navegador y/o el registro de la pestaña "Red" de Dev Tools para encontrar el motivo del error.
código_moneda: "zar",
Para esta situación particular, podemos ver que esta no es unamoneda compatible con la API de PayPal.
Por lo general, las transacciones deben estar denominadas en una moneda internacional común, como USD. Si el pagador tiene una fuente de financiación en una moneda local como ZAR, como una tarjeta local, se le mostrará la conversión durante el pago. Recibirá la moneda de la transacción (nuevamente, normalmente USD)