"use strict"; (self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["node_modules_elementor_elementor-one-assets_locales_fr_common_json"],{ /***/ "../node_modules/@elementor/elementor-one-assets/locales/fr/common.json": /*!******************************************************************************!*\ !*** ../node_modules/@elementor/elementor-one-assets/locales/fr/common.json ***! \******************************************************************************/ /***/ ((module) => { module.exports = /*#__PURE__*/JSON.parse('{"example":{"component":"Composant exemple"},"header":{"title":"constructeur de site Web","userInfo":"Mon compte","userProfileMenu":{"connectPreText":"Vous avez un forfait Elementor One ?","connect":"Connecter","goToMyAccount":"Allez sur Mon compte","disconnect":"Déconnecter","elementorOneActive":"Élémentor Un","active":"Actif","urlMismatch":"Incohérence d\'URL détectée","fixUrlMismatch":"Réparer maintenant"},"whatsNew":"Quoi de neuf","whatsNewError":"Une erreur s\'est produite lors de la récupération des notifications. Veuillez réessayer plus tard."}}'); /***/ }) }]);
/*! elementor-pro - v3.27.0 - 16-02-2025 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["hotspot"],{ /***/ "../modules/hotspot/assets/js/frontend/handlers/hotspot.js": /*!*****************************************************************!*\ !*** ../modules/hotspot/assets/js/frontend/handlers/hotspot.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Hotspot extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { hotspot: '.e-hotspot', tooltip: '.e-hotspot__tooltip' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $hotspot: this.$element.find(selectors.hotspot), $hotspotsExcludesLinks: this.$element.find(selectors.hotspot).filter(':not(.e-hotspot--no-tooltip)'), $tooltip: this.$element.find(selectors.tooltip) }; } bindEvents() { const tooltipTrigger = this.getCurrentDeviceSetting('tooltip_trigger'), tooltipTriggerEvent = 'mouseenter' === tooltipTrigger ? 'mouseleave mouseenter' : tooltipTrigger; if (tooltipTriggerEvent !== 'none') { this.elements.$hotspotsExcludesLinks.on(tooltipTriggerEvent, event => this.onHotspotTriggerEvent(event)); } } onDeviceModeChange() { this.elements.$hotspotsExcludesLinks.off(); this.bindEvents(); } onHotspotTriggerEvent(event) { const elementTarget = jQuery(event.target), isHotspotButtonEvent = elementTarget.closest('.e-hotspot__button').length, isTooltipMouseLeave = 'mouseleave' === event.type && (elementTarget.is('.e-hotspot--tooltip-position') || elementTarget.parents('.e-hotspot--tooltip-position').length), isMobile = 'mobile' === elementorFrontend.getCurrentDeviceMode(), isHotspotLink = elementTarget.closest('.e-hotspot--link').length, triggerTooltip = !(isHotspotLink && isMobile && ('mouseleave' === event.type || 'mouseenter' === event.type)); if (triggerTooltip && (isHotspotButtonEvent || isTooltipMouseLeave)) { const currentHotspot = jQuery(event.currentTarget); this.elements.$hotspot.not(currentHotspot).removeClass('e-hotspot--active'); currentHotspot.toggleClass('e-hotspot--active'); } } // Fix bad UX of "Sequenced Animation" when editing other controls editorAddSequencedAnimation() { this.elements.$hotspot.toggleClass('e-hotspot--sequenced', 'yes' === this.getElementSettings('hotspot_sequenced_animation')); } hotspotSequencedAnimation() { const elementSettings = this.getElementSettings(), isSequencedAnimation = elementSettings.hotspot_sequenced_animation; if ('no' === isSequencedAnimation) { return; } // Start sequenced animation when element on viewport const hotspotObserver = elementorModules.utils.Scroll.scrollObserver({ callback: event => { if (event.isInViewport) { hotspotObserver.unobserve(this.$element[0]); // Add delay for each hotspot this.elements.$hotspot.each((index, element) => { if (0 === index) { return; } const sequencedAnimation = elementSettings.hotspot_sequenced_animation_duration, sequencedAnimationDuration = sequencedAnimation ? sequencedAnimation.size : 1000, animationDelay = index * (sequencedAnimationDuration / this.elements.$hotspot.length); element.style.animationDelay = animationDelay + 'ms'; }); } } }); hotspotObserver.observe(this.$element[0]); } setTooltipPositionControl() { const elementSettings = this.getElementSettings(), isDirectionAnimation = 'undefined' !== typeof elementSettings.tooltip_animation && elementSettings.tooltip_animation.match(/^e-hotspot--(slide|fade)-direction/); if (isDirectionAnimation) { this.elements.$tooltip.removeClass('e-hotspot--tooltip-animation-from-left e-hotspot--tooltip-animation-from-top e-hotspot--tooltip-animation-from-right e-hotspot--tooltip-animation-from-bottom'); this.elements.$tooltip.addClass('e-hotspot--tooltip-animation-from-' + elementSettings.tooltip_position); } } onInit() { super.onInit(...arguments); this.hotspotSequencedAnimation(); this.setTooltipPositionControl(); if (window.elementor) { elementor.listenTo(elementor.channels.deviceMode, 'change', () => this.onDeviceModeChange()); } } onElementChange(propertyName) { if (propertyName.startsWith('tooltip_position')) { this.setTooltipPositionControl(); } if (propertyName.startsWith('hotspot_sequenced_animation')) { this.editorAddSequencedAnimation(); } } } exports["default"] = Hotspot; /***/ }) }]); //# sourceMappingURL=hotspot.d513dd152bf605a2ffbf.bundle.js.map"use strict";(globalThis.webpackChunkwoocommerce_payments=globalThis.webpackChunkwoocommerce_payments||[]).push([[2151],{1709(e,r,t){t.d(r,{A:()=>a});const a={SET_REPORTS_FEES:"SET_REPORTS_FEES",SET_ERROR_FOR_REPORTS_FEES:"SET_ERROR_FOR_REPORTS_FEES",SET_REPORTS_FEES_SUMMARY:"SET_REPORTS_FEES_SUMMARY",SET_ERROR_FOR_REPORTS_FEES_SUMMARY:"SET_ERROR_FOR_REPORTS_FEES_SUMMARY",SET_REPORTS_BALANCE_SUMMARY:"SET_REPORTS_BALANCE_SUMMARY",SET_ERROR_FOR_REPORTS_BALANCE_SUMMARY:"SET_ERROR_FOR_REPORTS_BALANCE_SUMMARY"}},9936(e,r,t){t.r(r),t.d(r,{updateErrorForReportsBalanceSummary:()=>i,updateErrorForReportsFees:()=>s,updateErrorForReportsFeesSummary:()=>c,updateReportsBalanceSummary:()=>d,updateReportsFees:()=>o,updateReportsFeesSummary:()=>n});var a=t(1709);function o(e,r){return{type:a.A.SET_REPORTS_FEES,query:e,data:r}}function s(e,r){return{type:a.A.SET_ERROR_FOR_REPORTS_FEES,query:e,error:r}}function n(e,r){return{type:a.A.SET_REPORTS_FEES_SUMMARY,query:e,data:r}}function c(e,r){return{type:a.A.SET_ERROR_FOR_REPORTS_FEES_SUMMARY,query:e,error:r}}function d(e,r){return{type:a.A.SET_REPORTS_BALANCE_SUMMARY,query:e,data:r}}function i(e,r){return{type:a.A.SET_ERROR_FOR_REPORTS_BALANCE_SUMMARY,query:e,error:r}}},9673(e,r,t){t.d(r,{AS:()=>p,Np:()=>u,qL:()=>i});var a=t(7143),o=t(6154),s=t.n(o),n=t(2954);const c={summary:{},error:{},isLoading:!1},d=e=>Array.isArray(e)?[...e].sort((e,r)=>s()(e).diff(s()(r))):e,i=({paged:e,per_page:r,orderby:t,order:o,match:s,date_before:c,date_after:i,date_between:u,payment_method_type:p,type:m,order_id:y,deposit_id:l,customer_email:_,search:R})=>(0,a.useSelect)(a=>{const{getReportsFees:S,getReportsFeesError:E,isResolving:f}=a(n.E),h={paged:Number.isNaN(parseInt(e??"",10))?"1":e,perPage:Number.isNaN(parseInt(r??"",10))?"25":r,orderby:t||"date",order:o||"desc",match:s,dateBefore:c,dateAfter:i,dateBetween:d(u),paymentMethodType:p,type:m,orderId:y,depositId:l,customerEmail:_,search:R};return{feesRows:S(h),feesError:E(h),isLoading:f("getReportsFees",[h])}},[e,r,t,o,s,c,i,JSON.stringify(u),p,JSON.stringify(m),y,l,_,JSON.stringify(R)]),u=(e,r=wcpaySettings.accountDefaultCurrency||"")=>(0,a.useSelect)(t=>{if(!e)return c;const{getReportsBalanceSummary:a,getReportsBalanceSummaryError:o,isResolving:s}=t(n.E),d={dateStart:e.start,dateEnd:e.end,currency:r.toLowerCase()};return{summary:a(d),error:o(d),isLoading:s("getReportsBalanceSummary",[d])}},[e?.start,e?.end,r]),p=({match:e,date_before:r,date_after:t,date_between:o,payment_method_type:s,type:c,order_id:i,deposit_id:u,customer_email:p,search:m})=>(0,a.useSelect)(a=>{const{getReportsFeesSummary:y,getReportsFeesSummaryError:l,isResolving:_}=a(n.E),R={match:e,dateBefore:r,dateAfter:t,dateBetween:d(o),paymentMethodType:s,type:c,orderId:i,depositId:u,customerEmail:p,search:m};return{feesSummary:y(R),feesSummaryError:l(R),isLoading:_("getReportsFeesSummary",[R])}},[e,r,t,JSON.stringify(o),s,JSON.stringify(c),i,u,p,JSON.stringify(m)])},579(e,r,t){t.d(r,{AS:()=>o.AS,M_:()=>a.M,Np:()=>o.Np,qL:()=>o.qL}),t(1539),t(69),t(9936),t(7712);var a=t(2954),o=t(9673)},1539(e,r,t){t.d(r,{A:()=>n});var a=t(1709),o=t(6858);const s={summary:{},balanceSummary:{}},n=(e=s,{type:r,query:t={},data:n=[],error:c})=>{const d=(0,o.m)(t);switch(r){case a.A.SET_REPORTS_FEES:return{...e,[d]:{...e[d],data:n,error:void 0}};case a.A.SET_ERROR_FOR_REPORTS_FEES:return{...e,[d]:{...e[d],error:c}};case a.A.SET_REPORTS_FEES_SUMMARY:return{...e,summary:{...e.summary,[d]:{...e.summary&&e.summary[d],data:n,error:void 0}}};case a.A.SET_ERROR_FOR_REPORTS_FEES_SUMMARY:return{...e,summary:{...e.summary,[d]:{...e.summary&&e.summary[d],error:c}}};case a.A.SET_REPORTS_BALANCE_SUMMARY:return{...e,balanceSummary:{...e.balanceSummary,[d]:{...e.balanceSummary&&e.balanceSummary[d],data:n,error:void 0}}};case a.A.SET_ERROR_FOR_REPORTS_BALANCE_SUMMARY:return{...e,balanceSummary:{...e.balanceSummary,[d]:{...e.balanceSummary&&e.balanceSummary[d],error:c}}}}return e}},7712(e,r,t){t.r(r),t.d(r,{feesDownloadEndpoint:()=>l,formatReportsBalanceQuery:()=>m,getFeesCSVRequestURL:()=>_,getReportsBalanceSummary:()=>S,getReportsFees:()=>y,getReportsFeesSummary:()=>R});var a=t(6161),o=t(7143),s=t(3832),n=t(7723),c=t(3138),d=t(9936),i=t(612);const u=e=>{if(null!=e&&""!==e)return Array.isArray(e)?e:[e]},p=e=>({match:e.match,date_before:(0,i.x1)(e.dateBefore,!0),date_after:(0,i.x1)(e.dateAfter),date_between:e.dateBetween&&[(0,i.x1)(e.dateBetween[0]),(0,i.x1)(e.dateBetween[1],!0)],payment_method_type:e.paymentMethodType,type:u(e.type),order_id:e.orderId,deposit_id:e.depositId,search:e.search,user_timezone:(0,i.fy)()}),m=({dateStart:e,dateEnd:r,currency:t})=>({date_start:e,date_end:r,currency:(t||"").toLowerCase()});function*y(e){const r=(0,s.addQueryArgs)(`${c.C}/reports/fees`,{page:e.paged,per_page:e.perPage,sort:e.orderby,direction:e.order,...p(e)});try{const t=yield(0,a.apiFetch)({path:r});yield(0,d.updateReportsFees)(e,(e=>Array.isArray(e)?e:e?.data||[])(t))}catch(r){yield o.controls.dispatch("core/notices","createErrorNotice",(0,n.__)("Error retrieving fees report.","woocommerce-payments")),yield(0,d.updateErrorForReportsFees)(e,r)}}const l=`${c.C}/reports/fees/download`;function _(e){return(0,s.addQueryArgs)(l,{...p(e),user_email:e.userEmail,locale:e.locale})}function*R(e){const r=(0,s.addQueryArgs)(`${c.C}/reports/fees/summary`,p(e));try{const t=yield(0,a.apiFetch)({path:r});yield(0,d.updateReportsFeesSummary)(e,t)}catch(r){yield o.controls.dispatch("core/notices","createErrorNotice",(0,n.__)("Error retrieving fees report summary.","woocommerce-payments")),yield(0,d.updateErrorForReportsFeesSummary)(e,r)}}function*S(e){const r=(0,s.addQueryArgs)(`${c.C}/reports/balance`,m(e));try{const t=yield(0,a.apiFetch)({path:r});yield(0,d.updateReportsBalanceSummary)(e,t)}catch(r){yield o.controls.dispatch("core/notices","createErrorNotice",(0,n.__)("Error retrieving balance report summary.","woocommerce-payments")),console.error("Balance summary resolver failed:",{query:e,error:r}),yield(0,d.updateErrorForReportsBalanceSummary)(e,r)}}},69(e,r,t){t.r(r),t.d(r,{getReportsBalanceSummary:()=>l,getReportsBalanceSummaryError:()=>_,getReportsFees:()=>d,getReportsFeesError:()=>i,getReportsFeesSummary:()=>p,getReportsFeesSummaryError:()=>m});var a=t(6858);const o=[],s={},n=e=>e&&e.reports||{summary:s,balanceSummary:s},c=(e,r)=>{const t=(0,a.m)(r);return n(e)[t]||{}},d=(e,r)=>c(e,r).data||o,i=(e,r)=>c(e,r).error||s,u=(e,r)=>{const t=(0,a.m)(r);return n(e).summary[t]||{}},p=(e,r)=>u(e,r).data||s,m=(e,r)=>u(e,r).error||s,y=(e,r)=>{const t=(0,a.m)(r);return n(e).balanceSummary?.[t]||{}},l=(e,r)=>y(e,r).data||s,_=(e,r)=>y(e,r).error||s},2954(e,r,t){t.d(r,{E:()=>i,M:()=>u});var a=t(7143),o=t(6161),s=t(1539),n=t(69),c=t(9936),d=t(7712);const i=t(2455).oV,u=(0,a.createReduxStore)(i,{reducer:(0,a.combineReducers)({reports:s.A}),actions:c,selectors:n,resolvers:d,controls:o.controls});(0,a.register)(u)},2455(e,r,t){t.d(r,{$q:()=>_,A4:()=>a,U9:()=>R,WW:()=>l,_k:()=>o,a9:()=>n,fP:()=>y,j_:()=>m,jb:()=>u,kM:()=>s,oV:()=>S,ox:()=>c,pU:()=>i,tH:()=>p,uM:()=>d});const a="wc/payments/deposits",o="wc/payments/transactions",s="wc/payments/charges",n="wc/payments/timeline",c="wc/payments/disputes",d="wc/payments/settings",i="wc/payments/readers",u="wc/payments/capital",p="wc/payments/documents",m="wc/payments/paymentIntents",y="wc/payments/authorizations",l="wc/payments/files",_="wc/payments/pmPromotions",R="wc/payments/disputeReadiness",S="wc/payments/reports"},7666(e,r,t){t.d(r,{u:()=>d});var a=t(1609),o=t(1455),s=t.n(o),n=t(7143),c=t(7723);const d=()=>{const[e,r]=(0,a.useState)(!1),{createNotice:t}=(0,n.useDispatch)("core/notices"),o=(0,a.useRef)(null);async function d({checkFileURL:e,userEmail:t,interval:a=1e3,retryCount:n=0,onSuccess:c,onError:i}){o.current=setTimeout(async()=>{const a=n+1;let o;try{o=await s()({path:e,method:"GET"})}catch(e){o={status:"error"}}if("success"===o.status&&o.download_url){const e=document.createElement("a");return e.href=o.download_url+"?force_download=true",e.click(),r(!1),void c?.()}a<5?d({checkFileURL:e,userEmail:t,retryCount:a,onSuccess:c,onError:i}):(r(!1),i?.({reason:"timeout"}))},a)}return(0,a.useEffect)(()=>()=>{o.current&&clearTimeout(o.current)},[o]),{requestReportExport:async function({exportRequestURL:e,exportFileAvailabilityEndpoint:a,userEmail:o,onSuccess:n,onError:i}){try{r(!0);const t=await s()({path:e,method:"POST"});t.export_id?d({checkFileURL:`${a}/${t.export_id}`,userEmail:o,onSuccess:n,onError:i}):(r(!1),i?.({reason:"request"}))}catch(e){r(!1),i?.({reason:"request"}),t("error",(0,c.__)("There was a problem generating your export.","woocommerce-payments"))}},isExportInProgress:e}}},4380(e,r,t){t.d(r,{W:()=>a});const a=(0,t(1609).createContext)(void 0)},6951(e,r,t){t.d(r,{K:()=>n,e:()=>s});const a=/^\d{4}-\d{2}-\d{2}$/,o=e=>"string"==typeof e&&a.test(e),s=e=>{const r=e.date_between;if(Array.isArray(r)&&2===r.length){const[e,t]=r;if(o(e)&&o(t))return e===t?{operator:"on",value:e}:{operator:"between",value:[e,t]}}const t=e.date_before;if(o(t))return{operator:"before",value:t};const a=e.date_after;return o(a)?{operator:"after",value:a}:void 0},n=e=>{const r={date_between:void 0,date_before:void 0,date_after:void 0};if(!e)return r;switch(e.operator){case"on":r.date_between=[e.value,e.value];break;case"between":r.date_between=e.value;break;case"before":r.date_before=e.value;break;case"after":r.date_after=e.value}return r}},3588(e,r,t){t.d(r,{Db:()=>i,HT:()=>d,N6:()=>n,cp:()=>c,d2:()=>u,eF:()=>p});var a=t(6951);const o=e=>"string"==typeof e&&/^\d{4}-\d{2}-\d{2}$/.test(e),s=e=>o(e)||(e=>"string"==typeof e&&/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e))(e),n=e=>{if(e){if("between"===e.operator){const r=e.value;if(!Array.isArray(r)||2!==r.length)return;const[t,a]=r;return o(t)&&o(a)?{operator:"between",value:[t,a]}:void 0}return"on"!==e.operator&&"before"!==e.operator&&"after"!==e.operator||!o(e.value)?void 0:{operator:e.operator,value:e.value}}},c=e=>{const r=n(e);return r?"on"===r.operator?{date_between:[r.value,r.value]}:"between"===r.operator?{date_between:r.value}:"before"===r.operator?{date_before:r.value}:{date_after:r.value}:{}},d=e=>{const r=(0,a.e)(e);if(r)return{field:"date",operator:r.operator,value:r.value}},i=e=>{const r={},t=(e=>{if(!Array.isArray(e)||2!==e.length)return;const[r,t]=e;return s(r)&&s(t)?[r,t]:void 0})(e.date_between);return t&&(r.date_between=t),s(e.date_before)&&(r.date_before=e.date_before),s(e.date_after)&&(r.date_after=e.date_after),r},u=e=>({date_preset:void 0,...(0,a.K)(n(e))}),p=e=>{const r=n(e);if(!r||"between"!==r.operator)return null;const t=new Date(r.value[0]).getTime(),a=new Date(r.value[1]).getTime();return Math.round((a-t)/864e5)}},9321(e,r,t){t.r(r),t.d(r,{ReportsPage:()=>B,default:()=>P});var a=t(1609),o=t(6427),s=t(6476),n=t(2461),c=t(7583),d=t(7723),i=t(7143),u=t(7666),p=t(9673),m=t(7712),y=t(3588),l=t(579),_=t(4848);const R=e=>Array.isArray(e)?e.length>0:!!e,S=e=>({...(0,y.Db)(e),payment_method_type:e.payment_method_type,type:e.type,order_id:e.order_id,deposit_id:e.deposit_id,search:e.search,match:e.match}),E=()=>{const{requestReportExport:e,isExportInProgress:r}=(0,u.u)(),{createNotice:t}=(0,i.useDispatch)("core/notices"),a=S((0,s.getQuery)()),{feesSummary:c}=(0,p.AS)(a),y=c?.count??0;return(0,_.jsx)(o.Button,{variant:"primary",onClick:()=>{const r=wcpaySettings.currentUserEmail,a=wcSettings.locale.userLocale,o=S((0,s.getQuery)()),c=((e,r)=>{const t=(0,i.select)(l.M_).getReportsFeesSummary((e=>{return{match:e.match,dateBefore:e.date_before,dateAfter:e.date_after,dateBetween:(r=e.date_between,Array.isArray(r)?[...r].sort((e,r)=>new Date(e).getTime()-new Date(r).getTime()):r),paymentMethodType:e.payment_method_type,type:e.type,orderId:e.order_id,depositId:e.deposit_id,search:e.search};var r})(e));return"number"==typeof t?.count?t.count:r})(o,y);if(!(R(o.date_after)||R(o.date_before)||R(o.date_between)||R(o.payment_method_type)||R(o.type)||R(o.order_id)||R(o.deposit_id)||R(o.search))&&c>=1e4&&!window.confirm((0,d.sprintf)((0,d.__)("You are about to export %d fees. If you'd like to reduce the size of your export, you can use one or more filters. Would you like to continue?","woocommerce-payments"),c)))return;(0,n.yM)("wcpay_csv_export_click",{row_type:"fees",source:"payments_reports",exported_row_count:c});const u=(0,m.getFeesCSVRequestURL)({userEmail:r,locale:a,dateAfter:o.date_after,dateBefore:o.date_before,dateBetween:o.date_between,paymentMethodType:o.payment_method_type,type:o.type,orderId:o.order_id,depositId:o.deposit_id,search:o.search,match:o.match});e({exportRequestURL:u,exportFileAvailabilityEndpoint:m.feesDownloadEndpoint,userEmail:r,onSuccess:()=>(0,n.yM)("wcpay_reports_fees_export_success",{exported_row_count:c}),onError:({reason:e})=>(0,n.yM)("wcpay_reports_fees_export_error",{error_type:e})}),t("success",(0,d.sprintf)((0,d.__)("We’re processing your export. 🎉 The file will download automatically and be emailed to %s.","woocommerce-payments"),r))},disabled:r,accessibleWhenDisabled:!0,"aria-busy":r,isBusy:r,__next40pxDefaultSize:!0,children:(0,d.__)("Export","woocommerce-payments")})},f=(0,a.lazy)(()=>t.e(1505).then(t.bind(t,592)).then(({BalanceActions:e})=>({default:e}))),h=()=>(0,_.jsx)(a.Suspense,{fallback:null,children:(0,_.jsx)(f,{})}),w=({activeTab:e})=>(0,_.jsxs)("div",{className:"wcpay-reports-header",children:[(0,_.jsx)("h1",{className:"screen-reader-text",children:(0,d.__)("Reports","woocommerce-payments")}),(0,_.jsx)("div",{className:"wcpay-reports-header__intro",children:(0,_.jsx)("p",{children:(0,d.__)("View your reconciliation reports.","woocommerce-payments")})}),"fees"===e&&(0,_.jsx)("div",{className:"wcpay-reports-header__actions",children:(0,_.jsx)(E,{})}),"balance"===e&&(0,_.jsx)("div",{className:"wcpay-reports-header__actions",children:(0,_.jsx)(h,{})})]});var b=t(671);const g=({headingRef:e,headingTabIndex:r}={})=>(0,_.jsx)("div",{className:"wcpay-reports-state wcpay-reports-state--loading",role:"status",children:(0,_.jsx)("h2",{ref:e,tabIndex:r,children:(0,d.__)("Loading report","woocommerce-payments")})}),A=(0,a.lazy)(()=>Promise.all([t.e(5262),t.e(6231)]).then(t.bind(t,9823)).then(({BalanceReport:e})=>({default:e}))),v=({onReload:e})=>(0,_.jsx)(a.Suspense,{fallback:(0,_.jsx)(g,{}),children:(0,_.jsx)(A,{onReload:e})}),T=(0,a.lazy)(()=>Promise.all([t.e(5262),t.e(5838)]).then(t.bind(t,1756)).then(({FeesReport:e})=>({default:e}))),F=({onReload:e})=>(0,_.jsx)(a.Suspense,{fallback:(0,_.jsx)(g,{}),children:(0,_.jsx)(T,{onReload:e})}),x=[{name:"balance",title:(0,d.__)("Balance","woocommerce-payments"),className:"wcpay-reports-tab--balance"},{name:"fees",title:(0,d.__)("Fees","woocommerce-payments"),className:"wcpay-reports-tab--fees"}];function O(e){return"fees"===e?"fees":"balance"}const M=({tab:e,onReload:r})=>"fees"===e?(0,_.jsx)(F,{onReload:r}):(0,_.jsx)(v,{onReload:r});var N=t(4380);const B=({now:e})=>{const[r,t]=(0,a.useState)(()=>O((0,s.getQuery)().tab)),[d,u]=(0,a.useState)(0),p=(0,a.useRef)(e??new Date).current,m=(0,a.useRef)(null),y=(0,a.useRef)(r),R=(0,a.useMemo)(()=>(0,b.A)(p),[p]),S=function(e,r,t){const{invalidateResolution:o,invalidateResolutionForStoreSelector:s}=(0,i.useDispatch)(l.M_),n=t.toLowerCase();return(0,a.useCallback)(t=>{if("fees"===e)s("getReportsFees"),s("getReportsFeesSummary");else{const e=t??r;o("getReportsBalanceSummary",[{dateStart:e.start,dateEnd:e.end,currency:n}])}},[o,s,n,r,e])}(r,R,wcpaySettings.accountDefaultCurrency||"");return(0,a.useEffect)(()=>{const e=()=>{const e=O((0,s.getQuery)().tab);t(e),u(e=>e+1)};return window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[]),(0,a.useEffect)(()=>{(0,n.yM)("page_view",{path:"payments_reports",tab:r})},[]),(0,a.useEffect)(()=>{y.current!==r&&m.current?.querySelector('[role="tab"][aria-selected="true"]')?.focus(),y.current=r},[r]),(0,_.jsx)(c.A,{className:"wcpay-reports-page",children:(0,_.jsxs)(N.W.Provider,{value:p,children:[(0,_.jsx)(w,{activeTab:r}),(0,_.jsx)("div",{ref:m,children:(0,_.jsx)(o.TabPanel,{className:"wcpay-reports-tab-panel",activeClass:"active-tab",onSelect:e=>{const a=O(e);a!==r&&((0,n.yM)("wcpay_reports_tab_change",{from_tab:r,to_tab:a}),t(a),(0,s.updateQueryString)({tab:a},"/payments/reports"))},initialTabName:r,tabs:x,children:e=>(0,_.jsx)("div",{className:"wcpay-reports-content",children:(0,_.jsx)(M,{tab:e.name,onReload:S})})},d)})]})})},P=B},671(e,r,t){function a(e=new Date){const r=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()-1,1,0,0,0)),t=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),0,23,59,59,999));return{start:r.toISOString(),end:t.toISOString()}}t.d(r,{A:()=>a})},6858(e,r,t){t.d(r,{m:()=>a});const a=e=>JSON.stringify(e,Object.keys(e).sort())}}]);:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.patterns-menu-items__convert-modal{z-index:1000001}.patterns-menu-items__convert-modal [role=dialog]>[role=document]{width:350px}.patterns-menu-items__convert-modal .patterns-menu-items__convert-modal-categories{position:relative}.patterns-menu-items__convert-modal .components-form-token-field__suggestions-list:not(:empty){background-color:#fff;border:1px solid var(--wp-admin-theme-color);border-bottom-left-radius:2px;border-bottom-right-radius:2px;box-shadow:0 0 .5px .5px var(--wp-admin-theme-color);box-sizing:border-box;max-height:96px;min-width:auto;position:absolute;right:-1px;width:calc(100% + 2px);z-index:1}.patterns-create-modal__name-input input[type=text]{margin:0}.patterns-rename-pattern-category-modal__validation-message{color:#cc1818}@media (min-width:782px){.patterns-rename-pattern-category-modal__validation-message{width:320px}}.pattern-overrides-control__allow-overrides-button{justify-content:center;width:100%}.patterns-pattern-overrides-toolbar-indicator__popover .components-popover__content{min-width:260px;padding:16px}.patterns-pattern-overrides-toolbar-indicator .patterns-pattern-overrides-toolbar-indicator-icon.has-colors svg{fill:var(--wp-block-synced-color)}.editor-collapsible-block-toolbar .patterns-pattern-overrides-toolbar-indicator{height:32px}{ "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 3, "name": "woocommerce/product-on-sale", "title": "On Sale Products", "category": "woocommerce", "description": "Display a grid of products currently on sale.", "keywords": [ "WooCommerce" ], "supports": { "interactivity": { "clientNavigation": false }, "align": [ "wide", "full" ], "html": false, "inserter": false }, "textdomain": "woocommerce", "attributes": { "columns": { "type": "number", "default": 3 }, "rows": { "type": "number", "default": 3 }, "alignButtons": { "type": "boolean", "default": false }, "categories": { "type": "array", "default": [] }, "catOperator": { "type": "string", "default": "any" }, "contentVisibility": { "type": "object", "default": { "image": true, "title": true, "price": true, "rating": true, "button": true }, "properties": { "image": { "type": "boolean", "default": true }, "title": { "type": "boolean", "default": true }, "price": { "type": "boolean", "default": true }, "rating": { "type": "boolean", "default": true }, "button": { "type": "boolean", "default": true } } }, "isPreview": { "type": "boolean", "default": false }, "stockStatus": { "type": "array" }, "orderby": { "type": "string", "default": "date" } } } Testasin kymmenen verovapaata pikakasinoa ja laskin niiden todellisen kierrätysarvon teille – Test

Testasin kymmenen verovapaata pikakasinoa ja laskin niiden todellisen kierrätysarvon teille

Testasin kymmenen verovapaata pikakasinoa ja laskin niiden todellisen kierrätysarvon teille

Olen pyörittänyt pelikassaa ja laskenut odotusarvoja vuosia. Halusin selvittää, mitä kymmenen suosittua verovapaata pikakasinoa todellisuudessa tarjoavat. Tein kokeilun tallettamalla omia rahojani jokaiseen testikohteeseen. Bonusehdot ovat usein monimutkaisia. Laskin jokaisen tarjouksen kierrätysvaatimukset tarkasti auki — EV eli odotusarvo ratkaisee kaiken. katso lisää tästä

Suomen iGaming-markkinan kokonaisarvo oli vuonna 2026 noin 2,5 miljardia euroa, ja online-segmentti kattoi tästä 67 prosenttia eli noin 1,68 miljardia euroa. Kasinoiden käyttäjämäärä Suomessa on 1,22 miljoonaa, ja keskimääräinen tuotto käyttäjää kohti eli ARPU on 1 160 Yhdysvaltain dollaria. Noin 2,5 miljoonaa suomalaista on pelannut rahapelejä viimeisen vuoden aikana. Valtaosa pelaajista kuuluu ikäjakaumaltaan 30–44-vuotiaisiin ja 45–59-vuotiaisiin. Miehet tekevät talletuksia hieman naisia aktiivisemmin, noin 70 prosentin osuudella. Kun näin suuri ihmismassa siirtää rahaa verkossa, operaattoreiden välinen kilpailu on kovaa. Minua kiinnosti, jääkö pelaajalle mitään käteen bonusten kierrätyksen jälkeen.

Kaikki testaamani sivustot toimivat Pay-N-Play-tekniikalla. Perinteisiä rekisteröintilomakkeita ei tarvittu lainkaan. Tunnistautuminen ja talletus tapahtuivat samassa verkkopankkitapahtumassa. Tämä tekee prosessista nopean. Pankkitunnistus siirtää tiedot kasinolle välittömästi. Moni kuvittelee tämän olevan anonyymiä pelaamista. Se on harhaluulo. Pikakasinot eivät ole anonyymejä, sillä pankkitunnistus paljastaa henkilöllisyytesi heti ensimmäisellä maksulla.

Mitä tapahtui kun testasin verovapaat pikakasinot kuukauden ajan

Verotuksen lainsäädäntö ja ETA-alueen lisenssit

Muista aina tarkistaa lisenssi ennen talletusta. Suomalaiselle pelaajalle voitot ovat verovapaita silloin, kun kasino on saanut toimiluvan Euroopan talousalueen jäsenmaassa. Tuloverolain 85 pykälän mukaan ETA-alueella toteutetuista arpajaisista saadut voitot eivät ole veronalaista tuloa. Käytännössä vain Maltan MGA- tai Viron EMTA-lisenssi täyttää tämän vaatimuksen. Jos kasino toimii ETA-alueen ulkopuolella, kuten Curacaolla, voitot ovat veronalaisia ja ne on ilmoitettava verottajalle. Verovapaus perustuu EU:n sisämarkkinoiden palvelujen vapaaseen liikkuvuuteen. Muistathan, että verovapaus koskee myös bonusvoittoja, kunhan operaattori toimii ETA-alueella.

Maltan MGA-lisenssi edellyttää tiukkaa rahapelien erottelua, erillisiä pelaajarahastoja ja riippumattoman valvontaviranomaisen tarkastuksia. Viron EMTA-lisenssissä on samankaltaiset vaatimukset, mutta mukana on myös Viron valtion erityisiä kuluttajansuoja- ja vastuullisen pelaamisen toimenpiteitä. Markkinalla on käynnissä iso muutos. Vuoden 2025 lainsäädäntöuudistuksen myötä hallitus esitti uuden rahapelilainsäädännön, jonka tavoitteena on avata markkinat lisensoiduille ulkomaisille toimijoille vuoden 2027 alussa. Uudet lisensoidut toimijat maksavat jatkossa 22 prosentin GGR-veron ja vuotuisen valvontamaksun, joka asettuu 4 000 ja 400 000 euron välille. Sitä ennen noin 50 prosenttia suomalaisista pelaajista käyttää offshore-operaattoreita.

Verovapaat Pikakasinot Totuus Myyteistä

Kierrätysmatematiikka käytännössä

Testasin bonuksia, joissa luvattiin sataprosenttisia talletusetuja. Otetaan esimerkki omasta testistäni. Talletin sadalla eurolla peliaikaa kasinolle, joka vaati 40-kertaisen kierrätyksen bonussummalle. 40x kierrätys summalla 100 euroa tarkoittaa 4,000 euroa kokonaispanostusta. Kun pelaat kolikkopelejä, joiden teoreettinen palautusprosentti eli RTP on 96 prosenttia, odotettavissa oleva tappio eli EV lasketaan panostuksen ja talon edun tulona. Talon etu on neljä prosenttia. 4 000 euroa kertaa 0,04 tekee 160 euroa odotettavissa olevaa tappiota. Koska sain vain 100 euroa bonusta, odotusarvo oli negatiivinen miinus 60 euroa. Tässä katso lisää tästä havainnollistavia esimerkkejä bonusten laskennasta.

Kierrätysvaatimukset vaihtelevat kasinoiden välillä. Vain harva tarjoaa kierrätysvapaita ilmaiskierroksia. Ne ovat bonusmetsästäjän parasta herkkua. Kun kierrätystä ei ole, jokainen voitto on heti kotiutettavissa ilman lisäpanostuksia. Laskin testaamieni kymmenen pikakasinon keskimääräisen kierrätysvaatimuksen. Se oli 38x bonukselle. Se on liian korkea. Talteen jäävä osuus kutistuu olemattomiin. Suosittaan jättämään suuret kierrätykset väliin, ellet hae pelkkää viihdettä.

Nostojen nopeus ja rahansiirrot

Testasin kotiutuksia kaikilla kymmenellä sivustolla. Pay-N-Play-tekniikka todellakin lunastaa lupauksensa nopeudesta. Nostot saapuivat pankkitililleni useimmiten 0–10 minuutissa. Kolmessa kasinossa automaattinen SEPA-siirto näkyi tilillä alle minuutissa hyväksynnän jälkeen. Nopea rahaliikenne perustuu suoriin pankkiyhteyksiin, kuten Trustlyyn, Zimpleriin tai Britettiin. Pankkitunnistus hoitaa samalla KYC-prosessin eli tunnistamisen. Paperien lähettelyä ei tarvittu.

Suurissa summissa on poikkeuksia. Kun tein yli 2 000 euron kotiutuksen, kahdella kasinolla manuaalinen tarkistus venytti maksuaikaa kahdesta kolmeen päivään. Se on täysin normaalia rahanpesun vastaisten lakien takia. Kasinon on varmistettava varojen alkuperä suurissa nostoissa. Alle tuhannen euron nostot tulivat läpi ilman viiveitä.

Pelivalikoimat ja mobiilikokemus

Pelivalikoimat ovat nykyään laajoja. Jokaiselta testaamaltani pikakasinolta löytyi yli 3 000 pelin valikoima. Tarjolla oli megaways-kolikkopelejä, live-kasinoita, pöytäpelejä ja progressiivisia jättipotteja. Operaattorit käyttävät HTML5-pohjaisia alustoja. Ne toimivat suoraan selaimessa ilman erillisiä latauksia.

Mobiilipelaaminen hallitsee markkinaa. Eurooppalaisesta online-kasinoliikenteestä jo 58 prosenttia tulee mobiililaitteilta, ja Suomessa osuus on vielä korkeampi. Testasin kasinoita iPhonella ja Android-tabletilla. Käyttöliittymät olivat sujuvia. Suomenkielinen lokalisointi oli kunnossa kaikilla testatuilla sivustoilla. Valikot, käyttöehdot ja asiakaspalvelu toimivat suomeksi.

Vastuullisen pelaamisen työkalut

Pikakasinot tarjoavat pakolliset työkalut vastuulliseen pelaamiseen. Testasin näiden työkalujen aktivointia. Löysin sivustoilta itsesulkemistyökaluja, talletusrajoja, tappiorajoja ja todellisuustarkistuksia. Asiakaspalvelu vastasi live-chatissa keskimäärin kahdessa minuutissa ympäri vuorokauden. Suomenkielinen tuki oli tavoitettavissa päiväsaikaan, mutta öisin jouduin käyttämään englantia.

Aseta aina itsellesi talletusraja ennen ensimmäistäkään pyöräytystä. Olen nähnyt liian monen menettävän malttinsa huonojen palautusprosenttien edessä. Verovapaat pikakasinot tarjoavat turvallisen peliympäristön, mutta vastuu omasta pelikassasta on aina pelaajalla itsellään. Älä koskaan yritä voittaa tappioita takaisin suuremmilla panoksilla. Se on varma tie pelikassan tyhjenemiseen.

Frequently Asked Questions

No content has been added yet. Edit this post/product and fill in the "Elementor Meta Content" box.