Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

51 linhas
1.4 KiB

  1. $(document).ready(function(){
  2. (function(e){
  3. var options = {
  4. "key": "{{ api_key }}",
  5. "amount": cint({{ amount }} * 100), // 2000 paise = INR 20
  6. "name": "{{ title }}",
  7. "description": "{{ description }}",
  8. "handler": function (response){
  9. razorpay.make_payment_log(response, options, "{{ reference_doctype }}", "{{ reference_docname }}");
  10. },
  11. "prefill": {
  12. "name": "{{ payer_name }}",
  13. "email": "{{ payer_email }}",
  14. "order_id": "{{ order_id }}"
  15. },
  16. "notes": {{ frappe.form_dict|json }}
  17. };
  18. var rzp = new Razorpay(options);
  19. rzp.open();
  20. // e.preventDefault();
  21. })();
  22. })
  23. frappe.provide('razorpay');
  24. razorpay.make_payment_log = function(response, options, doctype, docname){
  25. $('.razorpay-loading').addClass('hidden');
  26. $('.razorpay-confirming').removeClass('hidden');
  27. frappe.call({
  28. method:"frappe.templates.pages.integrations.razorpay_checkout.make_payment",
  29. freeze:true,
  30. headers: {"X-Requested-With": "XMLHttpRequest"},
  31. args: {
  32. "razorpay_payment_id": response.razorpay_payment_id,
  33. "options": options,
  34. "reference_doctype": doctype,
  35. "reference_docname": docname
  36. },
  37. callback: function(r){
  38. if (r.message && r.message.status == 200) {
  39. window.location.href = r.message.redirect_to
  40. }
  41. else if (r.message && ([401,400,500].indexOf(r.message.status) > -1)) {
  42. window.location.href = r.message.redirect_to
  43. }
  44. }
  45. })
  46. }