PageSourceSearch

http://seojindsa.kr/wp-content/plugins/contact-form-7-paypal-add-on/assets/js/redirect_method.js

js seojindsa.kr collected 2026-10-06 16:29:29 UTC 8,806 bytes, 413 lines download raw bytes

1jQuery(document).ready(function($) {
2
3	var formid;
4	var formid_long;
5	var amount_total;
6	var default_symbol;
7
8	// for redirect method 1
9	document.addEventListener('wpcf7mailsent', function( event ) {
10		var id_long =			event.detail.id;
11		var id = 				event.detail.contactFormId;
12
13		var formid = id_long;
14		var formid = id;
15
16		var forms = ajax_object_cf7pp.forms;
17		var result_paypal = forms.indexOf(id+'|paypal');
18		var result_stripe = forms.indexOf(id+'|stripe');
19		var path = ajax_object_cf7pp.path+id;
20
21
22		var gateway;
23
24		var data = {
25			'action':	'cf7pp_get_form_post',
26		};
27
28		jQuery.ajax({
29			type: "GET",
30			data: data,
31			dataType: "json",
32			async: false,
33			url: ajax_object_cf7pp.ajax_url,
34			xhrFields: {
35				withCredentials: true
36			},
37			success: function (response) {
38				gateway = 			response.gateway;
39				amount_total = 		response.amount_total;
40				default_symbol = 	response.default_symbol;
41			}
42		});
43
44
45		// gateway chooser
46		if (gateway != null) {
47			// paypal
48			if (result_paypal > -1 && gateway == 'paypal') {
49				window.location.href = path;
50			}
51
52			// stripe
53			if (result_stripe > -1 && gateway == 'stripe') {
54
55				var data = {
56					'action':	'cf7pp_get_form_stripe',
57				};
58
59				jQuery.ajax({
60					type: "GET",
61					data: data,
62					dataType: "json",
63					async: false,
64					url: ajax_object_cf7pp.ajax_url,
65					xhrFields: {
66						withCredentials: true
67					},
68					success: function (response) {
69
70						jQuery('#'+id_long).html(response.html);
71
72					}
73				});
74
75			}
76		} else {
77			// no gateway chooser
78			if (result_paypal > -1) {
79				window.location.href = path;
80			}
81
82			// stripe
83			if (result_stripe > -1) {
84
85				var data = {
86					'action':	'cf7pp_get_form_stripe',
87				};
88
89				jQuery.ajax({
90					type: "GET",
91					data: data,
92					dataType: "json",
93					async: false,
94					url: ajax_object_cf7pp.ajax_url,
95					xhrFields: {
96						withCredentials: true
97					},
98					success: function (response) {
99
100						jQuery('#'+id_long).html(response.html);
101
102					}
103				});
104
105			}
106		}
107
108	}, false );
109
110
111
112
113
114
115
116	// for redirect method 2 - with WPCF7_LOAD_JS off
117	if (jQuery('.wpcf7-mail-sent-ok')[0]){
118
119		var id_long = jQuery('.wpcf7-mail-sent-ok').closest('.wpcf7').attr("id");
120		var id = id_long.split('f').pop().split('-').shift();
121
122		var formid = id_long;
123		var formid = id;
124
125		var forms = ajax_object_cf7pp.forms;
126		var result_paypal = forms.indexOf(id+'|paypal');
127		var result_stripe = forms.indexOf(id+'|stripe');
128		var path = ajax_object_cf7pp.path+id;
129
130		var gateway;
131
132		var data = {
133			'action':	'cf7pp_get_form_post',
134		};
135
136		jQuery.ajax({
137			type: "GET",
138			data: data,
139			dataType: "json",
140			async: false,
141			url: ajax_object_cf7pp.ajax_url,
142			xhrFields: {
143				withCredentials: true
144			},
145			success: function (response) {
146				gateway = 			response.gateway;
147				amount_total = 		response.amount_total;
148				default_symbol = 	response.default_symbol;
149			}
150		});
151
152
153
154		// gateway chooser
155		if (gateway != null) {
156			// paypal
157			if (result_paypal > -1 && gateway == 'paypal') {
158				window.location.href = path;
159			}
160
161			// stripe
162			if (result_stripe > -1 && gateway == 'stripe') {
163
164				var data = {
165					'action':	'cf7pp_get_form_stripe',
166				};
167
168				jQuery.ajax({
169					type: "GET",
170					data: data,
171					dataType: "json",
172					async: false,
173					url: ajax_object_cf7pp.ajax_url,
174					xhrFields: {
175						withCredentials: true
176					},
177					success: function (response) {
178
179						jQuery('#'+id_long).html(response.html);
180
181					}
182				});
183
184			}
185		} else {
186			// no gateway chooser
187			if (result_paypal > -1) {
188				window.location.href = path;
189			}
190
191			// stripe
192			if (result_stripe > -1) {
193
194				var data = {
195					'action':	'cf7pp_get_form_stripe',
196				};
197
198				jQuery.ajax({
199					type: "GET",
200					data: data,
201					dataType: "json",
202					async: false,
203					url: ajax_object_cf7pp.ajax_url,
204					xhrFields: {
205						withCredentials: true
206					},
207					success: function (response) {
208
209						jQuery('#'+id_long).html(response.html);
210
211					}
212				});
213
214			}
215		}
216
217
218
219	};
220
221
222
223
224	// stripe payment form
225
226	// method 1
227	jQuery(document).ajaxComplete(function() {
228		cf7pp_load_stripe();
229	});
230
231	// method 2
232	if (jQuery('.cf7pp_stripe').length ) {
233		cf7pp_load_stripe();
234	};
235
236
237
238
239	function cf7pp_load_stripe () {
240		if (jQuery('.cf7pp_stripe').length ) {
241			var stripe = Stripe(ajax_object_cf7pp.stripe_key);
242
243			var elements = stripe.elements();
244
245			var elementClasses = {
246				base:		'cf7pp_details_input',
247				focus: 		'focus',
248				empty: 		'empty',
249				invalid: 	'invalid',
250			};
251
252			var cardNumber = elements.create('cardNumber', {
253				classes: 	elementClasses,
254				placeholder:  "\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022",
255			});
256			cardNumber.mount('#cf7pp_stripe_credit_card_number');
257
258			var cardExpiry = elements.create('cardExpiry', {
259				classes: elementClasses,
260				placeholder:  "\u2022\u2022 / \u2022\u2022",
261			});
262			cardExpiry.mount('#cf7pp_stripe_credit_card_expiration');
263
264			var cardCvc = elements.create('cardCvc', {
265				classes: elementClasses,
266				placeholder:  "\u2022\u2022\u2022",
267			});
268			cardCvc.mount('#cf7pp_stripe_credit_card_csv');
269
270			var cardPostalCode = elements.create('postalCode', {
271				classes: elementClasses,
272				placeholder:  "\u2022\u2022\u2022\u2022\u2022",
273			});
274			cardPostalCode.mount('#cf7pp_stripe_credit_card_zip');
275
276
277
278
279			// Handle real-time validation errors from the card Element.
280			cardNumber.addEventListener('change', function(event) {
281
282				var displayError = document.getElementById('card-errors');
283
284				if (event.error) {
285					displayError.textContent = event.error.message;
286				} else {
287					displayError.textContent = '';
288				}
289
290			});
291
292			cardExpiry.addEventListener('change', function(event) {
293
294				var displayError = document.getElementById('card-errors');
295
296				if (event.error) {
297					displayError.textContent = event.error.message;
298				} else {
299					displayError.textContent = '';
300				}
301
302			});
303
304			cardCvc.addEventListener('change', function(event) {
305
306				var displayError = document.getElementById('card-errors');
307
308				if (event.error) {
309					displayError.textContent = event.error.message;
310				} else {
311					displayError.textContent = '';
312				}
313
314			});
315
316			cardPostalCode.addEventListener('change', function(event) {
317
318				var displayError = document.getElementById('card-errors');
319
320				if (event.error) {
321					displayError.textContent = event.error.message;
322				} else {
323					displayError.textContent = '';
324				}
325
326			});
327
328
329
330
331
332
333
334			// Handle form submission
335
336			var form = document.getElementById('cf7pp-payment-form');
337
338			form.addEventListener('submit', function(event) {
339
340
341				// id get lost using method 1, so we need to get it again
342				var id_long = jQuery('.cf7pp_stripe').closest('.wpcf7').attr("id");
343				var formid = id_long.split('f').pop().split('-').shift();
344
345
346				// disable submit button
347				jQuery('#stripe-submit').attr("disabled", "disabled");
348				jQuery('#stripe-submit').val(ajax_object_cf7pp.processing);
349
350				event.preventDefault();
351
352				stripe.createToken(cardNumber).then(function(result) {
353					if (result.error) {
354
355
356						// Inform the user if there was an error
357						var errorElement = document.getElementById('card-errors');
358						errorElement.textContent = result.error.message;
359
360						// undisable submit button
361						jQuery('#stripe-submit').removeAttr("disabled");
362						var button_text = ajax_object_cf7pp.pay+" "+default_symbol+amount_total;
363						jQuery('#stripe-submit').val(button_text);
364					} else {
365						// Send the token to your server
366
367						var data = {
368							'action':				'cf7pp_stripe_charge',
369							'token':				result.token,
370							'nonce':				jQuery('#cf7pp_stripe_nonce').val(),
371							'id':					formid,
372						};
373
374						jQuery.ajax({
375							type: "POST",
376							data: data,
377							dataType: "json",
378							url: ajax_object_cf7pp.ajax_url,
379							xhrFields: {
380								withCredentials: true
381							},
382							success: function (result) {
383
384								if (result.response == 'completed') {
385
386									jQuery('#'+id_long).html(result.html_success);
387
388								} else {
389									// undisable submit button
390									jQuery('#card-errors').html(ajax_object.failed);
391									jQuery('#stripe-submit').removeAttr("disabled");
392									var button_text = ajax_object.pay+" "+default_symbol+amount_total;
393									jQuery('#stripe-submit').val(button_text);
394								}
395
396
397							}
398						});
399					}
400				});
401
402			});
403
404		};
405	};
406
407
408
409
410
411
412
413});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.