var gtm4wp_datalayer_name = "dataLayer";
var dataLayer = dataLayer || [];
const gtm4wp_use_sku_instead = 0;
const gtm4wp_currency = 'GBP';
const gtm4wp_product_per_impression = 10;
const gtm4wp_clear_ecommerce = false;
const gtm4wp_datalayer_max_timeout = 2000;
var elementskit = {
resturl: 'https://discountcctvsupplier.co.uk/wp-json/elementskit/v1/',
}
https://discountcctvsupplier.co.uk/wp-includes/js/jquery/jquery.min.js
https://discountcctvsupplier.co.uk/wp-includes/js/jquery/jquery-migrate.min.js
var breeze_prefetch = {"local_url":"https://discountcctvsupplier.co.uk","ignore_remote_prefetch":"1","ignore_list":["/?wc-api=wc_facebook_get_feed_data&secret=697cc5a9ab0fb1e0d243fe98264ced80","/cart-2/","/checkout/","/my-account/","wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
var tt4b_script_vars = {"pixel_code":"D6JC3HJC77UCBL6SE0N0","currency":"GBP","country":"","advanced_matching":""};
//# sourceURL=tt4b_ajax_script-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/tiktok-for-business/admin/js/ajaxSnippet.js
var trustpilot_settings = {"key":"Qg0H72wIu14emb5P","TrustpilotScriptUrl":"https://invitejs.trustpilot.com/tp.min.js","IntegrationAppUrl":"//ecommscript-integrationapp.trustpilot.com","PreviewScriptUrl":"//ecommplugins-scripts.trustpilot.com/v2.1/js/preview.min.js","PreviewCssUrl":"//ecommplugins-scripts.trustpilot.com/v2.1/css/preview.min.css","PreviewWPCssUrl":"//ecommplugins-scripts.trustpilot.com/v2.1/css/preview_wp.css","WidgetScriptUrl":"//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js"};
//# sourceURL=tp-js-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/trustpilot-reviews/review/assets/js/headerScript.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/zoom/jquery.zoom.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/flexslider/jquery.flexslider.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/photoswipe/photoswipe.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/photoswipe/photoswipe-ui-default.min.js
var wc_single_product_params = {"i18n_required_rating_text":"Please select a rating","i18n_rating_options":["1 of 5 stars","2 of 5 stars","3 of 5 stars","4 of 5 stars","5 of 5 stars"],"i18n_product_gallery_trigger_text":"View full-screen image gallery","review_rating_required":"yes","flexslider":{"rtl":false,"animation":"slide","smoothHeight":true,"directionNav":false,"controlNav":"thumbnails","slideshow":false,"animationSpeed":500,"animationLoop":false,"allowOneSlide":false},"zoom_enabled":"1","zoom_options":[],"photoswipe_enabled":"1","photoswipe_options":{"shareEl":false,"closeOnScroll":false,"history":false,"hideAnimationDuration":0,"showAnimationDuration":0},"flexslider_enabled":"1"};
//# sourceURL=wc-single-product-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/single-product.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js
var woocommerce_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_password_show":"Show password","i18n_password_hide":"Hide password"};
//# sourceURL=woocommerce-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/wt-woocommerce-related-products/public/js/custom-related-products-public.js
https://discountcctvsupplier.co.uk/wp-content/plugins/wt-woocommerce-related-products/public/js/wt_owl_carousel.js
var dataLayer_content = {"pagePostType":"product","pagePostType2":"single-product","pagePostAuthor":"admin","productRatingCounts":[],"productAverageRating":0,"productReviewCount":0,"productType":"simple","productIsVariable":0};
dataLayer.push( dataLayer_content );
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
window.FacebookSignals = window.FacebookSignals || {
_held: false,
_releasing: false,
_pixelInitialized: false,
_pixelId: null,
_pixelUserInfo: {},
_pixelOptions: {},
_pendingPixelEvents: [],
_queue: [],
_config: {},
_attribution: {},
_seenEventIds: {},
_fbclid: (function() {
try {
var m = window.location.search.match(/[?&]fbclid=([^&]*)/);
return m ? decodeURIComponent(m[1]) : null;
} catch(e) { return null; }
})(),init: function(config) {
config = config || {};
this._config = config;
this._attribution = config.attribution || {};var cookieState = this._getCookie('wc_facebook_signals_state');
this._held = cookieState ? cookieState === 'held' : !!config.held;this._fbclid = this._fbclid || null;if (typeof fbq === 'function') {
fbq('consent', this._held ? 'revoke' : 'grant');
}try {
var raw = window.sessionStorage.getItem('wc_facebook_signals_seen_event_ids');
this._seenEventIds = raw ? JSON.parse(raw) : {};
} catch (e) {
this._seenEventIds = this._seenEventIds || {};
}
},initPixel: function(pixelId, userInfo, options) {
this._pixelId = pixelId;
this._pixelUserInfo = userInfo && typeof userInfo === 'object' && !Array.isArray(userInfo) ? userInfo : {};
this._pixelOptions = options || {};
if (!this._held) {
this._runPixelInit();
}
},_runPixelInit: function() {
if (this._pixelInitialized || !this._pixelId || typeof fbq !== 'function') return;
fbq('init', this._pixelId, this._pixelUserInfo, this._pixelOptions);
this._pixelInitialized = true;
this._flushPendingPixelEvents();
},_flushPendingPixelEvents: function() {
var pending = this._pendingPixelEvents;
this._pendingPixelEvents = [];
for (var i = 0; i < pending.length; i++) {
var ev = pending[i];
this._firePixelEvent(ev.name, ev.params, ev.method, ev.eventId);
}
},_fireOrQueuePixelEvent: function(name, params, method, eventId) {
if (!this._pixelInitialized) {
this._pendingPixelEvents.push({
name: name, params: params || {}, method: method || 'track', eventId: eventId || null
});
return;
}
this._firePixelEvent(name, params || {}, method || 'track', eventId || null);
},_firePixelEvent: function(name, params, method, eventId) {
method = method || 'track';
if (eventId) {
fbq(method, name, params || {}, { eventID: eventId });
} else {
fbq(method, name, params || {});
}
},queueEvent: function(eventData) {
if (!eventData || !eventData.event_name) return;var originalId = eventData.event_id || null;
if (originalId && this._seenEventIds[originalId]) return;if (!this._held) {
this._fireOrQueuePixelEvent(eventData.event_name, eventData.custom_data || {}, eventData.method || 'track', originalId);
return;
}eventData = this._cloneEventData(eventData);
eventData.event_id = this._generateEventId();
eventData.event_time = eventData.event_time || Math.floor(Date.now() / 1000);
this._queue.push(eventData);var idToMark = originalId || eventData.event_id;
if (idToMark) {
this._seenEventIds[idToMark] = 1;
try {
window.sessionStorage.setItem(
'wc_facebook_signals_seen_event_ids',
JSON.stringify(this._seenEventIds)
);
} catch (e) {}
}
},trackEvent: function(name, params, userData, method, eventId) {
method = method || 'track';
eventId = eventId || (params && params.eventID) || null;if (this._held) {
this.queueEvent({
event_name: name,
custom_data: params || {},
event_id: eventId,
event_time: Math.floor(Date.now() / 1000),
method: method
});
} else {
this._fireOrQueuePixelEvent(name, params || {}, method, eventId);
}
},release: function() {
var self = this;
if (!self._held || self._releasing || !self._config.ajaxUrl) {
return Promise.resolve({ success: true, data: { sent_count: 0 } });
}self._releasing = true;
var attribution = self._collectAttribution();var payload = JSON.stringify({
events: self._queue,
attribution: {
fbp: attribution.fbp || null,
fbc: attribution.fbc || null
},
fbclid: self._fbclid || null
});var url = self._config.ajaxUrl +
(self._config.ajaxUrl.indexOf('?') === -1 ? '?' : '&') +
'action=' + encodeURIComponent(self._config.action);return new Promise(function(resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 300) {
try {
var resp = JSON.parse(xhr.responseText);
self._handleReleaseResponse(resp.data || {}, attribution);
resolve(resp);
} catch(e) { self._releasing = false; reject(e); }
} else {
self._releasing = false;
reject(new Error('Signal release AJAX failed: ' + xhr.status));
}
};
xhr.onerror = function() { self._releasing = false; reject(new Error('Network error')); };
xhr.send(payload);
});
},_handleReleaseResponse: function(data, attribution) {
this._syncAttributionCookies(data || {}, attribution);// Override cached user_info with fresh data from the release response.
if (data.user_info && typeof data.user_info === 'object' && !Array.isArray(data.user_info)) {
this._pixelUserInfo = data.user_info;
}this._held = false;
this._releasing = false;fbq('consent', 'grant');
this._runPixelInit();var queue = this._queue;
for (var i = 0; i < queue.length; i++) {
var ev = queue[i];
this._fireOrQueuePixelEvent(ev.event_name, ev.custom_data || {}, ev.method || 'track', ev.event_id || null);
}this._queue = [];
},_collectAttribution: function() {
var clientParams = {};
if (typeof clientParamBuilder !== 'undefined') {
try {
clientParams = clientParamBuilder.processAndCollectParams(this._getAttributionUrl()) || {};
} catch (e) {}
}var fbp = this._getCookie('_fbp') || clientParams._fbp || (typeof clientParamBuilder !== 'undefined' ? clientParamBuilder.getFbp() : null);
var fbc = this._getCookie('_fbc') || clientParams._fbc || (typeof clientParamBuilder !== 'undefined' ? clientParamBuilder.getFbc() : null);if (!fbc && this._fbclid) {
fbc = 'fb.1.' + Date.now() + '.' + this._fbclid;
}return { fbp: fbp || null, fbc: fbc || null };
},_syncAttributionCookies: function(data, attribution) {
var fbp = data.fbp || (attribution && attribution.fbp) || null;
var fbc = data.fbc || (attribution && attribution.fbc) || null;if (fbp) {
this._setAttributionCookie('_fbp', fbp, data.fbp_domain || null);
}
if (fbc) {
this._setAttributionCookie('_fbc', fbc, data.fbc_domain || null);
}
},_setAttributionCookie: function(name, value, domain) {
if (!value) return;
var domainAttr = domain ? ';domain=' + domain : '';
document.cookie = name + '=' + encodeURIComponent(value) + ';path=/;max-age=7776000' + domainAttr + ';SameSite=Lax';
},_getCookie: function(name) {
var match = document.cookie.match(new RegExp('(?:^|;\\s*)' + name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '=([^;]*)'));
if (!match) return null;
try { return decodeURIComponent(match[1]); } catch(e) { return null; }
},_cloneEventData: function(eventData) {
var clone = {};
for (var key in eventData) {
if (Object.prototype.hasOwnProperty.call(eventData, key)) {
clone[key] = eventData[key];
}
}
return clone;
},_generateEventId: function() {
if (window.crypto && typeof window.crypto.randomUUID === 'function') {
return window.crypto.randomUUID();
}
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0;
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
},_getAttributionUrl: function() {
if (!this._fbclid) return window.location.href;
try {
var url = new URL(window.location.href);
if (!url.searchParams.get('fbclid')) {
url.searchParams.set('fbclid', this._fbclid);
}
return url.toString();
} catch (e) {
return window.location.href;
}
}
};
FacebookSignals.init({
held: false,
ajaxUrl: "https:\/\/discountcctvsupplier.co.uk\/wp-admin\/admin-ajax.php",
action: 'facebook_release_signals',
pixelId: "1071403255027834",
attribution: {}
});
FacebookSignals.initPixel(
"1071403255027834",
{},
{"agent":"woocommerce_0-10.9.1-3.7.4"} );document.addEventListener( 'DOMContentLoaded', function() {
document.body.insertAdjacentHTML( 'beforeend', '<div class=\"wc-facebook-pixel-event-placeholder\"></div>' );
}, false );
Skip to content Home / HIKVISION / HIKVISION HD CAMERAS / PTZ CAMERAS / Hikvision DS-2AE4225TI-D 2MP 25X Optical Zoom 4.8-120mm Lens Full HD 100m IR Outdoor PTZ CCTV Security Camera
Hikvision DS-2AE4225TI-D 2MP 25X Optical Zoom 4.8-120mm Lens Full HD 100m IR Outdoor PTZ CCTV Security Camera
Hikvision DS-2AE4225TI-D 2MP PTZ CCTV with 25X zoom 4.8-120mm lens DarkFighter Full HD 100m IR WDR IP66 outdoor security.
Description What is included: 1x 2MP Hikvision DS-2AE4225TI-D PTZ Camera with Bracket. Hikvision DS-2AE4225TI-D Features: High quality imaging with 2 MP resolution Excellent low-light performance via powered-by-DarkFighter technology Clear imaging against strong back lighting due to 120 dB WDR technology Pan and tilt ability enables camera to monitor zones of interest 25 × optical zoom allows for closer viewing of subjects in expansive areas Up to 100 m IR range ensures safety at night Water and dust resistant (IP66) Comes with DS-1618ZJ wall mount bracket Hikvision DS-2AE4225TI-D Specifications: Camera
Image Sensor 1/2.8″ Progressive Scan CMOS Max. Resolution 1920 × 1080 Min. Illumination Colour: 0.005 Lux @(F1.6, AGC ON), B/W: 0.001 Lux @(F1.6, AGC ON), 0 lux with IR Shutter Speed PAL: 1/1 s to 1/10,000 s NTSC: 1/1 s to 1/10,000 s Day & Night IR cut filter Zoom 25× optical, 16 × digital Lens
Focal Length 4.8 mm to 120 mm, 25 × optical FOV Horizontal FOV: 57.6° to 2.5° (wide to tele) Focus Auto, semi-auto, manual Aperture F1.6 to F3.5 Zoom Speed Approx. 3.2 s (optical, wide to tele) Illuminator
Supplement Light Type IR Supplement Light Range Up to 100 m PTZ
Movement Range (Pan) 360° endless Movement Range (Tilt) -15° to 90° (auto flip) Pan Speed
Pan manual speed: 0.1° to 80°/s Pan preset speed: 80°/s Tilt Speed
Tilt manual speed: 0.1° to 80°/s Tilt preset speed: 80°/s Proportional Pan Rotation speed can be adjusted automatically according to zoom multiples Presets 256 Patrol Scan 10 patrols, up to 32 presets for each patrol Pattern Scan 5 patterns, record time over 10 minutes for each scan Park Action Preset/Patrol/Pattern/Pan Scan/Tilt Scan/Panorama Scan/Day Mode/Night Mode/None PTZ Status Display Yes Scheduled Task Preset/Patrol/Pattern/Pan Scan/Tilt Scan/Panorama Scan/Day Mode/Night Mode/Zero Calibration/None Power-Off Memory Yes Video
Frame Rate 50 Hz: 25 fps @(1920 × 1080) 60 Hz: 30 fps @(1920 × 1080) Network
Protocols UTC protocol (or HIKVISION-C protocol in previous DVR) Image
Image Settings AGC, white balance Wide Dynamic Range (WDR) ≥ 120 dB Image Stabilization EIS Image Enhancement BLC, HLC, 3D DNR Privacy Mask 8 programmable privacy masks Regional Focus Yes Interface
Video Output Switchable TVI/AHD/CVI/CVBS video output, (NTSC or PAL composite, BNC) RS-485 Half-duplex mode Self-adaptive HIKVISION, Pelco-P, Pelco-D protocol General
Power 12 VDC, max. 20 W (IR: 7 W) Dimension Ø 164.5 × 295 mm (Ø 6.47″ × 11.61″) Operating Condition -30° C to 65° C (-22° F to 149° F). Humidity 90% or less Language English Approval
Protection IP66 (outdoor dome), TVS 4,000 V lightning protection, surge protection and voltage transient protection Delivery & Returns At Discount CCTV Supplier, we specialise in delivering high-quality, cost-effective Security systems tailored to meet the unique security needs of our clients. With a proven track record and a commitment to innovation, we believe our offerings align seamlessly with the mission and values of Discount CCTV Supplier.Diverse Product Range Our extensive product portfolio ensures that Discount CCTV Supplier can cater to a broad spectrum of customer requirements, from basic surveillance needs to more advanced security solutions. Please note that you have the option to return new, unused items within 30 days of delivery for a refund. However, please be aware that a postage cost of £8.50 plus VAT for Maniland shipment and £15 Plus VAT from shipments to Northern Ireland. Will be deducted from the refunded amount.
Prompt service Very helpful
Quick and reliable Quick and reliable
very happy with the purchase very good services
Helpful 5 star service Helpful 5 star service
⭐️⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
Excellent service from start to finish! The CCTV system was installed quickly and works perfectly. Director Thulash was professional, approachable, and made sure everything was tailored to our needs. Highly recommend this company for reliable security solutions. Have used the services for all our homes as we are a care home company.
Always a pleasure Always a pleasure
There are no products in the cart!
0
// Do not change this comment line otherwise Speed Optimizer won't be able to detect this script(function () {
function sendRequest(url, body) {
if(!window.fetch) {
const xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.send(JSON.stringify(body))
return
}const request = fetch(url, {
method: 'POST',
body: JSON.stringify(body),
keepalive: true,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
});
}
const calculateParentDistance = (child, parent) => {
let count = 0;
let currentElement = child;// Traverse up the DOM tree until we reach parent or the top of the DOM
while (currentElement && currentElement !== parent) {
currentElement = currentElement.parentNode;
count++;
}// If parent was not found in the hierarchy, return -1
if (!currentElement) {
return -1; // Indicates parent is not an ancestor of element
}return count; // Number of layers between element and parent
}
const isMatchingClass = (linkRule, href, classes, ids) => {
return classes.includes(linkRule.value)
}
const isMatchingId = (linkRule, href, classes, ids) => {
return ids.includes(linkRule.value)
}
const isMatchingDomain = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)
const host = url.host
const hostsToMatch = [host]if(host.startsWith('www.')) {
hostsToMatch.push(host.substring(4))
} else {
hostsToMatch.push('www.' + host)
}return hostsToMatch.includes(linkRule.value)
}
const isMatchingExtension = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)return url.pathname.endsWith('.' + linkRule.value)
}
const isMatchingSubdirectory = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)return url.pathname.startsWith('/' + linkRule.value + '/')
}
const isMatchingProtocol = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)return url.protocol === linkRule.value + ':'
}
const isMatchingExternal = (linkRule, href, classes, ids) => {
if(!URL.canParse(href) || !URL.canParse(document.location.href)) {
return false
}const matchingProtocols = ['http:', 'https:']
const siteUrl = new URL(document.location.href)
const linkUrl = new URL(href)// Links to subdomains will appear to be external matches according to JavaScript,
// but the PHP rules will filter those events out.
return matchingProtocols.includes(linkUrl.protocol) && siteUrl.host !== linkUrl.host
}
const isMatch = (linkRule, href, classes, ids) => {
switch (linkRule.type) {
case 'class':
return isMatchingClass(linkRule, href, classes, ids)
case 'id':
return isMatchingId(linkRule, href, classes, ids)
case 'domain':
return isMatchingDomain(linkRule, href, classes, ids)
case 'extension':
return isMatchingExtension(linkRule, href, classes, ids)
case 'subdirectory':
return isMatchingSubdirectory(linkRule, href, classes, ids)
case 'protocol':
return isMatchingProtocol(linkRule, href, classes, ids)
case 'external':
return isMatchingExternal(linkRule, href, classes, ids)
default:
return false;
}
}
const track = (element) => {
const href = element.href ?? null
const classes = Array.from(element.classList)
const ids = [element.id]
const linkRules = [{"type":"extension","value":"pdf"},{"type":"extension","value":"zip"},{"type":"protocol","value":"mailto"},{"type":"protocol","value":"tel"}]
if(linkRules.length === 0) {
return
}// For link rules that target an id, we need to allow that id to appear
// in any ancestor up to the 7th ancestor. This loop looks for those matches
// and counts them.
linkRules.forEach((linkRule) => {
if(linkRule.type !== 'id') {
return;
}const matchingAncestor = element.closest('#' + linkRule.value)if(!matchingAncestor || matchingAncestor.matches('html, body')) {
return;
}const depth = calculateParentDistance(element, matchingAncestor)if(depth < 7) {
ids.push(linkRule.value)
}
});// For link rules that target a class, we need to allow that class to appear
// in any ancestor up to the 7th ancestor. This loop looks for those matches
// and counts them.
linkRules.forEach((linkRule) => {
if(linkRule.type !== 'class') {
return;
}const matchingAncestor = element.closest('.' + linkRule.value)if(!matchingAncestor || matchingAncestor.matches('html, body')) {
return;
}const depth = calculateParentDistance(element, matchingAncestor)if(depth < 7) {
classes.push(linkRule.value)
}
});const hasMatch = linkRules.some((linkRule) => {
return isMatch(linkRule, href, classes, ids)
})if(!hasMatch) {
return
}const url = "https://discountcctvsupplier.co.uk/wp-content/plugins/independent-analytics/iawp-click-endpoint.php";
const body = {
href: href,
classes: classes.join(' '),
ids: ids.join(' '),
...{"payload":{"resource":"singular","singular_id":2860,"page":1},"signature":"99e2d5e53e1ded64b4bc8a46082f4d2e"} };sendRequest(url, body)
}
let hasSearched = false;
function search() {
if(hasSearched) {
return;
}
hasSearched = true;if (document.hasOwnProperty("visibilityState") && document.visibilityState === "prerender") {
return;
}if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
let referrer_url = null;if (typeof document.referrer === 'string' && document.referrer.length > 0) {
referrer_url = document.referrer;
}const params = location.search.slice(1).split('&').reduce((acc, s) => {
const [k, v] = s.split('=');
return Object.assign(acc, {[k]: v});
}, {});const url = "https://discountcctvsupplier.co.uk/wp-json/iawp/search";
const body = {
referrer_url,
utm_source: params.utm_source,
utm_medium: params.utm_medium,
utm_campaign: params.utm_campaign,
utm_term: params.utm_term,
utm_content: params.utm_content,
gclid: params.gclid,
...{"payload":{"resource":"singular","singular_id":2860,"page":1},"signature":"99e2d5e53e1ded64b4bc8a46082f4d2e"} };sendRequest(url, body)
}
document.addEventListener('mousedown', function (event) {
if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
const element = event.target.closest('a')if(!element) {
return
}const isPro = false
if(!isPro) {
return
}// Don't track left clicks with this event. The click event is used for that.
if(event.button === 0) {
return
}track(element)
})
document.addEventListener('click', function (event) {
if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
const element = event.target.closest('a, button, input[type="submit"], input[type="button"]')if(!element) {
return
}const isPro = false
if(!isPro) {
return
}track(element)
})
document.addEventListener('play', function (event) {
if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
const element = event.target.closest('audio, video')if(!element) {
return
}const isPro = false
if(!isPro) {
return
}track(element)
}, true)
document.addEventListener("DOMContentLoaded", function (e) {
search();
});
document.addEventListener("iawpSearch", function (e) {
search();
});
})();
(function () {
var c = document.body.className;
c = c.replace(/woocommerce-no-js/, 'woocommerce-js');
document.body.className = c;
})();
document.addEventListener( 'wpcf7submit', function (event) {
fbq('init', '1071403255027834', {}, {
"agent": "woocommerce_0-10.9.1-3.7.4"
});
/* WooCommerce Facebook Integration Event Tracking */
fbq('set', 'agent', 'woocommerce_0-10.9.1-3.7.4', '1071403255027834');
if (window.FacebookSignals && typeof window.FacebookSignals.trackEvent === 'function') {
window.FacebookSignals.trackEvent('Lead', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4"
}, null, 'track', null);
} else {
fbq('track', 'Lead', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4"
});
} }, false );
window['wcStripeSettings'] = JSON.parse( decodeURIComponent( '%7B%22cart%22%3A%7B%22total%22%3A%220.00%22%2C%22subtotal%22%3A%220.00%22%2C%22totalCents%22%3A0%2C%22subtotalCents%22%3A0%2C%22needsShipping%22%3Afalse%2C%22isEmpty%22%3Atrue%2C%22currency%22%3A%22GBP%22%2C%22countryCode%22%3A%22GB%22%2C%22lineItems%22%3A%5B%7B%22label%22%3A%22Tax%22%2C%22amount%22%3A%220.00%22%2C%22amountCents%22%3A0%2C%22type%22%3A%22tax%22%7D%5D%2C%22shippingOptions%22%3A%5B%5D%2C%22selectedShippingMethod%22%3A%22%22%2C%22paymentMethods%22%3A%7B%22stripe_cc%22%3A%7B%22id%22%3A%22stripe_cc%22%2C%22enabled%22%3Atrue%2C%22available%22%3Atrue%7D%2C%22stripe_applepay%22%3A%7B%22id%22%3A%22stripe_applepay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_googlepay%22%3A%7B%22id%22%3A%22stripe_googlepay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_payment_request%22%3A%7B%22id%22%3A%22stripe_payment_request%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_afterpay%22%3A%7B%22id%22%3A%22stripe_afterpay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_affirm%22%3A%7B%22id%22%3A%22stripe_affirm%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_ach%22%3A%7B%22id%22%3A%22stripe_ach%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_ideal%22%3A%7B%22id%22%3A%22stripe_ideal%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_p24%22%3A%7B%22id%22%3A%22stripe_p24%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_klarna%22%3A%7B%22id%22%3A%22stripe_klarna%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_bancontact%22%3A%7B%22id%22%3A%22stripe_bancontact%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_eps%22%3A%7B%22id%22%3A%22stripe_eps%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_multibanco%22%3A%7B%22id%22%3A%22stripe_multibanco%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_sepa%22%3A%7B%22id%22%3A%22stripe_sepa%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_wechat%22%3A%7B%22id%22%3A%22stripe_wechat%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_fpx%22%3A%7B%22id%22%3A%22stripe_fpx%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_becs%22%3A%7B%22id%22%3A%22stripe_becs%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_alipay%22%3A%7B%22id%22%3A%22stripe_alipay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_grabpay%22%3A%7B%22id%22%3A%22stripe_grabpay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_boleto%22%3A%7B%22id%22%3A%22stripe_boleto%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_oxxo%22%3A%7B%22id%22%3A%22stripe_oxxo%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_blik%22%3A%7B%22id%22%3A%22stripe_blik%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_konbini%22%3A%7B%22id%22%3A%22stripe_konbini%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_paynow%22%3A%7B%22id%22%3A%22stripe_paynow%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_promptpay%22%3A%7B%22id%22%3A%22stripe_promptpay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_swish%22%3A%7B%22id%22%3A%22stripe_swish%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_amazonpay%22%3A%7B%22id%22%3A%22stripe_amazonpay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_cashapp%22%3A%7B%22id%22%3A%22stripe_cashapp%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_revolut%22%3A%7B%22id%22%3A%22stripe_revolut%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_zip%22%3A%7B%22id%22%3A%22stripe_zip%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_mobilepay%22%3A%7B%22id%22%3A%22stripe_mobilepay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_twint%22%3A%7B%22id%22%3A%22stripe_twint%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_paybybank%22%3A%7B%22id%22%3A%22stripe_paybybank%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_upm%22%3A%7B%22id%22%3A%22stripe_upm%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_link_checkout%22%3A%7B%22id%22%3A%22stripe_link_checkout%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_billie%22%3A%7B%22id%22%3A%22stripe_billie%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_satispay%22%3A%7B%22id%22%3A%22stripe_satispay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_scalapay%22%3A%7B%22id%22%3A%22stripe_scalapay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_mbway%22%3A%7B%22id%22%3A%22stripe_mbway%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%7D%7D%2C%22product%22%3A%7B%22id%22%3A2860%2C%22qty%22%3A1%2C%22type%22%3A%22simple%22%2C%22price%22%3A267.72%2C%22total%22%3A267.72%2C%22priceCents%22%3A26772%2C%22currency%22%3A%22GBP%22%2C%22lineItems%22%3A%5B%7B%22id%22%3A2860%2C%22label%22%3A%22Hikvision%20DS-2AE4225TI-D%202MP%2025X%20Optical%20Zoom%204.8-120mm%20Lens%20Full%20HD%20100m%20IR%20Outdoor%20PTZ%20CCTV%20Security%20Camera%22%2C%22amount%22%3A267.72%2C%22amountCents%22%3A26772%2C%22type%22%3A%22product%22%7D%5D%2C%22isInStock%22%3Atrue%2C%22needsShipping%22%3Atrue%2C%22shippingOptions%22%3A%5B%5D%2C%22variation_id%22%3A0%7D%2C%22currency%22%3A%7B%22currencyCode%22%3A%22GBP%22%2C%22currencySymbol%22%3A%22%26pound%3B%22%2C%22minorUnit%22%3A2%2C%22decimalSeparator%22%3A%22.%22%2C%22thousandSeparator%22%3A%22%2C%22%2C%22prefix%22%3A%22%26pound%3B%22%2C%22suffix%22%3A%22%22%7D%2C%22version%22%3A%224.0.3%22%2C%22page%22%3A%22product%22%2C%22publicKey%22%3A%22pk_live_51LOJSUJWyrk5KdYnkjFQdp2XtzqNOEDdbBJcDKY5bD18uxBoT3HQmBXqGpe7sCGUq76HJVRqwuqeNrZjaCWZaDRJ00gTdBOdlv%22%2C%22mode%22%3A%22live%22%2C%22sdkParams%22%3A%7B%22stripeAccount%22%3A%22acct_1LOJSUJWyrk5KdYn%22%2C%22apiVersion%22%3A%222026-02-25.clover%22%2C%22betas%22%3A%5B%22deferred_intent_blik_beta_1%22%2C%22disable_deferred_intent_client_validation_beta_1%22%5D%7D%2C%22addressLocales%22%3A%22%7B%5C%22BE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22CY%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22DE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22FR%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22GR%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22IE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22required%5C%22%3Atrue%2C%5C%22label%5C%22%3A%5C%22Eircode%5C%22%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22County%5C%22%7D%7D%2C%5C%22IT%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Atrue%2C%5C%22label%5C%22%3A%5C%22Province%5C%22%7D%7D%2C%5C%22NL%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22PT%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22ES%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Province%5C%22%7D%7D%2C%5C%22SE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22GB%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Postcode%5C%22%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22County%5C%22%2C%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22default%5C%22%3A%7B%5C%22first_name%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22First%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-first%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22given-name%5C%22%2C%5C%22priority%5C%22%3A10%7D%2C%5C%22last_name%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Last%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-last%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22family-name%5C%22%2C%5C%22priority%5C%22%3A20%7D%2C%5C%22company%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Company%20name%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22organization%5C%22%2C%5C%22priority%5C%22%3A30%2C%5C%22required%5C%22%3Afalse%7D%2C%5C%22country%5C%22%3A%7B%5C%22type%5C%22%3A%5C%22country%5C%22%2C%5C%22label%5C%22%3A%5C%22Country%20%5C%5C%5C%2F%20Region%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%2C%5C%22update_totals_on_change%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22country%5C%22%2C%5C%22priority%5C%22%3A40%2C%5C%22hidden%5C%22%3Afalse%7D%2C%5C%22address_1%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Street%20address%5C%22%2C%5C%22placeholder%5C%22%3A%5C%22House%20number%20and%20street%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-line1%5C%22%2C%5C%22priority%5C%22%3A50%7D%2C%5C%22address_2%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Apartment%2C%20suite%2C%20unit%2C%20etc.%5C%22%2C%5C%22label_class%5C%22%3A%5B%5C%22screen-reader-text%5C%22%5D%2C%5C%22placeholder%5C%22%3A%5C%22Apartment%2C%20suite%2C%20unit%2C%20etc.%20%28optional%29%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-line2%5C%22%2C%5C%22priority%5C%22%3A60%2C%5C%22required%5C%22%3Afalse%7D%2C%5C%22city%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Town%20%5C%5C%5C%2F%20City%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-level2%5C%22%2C%5C%22priority%5C%22%3A70%7D%2C%5C%22state%5C%22%3A%7B%5C%22type%5C%22%3A%5C%22state%5C%22%2C%5C%22label%5C%22%3A%5C%22State%20%5C%5C%5C%2F%20County%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22state%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-level1%5C%22%2C%5C%22priority%5C%22%3A80%7D%2C%5C%22postcode%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Postcode%20%5C%5C%5C%2F%20ZIP%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22postcode%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22postal-code%5C%22%2C%5C%22priority%5C%22%3A90%7D%2C%5C%22phone%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Phone%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22type%5C%22%3A%5C%22tel%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22phone%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22tel%5C%22%2C%5C%22priority%5C%22%3A100%7D%7D%7D%22%2C%22errorMessages%22%3A%7B%22stripe_cc_generic%22%3A%22There%20was%20an%20error%20processing%20your%20credit%20card.%22%2C%22incomplete_number%22%3A%22Your%20card%20number%20is%20incomplete.%22%2C%22incomplete_expiry%22%3A%22Your%20card%27s%20expiration%20date%20is%20incomplete.%22%2C%22incomplete_cvc%22%3A%22Your%20card%27s%20security%20code%20is%20incomplete.%22%2C%22incomplete_zip%22%3A%22Your%20card%27s%20zip%20code%20is%20incomplete.%22%2C%22incorrect_number%22%3A%22The%20card%20number%20is%20incorrect.%20Check%20the%20card%27s%20number%20or%20use%20a%20different%20card.%22%2C%22incorrect_cvc%22%3A%22The%20card%27s%20security%20code%20is%20incorrect.%20Check%20the%20card%27s%20security%20code%20or%20use%20a%20different%20card.%22%2C%22incorrect_zip%22%3A%22The%20card%27s%20ZIP%20code%20is%20incorrect.%20Check%20the%20card%27s%20ZIP%20code%20or%20use%20a%20different%20card.%22%2C%22invalid_number%22%3A%22The%20card%20number%20is%20invalid.%20Check%20the%20card%20details%20or%20use%20a%20different%20card.%22%2C%22invalid_characters%22%3A%22This%20value%20provided%20to%20the%20field%20contains%20characters%20that%20are%20unsupported%20by%20the%20field.%22%2C%22invalid_cvc%22%3A%22The%20card%27s%20security%20code%20is%20invalid.%20Check%20the%20card%27s%20security%20code%20or%20use%20a%20different%20card.%22%2C%22invalid_expiry_month%22%3A%22The%20card%27s%20expiration%20month%20is%20incorrect.%20Check%20the%20expiration%20date%20or%20use%20a%20different%20card.%22%2C%22invalid_expiry_year%22%3A%22The%20card%27s%20expiration%20year%20is%20incorrect.%20Check%20the%20expiration%20date%20or%20use%20a%20different%20card.%22%2C%22incorrect_address%22%3A%22The%20card%27s%20address%20is%20incorrect.%20Check%20the%20card%27s%20address%20or%20use%20a%20different%20card.%22%2C%22expired_card%22%3A%22The%20card%20has%20expired.%20Check%20the%20expiration%20date%20or%20use%20a%20different%20card.%22%2C%22card_declined%22%3A%22The%20card%20has%20been%20declined.%22%2C%22invalid_expiry_year_past%22%3A%22Your%20card%27s%20expiration%20year%20is%20in%20the%20past.%22%2C%22account_number_invalid%22%3A%22The%20bank%20account%20number%20provided%20is%20invalid%20%28e.g.%2C%20missing%20digits%29.%20Bank%20account%20information%20varies%20from%20country%20to%20country.%20We%20recommend%20creating%20validations%20in%20your%20entry%20forms%20based%20on%20the%20bank%20account%20formats%20we%20provide.%22%2C%22amount_too_large%22%3A%22The%20specified%20amount%20is%20greater%20than%20the%20maximum%20amount%20allowed.%20Use%20a%20lower%20amount%20and%20try%20again.%22%2C%22amount_too_small%22%3A%22The%20specified%20amount%20is%20less%20than%20the%20minimum%20amount%20allowed.%20Use%20a%20higher%20amount%20and%20try%20again.%22%2C%22authentication_required%22%3A%22The%20payment%20requires%20authentication%20to%20proceed.%20If%20your%20customer%20is%20off%20session%2C%20notify%20your%20customer%20to%20return%20to%20your%20application%20and%20complete%20the%20payment.%20If%20you%20provided%20the%20error_on_requires_action%20parameter%2C%20then%20your%20customer%20should%20try%20another%20card%20that%20does%20not%20require%20authentication.%22%2C%22balance_insufficient%22%3A%22The%20transfer%20or%20payout%20could%20not%20be%20completed%20because%20the%20associated%20account%20does%20not%20have%20a%20sufficient%20balance%20available.%20Create%20a%20new%20transfer%20or%20payout%20using%20an%20amount%20less%20than%20or%20equal%20to%20the%20account%27s%20available%20balance.%22%2C%22bank_account_declined%22%3A%22The%20bank%20account%20provided%20can%20not%20be%20used%20to%20charge%2C%20either%20because%20it%20is%20not%20verified%20yet%20or%20it%20is%20not%20supported.%22%2C%22bank_account_exists%22%3A%22The%20bank%20account%20provided%20already%20exists%20on%20the%20specified%20Customer%20object.%20If%20the%20bank%20account%20should%20also%20be%20attached%20to%20a%20different%20customer%2C%20include%20the%20correct%20customer%20ID%20when%20making%20the%20request%20again.%22%2C%22bank_account_unusable%22%3A%22The%20bank%20account%20provided%20cannot%20be%20used%20for%20payouts.%20A%20different%20bank%20account%20must%20be%20used.%22%2C%22bank_account_unverified%22%3A%22Your%20Connect%20platform%20is%20attempting%20to%20share%20an%20unverified%20bank%20account%20with%20a%20connected%20account.%22%2C%22bank_account_verification_failed%22%3A%22The%20bank%20account%20cannot%20be%20verified%2C%20either%20because%20the%20microdeposit%20amounts%20provided%20do%20not%20match%20the%20actual%20amounts%2C%20or%20because%20verification%20has%20failed%20too%20many%20times.%22%2C%22card_decline_rate_limit_exceeded%22%3A%22This%20card%20has%20been%20declined%20too%20many%20times.%20You%20can%20try%20to%20charge%20this%20card%20again%20after%2024%20hours.%20We%20suggest%20reaching%20out%20to%20your%20customer%20to%20make%20sure%20they%20have%20entered%20all%20of%20their%20information%20correctly%20and%20that%20there%20are%20no%20issues%20with%20their%20card.%22%2C%22charge_already_captured%22%3A%22The%20charge%20you%27re%20attempting%20to%20capture%20has%20already%20been%20captured.%20Update%20the%20request%20with%20an%20uncaptured%20charge%20ID.%22%2C%22charge_already_refunded%22%3A%22The%20charge%20you%27re%20attempting%20to%20refund%20has%20already%20been%20refunded.%20Update%20the%20request%20to%20use%20the%20ID%20of%20a%20charge%20that%20has%20not%20been%20refunded.%22%2C%22charge_disputed%22%3A%22The%20charge%20you%27re%20attempting%20to%20refund%20has%20been%20charged%20back.%20Check%20the%20disputes%20documentation%20to%20learn%20how%20to%20respond%20to%20the%20dispute.%22%2C%22charge_exceeds_source_limit%22%3A%22This%20charge%20would%20cause%20you%20to%20exceed%20your%20rolling-window%20processing%20limit%20for%20this%20source%20type.%20Please%20retry%20the%20charge%20later%2C%20or%20contact%20us%20to%20request%20a%20higher%20processing%20limit.%22%2C%22charge_expired_for_capture%22%3A%22The%20charge%20cannot%20be%20captured%20as%20the%20authorization%20has%20expired.%20Auth%20and%20capture%20charges%20must%20be%20captured%20within%20seven%20days.%22%2C%22charge_invalid_parameter%22%3A%22One%20or%20more%20provided%20parameters%20was%20not%20allowed%20for%20the%20given%20operation%20on%20the%20Charge.%20Check%20our%20API%20reference%20or%20the%20returned%20error%20message%20to%20see%20which%20values%20were%20not%20correct%20for%20that%20Charge.%22%2C%22email_invalid%22%3A%22The%20email%20address%20is%20invalid%20%28e.g.%2C%20not%20properly%20formatted%29.%20Check%20that%20the%20email%20address%20is%20properly%20formatted%20and%20only%20includes%20allowed%20characters.%22%2C%22idempotency_key_in_use%22%3A%22The%20idempotency%20key%20provided%20is%20currently%20being%20used%20in%20another%20request.%20This%20occurs%20if%20your%20integration%20is%20making%20duplicate%20requests%20simultaneously.%22%2C%22invalid_charge_amount%22%3A%22The%20specified%20amount%20is%20invalid.%20The%20charge%20amount%20must%20be%20a%20positive%20integer%20in%20the%20smallest%20currency%20unit%2C%20and%20not%20exceed%20the%20minimum%20or%20maximum%20amount.%22%2C%22invalid_source_usage%22%3A%22The%20source%20cannot%20be%20used%20because%20it%20is%20not%20in%20the%20correct%20state%20%28e.g.%2C%20a%20charge%20request%20is%20trying%20to%20use%20a%20source%20with%20a%20pending%2C%20failed%2C%20or%20consumed%20source%29.%20Check%20the%20status%20of%20the%20source%20you%20are%20attempting%20to%20use.%22%2C%22missing%22%3A%22Both%20a%20customer%20and%20source%20ID%20have%20been%20provided%2C%20but%20the%20source%20has%20not%20been%20saved%20to%20the%20customer.%20To%20create%20a%20charge%20for%20a%20customer%20with%20a%20specified%20source%2C%20you%20must%20first%20save%20the%20card%20details.%22%2C%22postal_code_invalid%22%3A%22The%20ZIP%20code%20provided%20was%20incorrect.%22%2C%22processing_error%22%3A%22An%20error%20occurred%20while%20processing%20the%20card.%20Try%20again%20later%20or%20with%20a%20different%20payment%20method.%22%2C%22card_not_supported%22%3A%22The%20card%20does%20not%20support%20this%20type%20of%20purchase.%22%2C%22call_issuer%22%3A%22The%20card%20has%20been%20declined%20for%20an%20unknown%20reason.%22%2C%22card_velocity_exceeded%22%3A%22The%20customer%20has%20exceeded%20the%20balance%20or%20credit%20limit%20available%20on%20their%20card.%22%2C%22currency_not_supported%22%3A%22The%20card%20does%20not%20support%20the%20specified%20currency.%22%2C%22do_not_honor%22%3A%22The%20card%20has%20been%20declined%20for%20an%20unknown%20reason.%22%2C%22fraudulent%22%3A%22The%20payment%20has%20been%20declined%20as%20Stripe%20suspects%20it%20is%20fraudulent.%22%2C%22generic_decline%22%3A%22The%20card%20has%20been%20declined%20for%20an%20unknown%20reason.%22%2C%22incorrect_pin%22%3A%22The%20PIN%20entered%20is%20incorrect.%20%22%2C%22insufficient_funds%22%3A%22The%20card%20has%20insufficient%20funds%20to%20complete%20the%20purchase.%22%2C%22empty_element%22%3A%22Please%20select%20a%20payment%20method%20before%20proceeding.%22%2C%22empty_element_sepa_debit%22%3A%22Please%20enter%20your%20IBAN%20before%20proceeding.%22%2C%22empty_element_ideal%22%3A%22Please%20select%20a%20bank%20before%20proceeding%22%2C%22incomplete_iban%22%3A%22The%20IBAN%20you%20entered%20is%20incomplete.%22%2C%22incomplete_boleto_tax_id%22%3A%22Please%20enter%20a%20valid%20CPF%20%5C%2F%20CNPJ%22%2C%22test_mode_live_card%22%3A%22Your%20card%20was%20declined.%20Your%20request%20was%20in%20test%20mode%2C%20but%20you%20used%20a%20real%20credit%20card.%20Only%20test%20cards%20can%20be%20used%20in%20test%20mode.%22%2C%22server_side_confirmation_beta%22%3A%22You%20do%20not%20have%20permission%20to%20use%20the%20PaymentElement%20card%20form.%20Please%20send%20a%20request%20to%20https%3A%5C%2F%5C%2Fsupport.stripe.com%5C%2F%20and%20ask%20for%20the%20%5C%22server_side_confirmation_beta%5C%22%20to%20be%20added%20to%20your%20account.%22%2C%22phone_required%22%3A%22Please%20provide%20a%20billing%20phone%20number.%22%2C%22ach_instant_only%22%3A%22Your%20payment%20could%20not%20be%20processed%20at%20this%20time%20because%20your%20bank%20account%20does%20not%20support%20instant%20verification.%22%2C%22payment_intent_konbini_rejected_confirmation_number%22%3A%22The%20confirmation%20number%20was%20rejected%20by%20Konbini.%20Please%20try%20again.%22%2C%22payment_intent_payment_attempt_expired%22%3A%22The%20payment%20attempt%20for%20this%20payment%20method%20has%20expired.%20Please%20try%20again.%22%2C%22payment_intent_authentication_failure%22%3A%22We%20are%20unable%20to%20authenticate%20your%20payment%20method.%20Please%20choose%20a%20different%20payment%20method%20and%20try%20again.%22%2C%22payment_cancelled%22%3A%22Payment%20has%20been%20cancelled.%22%2C%22billing_label%22%3A%22Billing%20%25s%22%2C%22shipping_label%22%3A%22Shipping%20%25s%22%2C%22required_field%22%3A%22%25s%20is%20a%20required%20field.%22%2C%22required_fields%22%3A%22Please%20fill%20out%20all%20required%20fields.%22%2C%22payment_unavailable%22%3A%22This%20payment%20method%20is%20currently%20unavailabe.%20Reason%3A%20%25s%22%2C%22billing_details.phone.required%22%3A%22A%20billing%20phone%20number%20is%20required%20for%20this%20payment.%22%2C%22terms%22%3A%22Please%20read%20and%20accept%20the%20terms%20and%20conditions%20to%20proceed%20with%20your%20order.%22%2C%22order_button_click%22%3A%22Please%20click%20the%20%25s%20button%20before%20placing%20your%20order.%22%7D%2C%22requiredFields%22%3A%5B%22billing_first_name%22%2C%22billing_last_name%22%2C%22billing_country%22%2C%22billing_address_1%22%2C%22billing_city%22%2C%22billing_postcode%22%2C%22billing_phone%22%2C%22billing_email%22%2C%22shipping_first_name%22%2C%22shipping_last_name%22%2C%22shipping_country%22%2C%22shipping_address_1%22%2C%22shipping_city%22%2C%22shipping_postcode%22%2C%22shipping_phone%22%2C%22account_password%22%5D%2C%22customer%22%3A%7B%22customer_id%22%3A0%2C%22billing_address%22%3A%7B%22name%22%3A%22%20%22%2C%22first_name%22%3A%22%22%2C%22last_name%22%3A%22%22%2C%22email%22%3A%22%22%2C%22phone%22%3A%22%22%2C%22address_1%22%3A%22%22%2C%22address_2%22%3A%22%22%2C%22city%22%3A%22%22%2C%22state%22%3A%22%22%2C%22postcode%22%3A%22%22%2C%22country%22%3A%22GB%22%7D%2C%22shipping_address%22%3A%7B%22name%22%3A%22%20%22%2C%22first_name%22%3A%22%22%2C%22last_name%22%3A%22%22%2C%22address_1%22%3A%22%22%2C%22address_2%22%3A%22%22%2C%22city%22%3A%22%22%2C%22state%22%3A%22%22%2C%22postcode%22%3A%22%22%2C%22country%22%3A%22GB%22%7D%7D%2C%22restRoutes%22%3A%7B%22cart%5C%2Fitem%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fitem%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fitem%22%7D%2C%22cart%5C%2Frefresh%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Frefresh%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Frefresh%22%7D%2C%22cart%5C%2Fshipping%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fshipping%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fshipping%22%7D%2C%22cart%5C%2Fcheckout%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fcheckout%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fcheckout%22%7D%2C%22cart%5C%2Fcalculation%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fcalculation%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fcalculation%22%7D%2C%22checkout%5C%2Fform-validation%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcheckout%5C%2Fform-validation%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcheckout%5C%2Fform-validation%22%7D%2C%22setup-intent%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fsetup-intent%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fsetup-intent%22%7D%2C%22order%5C%2Fpay%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Forder%5C%2Fpay%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Forder%5C%2Fpay%22%7D%7D%2C%22stripe_cc_data%22%3A%7B%22paymentSections%22%3A%5B%5D%2C%22paymentMethodType%22%3A%22card%22%2C%22description%22%3A%22%22%2C%22hasPaymentTokens%22%3Afalse%2C%22termsDisplayRule%22%3A%22auto%22%2C%22elementOptions%22%3A%7B%22paymentMethodTypes%22%3A%5B%22card%22%2C%22link%22%5D%2C%22locale%22%3A%22en-US%22%2C%22mode%22%3A%22payment%22%2C%22paymentMethodCreation%22%3A%22manual%22%2C%22appearance%22%3A%7B%22theme%22%3A%22stripe%22%7D%7D%2C%22paymentElementOptions%22%3A%5B%5D%2C%22cardFormType%22%3A%22payment%22%2C%22inlineFormOptions%22%3A%7B%22style%22%3A%7B%22base%22%3A%7B%22color%22%3A%22%2332325d%22%2C%22fontFamily%22%3A%22%5C%22Helvetica%20Neue%5C%22%2C%20Helvetica%2C%20sans-serif%22%2C%22fontSmoothing%22%3A%22antialiased%22%2C%22fontSize%22%3A%2218px%22%2C%22%3A%3Aplaceholder%22%3A%7B%22color%22%3A%22%23aab7c4%22%7D%2C%22%3Afocus%22%3A%5B%5D%7D%2C%22invalid%22%3A%7B%22color%22%3A%22%23fa755a%22%2C%22iconColor%22%3A%22%23fa755a%22%7D%7D%2C%22disableLink%22%3Afalse%7D%2C%22paymentElementActive%22%3Atrue%2C%22customFieldOptions%22%3A%7B%22cardNumber%22%3A%7B%22style%22%3A%7B%22base%22%3A%7B%22color%22%3A%22%2332325d%22%2C%22fontFamily%22%3A%22%5C%22Helvetica%20Neue%5C%22%2C%20Helvetica%2C%20sans-serif%22%2C%22fontSmoothing%22%3A%22antialiased%22%2C%22fontSize%22%3A%2218px%22%2C%22%3A%3Aplaceholder%22%3A%7B%22color%22%3A%22%23aab7c4%22%7D%2C%22%3Afocus%22%3A%5B%5D%7D%2C%22invalid%22%3A%7B%22color%22%3A%22%23fa755a%22%2C%22iconColor%22%3A%22%23fa755a%22%7D%7D%7D%2C%22cardExpiry%22%3A%7B%22style%22%3A%7B%22base%22%3A%7B%22color%22%3A%22%2332325d%22%2C%22fontFamily%22%3A%22%5C%22Helvetica%20Neue%5C%22%2C%20Helvetica%2C%20sans-serif%22%2C%22fontSmoothing%22%3A%22antialiased%22%2C%22fontSize%22%3A%2218px%22%2C%22%3A%3Aplaceholder%22%3A%7B%22color%22%3A%22%23aab7c4%22%7D%2C%22%3Afocus%22%3A%5B%5D%7D%2C%22invalid%22%3A%7B%22color%22%3A%22%23fa755a%22%2C%22iconColor%22%3A%22%23fa755a%22%7D%7D%7D%2C%22cardCvc%22%3A%7B%22style%22%3A%7B%22base%22%3A%7B%22color%22%3A%22%2332325d%22%2C%22fontFamily%22%3A%22%5C%22Helvetica%20Neue%5C%22%2C%20Helvetica%2C%20sans-serif%22%2C%22fontSmoothing%22%3A%22antialiased%22%2C%22fontSize%22%3A%2218px%22%2C%22%3A%3Aplaceholder%22%3A%7B%22color%22%3A%22%23aab7c4%22%7D%2C%22%3Afocus%22%3A%5B%5D%7D%2C%22invalid%22%3A%7B%22color%22%3A%22%23fa755a%22%2C%22iconColor%22%3A%22%23fa755a%22%7D%7D%7D%7D%2C%22cardIcons%22%3A%7B%22visa%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fvisa.svg%22%2C%22amex%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Famex.svg%22%2C%22mastercard%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fmastercard.svg%22%2C%22discover%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fdiscover.svg%22%2C%22diners%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fdiners.svg%22%2C%22jcb%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fjcb.svg%22%2C%22unionpay%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fchina_union_pay.svg%22%2C%22unknown%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcard_brand2.svg%22%7D%2C%22html%22%3A%7B%22card_brand%22%3A%22%3Cimg%20id%3D%5C%22wc-stripe-card%5C%22%20src%3D%5C%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcard_brand2.svg%5C%22%20%5C%2F%3E%22%7D%2C%22noticeLocation%22%3A%22acf%22%2C%22noticeSelector%22%3A%22div.payment_method_stripe_cc%22%2C%22installments%22%3A%7B%22clientSecret%22%3Anull%7D%7D%2C%22paymentMethods%22%3A%7B%22stripe_cc%22%3A%7B%22enabled%22%3Atrue%2C%22supports%22%3A%5B%22refunds%22%2C%22products%22%2C%22default_credit_card_form%22%2C%22tokenization%22%2C%22add_payment_method%22%2C%22pre-orders%22%2C%22subscriptions%22%2C%22subscription_cancellation%22%2C%22multiple_subscriptions%22%2C%22subscription_amount_changes%22%2C%22subscription_date_changes%22%2C%22subscription_payment_method_change_admin%22%2C%22subscription_reactivation%22%2C%22subscription_suspension%22%2C%22subscription_payment_method_change_customer%22%5D%2C%22isLocal%22%3Afalse%2C%22paymentMethodType%22%3A%22card%22%7D%7D%7D' ) );
window['wcPPCPSettings'] = JSON.parse( decodeURIComponent( '%7B%22cart%22%3A%7B%22total%22%3A%220.00%22%2C%22totalCents%22%3A0%2C%22needsShipping%22%3Afalse%2C%22isEmpty%22%3Atrue%2C%22currency%22%3A%22GBP%22%2C%22countryCode%22%3A%22GB%22%2C%22availablePaymentMethods%22%3A%5B%22stripe_cc%22%2C%22ppcp%22%5D%2C%22lineItems%22%3A%5B%7B%22label%22%3A%22Tax%22%2C%22amount%22%3A%220.00%22%2C%22type%22%3A%22tax%22%7D%5D%2C%22shippingOptions%22%3A%5B%5D%2C%22selectedShippingMethod%22%3A%22%22%7D%2C%22product%22%3A%7B%22id%22%3A2860%2C%22needsShipping%22%3Atrue%2C%22total%22%3A%22267.72%22%2C%22totalCents%22%3A26772%2C%22price%22%3A%22267.72%22%2C%22currency%22%3A%22GBP%22%2C%22lineItems%22%3A%5B%7B%22label%22%3A%22Hikvision%20DS-2AE4225TI-D%202MP%2025X%20Optical%20Zoom%204.8-120mm%20Lens%20Full%20HD%20100m%20IR%20Outdoor%20PTZ%20CCTV%20Security%20Camera%22%2C%22amount%22%3A%22267.72%22%2C%22type%22%3A%22product%22%7D%5D%2C%22shippingOptions%22%3A%5B%5D%7D%2C%22requiredFields%22%3A%5B%22billing_first_name%22%2C%22billing_last_name%22%2C%22billing_country%22%2C%22billing_address_1%22%2C%22billing_city%22%2C%22billing_postcode%22%2C%22billing_phone%22%2C%22billing_email%22%2C%22shipping_first_name%22%2C%22shipping_last_name%22%2C%22shipping_country%22%2C%22shipping_address_1%22%2C%22shipping_city%22%2C%22shipping_postcode%22%2C%22shipping_phone%22%2C%22account_password%22%5D%2C%22payLaterMessage%22%3A%7B%22enabled%22%3Afalse%2C%22checkout%22%3A%7B%22style%22%3A%7B%22layout%22%3A%22text%22%2C%22logo%22%3A%7B%22type%22%3A%22%22%2C%22position%22%3A%22left%22%7D%2C%22text%22%3A%7B%22color%22%3A%22black%22%2C%22size%22%3A%2212%22%7D%7D%7D%2C%22cart%22%3A%7B%22style%22%3A%7B%22layout%22%3A%22text%22%2C%22logo%22%3A%7B%22type%22%3A%22%22%2C%22position%22%3A%22left%22%7D%2C%22text%22%3A%7B%22color%22%3A%22black%22%2C%22size%22%3A%2212%22%7D%7D%7D%2C%22product%22%3A%7B%22style%22%3A%7B%22layout%22%3A%22text%22%2C%22logo%22%3A%7B%22type%22%3A%22%22%2C%22position%22%3A%22left%22%7D%2C%22text%22%3A%7B%22color%22%3A%22black%22%2C%22size%22%3A%2212%22%7D%7D%7D%2C%22shop%22%3A%7B%22style%22%3A%7B%22layout%22%3A%22text%22%2C%22logo%22%3A%7B%22type%22%3A%22%22%2C%22position%22%3A%22left%22%7D%2C%22text%22%3A%7B%22color%22%3A%22black%22%2C%22size%22%3A%2212%22%7D%7D%7D%2C%22checkoutLocation%22%3A%22shop_table%22%2C%22cartLocation%22%3A%22shop_table%22%7D%2C%22productSettings%22%3A%7B%22button_width%22%3A%22add_to_cart%22%2C%22funding%22%3A%5B%5D%7D%2C%22version%22%3A%222.0.19%22%2C%22generalData%22%3A%7B%22clientId%22%3A%22BAA7xchGkcHVCACj_qsa3NXCOz7VvQeGjxWD8Uy_L7BYHE0UbH7AeugybyhTeGWWLboUPm-ktffwTGTNVI%22%2C%22environment%22%3A%22production%22%2C%22partner_id%22%3A%22PaymentPlugins_PCP%22%2C%22page%22%3A%22product%22%2C%22version%22%3A%222.0.19%22%2C%22is_admin%22%3Afalse%2C%22restRoutes%22%3A%7B%22connect%5C%2Faccount%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Faccount%5C%2Fconnect%22%7D%2C%22domain-association-file%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Fdomain-association-file%22%7D%2C%22cart%5C%2Fitem%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Fitem%22%7D%2C%22cart%5C%2Fshipping%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Fshipping%22%7D%2C%22cart%5C%2Fbilling%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Fbilling%22%7D%2C%22cart%5C%2Fcheckout%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Fcheckout%22%7D%2C%22cart%5C%2Frefresh%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Frefresh%22%7D%2C%22cart%5C%2Forder%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Forder%22%7D%2C%22order%5C%2Fpay%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Forder%5C%2Fpay%22%7D%2C%22billing-agreement%5C%2Ftoken%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fbilling-agreement%5C%2Ftoken%5C%2F%3F%28%3FP%3Cid%3E%5B%5C%5Cw-%5D%2B%29%22%7D%2C%22billing-agreement%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fbilling-agreements%5C%2F%28%3FP%3Cid%3E%5B%5C%5Cw-%5D%2B%29%22%7D%2C%22webhook%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fwebhook%5C%2F%28%3FP%3Cenvironment%3E%5B%5C%5Cw%5D%2B%29%22%7D%2C%22admin%5C%2Forder%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Forder%5C%2F%28%3FP%3Corder_id%3E%5B%5C%5Cw%5D%2B%29%22%7D%2C%22admin%5C%2Ftracking%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Forder%5C%2F%28%3FP%3Corder_id%3E%5B%5C%5Cw%5D%2B%29%5C%2Ftracking%22%7D%2C%22admin%5C%2Fcarriers%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Forder%5C%2F%28%3FP%3Corder_id%3E%5B%5C%5Cw%5D%2B%29%5C%2Fcarriers%22%7D%2C%22admin%5C%2Fwebhook%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Fwebhook%22%7D%2C%22setup-tokens%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fvault%5C%2Fsetup-tokens%22%7D%2C%22payment-tokens%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fvault%5C%2Fpayment-tokens%22%7D%2C%22checkout%5C%2Fvalidation%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcheckout-validation%22%7D%7D%2C%22ajaxRestPath%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2F%25s%22%7D%2C%22errorMessages%22%3A%7B%22terms%22%3A%22Please%20check%20the%20terms%20and%20conditions%20before%20proceeding.%22%2C%22invalid_client_id%22%3A%22Invalid%20PayPal%20client%20ID.%20Please%20check%20your%20API%20Settings.%22%2C%22invalid_currency%22%3A%22PayPal%20does%20not%20support%20currency%20%25.%20Please%20use%20a%20supported%20currency.%22%2C%22order_button_click%22%3A%22Please%20click%20the%20%25s%20button%20before%20placing%20your%20order.%22%2C%22gpay_order_button_click%22%3A%22Please%20click%20the%20Google%20Pay%20button%20before%20placing%20your%20order%22%2C%22order_missing_address%22%3A%22Please%20fill%20out%20all%20billing%20and%20shipping%20fields%20before%20clicking%20PayPal.%22%2C%22order_missing_billing_address%22%3A%22Please%20fill%20out%20all%20billing%20fields%20before%20clicking%20PayPal.%22%2C%22cancel%22%3A%22Cancel%22%2C%22required_fields%22%3A%22Please%20fill%20out%20all%20required%20fields.%22%2C%22Y_N_NO%22%3A%223DS%20authentication%20failed.%22%2C%22Y_R_NO%22%3A%223DS%20authentication%20was%20rejected.%22%2C%22Y_U_UNKNOWN%22%3A%22Unable%20to%20complete%203DS%20authentication.%20Please%20try%20again.%22%2C%22Y_U_NO%22%3A%22Unable%20to%20complete%203DS%20authentication.%20Please%20try%20again.%22%2C%22Y_C_UNKNOWN%22%3A%223DS%20authentication%20challenge%20required%20but%20could%20not%20be%20completed.%20Please%20try%20again.%22%2C%22Y__NO%22%3A%223DS%20authentication%20could%20not%20be%20processed.%20Please%20try%20again.%22%2C%22U__UNKNOWN%22%3A%223DS%20system%20is%20currently%20unavailable.%20Please%20try%20again%20later.%22%2C%22___UNKNOWN%22%3A%223DS%20authentication%20status%20unknown.%20Please%20try%20again.%22%2C%22total%22%3A%22Total%22%2C%22ERROR_VALIDATING_MERCHANT%22%3A%22Domain%20registration%20is%20not%20complete.%20Visit%20https%3A%5C%2F%5C%2Fpaymentplugins.com%5C%2Fdocumentation%5C%2Fpaypal%5C%2Fapplepay%5C%2Fsetup%5C%2F%20for%20instructions%20on%20completing%20domain%20registration.%22%7D%2C%22i18n%22%3A%7B%22locale%22%3A%22%7B%5C%22BE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22CY%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22DE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22FR%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22GR%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22IE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22required%5C%22%3Atrue%2C%5C%22label%5C%22%3A%5C%22Eircode%5C%22%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22County%5C%22%7D%7D%2C%5C%22IT%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Atrue%2C%5C%22label%5C%22%3A%5C%22Province%5C%22%7D%7D%2C%5C%22NL%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22PT%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22ES%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Province%5C%22%7D%7D%2C%5C%22SE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22GB%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Postcode%5C%22%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22County%5C%22%2C%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22default%5C%22%3A%7B%5C%22first_name%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22First%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-first%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22given-name%5C%22%2C%5C%22priority%5C%22%3A10%7D%2C%5C%22last_name%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Last%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-last%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22family-name%5C%22%2C%5C%22priority%5C%22%3A20%7D%2C%5C%22company%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Company%20name%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22organization%5C%22%2C%5C%22priority%5C%22%3A30%2C%5C%22required%5C%22%3Afalse%7D%2C%5C%22country%5C%22%3A%7B%5C%22type%5C%22%3A%5C%22country%5C%22%2C%5C%22label%5C%22%3A%5C%22Country%20%5C%5C%5C%2F%20Region%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%2C%5C%22update_totals_on_change%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22country%5C%22%2C%5C%22priority%5C%22%3A40%2C%5C%22hidden%5C%22%3Afalse%7D%2C%5C%22address_1%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Street%20address%5C%22%2C%5C%22placeholder%5C%22%3A%5C%22House%20number%20and%20street%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-line1%5C%22%2C%5C%22priority%5C%22%3A50%7D%2C%5C%22address_2%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Apartment%2C%20suite%2C%20unit%2C%20etc.%5C%22%2C%5C%22label_class%5C%22%3A%5B%5C%22screen-reader-text%5C%22%5D%2C%5C%22placeholder%5C%22%3A%5C%22Apartment%2C%20suite%2C%20unit%2C%20etc.%20%28optional%29%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-line2%5C%22%2C%5C%22priority%5C%22%3A60%2C%5C%22required%5C%22%3Afalse%7D%2C%5C%22city%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Town%20%5C%5C%5C%2F%20City%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-level2%5C%22%2C%5C%22priority%5C%22%3A70%7D%2C%5C%22state%5C%22%3A%7B%5C%22type%5C%22%3A%5C%22state%5C%22%2C%5C%22label%5C%22%3A%5C%22State%20%5C%5C%5C%2F%20County%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22state%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-level1%5C%22%2C%5C%22priority%5C%22%3A80%7D%2C%5C%22postcode%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Postcode%20%5C%5C%5C%2F%20ZIP%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22postcode%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22postal-code%5C%22%2C%5C%22priority%5C%22%3A90%7D%2C%5C%22phone%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Phone%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22type%5C%22%3A%5C%22tel%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22phone%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22tel%5C%22%2C%5C%22priority%5C%22%3A100%7D%7D%7D%22%2C%22locale_fields%22%3A%22%7B%5C%22address_1%5C%22%3A%5C%22%23billing_address_1_field%2C%20%23shipping_address_1_field%5C%22%2C%5C%22address_2%5C%22%3A%5C%22%23billing_address_2_field%2C%20%23shipping_address_2_field%5C%22%2C%5C%22state%5C%22%3A%5C%22%23billing_state_field%2C%20%23shipping_state_field%2C%20%23calc_shipping_state_field%5C%22%2C%5C%22postcode%5C%22%3A%5C%22%23billing_postcode_field%2C%20%23shipping_postcode_field%2C%20%23calc_shipping_postcode_field%5C%22%2C%5C%22city%5C%22%3A%5C%22%23billing_city_field%2C%20%23shipping_city_field%2C%20%23calc_shipping_city_field%5C%22%2C%5C%22country%5C%22%3A%5C%22%23billing_country_field%2C%20%23shipping_country_field%2C%20%23calc_shipping_country_field%5C%22%2C%5C%22phone%5C%22%3A%5C%22%23billing_phone_field%2C%20%23shipping_phone_field%5C%22%7D%22%7D%2C%22ppcp_data%22%3A%7B%22title%22%3A%22PayPal%22%2C%22sections%22%3A%5B%22order_pay%22%2C%22checkout%22%5D%2C%22needsSetupToken%22%3Afalse%2C%22funding%22%3A%5B%22paypal%22%5D%2C%22buttons_order%22%3A%5B%22paypal%22%2C%22paylater%22%2C%22venmo%22%2C%22card%22%5D%2C%22buttonPlacement%22%3A%22place_order%22%2C%22buttons%22%3A%7B%22paypal%22%3A%7B%22layout%22%3A%22vertical%22%2C%22label%22%3A%22paypal%22%2C%22shape%22%3A%22rect%22%2C%22height%22%3A40%2C%22color%22%3A%22gold%22%7D%2C%22paylater%22%3A%7B%22layout%22%3A%22vertical%22%2C%22label%22%3A%22paypal%22%2C%22shape%22%3A%22rect%22%2C%22height%22%3A40%2C%22color%22%3A%22gold%22%7D%2C%22card%22%3A%7B%22layout%22%3A%22vertical%22%2C%22label%22%3A%22paypal%22%2C%22shape%22%3A%22rect%22%2C%22height%22%3A40%2C%22color%22%3A%22black%22%2C%22tagline%22%3Afalse%7D%2C%22venmo%22%3A%7B%22layout%22%3A%22vertical%22%2C%22shape%22%3A%22rect%22%2C%22height%22%3A40%7D%7D%2C%22paypal_sections%22%3A%5B%22order_pay%22%2C%22checkout%22%2C%22add_payment_method%22%5D%2C%22paylater_sections%22%3A%5B%22cart%22%2C%22checkout%22%2C%22order_pay%22%5D%2C%22credit_card_sections%22%3A%5B%22cart%22%2C%22checkout%22%2C%22order_pay%22%5D%2C%22venmo_sections%22%3A%5B%22checkout%22%2C%22order_pay%22%5D%2C%22placeOrderEnabled%22%3Afalse%7D%2C%22recaptcha%22%3A%7B%22site_key%22%3Anull%2C%22i18n%22%3A%7B%22error%22%3A%22reCAPTCHA%20error%3A%20%25s%22%7D%2C%22paymentMethods%22%3A%5B%22ppcp%22%5D%7D%2C%22queryParams%22%3A%7B%22client-id%22%3A%22BAA7xchGkcHVCACj_qsa3NXCOz7VvQeGjxWD8Uy_L7BYHE0UbH7AeugybyhTeGWWLboUPm-ktffwTGTNVI%22%2C%22intent%22%3A%22capture%22%2C%22commit%22%3A%22true%22%2C%22components%22%3A%22buttons%2Cmessages%2Ccard-fields%2Cgooglepay%2Capplepay%22%2C%22currency%22%3A%22GBP%22%2C%22enable-funding%22%3A%22paylater%22%2C%22data-partner-attribution-id%22%3A%22PaymentPlugins_PCP%22%2C%22data-page-type%22%3A%22product-details%22%2C%22locale%22%3A%22en_US%22%7D%2C%22ppcp_api%22%3A%5B%5D%2C%22ppcp_advanced%22%3A%7B%22miniCartLocation%22%3A%22below%22%7D%2C%22ppcp_paylater_message%22%3A%5B%5D%7D' ) );
https://discountcctvsupplier.co.uk/wp-content/plugins/elementskit-lite/widgets/init/assets/js/widget-scripts.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/accounting/accounting.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/selectWoo/selectWoo.full.min.js
var yith_wcan_shortcodes = {"query_param":"yith_wcan","query_vars":[],"supported_taxonomies":["product_cat","product_tag","pa_brand","pa_camera","pa_camera-resolution","pa_channel","pa_color","pa_colour","pa_compression","pa_hdd","pa_ip-rating","pa_ir-distance","pa_lens","pa_material","pa_max-resolution","pa_megapixel","pa_number-of-cameras","pa_patterns-textures","pa_size"],"content":"#main","change_browser_url":"1","instant_filters":"1","ajax_filters":"1","reload_on_back":"1","show_clear_filter":"","scroll_top":"","scroll_target":"","modal_on_mobile":"","session_param":"","show_current_children":"","loader":"","toggles_open_on_modal":"","mobile_media_query":"991","base_url":"https://discountcctvsupplier.co.uk/product/hikvision-ds-2ae4225ti-d/","terms_per_page":"10","currency_format":{"symbol":"£","decimal":".","thousand":",","precision":2,"format":"%s%v"},"labels":{"empty_option":"All","search_placeholder":"Search...","no_items":"No item found","show_more":"Show more","close":"Close","save":"Save","show_results":"Show results","clear_selection":"Clear","clear_all_selections":"Clear All"},"urls":{"render_filter":"/?wc-ajax=yith_wcan_render_filter"},"nonces":{"render_filter":"09422834ae","render_remaining_terms":"c0d704e140","get_filter_terms":"d07ecc9b3f"}};
//# sourceURL=yith-wcan-shortcodes-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/yith-woocommerce-ajax-navigation/assets/js/yith-wcan-shortcodes.min.js
https://discountcctvsupplier.co.uk/wp-includes/js/dist/hooks.min.js
https://discountcctvsupplier.co.uk/wp-includes/js/dist/i18n.min.js
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
//# sourceURL=wp-i18n-js-after
https://discountcctvsupplier.co.uk/wp-content/plugins/contact-form-7/includes/swv/js/index.js
var wpcf7 = {
"api": {
"root": "https:\/\/discountcctvsupplier.co.uk\/wp-json\/",
"namespace": "contact-form-7\/v1"
},
"cached": 1
};
//# sourceURL=contact-form-7-js-before
https://discountcctvsupplier.co.uk/wp-content/plugins/contact-form-7/includes/js/index.js
var wc_add_to_cart_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https://discountcctvsupplier.co.uk/cart-2/","is_cart":"","cart_redirect_after_add":"no"};
//# sourceURL=wc-add-to-cart-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js
var aws_vars = {"sale":"Sale!","sku":"SKU: ","showmore":"View all results","noresults":"Nothing found"};
//# sourceURL=aws-script-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/advanced-woo-search/assets/js/common.min.js
dataLayer.push({"ecommerce":{"currency":"GBP","value":267.72,"items":[{"item_id":2860,"item_name":"Hikvision DS-2AE4225TI-D 2MP 25X Optical Zoom 4.8-120mm Lens Full HD 100m IR Outdoor PTZ CCTV Security Camera","sku":"Hikvision DS-2AE4225TI-D","price":267.72,"stocklevel":null,"stockstatus":"instock","google_business_vertical":"retail","item_category":"PTZ Hikvision HD Cameras","id":2860}]},"event":"view_item"});
//# sourceURL=gtm4wp-additional-datalayer-pushes-js-after
https://discountcctvsupplier.co.uk/wp-content/plugins/duracelltomi-google-tag-manager/dist/js/gtm4wp-ecommerce-generic.js
https://discountcctvsupplier.co.uk/wp-content/plugins/duracelltomi-google-tag-manager/dist/js/gtm4wp-woocommerce.js
var wc_facebook_signals_params = {"ajax_url":"https://discountcctvsupplier.co.uk/wp-admin/admin-ajax.php","nonce":"f4cf1449af","action":"wc_facebook_update_signals_state"};
//# sourceURL=wc-facebook-signals-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/facebook-for-woocommerce/assets/js/facebook-for-woocommerce-signals.js
https://discountcctvsupplier.co.uk/wp-content/plugins/wp-whatsapp/assets/dist/js/njt-whatsapp.js
var njt_wa_global = {"ajax_url":"https://discountcctvsupplier.co.uk/wp-admin/admin-ajax.php","nonce":"b913e0457b","defaultAvatarSVG":"\u003Csvg width=\"48px\" height=\"48px\" class=\"nta-whatsapp-default-avatar\" version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n viewBox=\"0 0 512 512\" style=\"enable-background:new 0 0 512 512;\" xml:space=\"preserve\"\u003E\n \u003Cpath style=\"fill:#EDEDED;\" d=\"M0,512l35.31-128C12.359,344.276,0,300.138,0,254.234C0,114.759,114.759,0,255.117,0\n S512,114.759,512,254.234S395.476,512,255.117,512c-44.138,0-86.51-14.124-124.469-35.31L0,512z\"/\u003E\n \u003Cpath style=\"fill:#55CD6C;\" d=\"M137.71,430.786l7.945,4.414c32.662,20.303,70.621,32.662,110.345,32.662\n c115.641,0,211.862-96.221,211.862-213.628S371.641,44.138,255.117,44.138S44.138,137.71,44.138,254.234\n c0,40.607,11.476,80.331,32.662,113.876l5.297,7.945l-20.303,74.152L137.71,430.786z\"/\u003E\n \u003Cpath style=\"fill:#FEFEFE;\" d=\"M187.145,135.945l-16.772-0.883c-5.297,0-10.593,1.766-14.124,5.297\n c-7.945,7.062-21.186,20.303-24.717,37.959c-6.179,26.483,3.531,58.262,26.483,90.041s67.09,82.979,144.772,105.048\n c24.717,7.062,44.138,2.648,60.028-7.062c12.359-7.945,20.303-20.303,22.952-33.545l2.648-12.359\n c0.883-3.531-0.883-7.945-4.414-9.71l-55.614-25.6c-3.531-1.766-7.945-0.883-10.593,2.648l-22.069,28.248\n c-1.766,1.766-4.414,2.648-7.062,1.766c-15.007-5.297-65.324-26.483-92.69-79.448c-0.883-2.648-0.883-5.297,0.883-7.062\n l21.186-23.834c1.766-2.648,2.648-6.179,1.766-8.828l-25.6-57.379C193.324,138.593,190.676,135.945,187.145,135.945\"/\u003E\n \u003C/svg\u003E","defaultAvatarUrl":"https://discountcctvsupplier.co.uk/wp-content/plugins/wp-whatsapp/assets/img/whatsapp_logo.svg","timezone":"+00:00","i18n":{"online":"Online","offline":"Offline"},"urlSettings":{"onDesktop":"api","onMobile":"api","openInNewTab":"ON"}};
//# sourceURL=nta-js-global-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/wp-whatsapp/assets/js/whatsapp-button.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woo-fly-cart/assets/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js
var wc_cart_fragments_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","cart_hash_key":"wc_cart_hash_8bd68889a1dfd849a8a2b7de551ca5ea","fragment_name":"wc_fragments_8bd68889a1dfd849a8a2b7de551ca5ea","request_timeout":"5000"};
//# sourceURL=wc-cart-fragments-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js
var woofc_vars = {"wc_ajax_url":"/?wc-ajax=%%endpoint%%","nonce":"2b571ca1c0","scrollbar":"yes","auto_show":"yes","auto_show_normal":"yes","confetti":"","show_cart":"no","show_checkout":"no","delay":"300","undo_remove":"yes","confirm_remove":"no","instant_checkout":"no","instant_checkout_open":"no","confirm_empty":"no","confirm_empty_text":"Do you want to empty the cart?","confirm_remove_text":"Do you want to remove this item?","undo_remove_text":"Undo?","removed_text":"%s was removed.","manual_show":"","reload":"no","suggested_carousel":"1","save_for_later_carousel":"1","upsell_funnel_carousel":"1","slick_params":"{\"slidesToShow\":1,\"slidesToScroll\":1,\"dots\":true,\"arrows\":false,\"autoplay\":false,\"autoplaySpeed\":3000,\"rtl\":false}","confetti_params":"{\"particleCount\":100,\"spread\":70,\"origin\":{\"y\":0.6}}","is_cart":"","is_checkout":"","cart_url":"","hide_count_empty":"yes","wc_checkout_js":"https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/checkout.js"};
//# sourceURL=woofc-frontend-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woo-fly-cart/assets/js/frontend.js
https://discountcctvsupplier.co.uk/wp-content/themes/hello-elementor/assets/js/hello-frontend.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js
var wc_order_attribution = {"params":{"lifetime":1.0e-5,"session":30,"base64":false,"ajaxurl":"https://discountcctvsupplier.co.uk/wp-admin/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}};
//# sourceURL=wc-order-attribution-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/facebook-for-woocommerce/assets/js/frontend/pixel-events.js
if (typeof clientParamBuilder !== "undefined" && !/(?:^|;\s*)wc_facebook_signals_state=held(?:;|$)/.test(document.cookie)) {
clientParamBuilder.processAndCollectAllParams(window.location.href);
}
//# sourceURL=facebook-capi-param-builder-js-after
var wooaa_vars = {"wc_ajax_url":"/?wc-ajax=%%endpoint%%","nonce":"e91107b3c1","product_types":"all","ignore_btn_class":".disabled,.wpc-disabled,.wooaa-disabled,.wooco-disabled,.woosb-disabled,.woobt-disabled,.woosg-disabled,.woofs-disabled,.woopq-disabled,.wpcpo-disabled,.wpcbn-btn,.wpcme-btn,.wpcev-btn,.wpcuv-update","ignore_form_data":"","cart_url":"https://discountcctvsupplier.co.uk/cart-2/","cart_redirect_after_add":"no"};
//# sourceURL=wooaa-frontend-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/wpc-ajax-add-to-cart/assets/js/frontend.js
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{},ttq._partner=ttq._partner||"WooCommerce";var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};
ttq.load('D6JC3HJC77UCBL6SE0N0');
}(window, document, 'ttq');
//# sourceURL=tiktok-pixel-tracking-handle-header-js-after
/* WooCommerce Facebook Integration Event Tracking */
fbq('set', 'agent', 'woocommerce_0-10.9.1-3.7.4', '1071403255027834');
window.wcFacebookPixelFiredEvents = window.wcFacebookPixelFiredEvents || {};
if (!window.wcFacebookPixelFiredEvents["27680419-8a5e-4e21-ac59-826f11b0fb55"]) {
window.wcFacebookPixelFiredEvents["27680419-8a5e-4e21-ac59-826f11b0fb55"] = true;
if (window.FacebookSignals && typeof window.FacebookSignals.trackEvent === 'function') {
window.FacebookSignals.trackEvent('PageView', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4"
}, null, 'track', "27680419-8a5e-4e21-ac59-826f11b0fb55");
} else {
fbq('track', 'PageView', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4"
}, {
"eventID": "27680419-8a5e-4e21-ac59-826f11b0fb55"
});
}
}
/* WooCommerce Facebook Integration Event Tracking */
fbq('set', 'agent', 'woocommerce_0-10.9.1-3.7.4', '1071403255027834');
window.wcFacebookPixelFiredEvents = window.wcFacebookPixelFiredEvents || {};
if (!window.wcFacebookPixelFiredEvents["590fe805-8a9a-4299-b9dd-5b1137c11adf"]) {
window.wcFacebookPixelFiredEvents["590fe805-8a9a-4299-b9dd-5b1137c11adf"] = true;
if (window.FacebookSignals && typeof window.FacebookSignals.trackEvent === 'function') {
window.FacebookSignals.trackEvent('ViewContent', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4",
"content_name": "Hikvision DS-2AE4225TI-D 2MP 25X Optical Zoom 4.8-120mm Lens Full HD 100m IR Outdoor PTZ CCTV Security Camera",
"content_ids": "[\"2860\"]",
"content_type": "product",
"contents": "[{\"id\":\"2860\",\"quantity\":1}]",
"content_category": "PTZ CAMERAS",
"value": "267.72",
"currency": "GBP"
}, null, 'track', "590fe805-8a9a-4299-b9dd-5b1137c11adf");
} else {
fbq('track', 'ViewContent', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4",
"content_name": "Hikvision DS-2AE4225TI-D 2MP 25X Optical Zoom 4.8-120mm Lens Full HD 100m IR Outdoor PTZ CCTV Security Camera",
"content_ids": "[\"2860\"]",
"content_type": "product",
"contents": "[{\"id\":\"2860\",\"quantity\":1}]",
"content_category": "PTZ CAMERAS",
"value": "267.72",
"currency": "GBP"
}, {
"eventID": "590fe805-8a9a-4299-b9dd-5b1137c11adf"
});
}
}
//# sourceURL=facebook-for-woocommerce-inline-js-after
https://discountcctvsupplier.co.uk/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/elementor/assets/js/frontend-modules.min.js
https://discountcctvsupplier.co.uk/wp-includes/js/jquery/ui/core.min.js
var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnTwitter":"Share on Twitter","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":993,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":767,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":992,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1024,"default_value":1200,"direction":"max","is_enabled":true},"laptop":{"label":"Laptop","value":1280,"default_value":1366,"direction":"max","is_enabled":true},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":true},"version":"4.1.4","is_static":false,"experimentalFeatures":{"additional_custom_breakpoints":true,"container":true,"e_panel_promotions":true,"hello-theme-header-footer":true,"nested-elements":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"e_opt_in_v4_page":true,"e_components":true,"e_interactions":true,"e_widget_creation":true,"import-export-customization":true},"urls":{"assets":"https:\/\/discountcctvsupplier.co.uk\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/discountcctvsupplier.co.uk\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/discountcctvsupplier.co.uk\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"26829c057a","atomicFormsSendForm":"8999f54c0b"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"viewport_tablet":992,"active_breakpoints":["viewport_mobile","viewport_tablet","viewport_tablet_extra","viewport_laptop"],"viewport_laptop":1280,"stretched_section_container":"#main","viewport_mobile":767,"viewport_tablet_extra":1024,"lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description","hello_header_logo_type":"title","hello_header_menu_layout":"horizontal","hello_footer_logo_type":"logo"},"post":{"id":2860,"title":"Hikvision%20DS-2AE4225TI-D%202MP%2025X%20Optical%20Zoom%204.8-120mm%20Lens%20Full%20HD%20100m%20IR%20Outdoor%20PTZ%20CCTV%20Security%20Camera%20-%20AAA%20CCTV","excerpt":"<p class=\"product__name page-title ejs-page-title mb-2\">Hikvision DS-2AE4225TI-D 2MP PTZ CCTV with 25X zoom 4.8-120mm lens DarkFighter Full HD 100m IR WDR IP66 outdoor security.<\/p>","featuredImage":"https:\/\/discountcctvsupplier.co.uk\/wp-content\/uploads\/2023\/07\/DS-2DE4225IW-DE-1.jpg"}};
//# sourceURL=elementor-frontend-js-before
https://discountcctvsupplier.co.uk/wp-content/plugins/elementor/assets/js/frontend.min.js
var ekit_config = {"ajaxurl":"https://discountcctvsupplier.co.uk/wp-admin/admin-ajax.php","nonce":"79dd1c632c"};
//# sourceURL=ekit-core-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/elementskit-lite/widgets/init/assets/js/widgets/core.js
https://discountcctvsupplier.co.uk/wp-content/plugins/elementskit-lite/widgets/init/assets/js/widgets/nav-menu.js
var njt_wa = {"gdprStatus":"","accounts":[{"accountId":23526,"accountName":"CCTV HelpDesk","avatar":"","number":"+447305398061","title":"Hello, Click here...","predefinedText":"","willBeBackText":"I will be back in [njwa_time_work]","dayOffsText":"I will be back soon","isAlwaysAvailable":"ON","daysOfWeekWorking":{"sunday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"monday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"tuesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"wednesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"thursday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"friday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"saturday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]}}}],"options":{"display":{"displayCondition":"showAllPage","includePages":[],"excludePages":[],"includePosts":[],"showOnDesktop":"ON","showOnMobile":"ON","time_symbols":"h:m"},"styles":{"title":"Start a Conversation","responseText":"The team typically replies in a few minutes.","description":"Hi! Click one of our member below to chat on \u003Cstrong\u003EWhatsApp\u003C/strong\u003E","backgroundColor":"#2db742","textColor":"#fff","titleSize":"18","accountNameSize":"14","descriptionTextSize":"12","regularTextSize":"11","scrollHeight":"500","isShowScroll":"OFF","isShowResponseText":"OFF","btnLabel":"Need Help?","btnLabelWidth":"95","btnPosition":"right","btnLeftDistance":"30","btnRightDistance":"30","btnBottomDistance":"30","isShowBtnLabel":"ON","isShowGDPR":"OFF","gdprContent":"Please accept our \u003Ca href=\"https://ninjateam.org/privacy-policy/\"\u003Eprivacy policy\u003C/a\u003E first to start a conversation."},"analytics":{"enabledGoogle":"OFF","enabledFacebook":"OFF","enabledGoogleGA4":"OFF"}}};
//# sourceURL=nta-js-popup-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/wp-whatsapp/assets/js/whatsapp-popup.js
var glaGtagData = {"currency_minor_unit":"2","products":{"2860":{"name":"Hikvision DS-2AE4225TI-D 2MP 25X Optical Zoom 4.8-120mm Lens Full HD 100m IR Outdoor PTZ CCTV Security Camera","price":267.72}}};
//# sourceURL=gla-gtag-events-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/google-listings-and-ads/js/build/gtag-events.js
var wcpa_front = {"api_nonce":null,"root":"https://discountcctvsupplier.co.uk/wp-json/wcpa/front/","assets_url":"https://discountcctvsupplier.co.uk/wp-content/plugins/woo-custom-product-addons-pro/assets/","date_format":"F j, Y","time_format":"g:i a","validation_messages":{"uploadPending":"Files are being uploaded.","formError":"Fix the errors shown above","checkCaptcha":"Tick the \"I'm not a robot\" verification","requiredError":"Field is required","allowedCharsError":"Characters %s is not supported","patternError":"Pattern not matching","minlengthError":"Minimum %s characters required","maxlengthError":"Maximum %s characters allowed","minValueError":"Minimum value is %s","maxValueError":"Maximum value is %s","minFieldsError":"Select minimum %s fields","maxFieldsError":"Select maximum %s fields","maxFileCountError":"Maximum %s files allowed","minFileCountError":"Minimum %s files required","maxFileSizeError":"Maximum file size should be %s","minFileSizeError":"Minimum file size should be %s","fileExtensionError":"File type is not supported","quantityRequiredError":"Please enter a valid quantity","otherFieldError":"Other value required","charleftMessage":"%s characters left","validEmailError":"Provide a valid email address","validUrlError":"Provide a valid URL","minQuantityError":"Minimum quantity required is %s","maxQuantityError":"Maximum quantity allowed is %s","groupMinError":"Requires minimum %s","groupMaxError":"Allowed maximum %s","gt_translate_keys":["uploadPending","formError","checkCaptcha","requiredError","allowedCharsError","patternError","minlengthError","maxlengthError","minValueError","maxValueError","minFieldsError","maxFieldsError","maxFileCountError","minFileCountError","maxFileSizeError","minFileSizeError","fileExtensionError","quantityRequiredError","otherFieldError","charleftMessage","validEmailError","validUrlError","minQuantityError","maxQuantityError","groupMinError","groupMaxError"]},"google_map_api":"","reCAPTCHA_site_key":"","recaptcha_v":"v2","ajax_add_to_cart":"","summary_order":["option_price","product_price","fee","discount","total_price"],"change_price_as_quantity":"","show_field_price_x_quantity":"","disable_validation_scroll":"","gallery_update_field":"last_field","update_top_price":"1","datepicker_disableMobile":"","radio_unselect_img":"","strings":{"place_selector_street":"Street Address","place_selector_city":"City","place_selector_state":"State","place_selector_zip":"Zip Code","place_selector_country":"Country","place_selector_latitude":"Latitude","place_selector_longitude":"Longitude","file_button_text":"Choose File","file_placeholder":"{count} Files","file_droppable_action_text":"Browse","file_droppable_desc_text":"or {action} to choose a file","file_upload_completed":"Completed","other":"Other","clearSelection":"Clear Selection","repeater_add":"Add Field","repeater_remove":"Remove Field","file_droppable_text":"Drag and Drop Files Here","to":" to ","gt_translate_keys":["place_selector_street","place_selector_city","place_selector_state","place_selector_zip","place_selector_country","place_selector_latitude","place_selector_longitude","file_button_text","file_placeholder","file_droppable_action_text","file_droppable_desc_text","file_upload_completed","other","clearSelection","repeater_add","repeater_remove","file_droppable_text","to"]},"i18n_view_cart":"View cart","options_price_format":"({price})","wc_price_format":"%1$s%2$s","hide_option_price_zero":"","discount_show_field_price":"1","discount_strike_field_price":"1","discount_strike_summary_price":"1","discount_strike_total_price":"1","responsive_layout":"","product_price_parent_selector":".summary","accordion_open":"first_opened","woo_price_suffix":"","prices_include_tax":"","isAdmin":"","cart_url":"https://discountcctvsupplier.co.uk/cart-2/","is_cart":"","user_roles":["guest"],"google_map_countries":"","init_triggers":["qv_loader_stop","quick_view_pro:load","elementor/popup/show","xt_wooqv-product-loaded","woodmart-quick-view-displayed","porto_init_countdown","woopack.quickview.ajaxload","quick-view-displayed","update_lazyload","riode_load","yith_infs_added_elem","jet-popup/show-event/after-show","etheme_quick_view_content_loaded","wc_backbone_modal_loaded"],"wc_currency_symbol":"\u00a3","wc_thousand_sep":",","wc_price_decimals":"2","price_format":"%1$s%2$s","wc_decimal_sep":".","wc_currency_pos":"left","mc_unit":"1","addons":[],"upload_method":"normal"};
//# sourceURL=wcpa-front-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woo-custom-product-addons-pro/assets/js/front-end.js
jQuery(document).ready(function () {
if (typeof wp !== "undefined" && wp.hooks) {
wp.hooks.addAction('wcpa_fields_updated', 'wcpa', function (price, _fieldData) {
let ele = document.querySelector('.summary .price');
if(ele){
let totalPrice_exc_tax_fixed = parseFloat(price.totalPrice_exc_tax).toFixed(2);
let totalPrice_inc_tax_fixed = parseFloat(price.totalPrice_inc_tax).toFixed(2);
let code = '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">£</span>'+totalPrice_exc_tax_fixed+'</bdi></span> <small style="font-size: 12px;">ex. VAT</small> - <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">£</span>'+totalPrice_inc_tax_fixed+'</bdi></span> <small style="font-size: 12px;">inc. VAT</small>';
ele.innerHTML = code;
}
})
}
});
jQuery(document).ready(function($) {
var wt_related_products = jQuery('.wt-related-products .owl-carousel');if ("function" === typeof wt_related_products.owlCarousel) {
wt_related_products.owlCarousel({
loop: false,
margin: 10,
nav: true,
navText: [
"<i class='dashicons dashicons-arrow-left-alt2 wt-left'></i>",
"<i class='dashicons dashicons-arrow-right-alt2 wt-right'></i>"
],
//autoplay: true,
autoplayHoverPause: true,
responsive: {
0: {
items: 1 },
600: {
items: 2 },
1000: {
items: 6 }
}
});
}
jQuery(".wt-related-products>.carousel-wrap>.owl-carousel>.owl-stage-outer>.owl-stage>.owl-item>div[class*='col-']").removeClass (function (index, css) {
return (css.match (/(^|\s)col-\S+/g) || []).join(' ');
});
/* Theme compatability for hover effect*/
});