BrainTree Hosted Fields onPaymentMethodReceived函数不工作,返回nonce
BrainTree Hosted Fields onPaymentMethodReceived function not working returning nonce
我很难弄清楚为什么托管字段中的onPaymentMethodReceived没有返回任何值。`
<form action="" id="my-form" method="post">
<label for="a">Amount</label>
<div id="amount">
<input type="text" name="amount" value="400" id="amount" />
</div>
<label for="card-number">Card Number</label>
<div id="card-number">
<input type="text" name="cardNumber" value="4111111111111111" id="cardNumber" />
</div>
<label for="cvv">CVV</label>
<div id="cvv">
<input type="text" name="CVV" value="020" id="cv-v" />
</div>
<label for="expiration-month">Expiration Month</label>
<div id="expiration-month">
<input type="text" name="expirMonth" value="10" id="expirMonth" />
</div>
<label for="expiration-year">Expiration Year</label>
<div id="expiration-year">
<input type="text" name="expirYear" value="20" id="expirYear" />
</div>
<input type="submit" value="Pay" id="btn_submit"/>
</form>
<script>
var nonce0 ;
braintree.setup(clientToken, "custom",
{
id: "my-form",
hostedFields: {
number: {
selector: "#card-number"
},
cvv: {
selector: "#cvv"
},
expirationMonth: {
selector: "#expiration-month"
},
expirationYear: {
selector: "#expiration-year"
},
},
onPaymentMethodReceived:function(nonce){
console.log("in onPaymentMethodReceived");
console.log(nonce);
nonce0 = nonce;
alert('OnPaymentMR');
console.log(JSON.stringify(nonce));
return false;
},
onError :function(obj){
alert('onError');
console.log(JSON.stringify(obj));
}
});
console.log('BTree = '+ nonce0);
</script>
`我想存储返回的nonce,但什么也没发生,console.log没有显示任何值。甚至onError也没有做任何事情
使用断点,我可以判断隐藏的nonce正在返回,但回调函数没有被触发
我在Dropin UI中尝试过,它确实有效,我可以从onPaymentMethodReceived中获得nonce。不确定我做错了什么。
全面披露:我是Braintree的开发人员
当使用Hosted Fields时,表单应该只为每个支付字段包含一个div容器。您的实现看起来像这样:
<form action="" id="my-form" method="post">
<label for="a">Amount</label>
<div id="amount"></div>
<label for="card-number">Card Number</label>
<div id="card-number"></div>
<label for="cvv">CVV</label>
<div id="cvv"></div>
<label for="expiration-month">Expiration Month</label>
<div id="expiration-month"></div>
<label for="expiration-year">Expiration Year</label>
<div id="expiration-year”></div>
<input type="submit" value="Pay" id="btn_submit"/>
</form>
Braintree设置脚本将呈现iframe以处理支付字段输入。如果你仍然有问题,你可以随时联系Braintree的支持。
在"onPaymentMethodReceived"方法中,您需要尝试"nonce.nonce"var来检查响应中的nonce。类似-
onPaymentMethodReceived:function(obj) {
var nonce_from_braintree = obj.nonce
}
您也可以查看下面的链接,以获得更详细的脚本来操作braintree支付网关与托管字段的集成。
http://www.ilovephp.net/php/simple-braintree-paypal-payment-gateway-integration-in-php-with-demo-examples/
希望这能帮助你…:)
相关文章:
- importScripts在web工作程序中返回未定义的
- 我对“;返回true"嵌套函数内部;t工作
- JavaScript表单返回,但无法正常工作
- AWS API网关返回400错误请求,但Postman工作正常
- JavaScript 返回对象未按预期工作
- Jquery Ajax POST方法不工作,返回未定义的值
- 一个对象怎么能像返回自身和另一个对象一样工作
- 我的设备后退按钮工作不正常,它转到第一个html,但返回到第二个html
- jQuery JSON flickr提要返回false不工作
- 调用Typescript setter don't返回函数,尽管关联的getter可以工作
- 当JS在Chrome控制台上正常工作时,Selenium JavaScript执行器返回null
- BrainTree Hosted Fields onPaymentMethodReceived函数不工作,返回nonce
- 如何使此循环工作?它's返回未定义的语言js
- getElementById不工作返回NULL
- 本地存储在火狐中无法按预期工作.返回空值的对象
- PapaParse不工作(返回空数组)
- 使用数字属性时操作不工作(返回NaN)
- 价值.长度& lt;10 .不工作返回false
- JavaScript -函数不工作返回false
- HTML DOM不工作/返回未定义