我必须使用 node js 应用程序动态添加信用卡持卡人姓名。我使用 Braintree 进行支付交易。我添加了信用卡号、有效期和 CVV。但不添加信用卡持卡人姓名。我该怎么做?
braintree.hostedFields.create({
client: clientInstance,
styles: {
'input.invalid': {
'color': 'red'
},
'input.valid': {
'color': 'green'
}
},
fields: {
number: {
selector: '#cardNumber'
},
cvv: {
selector: '#cardCVC'
},
expirationDate: {
selector: '#cardExpiry'
}
}
最佳答案
全面披露:我在 Braintree 工作。如果您还有任何问题,欢迎随时contact support .
Braintree Hosted Fields不支持对持卡人姓名使用 iFrame。列出了可用的 fieldOptions
here .相反,您需要向 HTML form
元素添加额外的输入:
<form action="/" id="my-sample-form" method="post">
<label for="card-number">Card Number</label>
<div id="card-number"></div>
<label for="cvv">CVV</label>
<div id="cvv"></div>
<label for="expiration-date">Expiration Date</label>
<div id="expiration-date"></div>
<label for="cardholder-name">Cardholder Name</label>
<input id="cardholder-name" name="cardholderName" placeholder="Cardholder Name"/>
<input type="submit" value="Pay" disabled />
</form>
您的 cardholderName
输入的值随后可以在您的 braintree.hostedFields.create
调用中作为 event.target.cardholderName.value
访问,并且可以包含在 options object of the tokenize call 中:
braintree.hostedFields.create({
client: clientInstance,
styles: {
'input.invalid': {
'color': 'red'
},
'input.valid': {
'color': 'green'
}
},
fields: {
number: {
selector: '#card-number',
placeholder: '4111 1111 1111 1111'
},
cvv: {
selector: '#cvv',
placeholder: '123'
},
expirationDate: {
selector: '#expiration-date',
placeholder: '10/2019'
}
}
}, function (hostedFieldsErr, hostedFieldsInstance) {
if (hostedFieldsErr) {
console.error(hostedFieldsErr);
return;
}
submit.removeAttribute('disabled');
form.addEventListener('submit', function (event) {
event.preventDefault();
hostedFieldsInstance.tokenize({
cardholderName: event.target.cardholderName.value
}, function (tokenizeErr, payload) {
if (tokenizeErr) {
console.error(tokenizeErr);
return;
}
// Submit nonce to your server here
console.log(payload.nonce);
});
}, false);
});
关于javascript - 如何使用nodejs在braintree沙箱账户中添加持卡人姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45808889/