2014-10-08 18 views
6

Tôi đã thiết lập giao diện người dùng thả trong trang thanh toán của mình nhưng tôi muốn xác thực địa chỉ thanh toán và giao hàng của khách hàng cũng như chi tiết thẻ giao diện người dùng thả xuống trước khi gửi hình thức thanh toán.Giao diện người dùng thả xuống Braintree: xác thực trường tùy chỉnh địa chỉ thanh toán trước khi gửi biểu mẫu

Nó tự động tạo nonce từ máy chủ và gắn nó vào biểu mẫu của chúng tôi, nhưng làm cách nào tôi có thể xác thực các trường thả và địa chỉ cùng một lúc?

Trả lời

10

Tôi làm việc tại Braintree trong nhóm JS SDK.

Hiện tại, Drop-In không cho phép các trường vượt quá Thẻ tín dụng, Hết hạn, CVV và Mã bưu chính. Tuy nhiên, nó được thiết kế để hoạt động trong ngữ cảnh của biểu mẫu thanh toán của bạn. Nếu bạn muốn ngăn chặn Drop-In tự động gửi biểu mẫu để bạn có thể chạy xác thực của riêng bạn khi tạo nonce, bạn có thể xác định gọi lại trong cấu hình của mình và sau đó gửi lại biểu mẫu theo cách thủ công khi bạn hài lòng với kết quả của bạn.

Tuy nhiên, bạn sẽ phải nhớ bao gồm nonce trong trường nhập với tên mà máy chủ của bạn đang mong đợi. Giá trị mặc định là payment_method_nonce.

Ví dụ:

braintree.setup('CLIENT_TOKEN', 'dropin', { 
    paymentMethodNonceReceived: function (event, nonce) { 
    // Simulate your validation 
    setTimeout(function() { 
     var form = document.getElementsByTagName('form')[0]; 
     var input = document.createElement('input'); 

     input.name = 'payment_method_nonce'; 
     input.value = nonce; 

     form.appendChild(input); 

     form.submit(); 
    }, 500); 

    } 
}); 

biết thêm thông tin xung quanh này có thể được tìm thấy ở đây: https://developers.braintreepayments.com/javascript+node/sdk/client/drop-in

Tôi hy vọng điều này sẽ giúp.

+0

Bạn có thể xác nhận rằng cuộc gọi lại hiện được định nghĩa là 'onPaymentMethodReceived' không? cho mỗi http://stackoverflow.com/questions/28068003/braintree-paymentmethodnoncereceived-not-being-invoked – aaronbauman

Các vấn đề liên quan