angular - ngx - paypal payment developer
Procesando Paypal onAuthorize callback en Angular 4 (1)
El problema es que el contexto ( this
) no está disponible en la devolución de llamada. La mejor solución sería vincular this
como se explica en respuesta a esta pregunta
La solución alternativa es emitir un evento personalizado en la devolución de llamada de PayPal (documentación aquí )
let event = new CustomEvent(''dosomething'', { data: "some data" });
y luego atrapa este evento en tu componente. Documentación aquí .
@HostListener(''dosomething'') onDoSomething() { // do what you need }
Puedo cargar con éxito checkout.js en la aplicación Angular 4, renderizar el botón de Paypal, aparece la nueva ventana, confirmo el pago, el pago se procesa pero no sé cómo configurar OnAuthorize callback para procesar la respuesta en Angular 4 (como para mostrar el éxito y almacenar un registro de pago a MongoDb). Aquí está mi código. Puedo ver el primer console.log que contiene la respuesta de pago, pero no puedo acceder al alcance del componente, por lo que nada después de este primer console.log se ejecuta. No obtengo ningún error en la consola. Incluso el console.log ("¡exitoso!") No se procesa.
onAuthorize: (data, actions) => {
return actions.payment.execute().then(function(payment) {
console.log("response = " + JSON.stringify(payment));
this._alertService.success("The extension of subscription was succesfull!");
this.user.contracts.push({
"acquired": new Date(payment.create_time),
"price": payment.transactions[0].amount.total,
"expires": new Date(this.user.expires.getFullYear()+this.selectedAccountExtensionOption.addedYears, this.user.expires.getMonth(), this.user.expires.getDate())
});
console.log("successful!");
});
},