2017-01-10 4 views
1

Я делаю интеграцию с нашей платежной страницей и решил использовать «drop-in» для нее. Однако, когда я пытаюсь загрузить страницу, я могу видеть, что сетевые вызовы создаются на веб-сайте песочницы braintree, однако вложенный пользовательский интерфейс не загружается. Ошибок в консоли тоже нет.Интеграция с 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

По-видимому, оказался вопрос с моим аккаунтом Braintree. У меня была учетная запись для песочницы, и по умолчанию PayPal не была включена в изолированной учетной записи. Также вы не можете сделать это вручную.

Я связался с поддержкой Braintree, и они включили его для меня. Потом все стало работать.

0

Одна из проблем, я вижу, что вы не обновляя свой вид в функции onPaymentMethodReceived, то попробуйте следующее:

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

Это не поможет. –