forked from mirror/fosspay
parent
85ce9c5327
commit
d2a5fced76
@ -0,0 +1,47 @@ |
||||
(function() { |
||||
document.getElementById("submit").addEventListener("click", function(e) { |
||||
e.preventDefault(); |
||||
if (e.target.getAttribute("disabled")) { |
||||
return; |
||||
} |
||||
|
||||
var handler = StripeCheckout.configure({ |
||||
name: your_name, |
||||
key: window.stripe_key, |
||||
locale: 'auto', |
||||
description: "Invoice " + invoice, |
||||
panelLabel: "Pay {{amount}}", |
||||
amount: amount, |
||||
token: function(token) { |
||||
e.target.setAttribute("disabled", ""); |
||||
e.target.textContent = "Submitting..."; |
||||
|
||||
var data = new FormData(); |
||||
data.append("stripe_token", token.id); |
||||
data.append("email", token.email); |
||||
data.append("amount", amount); |
||||
data.append("type", "once"); |
||||
data.append("comment", comment); |
||||
var xhr = new XMLHttpRequest(); |
||||
xhr.open("POST", "../donate"); |
||||
xhr.onload = function() { |
||||
var res = JSON.parse(this.responseText); |
||||
if (res.success) { |
||||
document.getElementById("donation-stuff").classList.add("hidden"); |
||||
document.getElementById("thanks").classList.remove("hidden"); |
||||
} else { |
||||
var errors = document.getElementById("errors"); |
||||
errors.classList.remove("hidden"); |
||||
errors.querySelector("p").textContent = res.reason; |
||||
e.target.removeAttribute("disabled"); |
||||
e.target.textContent = "Submit payment"; |
||||
} |
||||
}; |
||||
xhr.send(data); |
||||
} |
||||
}); |
||||
|
||||
handler.open(); |
||||
}); |
||||
})(); |
||||
|
Loading…
Reference in new issue