Skip to content

Instantly share code, notes, and snippets.

@voidnerd
Created October 17, 2019 16:58
Show Gist options
  • Select an option

  • Save voidnerd/b10c9801a38a3121595f01e5509ca222 to your computer and use it in GitHub Desktop.

Select an option

Save voidnerd/b10c9801a38a3121595f01e5509ca222 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://js.paystack.co/v1/inline.js"></script>
</head>
<body>
<form id="paymentForm">
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputEmail4">Email Address</label>
<input type="email" id="email-address" required>
</div>
<div class="form-group col-md-6">
<label for="inputEmail4">Amount</label>
<input type="tel" id="amount" required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="inputEmail4">Full Name</label>
<input type="text" id="first-name" required>
</div>
</div><br>
<div class="form-row text-center">
<div class="form-group col-md-12">
<button type="submit">Submit &nbsp;<i class="fa fa-angle-right"></i></button>
</div>
</div>
</form>
<script>
var paymentForm = document.getElementById('paymentForm');
paymentForm.addEventListener("submit", function(e) {
e.preventDefault();
var obj = { //let's see what the form returns, shall we?
email: document.getElementById("email-address").value,
amount: document.getElementById("amount").value * 100,
firstname: document.getElementById("first-name").value,
}
console.log(obj);
payWithPaystack();
});
function payWithPaystack() {
var handler = PaystackPop.setup({
key: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', // Replace with your public key
email: document.getElementById("email-address").value,
amount: document.getElementById("amount").value * 100,
firstname: document.getElementById("first-name").value,
ref: '' + Math.floor((Math.random() * 1000000000) + 1), // generates a pseudo-unique reference. Please replace with a reference you generated. Or remove the line entirely so our API will generate one for you
metadata: {
custom_fields: [{
display_name: "Mobile Number",
variable_name: "mobile_number",
value: "+2348012345678"
}]
},
callback: function(response) {
alert('success. transaction ref is ' + response.reference);
},
onClose: function() {
alert('window closed');
}
});
handler.openIframe();
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment