2017-10-12 10 views
1

J'utilise la caisse PayPal pour mon projet angulaire 4. Je veux faire un appel API après le paiement PayPal obtient le succès, mais actions.payment.execute().then pas autorisé à accéder à un objet extérieur. Puis-je avoir un événement pour réussir?Paypal Checkout: faire un appel API après un paiement réussi


onAuthorize: function (data, actions) { 

    return actions.payment.execute().then(function() { 
     //want to make an api call 
        }); 
       } 
     }, '#paypal-button-container'); 

Répondre

0

Sur la base de la réponse ici Processing Paypal onAuthorize callback in Angular 4, vous pouvez envoyer CustomEvent:

document.querySelector('#paypal-button').dispatchEvent(new CustomEvent('onPaymentCompleted', { detail: {payment: JSON.stringify(payment)},bubbles: true })); 

sur Paypal buttom:

<div id="paypal-button" (onPaymentCompleted)="addNewContract($event)"></div> 

et vous avez un accès au contexte d'origine à nouveau :

addNewContract(event) { 
    console.log(event.detail.payment); 
    }