2016-11-02 9 views
0

Braintree API Clientが正しく設定されていません:clientTokenで指定されたclientApiUrlが無効です。Braintree API Clientが正しくありません:clientTokenで指定されたclientApiUrlが無効です

ブラウザのログにこのエラーが表示されます。 Braintree javascript SDKバージョン2(ドロップインあり):フロントエンドがフロントエンドのノードバックエンドドメイン内のすべてのトークンとAPIキーが正常に動作していることが確認されています。

統合

/server/app.js - サーバー側ノードSDK

function startBraintree() { 
    app.post('/api/token', function (request, response) { 
    gateway.clientToken.generate({}, function (err, res) { 
     if (err) throw err; 
     response.json({ 
     "client_token": res.clientToken 
     }); 
     console.log(res.clientToken) 
    }); 
    }); 
} 
.then(startBraintree) 
.catch(function(err) { 
    console.log('Braintree', err); 
}); 

これは、実際には、サーバーログにクライアント・トークンを生成しません。私はこのクライアントトークンをブラウザのコンソールにも一致させ、実際にこの特定のトークンをブラウザに送信していることを確認します。 -

/client/app/braintree.component.js これはクライアント側のBraintreeです.setup統合。

export class BraintreeComponent { 

     clientToken = this.clientToken; 
     // constructor($http) { 
     // this.$http = $http; 
     // } 

     // $onInit() { 
     // this.$http.post('/api/token') 
     //  .then(response => { 
     //  this.clientToken = response.data; 
     //  console.log(response.data); 
     //  }); 
     // } 

     /*@ngInject*/ 
     constructor($scope, $http) { 
     this.$http = $http; 
     $scope.hasCalledBack = 'Nope'; 
     this.$http.post('/api/token') 
      .then(response => { 
      this.clientToken = response.data; 
      console.log(this.clientToken); 
      braintree.setup(this.clientToken, 
       // Replace this with a client token from your server 
       'dropin', { 
       container: 'dropin', 
       onPaymentMethodReceived: function (obj) { 
        $scope.$apply(function() { 
        $scope.hasCalledBack = 'YEP!'; 
        alert('Did the scope variable change? Yes!'); 
        console.log(obj) 
        }); 
       } 
       }); 
      }); 
     } 
    } 

私はクライアントトークンを生成し、それを静的な値として宣言すればうまく動作します。

答えて

0

これは、generate()メソッドから返された逐語的な文字列ではないclientTokenを使用してbraintree.setup()メソッドを呼び出すときに発生します。 (braintree.setupする)ではなく、単に "< clientToken列>" より:

オッズは、あなたが{ "< clientToken列>" "client_tokenを"}渡しているということです。

関連する問題