265 lines
8.1 KiB
JavaScript
265 lines
8.1 KiB
JavaScript
(function() {
|
|
'use strict';
|
|
|
|
// Business configuration with SmartPay iframe URLs
|
|
var BUSINESSES = {
|
|
sarit: {
|
|
name: 'שרית הספרית',
|
|
lang: 'he',
|
|
plans: {
|
|
code: {
|
|
url: 'https://pay.smartpay.co.il/v1/iframe/af5cb955-8620-57fa-3b5a-61916e5f',
|
|
price: '₪1,490',
|
|
title: 'קוד האתר בלבד',
|
|
features: [
|
|
'קוד מקור מלא של האתר',
|
|
'עיצוב מותאם אישית',
|
|
'תמיכה טכנית בהעלאת האתר'
|
|
]
|
|
},
|
|
full: {
|
|
url: 'https://pay.smartpay.co.il/v1/iframe/5ca5e359-9fc8-504b-ce08-6181d906',
|
|
price: '₪2,390',
|
|
title: 'חבילה מלאה',
|
|
badge: 'החבילה המומלצת',
|
|
features: [
|
|
'קוד מקור מלא של האתר',
|
|
'אחסון לשנה',
|
|
'דומיין בהתאמה אישית',
|
|
'תיבת מייל עסקית'
|
|
]
|
|
}
|
|
}
|
|
},
|
|
kobi: {
|
|
name: 'מספרת קובי שריקי',
|
|
lang: 'he',
|
|
plans: {
|
|
code: {
|
|
url: 'https://pay.smartpay.co.il/v1/iframe/0472462e-8673-5f88-5329-5c54164c',
|
|
price: '₪1,490',
|
|
title: 'קוד האתר בלבד',
|
|
features: [
|
|
'קוד מקור מלא של האתר',
|
|
'עיצוב מותאם אישית',
|
|
'תמיכה טכנית בהעלאת האתר'
|
|
]
|
|
},
|
|
full: {
|
|
url: 'https://pay.smartpay.co.il/v1/iframe/188c95d1-e760-5640-f05a-562be8fc',
|
|
price: '₪2,390',
|
|
title: 'חבילה מלאה',
|
|
badge: 'החבילה המומלצת',
|
|
features: [
|
|
'קוד מקור מלא של האתר',
|
|
'אחסון לשנה',
|
|
'דומיין בהתאמה אישית',
|
|
'תיבת מייל עסקית'
|
|
]
|
|
}
|
|
}
|
|
},
|
|
orly: {
|
|
name: 'אורלי חן עיצוב שיער',
|
|
lang: 'he',
|
|
plans: {
|
|
code: {
|
|
url: 'https://pay.smartpay.co.il/v1/iframe/08825e84-c73d-5737-c77e-950be56e',
|
|
price: '₪1,490',
|
|
title: 'קוד האתר בלבד',
|
|
features: [
|
|
'קוד מקור מלא של האתר',
|
|
'עיצוב מותאם אישית',
|
|
'תמיכה טכנית בהעלאת האתר'
|
|
]
|
|
},
|
|
full: {
|
|
url: 'https://pay.smartpay.co.il/v1/iframe/56604ea6-6729-51f8-f421-9c3e88c1',
|
|
price: '₪2,390',
|
|
title: 'חבילה מלאה',
|
|
badge: 'החבילה המומלצת',
|
|
features: [
|
|
'קוד מקור מלא של האתר',
|
|
'אחסון לשנה',
|
|
'דומיין בהתאמה אישית',
|
|
'תיבת מייל עסקית'
|
|
]
|
|
}
|
|
}
|
|
},
|
|
hairontop: {
|
|
name: 'Hair On Top',
|
|
lang: 'en',
|
|
plans: {
|
|
code: {
|
|
url: 'https://pay.smartpay.co.il/v1/iframe/eb9b2b7a-95f9-5e1c-917c-513bfd99',
|
|
price: '₪1,490',
|
|
title: 'קוד האתר בלבד',
|
|
features: [
|
|
'קוד מקור מלא של האתר',
|
|
'עיצוב מותאם אישית',
|
|
'תמיכה טכנית בהעלאת האתר'
|
|
]
|
|
},
|
|
full: {
|
|
url: 'https://pay.smartpay.co.il/v1/iframe/ec156279-f214-516e-fe3d-6d462a65',
|
|
price: '₪2,390',
|
|
title: 'חבילה מלאה',
|
|
badge: 'החבילה המומלצת',
|
|
features: [
|
|
'קוד מקור מלא של האתר',
|
|
'אחסון לשנה',
|
|
'דומיין בהתאמה אישית',
|
|
'תיבת מייל עסקית'
|
|
]
|
|
}
|
|
}
|
|
},
|
|
itzik: {
|
|
name: 'איציק בכר - אינסטלטור',
|
|
lang: 'he',
|
|
plans: {
|
|
code: {
|
|
url: 'https://pay.smartpay.co.il/v1/iframe/08e71a36-b51a-592f-7b9e-d2ef0668',
|
|
price: '₪1,490',
|
|
title: 'קוד האתר בלבד',
|
|
features: [
|
|
'קוד מקור מלא של האתר',
|
|
'עיצוב מותאם אישית',
|
|
'תמיכה טכנית בהעלאת האתר'
|
|
]
|
|
},
|
|
full: {
|
|
url: 'https://pay.smartpay.co.il/v1/iframe/049867df-8717-5a0b-ca2c-5ae47d74',
|
|
price: '₪2,390',
|
|
title: 'חבילה מלאה',
|
|
badge: 'החבילה המומלצת',
|
|
features: [
|
|
'קוד מקור מלא של האתר',
|
|
'אחסון לשנה',
|
|
'דומיין בהתאמה אישית',
|
|
'תיבת מייל עסקית'
|
|
]
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
// DOM elements
|
|
var elements = {
|
|
businessTitle: document.getElementById('businessTitle'),
|
|
businessSubtitle: document.getElementById('businessSubtitle'),
|
|
planSection: document.getElementById('planSection'),
|
|
planBadge: document.getElementById('planBadge'),
|
|
planTitle: document.getElementById('planTitle'),
|
|
planPrice: document.getElementById('planPrice'),
|
|
planFeatures: document.getElementById('planFeatures'),
|
|
iframeContainer: document.getElementById('iframeContainer'),
|
|
iframeLoading: document.getElementById('iframeLoading'),
|
|
paymentFrame: document.getElementById('paymentFrame'),
|
|
errorState: document.getElementById('errorState')
|
|
};
|
|
|
|
// Parse URL parameters
|
|
function getUrlParams() {
|
|
var params = new URLSearchParams(window.location.search);
|
|
return {
|
|
biz: params.get('biz'),
|
|
plan: params.get('plan')
|
|
};
|
|
}
|
|
|
|
// Validate parameters
|
|
function validateParams(biz, plan) {
|
|
if (!biz || !plan) return false;
|
|
if (!BUSINESSES[biz]) return false;
|
|
if (!BUSINESSES[biz].plans[plan]) return false;
|
|
return true;
|
|
}
|
|
|
|
// Show error state
|
|
function showError() {
|
|
elements.planSection.style.display = 'none';
|
|
elements.iframeContainer.style.display = 'none';
|
|
elements.errorState.style.display = 'block';
|
|
elements.businessTitle.textContent = 'שגיאה';
|
|
elements.businessSubtitle.textContent = '';
|
|
|
|
document.title = 'שגיאה | Emaillion';
|
|
}
|
|
|
|
// Escape HTML to prevent XSS
|
|
function escapeHtml(text) {
|
|
var div = document.createElement('div');
|
|
div.textContent = text;
|
|
return div.innerHTML;
|
|
}
|
|
|
|
// Render checkout page
|
|
function renderCheckout(bizKey, planKey) {
|
|
var business = BUSINESSES[bizKey];
|
|
var plan = business.plans[planKey];
|
|
|
|
// Update header
|
|
elements.businessTitle.textContent = 'רכישת אתר עבור:';
|
|
|
|
// Handle business name with proper lang attribute
|
|
if (business.lang === 'en') {
|
|
elements.businessSubtitle.innerHTML = '<span lang="en">' + escapeHtml(business.name) + '</span>';
|
|
} else {
|
|
elements.businessSubtitle.textContent = business.name;
|
|
}
|
|
|
|
// Update plan section - only show badge for full plans
|
|
if (plan.badge) {
|
|
elements.planBadge.textContent = plan.badge;
|
|
} else {
|
|
elements.planBadge.textContent = '';
|
|
}
|
|
|
|
elements.planTitle.textContent = plan.title;
|
|
elements.planPrice.textContent = plan.price;
|
|
|
|
// Render features
|
|
elements.planFeatures.innerHTML = plan.features
|
|
.map(function(feature) { return '<li>' + escapeHtml(feature) + '</li>'; })
|
|
.join('');
|
|
|
|
// Load iframe
|
|
elements.paymentFrame.src = plan.url;
|
|
|
|
// Hide loading when iframe loads
|
|
function handleLoad() {
|
|
elements.iframeLoading.classList.add('hidden');
|
|
elements.paymentFrame.removeEventListener('load', handleLoad);
|
|
}
|
|
elements.paymentFrame.addEventListener('load', handleLoad);
|
|
|
|
// Fallback: hide loading after timeout
|
|
setTimeout(function() {
|
|
elements.iframeLoading.classList.add('hidden');
|
|
}, 5000);
|
|
|
|
// Update page title
|
|
document.title = 'רכישת אתר - ' + business.name + ' | Emaillion';
|
|
}
|
|
|
|
// Initialize
|
|
function init() {
|
|
var params = getUrlParams();
|
|
|
|
if (!validateParams(params.biz, params.plan)) {
|
|
showError();
|
|
return;
|
|
}
|
|
|
|
renderCheckout(params.biz, params.plan);
|
|
}
|
|
|
|
// Run on DOM ready
|
|
if (document.readyState === 'loading') {
|
|
document.addEventListener('DOMContentLoaded', init);
|
|
} else {
|
|
init();
|
|
}
|
|
})(); |