2017-01-10 48 views
1

我正在與我們的付款頁面進行braintree集成,並決定使用相同的「插入」。但是,當我嘗試加載頁面時,我可以看到正在對braintree沙箱網站進行的網絡調用,但是無法加載插入式UI。在控制檯中也沒有錯誤。Braintree在JS應用程序中的集成

這裏是我的代碼 -

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}) 

不知道爲什麼它返回空付款方式,我懷疑這是問題。

回答

0

顯然,這竟然是我的布倫特裏帳戶的問題。我有一個沙盒帳戶,默認情況下沙盒帳戶中未啓用PayPal。你也無法手動完成它。

我聯繫Braintree支持,他們爲我啓用它。然後一切開始工作。

0

一個我看到的問題是,你不更新你的看法在onPaymentMethodReceived功能,只需用以下嘗試:

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

這沒有幫助。 –