Braintree – paymentMethodNonceReceived n'a pas été invoqué

J'ai installé dropin UI pour braintree. Je peux voir l'UI bien. Avant cela, j'ai créé le client et je peux voir le client sur braintree-sandbox. Maintenant, je souhaite ajouter une méthode de paiement au client. J'essaie de suivre le code, mais le paiementMethodNonceReceived n'est pas invoqué. Je ne sais pas pourquoi.

braintree.setup("<?=CLIENT_TOKEN_FROM_PHP?>", "dropin", { container: "divBrainTreeContainer", paymentMethodNonceReceived: function (event, nonce) { console.log(nonce); $('#formProfile').append('<input type="hidden" name="payment_method_nonce" value="'+nonce+'" />'); $('#formProfile').submit(); } } ); 

J'utilise ci-dessous JavaScript et fonctionne bien :

  braintree.setup(clientToken, "custom", { id: "my-sample-form", hostedFields: { number: { selector: "#card-number" }, cvv: { selector: "#cvv" }, expirationMonth: { selector: "#expiration-month" }, expirationYear: { selector: "#expiration-year" }, },onPaymentMethodReceived:function(nonce){ console.log(JSON.stringify(nonce)); return false; } } ); 

Au-dessus donne la réponse ci-dessous et NE présente PAS le formulaire:

 {"nonce":"ff2662e1-f1fd-42a3-a16f-d8f3213a2406","details":{"lastTwo":"11","cardType":"Visa"},"type":"CreditCard"} 

Signifie utiliser onPaymentMethodReceived au lieu de paymentMethodNonceReceived

Merci http://www.web-technology-experts-notes.in

Selon le commentaire de @ kdetella, il devrait y avoir un bouton de submit dans l'élément <form> pour recevoir la méthode de paiement nonce.

https://github.com/braintree/braintree-web/issues/58

Pour une intégration personnalisée avec une méthode de paiement multiple, utilisez onSuccess au lieu de onPaymentMethodReceived.

 braintree.setup(TOKEN, 'custom', { id: 'checkout', paypal: { container: 'paypal-container', onSuccess: function (nonce, email) { // This will be called as soon as the user completes the PayPal flow // nonce:String // email: String } }, onPaymentMethodReceived: function(obj) { // This will be called when the user submits the form } });