2015-07-02 3 views
1

Я направил это https://www.braintreepayments.com/blog/your-checkout-our-iframes/ и создаю форму для оплаты, как показано ниже.Пользовательский интерфейс Braintree не работает

<form id="payment-form" method="post" action="{{ path('job_checkout', {id: job.id}) }}"> 
    <div class="form-group first"> 
     <div class="col-md-6 col-sm-12 col-xs-12"> 
      <label class="hidden-xs" for="card-number-field">Card Number</label> 
      <div id="card-number-field"></div> 
     </div> 
     <div class="hidden-xs hidden-sm col-md-6 pull-right"> 
      <i>Please enter your Credit Card Number</i> 
     </div> 
    </div> 
    <div class="form-group date-group"> 
     <div class="col-md-6 col-sm-12 col-xs-12"> 
      <label for="expiration-date-field">Expiration Date</label> 
      <div id="expiration-date-field"></div> 
     </div> 
     <div class="hidden-xs hidden-sm col-md-6 pull-right"> 
      <i>Please select your cards expiration date</i> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-md-6 col-sm-12 col-xs-12"> 
      <label class="hidden-xs" for="security-code-field">Verification No</label> 
      <div id="security-code-field"></div> 
     </div> 
     <div class="hidden-xs hidden-sm col-md-6 pull-right"> 
      <i>Please enter your cards Verification number (3 digits on the back) </i> 
     </div> 
    </div> 

    <button class="btn btn-primary" type="submit"> 
     Purchase 
    </button> 
</form> 

Это мой сценарий.

<script src="https://js.braintreegateway.com/v2/braintree.js"></script> 

<script> 
    braintree.setup('{{ clientToken }}', 'custom', { 
     id: "payment-form", 
     hostedFields: { 
      number: { 
       selector: '#card-number-field', 
       placeholder: 'Card Number' 
      }, 
      cvv: { 
       selector: '#security-code-field', 
       placeholder: 'CVV' 
      }, 
      expirationDate: { 
       selector: '#expiration-date-field', 
       placeholder: 'MM/YYYY' 
      } 
     } 
    }); 
</script> 

Но отображается следующая ошибка.

Error: Unable to find an input with data-braintree-name="number" in your form. Please add one.

Но это руководство https://developers.braintreepayments.com/javascript+php/guides/hosted-fields/upgrading-from-custom#markup не упоминает значения data-braintree-name при использовании hostedFields.

Моя форма оплаты работает, когда я использую dropin UI. Я не знаю, в чем проблема. Пожалуйста, помогите мне.

ответ

2

Я работаю в Braintree на JavaScript SDK.

Поскольку Hosted Fields все еще находится в бета-версии, вам понадобится использовать другую версию braintree.js. Последнюю бета-версию можно найти здесь: https://js.braintreegateway.com/js/beta/braintree-hosted-fields-beta.17.min.js

Для получения дополнительной информации ознакомьтесь с нашим Hosted Fields documentation.

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