$('.revenue_head').on('change',function(e){
var revenueHead = 'id='+$(this).val().trim();
// console.log(revenueHead)
$.ajax({
type: 'POST',
url: 'include/loadAjax.php',
data: revenueHead,
dataType:'json',
cache:false,
success: function (response) {
console.log(response);
// alert(response)
if(response!='empty'){
$('#revenue_subhead').empty();
$('#revenue_subhead').append('');
$.each(response, function(key,value) {
$('#revenue_subhead').append("");
});
}
else{
$('#revenue_subhead').empty();
$('#revenue_subhead').append("");
}
},
error:function(request,error){
console.log(error);
}
});
});
$('.revenue_head-2').on('change',function(e){
var revenueHead = "id="+$(this).val();
// alert(revenueHead)
$.ajax({
type: 'POST',
url: 'include/loadAjax.php',
data: revenueHead,
dataType:'json',
cache:false,
success: function (response) {
console.log(response);
// alert(response)
if(response!='empty'){
$('.revenue_subhead-2').empty();
$('.revenue_subhead-2').append('');
$.each(response, function(key,value) {
$('.revenue_subhead-2').append("");
});
}
else{
$('.revenue_subhead-2').empty();
$('.revenue_subhead-2').append("");
}
},
error:function(request,error){
console.log(error);
}
});
});
var paymentForm = document.getElementById('paymentForm');
paymentForm.addEventListener('submit', payWithPaystack, false);
function payWithPaystack() {
const paystack = new PaystackPop();
// Generate custom transaction reference
function generateREF() {
var ref = '';
for (var i = 0; i < 12; i++) {
ref += Math.floor(Math.random() * 10); // Generate random digit from 0 to 9
}
return ref;
}
var reference = generateREF();
$.ajax({
url: 'include/utils.php',
type: 'GET',
success: function(data) {
var pp_keys = data.trim();
paystack.newTransaction({
key: pp_keys,
phone: document.getElementById('phone').value,
email: document.getElementById('email').value,
amount: document.getElementById('amount').value * 100,
currency: 'NGN',
ref: reference, // This uses a random transaction reference
metadata: {
custom_fields: [{
display_name: 'Revenue Head',
variable_name: 'revenue_head',
value: document.getElementById('revenue_head').value,
},
{
display_name: 'Revenue Subhead',
variable_name: 'revenue_subhead',
value: document.getElementById('revenue_subhead').value,
},
{
display_name: 'Narration',
variable_name: 'narration',
value: document.getElementById('narration').value,
}
]
},
onSuccess: (transaction) => {
const formData = new FormData();
formData.append('reference_number', transaction.reference);
formData.append('user_id', 1);
formData.append('revenue_head', document.getElementById('revenue_head').value);
formData.append('revenue_subhead', document.getElementById('revenue_subhead').value);
formData.append('firstName', document.getElementById('firstName').value);
formData.append('lastName', document.getElementById('lastName').value);
formData.append('phone', document.getElementById('phone').value);
formData.append('email', document.getElementById('email').value);
formData.append('amount', document.getElementById('amount').value);
formData.append('narration', document.getElementById('narration').value);
$.ajax({
url: 'include/verifyPayment.php',
method: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(data) {
if (data === 'verified') {
Swal.fire({
icon: 'success',
html: 'Payment successfull.',
showConfirmButton: false,
allowOutsideClick: false,
width: '400px',
footer: `Print Receipt`
});
paymentForm.reset();
} else {
const Toast = Swal.mixin({
toast: true,
showConfirmButton: false,
timer: 10000,
timerProgressBar: true,
})
Toast.fire({
icon: 'warning',
title: 'Payment Failed'
})
}
},
error: function(xhr, status, error) {
console.error(xhr);
},
});
},
onCancel: () => {
// user closed popup
alert('Do you want to discard the payment?');
}
});
},
error: function(xhr, status, error) {
console.error('Failed to fetch keys:', error);
}
});
}
var remitaPaymentForm = document.getElementById('remitaPaymentForm');
remitaPaymentForm.addEventListener('submit', payWithRemita, false);
function payWithRemita() {
// Generate custom transaction Id
function generateREF() {
var ref = '';
for (var i = 0; i < 12; i++) {
ref += Math.floor(Math.random() * 10); // Generate random digit from 0 to 9
}
return ref;
}
$.ajax({
url: 'include/utils2.php',
type: 'GET',
success: function(data) {
var rp_keys = data.trim();
var form2 = document.querySelector('#remitaPaymentForm');
var paymentEngine = RmPaymentEngine.init({
key: rp_keys,
customerId: form2.querySelector('#email').value,
firstName: form2.querySelector('#firstName').value,
lastName: form2.querySelector('#lastName').value,
email: form2.querySelector('#email').value,
phoneNumber: form2.querySelector('#phone').value,
amount: form2.querySelector('#amount').value,
narration: form2.querySelector('#narration').value,
transactionId: generateREF(),
channel: 'CARD,BRANCH,TRANSFER,BANK,PAYWITHREMITA',
extendedData: {
// Optional field.
customFields: [
{
name: 'revenue_head',
value: form2.querySelector('#revenue_head').value,
},
{
name: 'revenue_subhead',
value: form2.querySelector('#revenue_subhead').value
},
],
// lineItems: [
// {
// lineItemsId: 'itemid1',
// beneficiaryName: 'Bashir Hassan',
// beneficiaryAccount: '0240190465',
// bankCode: '058',
// beneficiaryAmount: form2.querySelector('#amount').value * 0.7,
// deductFeeFrom: '1'
// },
// {
// lineItemsId: 'itemid2',
// beneficiaryName: 'Bashir Hassan',
// beneficiaryAccount: '0697475006',
// bankCode: '058',
// beneficiaryAmount: form2.querySelector('#amount').value * 0.3,
// deductFeeFrom: '0'
// }
// ]
},
onSuccess: function (response) {
const formData = new FormData();
formData.append('transactionId', response.paymentReference);
formData.append('reference', response.paymentReference);
formData.append('user_id', 1);
formData.append('revenue_head', form2.querySelector('#revenue_head').value);
formData.append('revenue_subhead', form2.querySelector('#revenue_subhead').value);
formData.append('firstName', form2.querySelector('#firstName').value);
formData.append('lastName', form2.querySelector('#lastName').value);
formData.append('phone', form2.querySelector('#phone').value);
formData.append('email', form2.querySelector('#email').value);
formData.append('amount', form2.querySelector('#amount').value);
formData.append('narration', form2.querySelector('#narration').value);
var referenceNumber = response.paymentReference;
$.ajax({
type: 'POST',
url: 'include/verifyPayment.php',
data: formData,
processData: false,
contentType: false,
cache: false,
success: function(data) {
console.log(data)
if (data === 'verified') {
console.log(data)
Swal.fire({
icon: 'success',
html: 'Payment successfull.',
showConfirmButton: false,
allowOutsideClick: false,
width: '400px',
footer: `Print Receipt`
});
// remitaPaymentForm.reset();
} else if (data === 'failed') {
// paymentForm.reset();
const Toast = Swal.mixin({
toast: true,
showConfirmButton: false,
timer: 10000,
timerProgressBar: true,
})
Toast.fire({
icon: 'warning',
title: 'Payment failed1'
})
}
},
error: function(xhr, status, error) {
console.error(xhr);
},
});
},
onClose: () => {
// alert('Do you want to cancel the payment?');
console.log('closed');
}
});
paymentEngine.showPaymentWidget();
},
error: function(xhr, status, error) {
console.error('Failed to fetch keys:', error);
}
});
}
var rrrPaymentForm = document.getElementById('rrrPaymentForm');
rrrPaymentForm.addEventListener('submit', payWithRrr, false);
function payWithRrr() {
// Generate custom transaction Id
function generateREF() {
var ref = '';
for (var i = 0; i < 12; i++) {
ref += Math.floor(Math.random() * 10); // Generate random digit from 0 to 9
}
return ref;
}
var form3 = document.querySelector('#rrrPaymentForm');
var rrrValue = form3.querySelector('#rrr').value;
var paymentEngine = RmPaymentEngine.init({
key:'UzAwMDA0OTI1OTN8MTEwMDQ1MjA3OTM0fGEyYWM4ZmQ5ZGI5YzcwYmFhNTc2OWIyN2E3M2NjNmU3MzhhODgzMWNiZjNiMGQ1ZGQyN2NkZjk4YzY0ZTkyMDZkMDE2MGRlNjIxMTZjZDEzY2U4MmNjZjgzMmVjZGNmNGFjODZjNjcyMDM5NGQzYThjNjMxZjViYTRlNWRmZGM2',
processRrr: true,
transactionId: generateREF(),
extendedData: {
customFields: [
{
name: 'rrr',
value: rrrValue
}
]
},
onSuccess: function (response) {
console.log('callback Successful Response', response);
},
onError: function (response) {
console.log('callback Error Response', response);
},
onClose: function () {
console.log('closed');
}
});
paymentEngine.showPaymentWidget();
}