seitime-frappe/frappe/templates/includes/integrations/razorpay_checkout.js

51 lines
1.4 KiB
JavaScript

$(document).ready(function(){
(function(e){
var options = {
"key": "{{ api_key }}",
"amount": cint({{ amount }} * 100), // 2000 paise = INR 20
"name": "{{ title }}",
"description": "{{ description }}",
"handler": function (response){
razorpay.make_payment_log(response, options, "{{ reference_doctype }}", "{{ reference_docname }}", "{{ token }}");
},
"prefill": {
"name": "{{ payer_name }}",
"email": "{{ payer_email }}",
"order_id": "{{ order_id }}"
},
"notes": {{ frappe.form_dict|json }}
};
var rzp = new Razorpay(options);
rzp.open();
// e.preventDefault();
})();
})
frappe.provide('razorpay');
razorpay.make_payment_log = function(response, options, doctype, docname, token){
$('.razorpay-loading').addClass('hidden');
$('.razorpay-confirming').removeClass('hidden');
frappe.call({
method:"frappe.templates.pages.integrations.razorpay_checkout.make_payment",
freeze:true,
headers: {"X-Requested-With": "XMLHttpRequest"},
args: {
"razorpay_payment_id": response.razorpay_payment_id,
"options": options,
"reference_doctype": doctype,
"reference_docname": docname,
"token": token
},
callback: function(r){
if (r.message && r.message.status == 200) {
window.location.href = r.message.redirect_to
}
else if (r.message && ([401,400,500].indexOf(r.message.status) > -1)) {
window.location.href = r.message.redirect_to
}
}
})
}