{"version":3,"sources":["../../lib/assets/javascripts/latepoint-payments-razorpay.js"],"names":["LatepointPaymentsRazorpayAddon","razorpayKey","_classCallCheck","this","razorpayCore","razorpayOrderId","ready","_this","jQuery","document","on","e","data","latepoint_helper","demo_mode","is_final_submit","direction","payment_method","currentTarget","find","val","latepoint_add_action","callbacks_list","initPaymentModal","current_step","$booking_form_element","latepoint_show_next_btn","_this2","deferred","Deferred","$latepoint_form","removeClass","addClass","action","route_name","razorpay_create_order_route","params","serialize","layout","return_format","ajax","type","dataType","url","ajaxurl","success","status","message","submit","resolve","reject","error","request","_error","result","_this3","razorpay_payment_options_route","amount","options","order_id","razorpay_order_id","handler","response","length","razorpay_payment_id","append","modal","ondismiss","Razorpay","open","_error2","intent_secret","confirmCardPayment","id","then","send_to_step","paymentIntent","latepointPaymentsRazorpayAddon","razorpay_key"],"mappings":"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","sourcesContent":["class LatepointPaymentsRazorpayAddon {\n\n\t// Init\n\tconstructor(razorpayKey){\n\t\tthis.razorpayKey = razorpayKey;\n\t\tthis.razorpayCore = null;\n\t\tthis.razorpayOrderId = null;\n\t\tthis.ready();\n\t}\n\n\tready(){\n\t\tjQuery(document).ready(() => {\n\t\t\tjQuery('body').on('latepoint:submitBookingForm', '.latepoint-booking-form-element', (e, data) => {\n\t if(!latepoint_helper.demo_mode && data.is_final_submit && data.direction == 'next'){\n\t \tlet payment_method = jQuery(e.currentTarget).find('input[name=\"booking[payment_method]\"]').val();\n\t \tswitch(payment_method){\n\t \t\tcase 'razorpay_checkout':\n\t\t\t \tlatepoint_add_action(data.callbacks_list, () => {\n\t\t\t\t\t\t\t\treturn this.initPaymentModal(jQuery(e.currentTarget), payment_method);\n\t\t\t\t });\n\t \t\tbreak;\n\t \t}\n\t }\n\t\t\t});\n\n\t\t\tjQuery('body').on('latepoint:nextStepClicked', '.latepoint-booking-form-element', (e, data) => {\n\t if(!latepoint_helper.demo_mode && (data.current_step == 'payment')){\n\t \tlet payment_method = jQuery(e.currentTarget).find('input[name=\"booking[payment_method]\"]').val();\n\t \tswitch(payment_method){\n\t \t\tcase 'razorpay_checkout':\n\t\t\t \tlatepoint_add_action(data.callbacks_list, () => {\n\t\t\t \t});\n\t \t\tbreak;\n\t \t}\n\t }\n\t\t\t});\n\n\t\t\tjQuery('body').on('latepoint:initPaymentMethod', '.latepoint-booking-form-element', (e, data) => {\n\t\t\t\tif(data.payment_method == 'razorpay_checkout'){\n\t\t\t\t\tlet $booking_form_element = jQuery(e.currentTarget);\n\t\t\t\t let $latepoint_form = $booking_form_element.find('.latepoint-form');\n\t\t\t\t\tlatepoint_add_action(data.callbacks_list, () => {\n\t\t\t\t\t\tlatepoint_show_next_btn($booking_form_element);\n\t\t\t\t // $booking_form_element.removeClass('step-content-loaded').addClass('step-content-loading');\n\t\t\t // $latepoint_form.submit();\n\t\t\t\t\t\t// return this.createOrder($booking_form_element, data.payment_method);\n\t \t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tjQuery('body').on('latepoint:initStep:payment', '.latepoint-booking-form-element', (e, data) => {\n\t\t\t}); \n\t\t});\n\t}\n\n\tcreateOrder($booking_form_element, payment_method){\n let deferred = jQuery.Deferred();\n let $latepoint_form = $booking_form_element.find('.latepoint-form');\n $booking_form_element.removeClass('step-content-loaded').addClass('step-content-loading');\n var data = { \n \taction: 'latepoint_route_call', \n \troute_name: latepoint_helper.razorpay_create_order_route, \n \tparams: $booking_form_element.find('.latepoint-form').serialize(), \n \tlayout: 'none', \n \treturn_format: 'json' \n }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: (data) => {\n if(data.status === \"success\"){\n \tthis.razorpayOrderId = data.message;\n \t$latepoint_form.submit();\n \tdeferred.resolve();\n }else{\n \tdeferred.reject({message: data.message});\n }\n },\n error: function(request, status, error){\n \tdeferred.reject({message: result.error.message});\n }\n });\n\n\t return deferred;\n\t}\n\n\tinitPaymentModal($booking_form_element, payment_method) {\n let deferred = jQuery.Deferred();\n let $latepoint_form = $booking_form_element.find('.latepoint-form');\n var data = { \n \taction: 'latepoint_route_call', \n \troute_name: latepoint_helper.razorpay_payment_options_route, \n \tparams: $booking_form_element.find('.latepoint-form').serialize(), \n \tlayout: 'none', \n \treturn_format: 'json' \n }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: (data) => {\n if(data.status === \"success\"){\n \tif(data.amount > 0){\n\t \tdata.options.order_id = data.razorpay_order_id;\n\t \tdata.options.handler = (response) => {\n\t \t\tlet $payment_token_field = $booking_form_element.find('input[name=\"booking[payment_token]\"]');\n\t \t\tif($payment_token_field.length){\n\t\t\t\t\t\t \t$booking_form_element.find('input[name=\"booking[payment_token]\"]').val(response.razorpay_payment_id);\n\t \t\t}else{\n\t \t\t\t// create payment token field if it doesn ot exist (when payment step is skipped)\n\t \t\t\t$booking_form_element.find('.latepoint-booking-params-w').append('');\n\t \t\t}\n\t\t \tdeferred.resolve();\n\t \t};\n\t \tdata.options.modal = {ondismiss: () => {\n\t \t\tdeferred.reject({message: 'Checkout form closed'});\t\n\t \t}};\n\t\t\t\t\t\tthis.razorpayCore = new Razorpay(data.options);\n\t\t\t\t this.razorpayCore.open();\n \t}else{\n \t\t// free booking\n \t\tdeferred.resolve();\n \t}\n }else{\n \tdeferred.reject({message: data.message});\n }\n },\n error: function(request, status, error){\n \tdeferred.reject({message: result.error.message});\n }\n });\n\t return deferred;\n\t}\n\n\n\tconfirmCardPayment($booking_form_element, intent_secret, payment_method){\n let deferred = jQuery.Deferred();\n\t\tthis.razorpayCore.confirmCardPayment(\n\t\t intent_secret,\n\t\t {\n\t\t payment_method: payment_method.id\n\t\t }\n\t\t).then((result) => {\n\t\t if (result.error) {\n \tdeferred.reject({message: result.error.message, send_to_step: 'payment'});\n\t\t } else {\n \t\tlet $payment_token_field = $booking_form_element.find('input[name=\"booking[payment_token]\"]');\n\t\t \tif($payment_token_field.length){\n\t\t\t \t$booking_form_element.find('input[name=\"booking[payment_token]\"]').val(result.paymentIntent.id);\n \t\t}else{\n \t\t\t// create payment token field if it doesn ot exist (when payment step is skipped)\n \t\t\t$booking_form_element.find('.latepoint-booking-params-w').append('');\n \t\t}\n \tdeferred.resolve();\n\t\t }\n\t\t});\n\t return deferred;\n\t}\n\n\n\t// Initiates credit card capture form\n\tinitCreditCardForm() {\n\t}\n\n}\n\n\nlet latepointPaymentsRazorpayAddon = new LatepointPaymentsRazorpayAddon(latepoint_helper.razorpay_key);"]}