Sha256: 9df5901c4330a40c9b85a4cdc613018ac2b68ed2f5b3f8cc6ca87f2a6fea135d
Contents?: true
Size: 1.42 KB
Versions: 3
Compression:
Stored size: 1.42 KB
Contents
//= require "vendor/braintree-2.13.0-beta" Spree.routes.payment_client_token_api = Spree.pathFor("api/payment_client_token") var braintreeDropinIntegration; var cardSelector = "#new_payment [name=card]"; var getClientToken = function(onSuccess) { return Spree.ajax({ url: Spree.routes.payment_client_token_api, type: "POST", data: { payment_method_id: $('form input[type=radio]:checked').val() }, error: function(xhr, status) { show_flash("error", xhr.responseJSON.message); }, success: function(data) { onSuccess(data); } }); }; var attachDropIn = function(data) { braintree.setup(data.client_token, "dropin", { container: "braintree-dropin", form: "new_payment", onReady: function (integration) { braintreeDropinIntegration = integration; }, onError: function(type, message) { show_flash("error", message); }, onPaymentMethodReceived: function(obj) { $("#payment_method_nonce").val(obj.nonce); $("#new_payment").submit(); return; } }); }; $(document).ready(function() { if ($(cardSelector).length) { $(cardSelector).on("change", function() { if ($(cardSelector + ":checked").val() === "new") { getClientToken(attachDropIn); } else { if (braintreeDropinIntegration) { braintreeDropinIntegration.teardown(); } } }); } else { getClientToken(attachDropIn); } });
Version data entries
3 entries across 3 versions & 1 rubygems