我像这样配置braintree.js:
braintree.setup(
brainTreeClientToken= 'token_from_server'
'dropin', {
container: 'brainTreeDropin',
form: 'checkout'
});
</script>
正如我从developers.braintree的文档中了解到的那样,您需要向您的服务器发送一个名为“payment_method_nonce”的请求参数,但它在请求中不存在。顺便说一下,我没有在浏览器控制台中看到任何js错误。 这是我的表格:
<form id="checkout" method="post"
th:action="....">
<div id="brainTreeDropin"></div>
<div >
<div class="form-group">
<label for="cardNumber">Credit Card Number</label>
<input data-braintree-name="number" ..other details.. "/>
</div>
<div class="form-group">
<label for="cardHolder">Name on Card</label>
<input data-braintree-name="cardholder_name" ..other details.. />
</div>
</div>
<div >
<div class="form-group">
<label for="cvc">Security Code(CVC)</label>
<input data-braintree-name="cvv" ..other details.. />
</div>
<div class="form-group">
<label for="expDate">Expiration Date</label>
<input data-braintree-name="expiration_date" ..other details.. />
</div>
</div>
</form>
知道我的错是什么意思?
答案 0 :(得分:2)
我在SDK团队的Braintree工作。
Drop-In集成要求表单中包含button
或type=["submit"]
元素。我尝试了您的集成,并通过添加payment_method_nonce
元素将<button>Pay</button>
值发送到我的服务器。试试看是否能解决你的整合问题。
另外,出于好奇,您是否打算在同一form
内使用2张信用卡输入法? Drop-In表单包含信用卡的必填字段,您不需要data-braintree-name
注释输入。