2015-02-15 3 views
1

Я интегрировал Braintree с моим приложением, и я нашел проблему. Мне нужно использовать метод tokenizeCard, но кажется, что он не вызван, и я не понимаю, почему.Функция обратного вызова tokenizeCard не называется Braintree

function buyNow() { 
    var token = getSessionVarFromView('client_token_braintree'); 
    console.error(token); 
    braintree.setup(token, "custom", {id: "braintreePaymentForm"}); 
    var client = new braintree.api.Client({clientToken: token}); 
    client.tokenizeCard({number: "4111111111111111", expirationDate: "10/20"}, function (err, nonce) { 
     console.error("On tokenize card"); 
    }); 
} 

И моя форма это это одна:

 <form method="POST" name="braintreePaymentForm" id="braintreePaymentForm"> 
       <div class='form-row'> 
        <div class='col-xs-8 form-group required'> 
        <label class='control-label'>Card number</label> 
        <input class='form-control' size="20" autocomplete="off" data-braintree-name="number"> 
        </div> 
        <div class='col-xs-4 form-group required'> 
        <label class='control-label'>Security Code</label> 
        <input class='form-control' size="20" autocomplete="off" data-braintree-name="cvv"> 
        </div> 
       </div> 
       <div class='form-row'> 
        <div class='col-xs-6 form-group required'> 
        <label class='control-label'>Name on card</label> 
        <input class='form-control' size="20" autocomplete="off" data-braintree-name="name_on_card"> 
        </div> 
        <div class='col-xs-3 form-group required'> 
        <label class='control-label'>Expires on</label> 
        <input class='form-control' size="20" autocomplete="off" data-braintree-name="expiration_month"> 
        </div> 
        <div class='col-xs-3 form-group required'> 
        <input class='form-control' size="20" autocomplete="off" data-braintree-name="expiration_year"> 
        </div> 
       </div> 
        <div id="buyNowBtn"> 
       </div> 
      </form> 

Метод BuyNow называется он после того, как пользователь нажмет купить. Метод для создания моего клиента фишки на сервере:

Braintree_Configuration::environment('sandbox'); 
Braintree_Configuration::merchantId('merchantId'); 
Braintree_Configuration::publicKey('publicKey'); 
Braintree_Configuration::privateKey('privateKey'); 

$clientToken = Braintree_ClientToken::generate(); 
return $clientToken; 

После этого, функция обратного вызова tokenizeCard никогда не вызывается.

Я надеюсь, что кто-то может мне помочь.

Спасибо

+0

Просто интересно, вы настроили javascript SDK от Braintree? https://developers.braintreepayments.com/javascript+php/sdk/client/setup – jwoo

+0

Да, я обновил вопрос с этой частью –

ответ

1

Я работаю в Braintree. Если у вас есть дополнительные вопросы, вы можете всегда get in touch with our support team.

Кнопка отправки формы должна быть либо <button>, либо <input type="submit">, чтобы правильно вызвать обратный вызов. Вы используете <div>.

+0

Спасибо, что сделал трюк. –

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

  • Нет связанных вопросов^_^