使用 AngularJS 在客户端初始化 Braintree 支付?

Initializing Braintree payments on the client side with AngularJS?

生成客户端令牌后,我正在尝试在客户端初始化 Braintree JS SDK。

他们文档中的代码声明使用以下内容:

braintree.setup("CLIENT-TOKEN-FROM-SERVER", "custom", {id: "checkout"});

客户端令牌被抓取并放入 Angular 控制器的范围内,我尝试使用以下方法将其插入客户端:

<script>
        braintree.setup({{ braintreeToken }}, "custom", {id: "checkout"});
</script>

但是,我在加载页面时收到以下错误消息:

Uncaught SyntaxError: Unexpected token {

关于如何解决或解决此问题的任何想法?

注意:客户端令牌没有问题。好像是一个字符串,我可以正常显示在页面上

braintree.setup 在 Angular 可以评估 braintreeToken 的值之前被调用。您可以在 Angular 控制器中包含对 braintree.setup 的调用,以便可以传入 braintreeToken。这是使用 Angular:

解决它的通用方法
angular.module('myApp')
  .controller('myCtrl', ['$http', function($http) {
    $http.post('/someUrlThatProvidesYourClientToken', {customer_id: 'some-id'})
      .then(function(token) {
        braintree.setup(token, "custom", {id: "checkout"});
      }, function(err) {
        // Do something with error
      });
}]);