【问题标题】:Braintree integration, within JS applicationBraintree 集成,在 JS 应用程序中
【发布时间】:2017-05-24 17:29:08
【问题描述】:

我正在与我们的支付页面进行 Braintree 集成,并决定使用“drop-in”来实现。但是,当我尝试加载页面时,我可以看到正在对 Braintree 沙盒网站进行网络调用,但是插入式 UI 没有加载。控制台也没有错误。

这是我的代码 -

function invokeBraintree(clientToken, amount){
        var el = angular.element( "<form id='btform'><div id='bt-dropin'></div></form>" );
        $document.find("body").append( el );
        var options = {
            onPaymentMethodReceived: function(payload) {
                console.log(payload); // yay
            },
            container: 'bt-dropin',
            enableCORS: true
        }

        braintreeWeb.setup(clientToken, 'dropin', options)
    }

感谢任何帮助。

编辑

我观察到的一件事是,正在对 https://api.sandbox.braintreegateway.com/merchants/zn7trnkh3vqfp59n/client_api/v1/payment_methods 进行调用,它返回以下响应。

/**/callback_jsonfbd58acc926e4afeb6fc4809d4369a99({"paymentMethods":[],"status":200}) 

不知道为什么它返回空的付款方式,我怀疑这是问题所在。

【问题讨论】:

    标签: angularjs payment-gateway braintree


    【解决方案1】:

    我看到的一个问题是您没有在 onPaymentMethodReceived 函数中更新您的视图,只需尝试以下操作:

    var options = {
        onPaymentMethodReceived = function(payload){
            $scope.$apply(function(){
                console.log(payload);
            });
        },
        ...
    }
    

    【讨论】:

    • 这没有帮助。
    【解决方案2】:

    显然这是我的 Braintree 帐户的问题。我有一个沙盒帐户,默认情况下沙盒帐户中未启用 PayPal。您也无法手动完成。

    我联系了 Braintree 支持,他们为我启用了它。然后一切都开始工作了。

    【讨论】:

      猜你喜欢
      • 2015-05-26
      • 1970-01-01
      • 2021-12-31
      • 2020-07-28
      • 2020-08-26
      • 2022-06-14
      • 2016-04-19
      • 1970-01-01
      • 2018-12-15
      相关资源
      最近更新 更多