2015-03-24 2 views
1

У меня есть сайт начальной загрузки и вы хотите поместить dropin UI в modal box.Как сгенерировать токен клиента #Braintree для пользовательского интерфейса dropin для нового клиента

Я застрял в той части, где мне нужно создать токен клиента. Я следовал за проводником как можно лучше, но я не использую рубин или узел или что-то только на странице html.

Есть ли способ узнать больше о том, как я могу создать токен клиента? Должен ли я использовать узел? Мне действительно нужна кнопка, и все.

EDIT: Я добавил все, что у меня есть, кроме остальной части страницы. Я просто показываю его в рамках модального.

     <div class="modal fade" id="myModal" tabindex="-1"> 
          <div class="modal-dialog"> 
           <div class="modal-content"> 
            <div class="modal-header"> 
             <button class="close" data-dismiss="modal" type="button"><span>&times;</span> 
             </button> 

             <h4 class="modal-title" id="myModalLabel">Modal title</h4> 
            </div> 

            <div class="modal-body"> 
             <form action="/checkout" id="checkout" method="post" name="checkout"> 
              <div id="dropin"> 
              </div> 
              <input class="btn btn-primary" type="submit" value="Pay $10"> 
             </form> 
             <script src="https://js.braintreegateway.com/v2/braintree.js"> 
              var gateway = braintree.connect({ 
               environment: braintree.Environment.Sandbox, 
               merchantId: 'xxx', 
               publicKey: 'xxx', 
               privateKey: 'xxx' 
              }); 

              gateway.clientToken.generate({}, function(err, response) { 
               var clientToken = response.clientToken 
              }); 

              gateway.transaction.sale({ 
               amount: '10.00', 
               paymentMethodNonce: 'nonce-from-the-client', 
              }, function(err, result) {}); 
             </script> 
             <script> 
              var 
               braintree.setup(
                "xxx", 
                'dropin', { 
                 container: 'dropin' 
                }); 
             </script> 
            </div> 
           </div> 
          </div> 
         </div> 
        </div> 
       </div> 
+0

добавьте свой код здесь – HaveNoDisplayName

+1

Вам нужно будет создать свой токен клиента на сервере, используя любой используемый вами бэкэнд. Узел всегда хороший выбор :) –

ответ

1

Раскрытие: Я работаю в Braintree :)

Вам нужен сервер для интеграции Braintree. Если вы не хотите самостоятельно создавать часть на стороне сервера, вы можете использовать один из partners от Braintree, который предоставляет вам бэкэнд, например. goodsie.

обновление

Ваш текущий код имеет сочетание стороне сервера и на стороне клиента JS. Вам нужно будет запустить код на стороне сервера (весь код в вашем первом теге скрипта) на сервере узла с помощью модуля npm braintree, а затем напечатать clientToken в html-шаблоне. Затем Drop-in может инициализировать - используя токен клиента с вашего сервера - и работать с его магией.

+0

Я хочу создать бэкэнд самостоятельно. Я бы предпочел просто использовать woo-commerce или zoho, если бы собирался использовать что-то из коробки. Я пробовал следующую документацию с узлом, но снова застрял, когда мне пришлось генерировать токен. Я думаю, что есть что-то фундаментальное, что мне не хватает. –

+0

@ ZacharyMoore Пожалуйста, обновите свой вопрос кодом, который не работает для вас, и мы можем попытаться помочь дальше. Вы также можете связаться с [Поддержка Braintree] (https://support.braintreepayments.com/) –

+0

@ ZacharyMoore Я видел, что вы обновили свой вопрос, я обновил свой ответ. –

Смежные вопросы