我正在使用 braintree Drop-in UI with angularjs(frontend)和rails(Backend)。我正在创建一个clientToken并将其发送到braintree设置。
客户端令牌方法
@client_token = Braintree::ClientToken.generate(customer_id: current_user.braintree_customer_id,options: {
verify_card: true,
fail_on_duplicate_payment_method: true
})
所以你可以看到,我已经采取了 fail_on_duplicate_payment_method '选项。并尝试再次添加相同的付款方式。
然后,通过该验证,我在dropin上收到错误&#34;处理您的请求时遇到错误&#34;,但它没有进入错误回调。 < / p>
这是设置,很好,
braintree.setup(vm.clientToken, 'dropin', {
container: 'dropin-container',
onPaymentMethodReceived: function(data)
{
alert('came recieved')
// console.log($scope.paymentForm)
vm.submit($scope.paymentForm, data.nonce)
},
onReady: function () {
vm.disablePay = false;
},
onError: function(type, message) {
alert('came error')
vm.serverError = message;
}
});
这是错误的图像,
网络中的错误是,
callback_jsona7f3c885267b4f49aa13fbf01cecdb60({"error":{"message":"Credit card is invalid"},<br>"fieldErrors":[{"field":"creditCard","fieldErrors":[{"field":"number","code":"81724","message":"Duplicate card exists in the vault"}]}],"status":422})
我想将此错误提取到我的视图中。我搜索了许多链接,但没有得到我需要的答案。任何帮助都很明显 谢谢你提前。
答案 0 :(得分:0)
完全披露:我是Braintree的开发人员
onError
回调仅由客户端错误触发,这实际上是服务器端错误;但是,团队意识到了这一需求,并且正在开发一个将来可用的解决方案。