2017-03-13 2 views
0

Cette commande a été exécutée dans un répertoire d'application Meteor.Meteor patrickml: braintree Erreur d'authentification

Dans les client.main.js:
Une ligne squiggly Sous la variable braintree et l'IDE dit "variable non résolue ou du type".

Template.payment.onRendered(function() { 
    Meteor.call('getClientToken', function (error, clientToken) { 
    if (error) { 
     console.log(error); //<---- always prints out 
    } else { 
    //vvvvvvvvv 
     braintree.setup(clientToken, "dropin", { 
     container: "payment-form", // Injecting into <div id="payment-form"></div> 
     onPaymentMethodReceived: function (response) { 
      var nonce = response.nonce; 
      console.log(nonce); 
     } 
     }); 
    } 
    }); 
}); 

Dans le code du serveur ci-dessous, clientId est toujours indéfini.

//server/main.js 
'getClientToken': function (clientId) { 
    console.log(clientId); //<--------- undefined 
    let generateToken = Meteor.wrapAsync(gateway.clientToken.generate, gateway.clientToken); 
    let options = {}; 

    if (clientId) { 
     options.clientId = clientId; 
    } 

    let response = generateToken(options); 
    return response.clientToken; 
    } 

Et l'impression console du serveur sur:

Exception while invoking method 'getClientToken' authenticationError: Authentication Error

Toute idée de ce qui ne va pas et comment y remédier? thx

+0

L'exception Braintree [ 'authenticationError'] (https://developers.braintreepayments.com/reference/general/exceptions/#authentication-error) est augmentée lorsque vos clés API sont incorrectes. Avez-vous vérifié la configuration de votre passerelle pour vous assurer que vous utilisez les bonnes clés? – Shea

+0

@Shea Il est l'environnement sandbox et les clés sont copiées et collées à partir de leur page Web qui est fondamentalement de longues chaînes de la lettre "x" –

Répondre

0

Divulgation complète: Je travaille chez Braintree. Si vous avez d'autres questions, n'hésitez pas à contacter support. Lorsque vous configurez votre objet de passerelle, veillez à utiliser le API credentials documented in your Sandbox Control Panel.Voici comment vous pouvez les trouver:

  1. Connectez-vous à la sandbox Control Panel
  2. Accédez à compte>Mon utilisateur
  3. Sous clés API, Tokenisation Keys, clés de chiffrement, cliquez sur Voir les autorisations
    • Si aucune clé API n'apparaît, cliquez sur Générer une nouvelle clé API
  4. Cliquez Voir dans la colonne de clé privée pour voir votre publique et clés privées, marchand ID et l'environnement

Lorsque vous les avez, les utiliser pour configurer votre objet passerelle. Par exemple:

var braintree = require("braintree"); 

var gateway = braintree.connect({ 
    environment: braintree.Environment.Sandbox, 
    merchantId: "replaceWithYourMerchantId", 
    publicKey: "replaceWithYourPublicKey", 
    privateKey: "replaceWithYourPrivateKey" 
});