Version Description
- 2021-09-15 =
- Tweak - Moved the
WC_Gateway_Stripe::admin_scripts
method toWC_Stripe_Settings_Controller::admin_scripts
. - Fix - Save payment method during 3D Secure flow for Block-based checkout.
- Fix - Show subtotal on Payment Request dialog.
- Add - Settings to control Payment Request Button locations in the Stripe plugin settings. Persists changes made through pre-existing filters, or defaults to the Cart and Product pages if no filters are in use.
- Tweak - Deprecated the 'wc_stripe_hide_payment_request_on_product_page', 'wc_stripe_show_payment_request_on_checkout', and 'wc_stripe_show_payment_request_on_cart' filters in favor of the UI-driven approach in the plugin settings.
- Add - Notice for WP & WC version compatibility check.
See changelog for all versions.
Download this release
Release Info
Developer | automattic |
Plugin | WooCommerce Stripe Payment Gateway |
Version | 5.5.0 |
Comparing to | |
See all releases |
Code changes from version 5.4.1 to 5.5.0
- assets/js/stripe-admin.js +16 -0
- assets/js/stripe-admin.min.js +1 -1
- build/additional_methods_setup.asset.php +1 -0
- build/additional_methods_setup.js +1 -0
- build/index.asset.php +1 -1
- build/index.js +1 -1
- build/style-upe_classic.css +2 -0
- build/upe_classic.asset.php +1 -0
- build/upe_classic.js +1 -0
- build/upe_opt_in_banner.asset.php +1 -0
- build/upe_opt_in_banner.js +1 -0
- build/upe_settings.asset.php +1 -0
- build/upe_settings.css +2 -0
- build/upe_settings.js +1 -0
- changelog.txt +8 -0
- includes/abstracts/abstract-wc-stripe-payment-gateway.php +47 -0
- includes/admin/class-wc-rest-upe-flag-toggle-controller.php +96 -0
- includes/admin/class-wc-stripe-admin-notices.php +28 -0
- includes/admin/class-wc-stripe-onboarding-controller.php +76 -0
- includes/admin/class-wc-stripe-settings-controller.php +83 -0
- includes/admin/class-wc-stripe-upe-compatibility-controller.php +178 -0
- includes/admin/stripe-settings.php +49 -3
- includes/class-wc-gateway-stripe.php +11 -22
- includes/class-wc-stripe-blocks-support.php +13 -9
- includes/class-wc-stripe-feature-flags.php +37 -0
- includes/class-wc-stripe-intent-controller.php +110 -0
- includes/class-wc-stripe-order-handler.php +43 -0
- includes/class-wc-stripe-upe-compatibility.php +18 -0
- includes/notes/class-wc-stripe-upe-compatibility-note.php +71 -0
- includes/payment-methods/class-wc-gateway-stripe-alipay.php +5 -1
- includes/payment-methods/class-wc-gateway-stripe-bancontact.php +5 -1
- includes/payment-methods/class-wc-gateway-stripe-eps.php +5 -1
- includes/payment-methods/class-wc-gateway-stripe-giropay.php +5 -1
- includes/payment-methods/class-wc-gateway-stripe-ideal.php +5 -1
- includes/payment-methods/class-wc-gateway-stripe-multibanco.php +1 -0
- includes/payment-methods/class-wc-gateway-stripe-p24.php +1 -0
- includes/payment-methods/class-wc-gateway-stripe-sepa.php +1 -0
- includes/payment-methods/class-wc-gateway-stripe-sofort.php +1 -0
- includes/payment-methods/class-wc-stripe-payment-request.php +124 -28
- includes/payment-methods/class-wc-stripe-upe-payment-gateway.php +676 -0
- includes/payment-methods/class-wc-stripe-upe-payment-method-bancontact.php +27 -0
- includes/payment-methods/class-wc-stripe-upe-payment-method-cc.php +59 -0
- includes/payment-methods/class-wc-stripe-upe-payment-method-eps.php +27 -0
- includes/payment-methods/class-wc-stripe-upe-payment-method-giropay.php +27 -0
- includes/payment-methods/class-wc-stripe-upe-payment-method-ideal.php +27 -0
- includes/payment-methods/class-wc-stripe-upe-payment-method.php +166 -0
- languages/woocommerce-gateway-stripe.pot +25 -1908
- readme.txt +9 -4
- woocommerce-gateway-stripe.php +236 -26
assets/js/stripe-admin.js
CHANGED
@@ -125,6 +125,22 @@ jQuery( function( $ ) {
|
|
125 |
$( 'form' ).find( 'input, select' ).off( 'change input', disableConnect );
|
126 |
} );
|
127 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
// Webhook verification checks for timestamp within 5 minutes so warn if
|
129 |
// server time is off from browser time by > 4 minutes.
|
130 |
var timeDifference = Date.now() / 1000 - wc_stripe_settings_params.time;
|
125 |
$( 'form' ).find( 'input, select' ).off( 'change input', disableConnect );
|
126 |
} );
|
127 |
|
128 |
+
// Toggle UPE methods on/off.
|
129 |
+
$( '.wc_gateways' ).on( 'click', '.wc-payment-upe-method-toggle-enabled, .wc-payment-upe-method-toggle-disabled', function() {
|
130 |
+
var $toggle = $( this ).find( '.woocommerce-input-toggle' );
|
131 |
+
$toggle.toggleClass( 'woocommerce-input-toggle--enabled woocommerce-input-toggle--disabled' );
|
132 |
+
$toggle.parent().toggleClass( 'wc-payment-upe-method-toggle-enabled wc-payment-upe-method-toggle-disabled' );
|
133 |
+
$( '#wc_stripe_upe_change_notice' ).removeClass( 'hidden' );
|
134 |
+
return false;
|
135 |
+
});
|
136 |
+
|
137 |
+
$( '#mainform' ).submit( function() {
|
138 |
+
var $form = $( this );
|
139 |
+
$( '.wc_gateways .wc-payment-upe-method-toggle-enabled').each( function() {
|
140 |
+
$form.append( '<input type="hidden" name="woocommerce_stripe_upe_checkout_experience_accepted_payments[]" value="' + $( this ).closest( 'tr' ).data( 'upe_method_id' ) + '" />' );
|
141 |
+
});
|
142 |
+
});
|
143 |
+
|
144 |
// Webhook verification checks for timestamp within 5 minutes so warn if
|
145 |
// server time is off from browser time by > 4 minutes.
|
146 |
var timeDifference = Date.now() / 1000 - wc_stripe_settings_params.time;
|
assets/js/stripe-admin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(function(i){"use strict";var e={isTestMode:function(){return i("#woocommerce_stripe_testmode").is(":checked")},getSecretKey:function(){return(e.isTestMode()?i("#woocommerce_stripe_test_secret_key"):i("#woocommerce_stripe_secret_key")).val()},init:function(){i(document.body).on("change","#woocommerce_stripe_testmode",function(){var e=i("#woocommerce_stripe_test_secret_key").parents("tr").eq(0),t=i("#woocommerce_stripe_test_publishable_key").parents("tr").eq(0),o=i("#woocommerce_stripe_test_webhook_secret").parents("tr").eq(0),s=i("#woocommerce_stripe_secret_key").parents("tr").eq(0),
|
1 |
+
jQuery(function(i){"use strict";var e={isTestMode:function(){return i("#woocommerce_stripe_testmode").is(":checked")},getSecretKey:function(){return(e.isTestMode()?i("#woocommerce_stripe_test_secret_key"):i("#woocommerce_stripe_secret_key")).val()},init:function(){i(document.body).on("change","#woocommerce_stripe_testmode",function(){var e=i("#woocommerce_stripe_test_secret_key").parents("tr").eq(0),t=i("#woocommerce_stripe_test_publishable_key").parents("tr").eq(0),o=i("#woocommerce_stripe_test_webhook_secret").parents("tr").eq(0),s=i("#woocommerce_stripe_secret_key").parents("tr").eq(0),c=i("#woocommerce_stripe_publishable_key").parents("tr").eq(0),r=i("#woocommerce_stripe_webhook_secret").parents("tr").eq(0);i(this).is(":checked")?(e.show(),t.show(),o.show(),s.hide(),c.hide(),r.hide()):(e.hide(),t.hide(),o.hide(),s.show(),c.show(),r.show())}),i("#woocommerce_stripe_testmode").trigger("change"),i("#woocommerce_stripe_payment_request").on("change",function(){i(this).is(":checked")?i("#woocommerce_stripe_payment_request_button_theme, #woocommerce_stripe_payment_request_button_type, #woocommerce_stripe_payment_request_button_height").closest("tr").show():i("#woocommerce_stripe_payment_request_button_theme, #woocommerce_stripe_payment_request_button_type, #woocommerce_stripe_payment_request_button_height").closest("tr").hide()}).trigger("change"),i("#woocommerce_stripe_payment_request_button_type").on("change",function(){"custom"===i(this).val()?i("#woocommerce_stripe_payment_request_button_label").closest("tr").show():i("#woocommerce_stripe_payment_request_button_label").closest("tr").hide()}).trigger("change"),i("#woocommerce_stripe_payment_request_button_type").on("change",function(){"branded"===i(this).val()?i("#woocommerce_stripe_payment_request_button_branded_type").closest("tr").show():i("#woocommerce_stripe_payment_request_button_branded_type").closest("tr").hide()}).trigger("change"),i(".wc-stripe-3ds-missing").each(function(){var e=i(this);e.find(".notice-dismiss").on("click.wc-stripe-dismiss-notice",function(){i.ajax({type:"head",url:window.location.href+"&stripe_dismiss_3ds="+e.data("nonce")})})}),i("#woocommerce_stripe_test_secret_key, #woocommerce_stripe_secret_key, #woocommerce_stripe_test_webhook_secret, #woocommerce_stripe_webhook_secret").after('<button class="wc-stripe-toggle-secret" style="height: 30px; margin-left: 2px; cursor: pointer"><span class="dashicons dashicons-visibility"></span></button>'),i(".wc-stripe-toggle-secret").on("click",function(e){e.preventDefault();var t=i(this).closest("button").find(".dashicons"),e=i(this).closest("tr").find(".input-text");"text"==e.attr("type")?(e.attr("type","password"),t.removeClass("dashicons-hidden"),t.addClass("dashicons-visibility")):(e.attr("type","text"),t.removeClass("dashicons-visibility"),t.addClass("dashicons-hidden"))}),i("form").find("input, select").on("change input",function e(){i("#wc_stripe_connect_button").addClass("disabled"),i("#wc_stripe_connect_button").on("click",function(){return!1}),i("#woocommerce_stripe_api_credentials").next("p").append(" (Please save changes before selecting this button.)"),i("form").find("input, select").off("change input",e)}),i(".wc_gateways").on("click",".wc-payment-upe-method-toggle-enabled, .wc-payment-upe-method-toggle-disabled",function(){var e=i(this).find(".woocommerce-input-toggle");return e.toggleClass("woocommerce-input-toggle--enabled woocommerce-input-toggle--disabled"),e.parent().toggleClass("wc-payment-upe-method-toggle-enabled wc-payment-upe-method-toggle-disabled"),i("#wc_stripe_upe_change_notice").removeClass("hidden"),!1}),i("#mainform").submit(function(){var e=i(this);i(".wc_gateways .wc-payment-upe-method-toggle-enabled").each(function(){e.append('<input type="hidden" name="woocommerce_stripe_upe_checkout_experience_accepted_payments[]" value="'+i(this).closest("tr").data("upe_method_id")+'" />')})});var e=Date.now()/1e3-wc_stripe_settings_params.time;240<Math.abs(e)&&i("#woocommerce_stripe_test_webhook_secret, #woocommerce_stripe_webhook_secret").closest("td").append("<p>"+wc_stripe_settings_params.i18n_out_of_sync+"</p>")}};e.init()});
|
build/additional_methods_setup.asset.php
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<?php return array('dependencies' => array('react', 'react-dom', 'wp-element', 'wp-polyfill'), 'version' => '2a6d53e19ad75055342bad7c3c9614d6');
|
build/additional_methods_setup.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=219)}({0:function(e,t){e.exports=window.wp.element},1:function(e,t){e.exports=window.React},219:function(e,t,n){"use strict";n.r(t);var r=n(0),o=(n(1),n(56)),u=n.n(o);const i=document.getElementById("wc-stripe-onboarding-wizard-container");i&&u.a.render(Object(r.createElement)(()=>Object(r.createElement)("div",null,"Hello wizard page"),null),i)},56:function(e,t){e.exports=window.ReactDOM}});
|
build/index.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('jquery', 'react', 'wc-blocks-registry', 'wc-settings', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '
|
1 |
+
<?php return array('dependencies' => array('jquery', 'react', 'wc-blocks-registry', 'wc-settings', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '540a8c97712473bf78cc602ed2e47bfc');
|
build/index.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=20)}([function(e,t){e.exports=window.wp.element},function(e,t){e.exports=window.wp.i18n},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(13),o=n(14),i=n(15),c=n(17);e.exports=function(e,t){return r(e)||o(e,t)||i(e,t)||c()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){!function(e,t){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function o(){}function i(){}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,i.resetWarningCache=o;var c=function(e,t){return function(e){e.exports=function(){function e(e,t,n,r,o,i){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==i){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}()}(t={exports:{}}),t.exports}(),a=function(e){return null!==e&&"object"===n(e)},u=function e(t,n){if(!a(t)||!a(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var o="[object Object]"===Object.prototype.toString.call(t);if(o!==("[object Object]"===Object.prototype.toString.call(n)))return!1;if(!o&&!r)return!1;var i=Object.keys(t),c=Object.keys(n);if(i.length!==c.length)return!1;for(var u={},s=0;s<i.length;s+=1)u[i[s]]=!0;for(var l=0;l<c.length;l+=1)u[c[l]]=!0;var p=Object.keys(u);if(p.length!==i.length)return!1;var d=t,f=n;return p.every((function(t){return e(d[t],f[t])}))},s=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),n.current},l=function(e){if(null===e||a(t=e)&&"function"==typeof t.elements&&"function"==typeof t.createToken&&"function"==typeof t.createPaymentMethod&&"function"==typeof t.confirmCardPayment)return e;var t;throw new Error("Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.")},p=t.createContext(null);p.displayName="ElementsContext";var d=function(e){var n,o,i=e.stripe,c=e.options,d=e.children,f=t.useRef(!1),m=t.useRef(!0),v=t.useMemo((function(){return function(e){if(function(e){return a(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(l)};var t=l(e);return null===t?{tag:"empty"}:{tag:"sync",stripe:t}}(i)}),[i]),y=(n=t.useState((function(){return{stripe:null,elements:null}})),o=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],_n=!0,r=!1,o=void 0;try{for(var i,c=e[Symbol.iterator]();!(_n=(i=c.next()).done)&&(n.push(i.value),!t||n.length!==t);_n=!0);}catch(e){r=!0,o=e}finally{try{_n||null==c.return||c.return()}finally{if(r)throw o}}return n}}(n,o)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(n,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),b=y[0],g=y[1],h=s(i),_=s(c);return null!==h&&(h!==i&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it."),u(c,_)||console.warn("Unsupported prop change on Elements: You cannot change the `options` prop after setting the `stripe` prop.")),f.current||("sync"===v.tag&&(f.current=!0,g({stripe:v.stripe,elements:v.stripe.elements(c)})),"async"===v.tag&&(f.current=!0,v.stripePromise.then((function(e){e&&m.current&&g({stripe:e,elements:e.elements(c)})})))),t.useEffect((function(){return function(){m.current=!1}}),[]),t.useEffect((function(){var e=b.stripe;e&&e._registerWrapper&&e._registerWrapper({name:"react-stripe-js",version:"1.2.2"})}),[b.stripe]),t.createElement(p.Provider,{value:b},d)};d.propTypes={stripe:c.any,options:c.object};var f=function(e){return function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e}(t.useContext(p),e)},m=function(e){return(0,e.children)(f("mounts <ElementsConsumer>"))};m.propTypes={children:c.func.isRequired};var v=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),function(){n.current&&n.current.apply(n,arguments)}},y=function(e){return a(e)?(e.paymentRequest,function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,["paymentRequest"])):{}},b=function(){},g=function(e,n){var r,o="".concat((r=e).charAt(0).toUpperCase()+r.slice(1),"Element"),i=n?function(e){f("mounts <".concat(o,">"));var n=e.id,r=e.className;return t.createElement("div",{id:n,className:r})}:function(n){var r=n.id,i=n.className,c=n.options,a=void 0===c?{}:c,s=n.onBlur,l=void 0===s?b:s,p=n.onFocus,d=void 0===p?b:p,m=n.onReady,g=void 0===m?b:m,h=n.onChange,_=void 0===h?b:h,w=n.onEscape,O=void 0===w?b:w,E=n.onClick,j=void 0===E?b:E,C=f("mounts <".concat(o,">")).elements,x=t.useRef(null),S=t.useRef(null),R=v(g),P=v(l),T=v(d),k=v(j),I=v(_),A=v(O);t.useLayoutEffect((function(){if(null==x.current&&C&&null!=S.current){var t=C.create(e,a);x.current=t,t.mount(S.current),t.on("ready",(function(){return R(t)})),t.on("change",I),t.on("blur",P),t.on("focus",T),t.on("escape",A),t.on("click",k)}}));var M=t.useRef(a);return t.useEffect((function(){M.current&&M.current.paymentRequest!==a.paymentRequest&&console.warn("Unsupported prop change: options.paymentRequest is not a customizable property.");var e=y(a);0===Object.keys(e).length||u(e,y(M.current))||x.current&&(x.current.update(e),M.current=a)}),[a]),t.useLayoutEffect((function(){return function(){x.current&&x.current.destroy()}}),[]),t.createElement("div",{id:r,className:i,ref:S})};return i.propTypes={id:c.string,className:c.string,onChange:c.func,onBlur:c.func,onFocus:c.func,onReady:c.func,onClick:c.func,options:c.object},i.displayName=o,i.__elementType=e,i},h="undefined"==typeof window,_=g("auBankAccount",h),w=g("card",h),O=g("cardNumber",h),E=g("cardExpiry",h),j=g("cardCvc",h),C=g("fpxBank",h),x=g("iban",h),S=g("idealBank",h),R=g("paymentRequestButton",h);e.AuBankAccountElement=_,e.CardCvcElement=j,e.CardElement=w,e.CardExpiryElement=E,e.CardNumberElement=O,e.Elements=d,e.ElementsConsumer=m,e.FpxBankElement=C,e.IbanElement=x,e.IdealBankElement=S,e.PaymentRequestButtonElement=R,e.useElements=function(){return f("calls useElements()").elements},e.useStripe=function(){return f("calls useStripe()").stripe},Object.defineProperty(e,"__esModule",{value:!0})}(t,n(19))},function(e,t){e.exports=window.regeneratorRuntime},function(e,t){function n(e,t,n,r,o,i,c){try{var a=e[i](c),u=a.value}catch(e){return void n(e)}a.done?t(u):Promise.resolve(u).then(r,o)}e.exports=function(e){return function(){var t=this,r=arguments;return new Promise((function(o,i){var c=e.apply(t,r);function a(e){n(c,o,i,a,u,"next",e)}function u(e){n(c,o,i,a,u,"throw",e)}a(void 0)}))}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=window.jQuery},function(e,t,n){var r=n(18);e.exports=function(e,t){if(null==e)return{};var n,o,i=r(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o<c.length;o++)n=c[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=window.wc.wcSettings},function(e,t){e.exports=window.wc.wcBlocksRegistry},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},e.exports.default=e.exports,e.exports.__esModule=!0,n.apply(this,arguments)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=n=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],_n=!0,r=!1,o=void 0;try{for(var i,c=e[Symbol.iterator]();!(_n=(i=c.next()).done)&&(n.push(i.value),!t||n.length!==t);_n=!0);}catch(e){r=!0,o=e}finally{try{_n||null==c.return||c.return()}finally{if(r)throw o}}return n}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(16);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=window.React},function(e,t,n){"use strict";n.r(t);var r=n(10),o=n(11),i=n.n(o),c=n(3),a=n.n(c),u=n(8),s=n.n(u),l=n(0),p=n(1),d=n(2),f=n.n(d),m=n(9),v={INVALID_EMAIL:"email_invalid",INVALID_REQUEST:"invalid_request_error",API_CONNECTION:"api_connection_error",API_ERROR:"api_error",AUTHENTICATION_ERROR:"authentication_error",RATE_LIMIT_ERROR:"rate_limit_error",CARD_ERROR:"card_error",VALIDATION_ERROR:"validation_error"},y=function(){var e=Object(m.getSetting)("stripe_data",null);if(!e)throw new Error("Stripe initialization data is not available");return e},b=function(e,t){var n,r,o={total:t.order_data.total,currency:t.order_data.currency,country:t.order_data.country_code,requestPayerName:!0,requestPayerEmail:!0,requestPayerPhone:null===(n=y())||void 0===n||null===(r=n.checkout)||void 0===r?void 0:r.needs_payer_phone,requestShipping:!!t.shipping_required,displayItems:t.order_data.displayItems};return"PR"===o.country&&(o.country="US"),e.paymentRequest(o)},g=function(e){return[v.INVALID_REQUEST,v.API_CONNECTION,v.API_ERROR,v.AUTHENTICATION_ERROR,v.RATE_LIMIT_ERROR].includes(e)},h=function(e){var t;return(t={},f()(t,"invalid_number",Object(p.__)("The card number is not a valid credit card number.","woocommerce-gateway-stripe")),f()(t,"invalid_expiry_month",Object(p.__)("The card expiration month is invalid.","woocommerce-gateway-stripe")),f()(t,"invalid_expiry_year",Object(p.__)("The card expiration year is invalid.","woocommerce-gateway-stripe")),f()(t,"invalid_cvc",Object(p.__)("The card security code is invalid.","woocommerce-gateway-stripe")),f()(t,"incorrect_number",Object(p.__)("The card number is incorrect.","woocommerce-gateway-stripe")),f()(t,"incomplete_number",Object(p.__)("The card number is incomplete.","woocommerce-gateway-stripe")),f()(t,"incomplete_cvc",Object(p.__)("The card security code is incomplete.","woocommerce-gateway-stripe")),f()(t,"incomplete_expiry",Object(p.__)("The card expiration date is incomplete.","woocommerce-gateway-stripe")),f()(t,"expired_card",Object(p.__)("The card has expired.","woocommerce-gateway-stripe")),f()(t,"incorrect_cvc",Object(p.__)("The card security code is incorrect.","woocommerce-gateway-stripe")),f()(t,"incorrect_zip",Object(p.__)("The card zip code failed validation.","woocommerce-gateway-stripe")),f()(t,"invalid_expiry_year_past",Object(p.__)("The card expiration year is in the past","woocommerce-gateway-stripe")),f()(t,"card_declined",Object(p.__)("The card was declined.","woocommerce-gateway-stripe")),f()(t,"missing",Object(p.__)("There is no card on a customer that is being charged.","woocommerce-gateway-stripe")),f()(t,"processing_error",Object(p.__)("An error occurred while processing the card.","woocommerce-gateway-stripe")),t)[e]||null},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";switch(e){case v.INVALID_EMAIL:return Object(p.__)("Invalid email address, please correct and try again.","woocommerce-gateway-stripe");case g(e):return Object(p.__)("Unable to process this payment, please try again or use alternative method.","woocommerce-gateway-stripe");case v.CARD_ERROR:return h(t);case v.VALIDATION_ERROR:return""}return null},w="https://js.stripe.com/v3",O=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,E="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",j=null,C=function(e,t,n){if(null===e)return null;var r=e.apply(void 0,t);return function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",version:"1.11.0",startTime:t})}(r,n),r},x=Promise.resolve().then((function(){return e=null,null!==j?j:j=new Promise((function(t,n){if("undefined"!=typeof window)if(window.Stripe&&e&&console.warn(E),window.Stripe)t(window.Stripe);else try{var r=function(){for(var e=document.querySelectorAll('script[src^="'.concat(w,'"]')),t=0;t<e.length;t++){var n=e[t];if(O.test(n.src))return n}return null}();r&&e?console.warn(E):r||(r=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(w).concat(t);var r=document.head||document.body;if(!r)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return r.appendChild(n),n}(e)),r.addEventListener("load",(function(){window.Stripe?t(window.Stripe):n(new Error("Stripe.js not available"))})),r.addEventListener("error",(function(){n(new Error("Failed to load Stripe.js"))}))}catch(e){return void n(e)}else t(null)}));var e})),S=!1;x.catch((function(e){S||console.warn(e)}));var R=function(){return new Promise((function(e){try{var t,n,r=null!==(t=null===(n=y())||void 0===n?void 0:n.stripe_locale)&&void 0!==t?t:"auto";e(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];S=!0;var r=Date.now();return x.then((function(e){return C(e,t,r)}))}(function(){var e,t=null===(e=y())||void 0===e?void 0:e.key;if(!t)throw new Error("There is no api key available for stripe. Make sure it is available on the wc.stripe_data.stripe.key property.");return t}(),{locale:r}))}catch(t){e({error:t})}}))},P=n(4),T=n(6),k=n.n(T),I=n(5),A=n.n(I),M=function(e){var t=e.stripe,n=e.paymentDetails,r=e.errorContext,o=e.errorType,i={type:e.successType};if(!n.setup_intent_secret&&!n.payment_intent_secret)return!0;var c=!!n.setup_intent_secret,a=n.verification_endpoint,u=c?n.setup_intent_secret:n.payment_intent_secret;return t[c?"confirmCardSetup":"confirmCardPayment"](u).then((function(e){if(e.error)throw e.error;var t=e[c?"setupIntent":"paymentIntent"];return"requires_capture"!==t.status&&"succeeded"!==t.status||(i.redirectUrl=a),i})).catch((function(e){return i.type=o,i.message=e.message,i.retry=!0,i.messageContext=r,window.fetch(a+"&is_ajax"),i}))},N=function(e,t,n,r){Object(l.useEffect)((function(){var o=t(function(){var t=k()(A.a.mark((function t(o){var i,c,a;return A.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=o.processingResponse,c=i.paymentDetails||{},t.next=4,M({stripe:e,paymentDetails:c,errorContext:r.noticeContexts.PAYMENTS,errorType:r.responseTypes.ERROR,successType:r.responseTypes.SUCCESS});case 4:return(a=t.sent).type===r.responseTypes.ERROR&&a.retry&&n(""),t.abrupt("return",a);case 7:case"end":return t.stop()}}),t)})));return function(_x){return t.apply(this,arguments)}}());return function(){return o()}}),[t,r.noticeContexts.PAYMENTS,r.responseTypes.ERROR,r.responseTypes.SUCCESS,n,e])},L=function(){},D=function(e){var t=e.eventRegistration,n=e.emitResponse,r=Object(P.useStripe)(),o=t.onCheckoutAfterProcessingWithSuccess;return N(r,o,L,n),null},q=n(12),B=n.n(q);function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function F(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?U(Object(n),!0).forEach((function(t){f()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var V={style:{base:{iconColor:"#666EE8",color:"#31325F",fontSize:function(e,t,n){var r={};if("object"===("undefined"==typeof document?"undefined":B()(document))&&"function"==typeof document.querySelector&&"function"==typeof window.getComputedStyle){var o=document.querySelector(".wc-block-checkout");o&&(r=window.getComputedStyle(o))}return r.fontSize||"16px"}(),lineHeight:1.375,"::placeholder":{color:"#fff"}}},classes:{focus:"focused",empty:"empty",invalid:"has-error"}},H=function(e){var t=Object(l.useState)(!1),n=a()(t,2),r=n[0],o=n[1],i=Object(l.useState)(F(F({},V),e)),c=a()(i,2),u=c[0],s=c[1],p=Object(l.useState)(""),d=a()(p,2),f=d[0],m=d[1];return Object(l.useEffect)((function(){var e=r?"#CFD7E0":"#fff";s((function(t){var n=void 0!==t.showIcon?{showIcon:r}:{};return F(F({},t),{},{style:F(F({},t.style),{},{base:F(F({},t.style.base),{},{"::placeholder":{color:e}})})},n)}))}),[r]),{options:u,onActive:Object(l.useCallback)((function(e){o(!e||function(e){return!e})}),[o]),error:f,setError:m}};function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?W(Object(n),!0).forEach((function(t){f()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var z,Z,$,G,Q,J,K=function(e){var t=e.inputErrorComponent,n=e.onChange,r=Object(l.useState)(!0),o=a()(r,2),i=o[0],c=o[1],u=H({hidePostalCode:!0}),s=u.options,d=u.onActive,f=u.error,m=u.setError;return Object(l.createElement)(l.Fragment,null,Object(l.createElement)("div",{className:"wc-block-gateway-container wc-inline-card-element"},Object(l.createElement)(P.CardElement,{id:"wc-stripe-inline-card-element",className:"wc-block-gateway-input",options:s,onBlur:function(){return d(i)},onFocus:function(){return d(i)},onChange:function(e){e.error?m(e.error.message):m(""),c(e.empty),n(e)}}),Object(l.createElement)("label",{htmlFor:"wc-stripe-inline-card-element"},Object(p.__)("Credit Card Information","woocommerce-gateway-stripe"))),Object(l.createElement)(t,{errorMessage:f}))},X=function(e){var t=e.onChange,n=e.inputErrorComponent,r=Object(l.useState)({cardNumber:!0,cardExpiry:!0,cardCvc:!0}),o=a()(r,2),i=o[0],c=o[1],u=H({showIcon:!1}),s=u.options,d=u.onActive,m=u.error,v=u.setError,y=H(),b=y.options,g=y.onActive,h=y.error,_=y.setError,w=H(),O=w.options,E=w.onActive,j=w.error,C=w.setError,x=function(e,n){return function(r){r.error?e(r.error.message):e(""),c(Y(Y({},i),{},f()({},n,r.empty))),t(r)}};return Object(l.createElement)("div",{className:"wc-block-card-elements"},Object(l.createElement)("div",{className:"wc-block-gateway-container wc-card-number-element"},Object(l.createElement)(P.CardNumberElement,{onChange:x(v,"cardNumber"),options:s,className:"wc-block-gateway-input",id:"wc-stripe-card-number-element",onFocus:function(){return d(i.cardNumber)},onBlur:function(){return d(i.cardNumber)}}),Object(l.createElement)("label",{htmlFor:"wc-stripe-card-number-element"},Object(p.__)("Card Number","woocommerce-gateway-stripe")),Object(l.createElement)(n,{errorMessage:m})),Object(l.createElement)("div",{className:"wc-block-gateway-container wc-card-expiry-element"},Object(l.createElement)(P.CardExpiryElement,{onChange:x(_,"cardExpiry"),options:b,className:"wc-block-gateway-input",onFocus:function(){return g(i.cardExpiry)},onBlur:function(){return g(i.cardExpiry)},id:"wc-stripe-card-expiry-element"}),Object(l.createElement)("label",{htmlFor:"wc-stripe-card-expiry-element"},Object(p.__)("Expiry Date","woocommerce-gateway-stripe")),Object(l.createElement)(n,{errorMessage:h})),Object(l.createElement)("div",{className:"wc-block-gateway-container wc-card-cvc-element"},Object(l.createElement)(P.CardCvcElement,{onChange:x(C,"cardCvc"),options:O,className:"wc-block-gateway-input",onFocus:function(){return E(i.cardCvc)},onBlur:function(){return E(i.cardCvc)},id:"wc-stripe-card-code-element"}),Object(l.createElement)("label",{htmlFor:"wc-stripe-card-code-element"},Object(p.__)("CVV/CVC","woocommerce-gateway-stripe")),Object(l.createElement)(n,{errorMessage:j})))},ee=function(){var e,t;return Object.entries(null!==(e=null===(t=y())||void 0===t?void 0:t.icons)&&void 0!==e?e:{}).map((function(e){var t=a()(e,2),n=t[0],r=t[1];return{id:n,src:r.src,alt:r.alt}}))},te=function(e){var t,n=e.billing,r=e.eventRegistration,o=e.emitResponse,i=e.components,c=i.ValidationInputError,u=i.PaymentMethodIcons,s=Object(l.useState)(""),p=a()(s,2),d=p[0],f=p[1],m=Object(P.useStripe)(),b=function(e,t,n,r,o,i){var c=Object(l.useState)(""),u=a()(c,2),s=u[0],p=u[1],d=Object(l.useCallback)((function(e){var t,n=e.error.type,r=e.error.code||"",o=null!==(t=_(n,r))&&void 0!==t?t:e.error.message;return p(o),o}),[]),f=e.onCheckoutAfterProcessingWithSuccess,m=e.onPaymentProcessing,b=e.onCheckoutAfterProcessingWithError;return N(i,f,r,o),function(e,t,n,r,o,i,c,a){var u=Object(P.useElements)();Object(l.useEffect)((function(){var s=function(){var e=k()(A.a.mark((function e(t){var r,o;return A.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o="yes"===(null===(r=y())||void 0===r?void 0:r.inline_cc_form)?P.CardElement:P.CardNumberElement,e.next=3,n.createSource(null==u?void 0:u.getElement(o),{type:"card",owner:t});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(_x){return e.apply(this,arguments)}}(),l=a(function(){var n=k()(A.a.mark((function n(){var a,u,l,p,d;return A.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(n.prev=0,l=r.billingData,!t){n.next=4;break}return n.abrupt("return",{type:o.responseTypes.ERROR,message:t});case 4:if(""===i){n.next=6;break}return n.abrupt("return",{type:o.responseTypes.SUCCESS,meta:{paymentMethodData:{paymentMethod:"stripe",paymentRequestType:"cc",stripe_source:i},billingData:l}});case 6:return p={address:{line1:l.address_1,line2:l.address_2,city:l.city,state:l.state,postal_code:l.postcode,country:l.country}},l.phone&&(p.phone=l.phone),l.email&&(p.email=l.email),(l.first_name||l.last_name)&&(p.name="".concat(l.first_name," ").concat(l.last_name)),n.next=12,s(p);case 12:if(!(d=n.sent).error){n.next=15;break}return n.abrupt("return",{type:o.responseTypes.ERROR,message:e(d)});case 15:if(d.source&&d.source.id){n.next=17;break}throw new Error(_(v.API_ERROR));case 17:return c(d.source.id),n.abrupt("return",{type:o.responseTypes.SUCCESS,meta:{paymentMethodData:{stripe_source:d.source.id,billing_email:p.email,billing_first_name:null!==(a=null==l?void 0:l.first_name)&&void 0!==a?a:"",billing_last_name:null!==(u=null==l?void 0:l.last_name)&&void 0!==u?u:"",paymentMethod:"stripe",paymentRequestType:"cc"},billingData:l}});case 21:return n.prev=21,n.t0=n.catch(0),n.abrupt("return",{type:o.responseTypes.ERROR,message:n.t0});case 24:case"end":return n.stop()}}),n,null,[[0,21]])})));return function(){return n.apply(this,arguments)}}());return function(){l()}}),[a,r.billingData,n,i,c,e,t,o.noticeContexts.PAYMENTS,o.responseTypes.ERROR,o.responseTypes.SUCCESS,u])}(d,s,i,t,o,n,r,m),Object(l.useEffect)((function(){var e=b((function(e){var t,n=e.processingResponse;return null==n||null===(t=n.paymentDetails)||void 0===t||!t.errorMessage||{type:o.responseTypes.ERROR,message:n.paymentDetails.errorMessage,messageContext:o.noticeContexts.PAYMENTS}}));return function(){e()}}),[b,o.noticeContexts.PAYMENTS,o.responseTypes.ERROR]),d}(r,n,d,f,o,m),g=function(e){e.error&&b(e),f("")},h=ee(),w="yes"===(null===(t=y())||void 0===t?void 0:t.inline_cc_form)?Object(l.createElement)(K,{onChange:g,inputErrorComponent:c}):Object(l.createElement)(X,{onChange:g,inputErrorComponent:c});return Object(l.createElement)(l.Fragment,null,w,u&&h.length&&Object(l.createElement)(u,{icons:h,align:"left"}))},ne=function(e){var t=e.stripe;return Object(l.createElement)(P.Elements,{stripe:t},Object(l.createElement)(te,e))},re=R(),oe=function(e){var t=e.RenderedComponent,n=s()(e,["RenderedComponent"]),r=Object(l.useState)(""),o=a()(r,2),c=o[0],u=o[1];return Object(l.useEffect)((function(){Promise.resolve(re).then((function(e){var t=e.error;t&&u(t.message)}))}),[u]),Object(l.useEffect)((function(){if(c)throw new Error(c)}),[c]),Object(l.createElement)(t,i()({stripe:re},n))},ie=ee(),ce={name:"stripe",label:Object(l.createElement)((function(e){var t,n,r=e.components.PaymentMethodLabel,o=null!==(t=null===(n=y())||void 0===n?void 0:n.title)&&void 0!==t?t:Object(p.__)("Credit / Debit Card","woocommerce-gateway-stripe");return Object(l.createElement)(r,{text:o})}),null),content:Object(l.createElement)(oe,{RenderedComponent:ne}),edit:Object(l.createElement)(oe,{RenderedComponent:ne}),savedTokenComponent:Object(l.createElement)(oe,{RenderedComponent:function(e){var t=e.stripe,n=s()(e,["stripe"]);return Object(l.createElement)(P.Elements,{stripe:t},Object(l.createElement)(D,n))}}),icons:ie,canMakePayment:function(){return re},ariaLabel:Object(p.__)("Stripe Credit Card payment method","woocommerce-gateway-stripe"),supports:{showSavedCards:null!==(z=null===(Z=y())||void 0===Z?void 0:Z.showSavedCards)&&void 0!==z&&z,showSaveOption:null!==($=null===(G=y())||void 0===G?void 0:G.showSaveOption)&&void 0!==$&&$,features:null!==(Q=null===(J=y())||void 0===J?void 0:J.supports)&&void 0!==Q?Q:[]}},ae=function(e){var t,n,r=e.onButtonClicked,o=null===(t=y())||void 0===t?void 0:t.button,i=o.theme,c=void 0===i?"dark":i,u=o.locale,s=void 0===u?"en":u,p=o.height,d=void 0===p?"44":p,f=(null===(n=y())||void 0===n?void 0:n.button).branded_type,m=["short","long"].includes(f)?f:"long",v=function(e,t,n){var r="long"===e?"https://www.gstatic.com/instantbuy/svg/".concat(t,"/").concat(n,".svg"):"https://www.gstatic.com/instantbuy/svg/".concat(t,"_gpay.svg"),o=Object(l.useState)(r),i=a()(o,2),c=i[0],u=i[1];return Object(l.useEffect)((function(){var e=document.createElement("img");e.addEventListener("error",(function(){u("https://www.gstatic.com/instantbuy/svg/".concat(t,"/en.svg"))})),e.src=c}),[c,t]),c}(m,"dark"===c?"dark":"light",s);return Object(l.createElement)("button",{type:"button",id:"wc-stripe-branded-button","aria-label":"Google Pay",className:"gpay-button ".concat(c," ").concat(m),style:{backgroundImage:"url(".concat(v,")"),height:d+"px"},onClick:r})},ue=function(e){var t,n=e.onButtonClicked,r=null===(t=y())||void 0===t?void 0:t.button,o=r.theme,i=void 0===o?"dark":o,c=r.height,a=void 0===c?"44":c,u=r.customLabel,s=void 0===u?Object(p.__)("Buy now","woocommerce-gateway-stripe"):u;return Object(l.createElement)("button",{type:"button",id:"wc-stripe-custom-button",className:"button ".concat(i," is-active"),style:{height:a+"px"},onClick:n},s)},se=n(7),le=n.n(se);function pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var de,fe,me=function(e){var t,n,r;return null===(t=y())||void 0===t||null===(n=t.ajax_url)||void 0===n||null===(r=n.toString())||void 0===r?void 0:r.replace("%%endpoint%%","wc_stripe_"+e)},ve=function(e){var t,n,r,o,i;(t=e.shippingOption,i={security:null===(n=y())||void 0===n||null===(r=n.nonce)||void 0===r?void 0:r.update_shipping,shipping_method:[t.id],is_product_page:null===(o=y())||void 0===o?void 0:o.is_product_page},le.a.ajax({type:"POST",data:i,url:me("update_shipping_method")})).then((function(t){"success"===t.result&&e.updateWith({status:"success",total:t.total,displayItems:t.displayItems}),"fail"===t.result&&e.updateWith({status:"fail"})}))},ye=function(e,t){Object(l.useEffect)((function(){var n=null==e?void 0:e.on("shippingaddresschange",function(e){return function(t){(function(e,t){var n,r,o,i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pe(Object(n),!0).forEach((function(t){f()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({security:null===(n=y())||void 0===n||null===(r=n.nonce)||void 0===r?void 0:r.shipping,payment_request_type:t,is_product_page:null===(o=y())||void 0===o?void 0:o.is_product_page},function(e){return{country:e.country,state:e.region,postcode:e.postalCode,city:e.city,address:void 0===e.addressLine[0]?"":e.addressLine[0],address_2:void 0===e.addressLine[1]?"":e.addressLine[1]}}(e));return le.a.ajax({type:"POST",data:i,url:me("get_shipping_options")})})(t.shippingAddress,e).then((function(e){t.updateWith({status:e.result,shippingOptions:e.shipping_options,total:e.total,displayItems:e.displayItems})}))}}(t));return function(){null==n||n.removeEventListener("shippingaddresschange")}}),[e,t])},be=function(e,t,n,r){Object(l.useEffect)((function(){var o=null==t?void 0:t.on("source",function(e,t,n){return function(r){var o,i,c,a,u,s;"yes"===(null===(o=y())||void 0===o||null===(i=o.stripe)||void 0===i?void 0:i.allow_prepaid_card)||"prepaid"!==(null==r||null===(c=r.source)||void 0===c||null===(a=c.card)||void 0===a?void 0:a.funding)?function(e,t){var n=function(e,t){var n,r,o,i,c,a,u,s,l,p,d,f,m,v,b,g,h,_,w,O,E,j,C,x,S,R,P,T,k,I,A=e.source,M=null==A||null===(n=A.owner)||void 0===n?void 0:n.email,N=null==A||null===(r=A.owner)||void 0===r?void 0:r.phone,L=null==A||null===(o=A.owner)||void 0===o?void 0:o.address,D=null==A||null===(i=A.owner)||void 0===i?void 0:i.name,q=null==e?void 0:e.shippingAddress,B={_wpnonce:null===(c=y())||void 0===c||null===(a=c.nonce)||void 0===a?void 0:a.checkout,billing_first_name:null!==(u=null==D||null===(s=D.split(" "))||void 0===s||null===(l=s.slice(0,1))||void 0===l?void 0:l.join(" "))&&void 0!==u?u:"",billing_last_name:null!==(p=null==D||null===(d=D.split(" "))||void 0===d||null===(f=d.slice(1))||void 0===f?void 0:f.join(" "))&&void 0!==p?p:"",billing_company:"",billing_email:null!=M?M:null==e?void 0:e.payerEmail,billing_phone:null!=N?N:null==e||null===(m=e.payerPhone)||void 0===m?void 0:m.replace("/[() -]/g",""),billing_country:null!==(v=null==L?void 0:L.country)&&void 0!==v?v:"",billing_address_1:null!==(b=null==L?void 0:L.line1)&&void 0!==b?b:"",billing_address_2:null!==(g=null==L?void 0:L.line2)&&void 0!==g?g:"",billing_city:null!==(h=null==L?void 0:L.city)&&void 0!==h?h:"",billing_state:null!==(_=null==L?void 0:L.state)&&void 0!==_?_:"",billing_postcode:null!==(w=null==L?void 0:L.postal_code)&&void 0!==w?w:"",shipping_first_name:"",shipping_last_name:"",shipping_company:"",shipping_country:"",shipping_address_1:"",shipping_address_2:"",shipping_city:"",shipping_state:"",shipping_postcode:"",shipping_method:[null==e||null===(O=e.shippingOption)||void 0===O?void 0:O.id],order_comments:"",payment_method:"stripe",ship_to_different_address:1,terms:1,stripe_source:A.id,payment_request_type:t};return q&&(B.shipping_first_name=null==q||null===(E=q.recipient)||void 0===E||null===(j=E.split(" "))||void 0===j||null===(C=j.slice(0,1))||void 0===C?void 0:C.join(" "),B.shipping_last_name=null==q||null===(x=q.recipient)||void 0===x||null===(S=x.split(" "))||void 0===S||null===(R=S.slice(1))||void 0===R?void 0:R.join(" "),B.shipping_company=null==q?void 0:q.organization,B.shipping_country=null==q?void 0:q.country,B.shipping_address_1=null!==(P=null==q||null===(T=q.addressLine)||void 0===T?void 0:T[0])&&void 0!==P?P:"",B.shipping_address_2=null!==(k=null==q||null===(I=q.addressLine)||void 0===I?void 0:I[1])&&void 0!==k?k:"",B.shipping_city=null==q?void 0:q.city,B.shipping_state=null==q?void 0:q.region,B.shipping_postcode=null==q?void 0:q.postalCode),B}(e,t);return le.a.ajax({type:"POST",data:n,dataType:"json",url:me("create_order")})}(r,t).then(function(e,t,n){return function(r){if("success"===r.result){t.complete("success");var o=function(e){var t=e.match(/^#?confirm-(pi|si)-([^:]+):(.+)$/);if(t&&!(t.length<4))return{type:t[1],clientSecret:t[2],redirectUrl:decodeURIComponent(t[3])}}(r.redirect);if(!o||o.length<4)return void(window.location=r.redirect);var i=o.type,c=o.clientSecret,a=o.redirectUrl;(function(e,t,n){return"si"===t?e.handleCardSetup(n):e.handleCardPayment(n)})(e,i,c).then(function(e,t){return function(n){if(n.error)throw n.error;var r=function(e,t){return"si"===t?e.setupIntent:e.paymentIntent}(n,t);(function(e){return"requires_capture"===e.status}(r)||function(e){return"succeeded"===e.status}(r))&&(window.location=e)}}(a,i)).catch((function(e){n(e.message),le.a.get(a+"&is_ajax")}))}else{var u,s;t.complete("fail");var l=document.createElement("div");l.innerHTML=r.messages;var p=null!==(u=null==l||null===(s=l.firstChild)||void 0===s?void 0:s.textContent)&&void 0!==u?u:"";n(p)}}}(e,r,n)):n(null===(u=y())||void 0===u||null===(s=u.i18n)||void 0===s?void 0:s.no_prepaid_card)}}(e,n,r));return function(){null==o||o.removeEventListener("source")}}),[e,t,n,r])},ge=function(e){var t,n,r,o,i,c,u,s=e.billing,p=e.shippingData,d=e.onClick,f=e.onClose,m=e.setExpressPaymentError,v=Object(P.useStripe)(),g=function(e,t,n){var r=Object(l.useState)(null),o=a()(r,2),i=o[0],c=o[1],u=Object(l.useState)(null),s=a()(u,2),p=s[0],d=s[1];return Object(l.useEffect)((function(){e&&function(){var t=k()(A.a.mark((function t(){var n,r,o;return A.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,void 0,a=void 0,void 0,u={security:null===(i=y())||void 0===i||null===(a=i.nonce)||void 0===a?void 0:a.payment},le.a.ajax({type:"POST",data:u,url:me("get_cart_details")});case 2:return n=t.sent,r=b(e,n),t.next=6,r.canMakePayment();case 6:(o=t.sent)?(c(r),d((function(){return o.applePay?"apple_pay":o.googlePay?"google_pay":"payment_request_api"}))):c(null);case 8:case"end":return t.stop()}var i,a,u}),t)})));return function(){return t.apply(this,arguments)}}()()}),[e,t,n.cartTotal,n.cartTotalItems,n.currency.code]),[i,p]}(v,p.needsShipping,s),h=a()(g,2),_=h[0],w=h[1];ye(_,w),function(e,t){Object(l.useEffect)((function(){var t=null==e?void 0:e.on("shippingoptionchange",ve);return function(){null==t||t.removeEventListener("shippingoptionchange")}}),[e,t])}(_,w),be(v,_,w,m);var O=function(e,t,n){return Object(l.useCallback)((function(r,o){var i;if(null!==(i=y())&&void 0!==i&&i.login_confirmation)return r.preventDefault(),void function(e){var t,n,r;if(null!==(t=y())&&void 0!==t&&t.login_confirmation){var o,i,c=null===(n=y())||void 0===n||null===(r=n.login_confirmation)||void 0===r?void 0:r.message;"payment_request_api"!==e&&(c=c.replace(/\*\*.*?\*\*/,"apple_pay"===e?"Apple Pay":"Google Pay")),c=c.replace(/\*\*/g,""),confirm(c)&&(window.location.href=null===(o=y())||void 0===o||null===(i=o.login_confirmation)||void 0===i?void 0:i.redirect_url)}}(e);t(""),n(),o&&o.show()}),[e,t,n])}(w,m,d);!function(e,t){Object(l.useEffect)((function(){var n=null==e?void 0:e.on("cancel",t);return function(){null==n||n.removeEventListener("cancel")}}),[e,t])}(_,f);var E,j,C,x=null===(t=y())||void 0===t?void 0:t.button,S=x.type,R=void 0===S?"default":S,T=x.theme,I=void 0===T?"dark":T,M=x.height,N={paymentRequestButton:{type:R,theme:I,height:"".concat(void 0===M?"48":M,"px")}},L=null===(n=y())||void 0===n||null===(r=n.button)||void 0===r?void 0:r.is_branded,D=null===(o=y())||void 0===o||null===(i=o.button)||void 0===i?void 0:i.branded_type,q=null===(c=y())||void 0===c||null===(u=c.button)||void 0===u?void 0:u.is_custom;return _?q?Object(l.createElement)(ue,{onButtonClicked:function(e){O(e,_)}}):L&&(E=window.navigator.userAgent.toLowerCase(),C=(j=/chrome/.test(E)&&!/edge|edg|opr|brave\//.test(E)&&"Google Inc."===window.navigator.vendor)&&window.navigator.brave,j&&!C)?Object(l.createElement)(ae,{onButtonClicked:function(e){O(e,_)}}):(L&&(N.paymentRequestButton.type="long"===D?"buy":"default"),Object(l.createElement)(P.PaymentRequestButtonElement,{onClick:O,options:{style:N,paymentRequest:_}})):null},he=R(),_e={name:"payment_request",content:Object(l.createElement)((function(e){var t=e.stripe;return Object(l.createElement)(P.Elements,{stripe:t},Object(l.createElement)(ge,e))}),{stripe:he}),edit:Object(l.createElement)((function(){return Object(l.createElement)("img",{src:"data:image/svg+xml,%3Csvg width='264' height='48' viewBox='0 0 264 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='264' height='48' rx='3' fill='black'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M125.114 16.6407C125.682 15.93 126.067 14.9756 125.966 14C125.135 14.0415 124.121 14.549 123.533 15.2602C123.006 15.8693 122.539 16.8641 122.661 17.7983C123.594 17.8797 124.526 17.3317 125.114 16.6407Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M125.955 17.982C124.601 17.9011 123.448 18.7518 122.801 18.7518C122.154 18.7518 121.163 18.0224 120.092 18.0421C118.696 18.0629 117.402 18.8524 116.694 20.1079C115.238 22.6196 116.31 26.3453 117.726 28.3909C118.414 29.4028 119.242 30.5174 120.334 30.4769C121.366 30.4365 121.77 29.8087 123.024 29.8087C124.277 29.8087 124.641 30.4769 125.733 30.4567C126.865 30.4365 127.573 29.4443 128.261 28.4313C129.049 27.2779 129.373 26.1639 129.393 26.1027C129.373 26.0825 127.209 25.2515 127.189 22.7606C127.169 20.6751 128.888 19.6834 128.969 19.6217C127.998 18.1847 126.481 18.0224 125.955 17.982Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M136.131 23.1804H138.834C140.886 23.1804 142.053 22.0752 142.053 20.1592C142.053 18.2432 140.886 17.1478 138.845 17.1478H136.131V23.1804ZM139.466 15.1582C142.411 15.1582 144.461 17.1903 144.461 20.1483C144.461 23.1172 142.369 25.1596 139.392 25.1596H136.131V30.3498H133.775V15.1582H139.466Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152.198 26.224V25.3712L149.579 25.5397C148.106 25.6341 147.339 26.182 147.339 27.14C147.339 28.0664 148.138 28.6667 149.39 28.6667C150.988 28.6667 152.198 27.6449 152.198 26.224ZM145.046 27.2032C145.046 25.2551 146.529 24.1395 149.263 23.971L152.198 23.7922V22.9498C152.198 21.7181 151.388 21.0442 149.947 21.0442C148.758 21.0442 147.896 21.6548 147.717 22.5916H145.592C145.656 20.6232 147.507 19.1914 150.01 19.1914C152.703 19.1914 154.459 20.602 154.459 22.7917V30.351H152.282V28.5298H152.229C151.609 29.719 150.241 30.4666 148.758 30.4666C146.571 30.4666 145.046 29.1612 145.046 27.2032Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M156.461 34.4145V32.5934C156.608 32.6141 156.965 32.6354 157.155 32.6354C158.196 32.6354 158.785 32.1932 159.142 31.0564L159.353 30.3824L155.366 19.3281H157.827L160.604 28.298H160.657L163.434 19.3281H165.832L161.698 30.9402C160.752 33.6038 159.668 34.4778 157.376 34.4778C157.197 34.4778 156.618 34.4565 156.461 34.4145Z' fill='white'/%3E%3C/svg%3E%0A",alt:""})}),null),canMakePayment:function(e){var t,n,r;return!(null===(t=null===(n=y())||void 0===n?void 0:n.isAdmin)||void 0===t||!t)||!(null===(r=y())||void 0===r||!r.shouldShowPaymentRequestButton)&&R().then((function(t){var n,r,o,i,c,a={order_data:{total:{label:"Total",amount:parseInt(null!==(n=null==e||null===(r=e.cartTotals)||void 0===r?void 0:r.total_price)&&void 0!==n?n:0,10),pending:!0},currency:null==e||null===(o=e.cartTotals)||void 0===o||null===(i=o.currency_code)||void 0===i?void 0:i.toLowerCase(),country_code:null===(c=Object(m.getSetting)("baseLocation",{}))||void 0===c?void 0:c.country,displayItems:[]},shipping_required:!1};return b(t,a).canMakePayment()}))},paymentMethodId:"stripe",supports:{features:null!==(de=null===(fe=y())||void 0===fe?void 0:fe.supports)&&void 0!==de?de:[]}};Object(r.registerPaymentMethod)(ce),Object(r.registerExpressPaymentMethod)(_e)}]);
|
1 |
+
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=216)}([function(e,t){e.exports=window.wp.element},function(e,t){e.exports=window.React},function(e,t,n){"use strict";n.d(t,"f",(function(){return f})),n.d(t,"e",(function(){return d})),n.d(t,"a",(function(){return l})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return p})),n.d(t,"d",(function(){return O}));var r=n(37),o=n.n(r),i=n(25),c=n.n(i),a=n(3),s=n(4);const u=()=>{var e,t;const n="undefined"!=typeof wc_stripe_upe_params?wc_stripe_upe_params:null===(e=wc)||void 0===e||null===(t=e.wcSettings)||void 0===t?void 0:t.getSetting("stripe_data",null);if(!n)throw new Error("Stripe initialization data is not available");return n},l=(e,t)=>{var n,r;const o={total:t.order_data.total,currency:t.order_data.currency,country:t.order_data.country_code,requestPayerName:!0,requestPayerEmail:!0,requestPayerPhone:null===(n=u())||void 0===n||null===(r=n.checkout)||void 0===r?void 0:r.needs_payer_phone,requestShipping:!!t.shipping_required,displayItems:t.order_data.displayItems};return"PR"===o.country&&(o.country="US"),e.paymentRequest(o)},p=(e,t="")=>{switch(e){case s.b.INVALID_EMAIL:return Object(a.__)("Invalid email address, please correct and try again.","woocommerce-gateway-stripe");case(e=>{var t;return c()(t=[s.b.INVALID_REQUEST,s.b.API_CONNECTION,s.b.API_ERROR,s.b.AUTHENTICATION_ERROR,s.b.RATE_LIMIT_ERROR]).call(t,e)})(e):return Object(a.__)("Unable to process this payment, please try again or use alternative method.","woocommerce-gateway-stripe");case s.b.CARD_ERROR:return(e=>({[s.a.INVALID_NUMBER]:Object(a.__)("The card number is not a valid credit card number.","woocommerce-gateway-stripe"),[s.a.INVALID_EXPIRY_MONTH]:Object(a.__)("The card expiration month is invalid.","woocommerce-gateway-stripe"),[s.a.INVALID_EXPIRY_YEAR]:Object(a.__)("The card expiration year is invalid.","woocommerce-gateway-stripe"),[s.a.INVALID_CVC]:Object(a.__)("The card security code is invalid.","woocommerce-gateway-stripe"),[s.a.INCORRECT_NUMBER]:Object(a.__)("The card number is incorrect.","woocommerce-gateway-stripe"),[s.a.INCOMPLETE_NUMBER]:Object(a.__)("The card number is incomplete.","woocommerce-gateway-stripe"),[s.a.INCOMPLETE_CVC]:Object(a.__)("The card security code is incomplete.","woocommerce-gateway-stripe"),[s.a.INCOMPLETE_EXPIRY]:Object(a.__)("The card expiration date is incomplete.","woocommerce-gateway-stripe"),[s.a.EXPIRED_CARD]:Object(a.__)("The card has expired.","woocommerce-gateway-stripe"),[s.a.INCORRECT_CVC]:Object(a.__)("The card security code is incorrect.","woocommerce-gateway-stripe"),[s.a.INCORRECT_ZIP]:Object(a.__)("The card zip code failed validation.","woocommerce-gateway-stripe"),[s.a.INVALID_EXPIRY_YEAR_PAST]:Object(a.__)("The card expiration year is in the past","woocommerce-gateway-stripe"),[s.a.CARD_DECLINED]:Object(a.__)("The card was declined.","woocommerce-gateway-stripe"),[s.a.MISSING]:Object(a.__)("There is no card on a customer that is being charged.","woocommerce-gateway-stripe"),[s.a.PROCESSING_ERROR]:Object(a.__)("An error occurred while processing the card.","woocommerce-gateway-stripe")}[e]||null))(t);case s.b.VALIDATION_ERROR:return""}return null},f=(e,t)=>{var n,r,i,c,a,s,l,p,f,d,v,m,y,h,g,b,_,w,E,O;const{source:j}=e,x=null==j||null===(n=j.owner)||void 0===n?void 0:n.email,C=null==j||null===(r=j.owner)||void 0===r?void 0:r.phone,S=null==j||null===(i=j.owner)||void 0===i?void 0:i.address,R=null==j||null===(c=j.owner)||void 0===c?void 0:c.name,T=null==e?void 0:e.shippingAddress,I={_wpnonce:null===(a=u())||void 0===a||null===(s=a.nonce)||void 0===s?void 0:s.checkout,billing_first_name:null!==(l=null==R||null===(p=R.split(" "))||void 0===p||null===(f=o()(p).call(p,0,1))||void 0===f?void 0:f.join(" "))&&void 0!==l?l:"",billing_last_name:null!==(d=null==R||null===(v=R.split(" "))||void 0===v||null===(m=o()(v).call(v,1))||void 0===m?void 0:m.join(" "))&&void 0!==d?d:"",billing_company:"",billing_email:null!=x?x:null==e?void 0:e.payerEmail,billing_phone:null!=C?C:null==e||null===(y=e.payerPhone)||void 0===y?void 0:y.replace("/[() -]/g",""),billing_country:null!==(h=null==S?void 0:S.country)&&void 0!==h?h:"",billing_address_1:null!==(g=null==S?void 0:S.line1)&&void 0!==g?g:"",billing_address_2:null!==(b=null==S?void 0:S.line2)&&void 0!==b?b:"",billing_city:null!==(_=null==S?void 0:S.city)&&void 0!==_?_:"",billing_state:null!==(w=null==S?void 0:S.state)&&void 0!==w?w:"",billing_postcode:null!==(E=null==S?void 0:S.postal_code)&&void 0!==E?E:"",shipping_first_name:"",shipping_last_name:"",shipping_company:"",shipping_country:"",shipping_address_1:"",shipping_address_2:"",shipping_city:"",shipping_state:"",shipping_postcode:"",shipping_method:[null==e||null===(O=e.shippingOption)||void 0===O?void 0:O.id],order_comments:"",payment_method:"stripe",ship_to_different_address:1,terms:1,stripe_source:j.id,payment_request_type:t};var A,P,N,L,k,M,D,V,q,B;return T&&(I.shipping_first_name=null==T||null===(A=T.recipient)||void 0===A||null===(P=A.split(" "))||void 0===P||null===(N=o()(P).call(P,0,1))||void 0===N?void 0:N.join(" "),I.shipping_last_name=null==T||null===(L=T.recipient)||void 0===L||null===(k=L.split(" "))||void 0===k||null===(M=o()(k).call(k,1))||void 0===M?void 0:M.join(" "),I.shipping_company=null==T?void 0:T.organization,I.shipping_country=null==T?void 0:T.country,I.shipping_address_1=null!==(D=null==T||null===(V=T.addressLine)||void 0===V?void 0:V[0])&&void 0!==D?D:"",I.shipping_address_2=null!==(q=null==T||null===(B=T.addressLine)||void 0===B?void 0:B[1])&&void 0!==q?q:"",I.shipping_city=null==T?void 0:T.city,I.shipping_state=null==T?void 0:T.region,I.shipping_postcode=null==T?void 0:T.postalCode),I},d=e=>({country:e.country,state:e.region,postcode:e.postalCode,city:e.city,address:void 0===e.addressLine[0]?"":e.addressLine[0],address_2:void 0===e.addressLine[1]?"":e.addressLine[1]});var v=n(33),m=n.n(v),y="https://js.stripe.com/v3",h=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,g="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",b=null,_=function(e,t,n){if(null===e)return null;var r=e.apply(void 0,t);return function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",version:"1.11.0",startTime:t})}(r,n),r},w=Promise.resolve().then((function(){return e=null,null!==b?b:b=new Promise((function(t,n){if("undefined"!=typeof window)if(window.Stripe&&e&&console.warn(g),window.Stripe)t(window.Stripe);else try{var r=function(){for(var e=document.querySelectorAll('script[src^="'.concat(y,'"]')),t=0;t<e.length;t++){var n=e[t];if(h.test(n.src))return n}return null}();r&&e?console.warn(g):r||(r=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(y).concat(t);var r=document.head||document.body;if(!r)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return r.appendChild(n),n}(e)),r.addEventListener("load",(function(){window.Stripe?t(window.Stripe):n(new Error("Stripe.js not available"))})),r.addEventListener("error",(function(){n(new Error("Failed to load Stripe.js"))}))}catch(e){return void n(e)}else t(null)}));var e})),E=!1;w.catch((function(e){E||console.warn(e)}));const O=()=>new m.a(e=>{try{var t,n;const r=null!==(t=null===(n=u())||void 0===n?void 0:n.stripe_locale)&&void 0!==t?t:"auto";e(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];E=!0;var r=Date.now();return w.then((function(e){return _(e,t,r)}))}((()=>{var e;const t=null===(e=u())||void 0===e?void 0:e.key;if(!t)throw new Error("There is no api key available for stripe. Make sure it is available on the wc.stripe_data.stripe.key property.");return t})(),{locale:r}))}catch(t){e({error:t})}})},function(e,t){e.exports=window.wp.i18n},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return o}));const r={INVALID_EMAIL:"email_invalid",INVALID_REQUEST:"invalid_request_error",API_CONNECTION:"api_connection_error",API_ERROR:"api_error",AUTHENTICATION_ERROR:"authentication_error",RATE_LIMIT_ERROR:"rate_limit_error",CARD_ERROR:"card_error",VALIDATION_ERROR:"validation_error"},o={INVALID_NUMBER:"invalid_number",INVALID_EXPIRY_MONTH:"invalid_expiry_month",INVALID_EXPIRY_YEAR:"invalid_expiry_year",INVALID_CVC:"invalid_cvc",INCORRECT_NUMBER:"incorrect_number",INCOMPLETE_NUMBER:"incomplete_number",INCOMPLETE_CVC:"incomplete_cvc",INCOMPLETE_EXPIRY:"incomplete_expiry",EXPIRED_CARD:"expired_card",INCORRECT_CVC:"incorrect_cvc",INCORRECT_ZIP:"incorrect_zip",INVALID_EXPIRY_YEAR_PAST:"invalid_expiry_year_past",CARD_DECLINED:"card_declined",MISSING:"missing",PROCESSING_ERROR:"processing_error"}},function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,n(74))},function(e,t,n){var r=n(5),o=n(61),i=n(12),c=n(62),a=n(53),s=n(80),u=o("wks"),l=r.Symbol,p=s?l:l&&l.withoutSetter||c;e.exports=function(e){return i(u,e)&&(a||"string"==typeof u[e])||(a&&i(l,e)?u[e]=l[e]:u[e]=p("Symbol."+e)),u[e]}},function(e,t,n){"use strict";var r=n(5),o=n(50).f,i=n(58),c=n(18),a=n(30),s=n(13),u=n(12),l=function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t};e.exports=function(e,t){var n,p,f,d,v,m,y,h,g=e.target,b=e.global,_=e.stat,w=e.proto,E=b?r:_?r[g]:(r[g]||{}).prototype,O=b?c:c[g]||(c[g]={}),j=O.prototype;for(f in t)n=!i(b?f:g+(_?".":"#")+f,e.forced)&&E&&u(E,f),v=O[f],n&&(m=e.noTargetGet?(h=o(E,f))&&h.value:E[f]),d=n&&m?m:t[f],n&&typeof v==typeof d||(y=e.bind&&n?a(d,r):e.wrap&&n?l(d):w&&"function"==typeof d?a(Function.call,d):d,(e.sham||d&&d.sham||v&&v.sham)&&s(y,"sham",!0),O[f]=y,w&&(u(c,p=g+"Prototype")||s(c,p,{}),c[p][f]=d,e.real&&j&&!j[f]&&s(j,f,d)))}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},,function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},,function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(15),o=n(31),i=n(26);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(10);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){var r=n(8);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},e.exports.default=e.exports,e.exports.__esModule=!0,n.apply(this,arguments)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){!function(e,t){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function o(){}function i(){}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,i.resetWarningCache=o;var c=function(e,t){return function(e){e.exports=function(){function e(e,t,n,r,o,i){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==i){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}()}(t={exports:{}}),t.exports}(),a=function(e){return null!==e&&"object"===n(e)},s=function e(t,n){if(!a(t)||!a(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var o="[object Object]"===Object.prototype.toString.call(t);if(o!==("[object Object]"===Object.prototype.toString.call(n)))return!1;if(!o&&!r)return!1;var i=Object.keys(t),c=Object.keys(n);if(i.length!==c.length)return!1;for(var s={},u=0;u<i.length;u+=1)s[i[u]]=!0;for(var l=0;l<c.length;l+=1)s[c[l]]=!0;var p=Object.keys(s);if(p.length!==i.length)return!1;var f=t,d=n;return p.every((function(t){return e(f[t],d[t])}))},u=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),n.current},l=function(e){if(null===e||a(t=e)&&"function"==typeof t.elements&&"function"==typeof t.createToken&&"function"==typeof t.createPaymentMethod&&"function"==typeof t.confirmCardPayment)return e;var t;throw new Error("Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.")},p=t.createContext(null);p.displayName="ElementsContext";var f=function(e){var n,o,i=e.stripe,c=e.options,f=e.children,d=t.useRef(!1),v=t.useRef(!0),m=t.useMemo((function(){return function(e){if(function(e){return a(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(l)};var t=l(e);return null===t?{tag:"empty"}:{tag:"sync",stripe:t}}(i)}),[i]),y=(n=t.useState((function(){return{stripe:null,elements:null}})),o=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],_n=!0,r=!1,o=void 0;try{for(var i,c=e[Symbol.iterator]();!(_n=(i=c.next()).done)&&(n.push(i.value),!t||n.length!==t);_n=!0);}catch(e){r=!0,o=e}finally{try{_n||null==c.return||c.return()}finally{if(r)throw o}}return n}}(n,o)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(n,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),h=y[0],g=y[1],b=u(i),_=u(c);return null!==b&&(b!==i&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it."),s(c,_)||console.warn("Unsupported prop change on Elements: You cannot change the `options` prop after setting the `stripe` prop.")),d.current||("sync"===m.tag&&(d.current=!0,g({stripe:m.stripe,elements:m.stripe.elements(c)})),"async"===m.tag&&(d.current=!0,m.stripePromise.then((function(e){e&&v.current&&g({stripe:e,elements:e.elements(c)})})))),t.useEffect((function(){return function(){v.current=!1}}),[]),t.useEffect((function(){var e=h.stripe;e&&e._registerWrapper&&e._registerWrapper({name:"react-stripe-js",version:"1.2.2"})}),[h.stripe]),t.createElement(p.Provider,{value:h},f)};f.propTypes={stripe:c.any,options:c.object};var d=function(e){return function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e}(t.useContext(p),e)},v=function(e){return(0,e.children)(d("mounts <ElementsConsumer>"))};v.propTypes={children:c.func.isRequired};var m=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),function(){n.current&&n.current.apply(n,arguments)}},y=function(e){return a(e)?(e.paymentRequest,function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,["paymentRequest"])):{}},h=function(){},g=function(e,n){var r,o="".concat((r=e).charAt(0).toUpperCase()+r.slice(1),"Element"),i=n?function(e){d("mounts <".concat(o,">"));var n=e.id,r=e.className;return t.createElement("div",{id:n,className:r})}:function(n){var r=n.id,i=n.className,c=n.options,a=void 0===c?{}:c,u=n.onBlur,l=void 0===u?h:u,p=n.onFocus,f=void 0===p?h:p,v=n.onReady,g=void 0===v?h:v,b=n.onChange,_=void 0===b?h:b,w=n.onEscape,E=void 0===w?h:w,O=n.onClick,j=void 0===O?h:O,x=d("mounts <".concat(o,">")).elements,C=t.useRef(null),S=t.useRef(null),R=m(g),T=m(l),I=m(f),A=m(j),P=m(_),N=m(E);t.useLayoutEffect((function(){if(null==C.current&&x&&null!=S.current){var t=x.create(e,a);C.current=t,t.mount(S.current),t.on("ready",(function(){return R(t)})),t.on("change",P),t.on("blur",T),t.on("focus",I),t.on("escape",N),t.on("click",A)}}));var L=t.useRef(a);return t.useEffect((function(){L.current&&L.current.paymentRequest!==a.paymentRequest&&console.warn("Unsupported prop change: options.paymentRequest is not a customizable property.");var e=y(a);0===Object.keys(e).length||s(e,y(L.current))||C.current&&(C.current.update(e),L.current=a)}),[a]),t.useLayoutEffect((function(){return function(){C.current&&C.current.destroy()}}),[]),t.createElement("div",{id:r,className:i,ref:S})};return i.propTypes={id:c.string,className:c.string,onChange:c.func,onBlur:c.func,onFocus:c.func,onReady:c.func,onClick:c.func,options:c.object},i.displayName=o,i.__elementType=e,i},b="undefined"==typeof window,_=g("auBankAccount",b),w=g("card",b),E=g("cardNumber",b),O=g("cardExpiry",b),j=g("cardCvc",b),x=g("fpxBank",b),C=g("iban",b),S=g("idealBank",b),R=g("paymentRequestButton",b);e.AuBankAccountElement=_,e.CardCvcElement=j,e.CardElement=w,e.CardExpiryElement=O,e.CardNumberElement=E,e.Elements=f,e.ElementsConsumer=v,e.FpxBankElement=x,e.IbanElement=C,e.IdealBankElement=S,e.PaymentRequestButtonElement=R,e.useElements=function(){return d("calls useElements()").elements},e.useStripe=function(){return d("calls useStripe()").stripe},Object.defineProperty(e,"__esModule",{value:!0})}(t,n(1))},function(e,t){e.exports={}},function(e,t,n){var r=n(18);e.exports=function(e){return r[e+"Prototype"]}},function(e,t){e.exports=window.jQuery},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){var r=n(18),o=n(5),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){e.exports=n(90)},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(38),o=n(22);e.exports=function(e){return r(o(e))}},function(e,t){e.exports=!0},function(e,t,n){var r=n(41),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(23);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(15),o=n(51),i=n(14),c=n(39),a=Object.defineProperty;t.f=r?a:function(e,t,n){if(i(e),t=c(t,!0),i(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t){e.exports={}},function(e,t,n){e.exports=n(111)},function(e,t,n){var r=n(21),o=n(5);e.exports="process"==r(o.process)},function(e,t,n){var r,o,i=n(5),c=n(45),a=i.process,s=a&&a.versions,u=s&&s.v8;u?o=(r=u.split("."))[0]+r[1]:c&&(!(r=c.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=c.match(/Chrome\/(\d+)/))&&(o=r[1]),e.exports=o&&+o},function(e,t,n){var r=n(13);e.exports=function(e,t,n,o){o&&o.enumerable?e[t]=n:r(e,t,n)}},function(e,t,n){e.exports=n(131)},function(e,t,n){var r=n(8),o=n(21),i="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},function(e,t,n){var r=n(10);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(22);e.exports=function(e){return Object(r(e))}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(5),o=n(10),i=r.document,c=o(i)&&o(i.createElement);e.exports=function(e){return c?i.createElement(e):{}}},function(e,t,n){var r=n(5),o=n(75),i=r["__core-js_shared__"]||o("__core-js_shared__",{});e.exports=i},function(e,t,n){var r=n(14),o=n(102),i=n(29),c=n(30),a=n(69),s=n(103),u=function(e,t){this.stopped=e,this.result=t};e.exports=function(e,t,n){var l,p,f,d,v,m,y,h=n&&n.that,g=!(!n||!n.AS_ENTRIES),b=!(!n||!n.IS_ITERATOR),_=!(!n||!n.INTERRUPTED),w=c(t,h,1+g+_),E=function(e){return l&&s(l),new u(!0,e)},O=function(e){return g?(r(e),_?w(e[0],e[1],E):w(e[0],e[1])):_?w(e,E):w(e)};if(b)l=e;else{if("function"!=typeof(p=a(e)))throw TypeError("Target is not iterable");if(o(p)){for(f=0,d=i(e.length);d>f;f++)if((v=O(e[f]))&&v instanceof u)return v;return new u(!1)}l=p.call(e)}for(m=l.next;!(y=m.call(l)).done;){try{v=O(y.value)}catch(e){throw s(l),e}if("object"==typeof v&&v&&v instanceof u)return v}return new u(!1)}},function(e,t,n){var r=n(24);e.exports=r("navigator","userAgent")||""},function(e,t,n){var r=n(65),o=n(31).f,i=n(13),c=n(12),a=n(119),s=n(6)("toStringTag");e.exports=function(e,t,n,u){if(e){var l=n?e:e.prototype;c(l,s)||o(l,s,{configurable:!0,value:t}),u&&!r&&i(l,"toString",a)}}},function(e,t,n){"use strict";var r=n(23),o=function(e){var t,n;this.promise=new e((function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)};e.exports.f=function(e){return new o(e)}},function(e,t,n){var r,o,i,c=n(125),a=n(5),s=n(10),u=n(13),l=n(12),p=n(43),f=n(60),d=n(64),v=a.WeakMap;if(c){var m=p.state||(p.state=new v),y=m.get,h=m.has,g=m.set;r=function(e,t){return t.facade=e,g.call(m,e,t),t},o=function(e){return y.call(m,e)||{}},i=function(e){return h.call(m,e)}}else{var b=f("state");d[b]=!0,r=function(e,t){return t.facade=e,u(e,b,t),t},o=function(e){return l(e,b)?e[b]:{}},i=function(e){return l(e,b)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!s(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";n.d(t,"c",(function(){return u})),n.d(t,"e",(function(){return l})),n.d(t,"d",(function(){return p})),n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return d}));var r=n(33),o=n.n(r),i=n(20),c=n.n(i),a=n(2);const s=(e,t="wc_stripe_")=>{var n,r,o;return null===(n=Object(a.c)())||void 0===n||null===(r=n.ajax_url)||void 0===r||null===(o=r.toString())||void 0===o?void 0:o.replace("%%endpoint%%",t+e)},u=()=>{var e,t;const n={security:null===(e=Object(a.c)())||void 0===e||null===(t=e.nonce)||void 0===t?void 0:t.payment};return c.a.ajax({type:"POST",data:n,url:s("get_cart_details")})},l=(e,t)=>{var n,r,o;const i={security:null===(n=Object(a.c)())||void 0===n||null===(r=n.nonce)||void 0===r?void 0:r.shipping,payment_request_type:t,is_product_page:null===(o=Object(a.c)())||void 0===o?void 0:o.is_product_page,...Object(a.e)(e)};return c.a.ajax({type:"POST",data:i,url:s("get_shipping_options")})},p=e=>{var t,n,r;const o={security:null===(t=Object(a.c)())||void 0===t||null===(n=t.nonce)||void 0===n?void 0:n.update_shipping,shipping_method:[e.id],is_product_page:null===(r=Object(a.c)())||void 0===r?void 0:r.is_product_page};return c.a.ajax({type:"POST",data:o,url:s("update_shipping_method")})},f=(e,t)=>{const n=Object(a.f)(e,t);return c.a.ajax({type:"POST",data:n,dataType:"json",url:s("create_order")})};class d{constructor(e,t){this.stripe=null,this.options=e,this.request=t}getStripe(){const{key:e,locale:t,isUPEEnabled:n}=this.options;return this.stripe||(this.stripe=n?new Stripe(e,{betas:["payment_element_beta_1"],locale:t}):new Stripe(e,{locale:t})),this.stripe}loadStripe(){return new o.a(e=>{try{e(this.getStripe())}catch(t){e({error:t})}})}initSetupIntent(){console.error("TODO: Not implemented yet: initSetupIntent")}createIntent(e){var t;return this.request(s("create_payment_intent"),{stripe_order_id:e,_ajax_nonce:null===(t=Object(a.c)())||void 0===t?void 0:t.createPaymentIntentNonce}).then(e=>{if(!e.success)throw e.data.error;return e.data}).catch(e=>{throw e.message?e:new Error(e.statusText)})}confirmIntent(e,t){return console.error("TODO: Not implemented yet: confirmIntent"),!0}saveUPEAppearance(e){var t;return this.request(s("save_upe_appearance"),{appearance:e,_ajax_nonce:null===(t=Object(a.c)())||void 0===t?void 0:t.saveUPEAppearanceNonce}).then(e=>{if("failure"===e.result)throw new Error(e.messages);return e}).catch(e=>{throw e.message?e:new Error(e.statusText)})}processCheckout(e,t){return this.request(s("checkout",""),{...t,wc_payment_intent_id:e}).then(e=>{if("failure"===e.result)throw new Error(e.messages);return e}).catch(e=>{throw e.message?e:new Error(e.statusText)})}}},function(e,t,n){var r=n(15),o=n(57),i=n(26),c=n(27),a=n(39),s=n(12),u=n(51),l=Object.getOwnPropertyDescriptor;t.f=r?l:function(e,t){if(e=c(e),t=a(t,!0),u)try{return l(e,t)}catch(e){}if(s(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,n){var r=n(15),o=n(8),i=n(42);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){var r=n(27),o=n(29),i=n(63),c=function(e){return function(t,n,c){var a,s=r(t),u=o(s.length),l=i(c,u);if(e&&n!=n){for(;u>l;)if((a=s[l++])!=a)return!0}else for(;u>l;l++)if((e||l in s)&&s[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:c(!0),indexOf:c(!1)}},function(e,t,n){var r=n(34),o=n(35),i=n(8);e.exports=!!Object.getOwnPropertySymbols&&!i((function(){return!Symbol.sham&&(r?38===o:o>37&&o<41)}))},function(e,t,n){var r=n(65),o=n(21),i=n(6)("toStringTag"),c="Arguments"==o(function(){return arguments}());e.exports=r?o:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?n:c?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},function(e,t){e.exports=function(){}},,function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},function(e,t,n){var r=n(8),o=/#|\.prototype\./,i=function(e,t){var n=a[c(e)];return n==u||n!=s&&("function"==typeof t?r(t):!!t)},c=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},a=i.data={},s=i.NATIVE="N",u=i.POLYFILL="P";e.exports=i},function(e,t,n){var r=n(12),o=n(40),i=n(60),c=n(114),a=i("IE_PROTO"),s=Object.prototype;e.exports=c?Object.getPrototypeOf:function(e){return e=o(e),r(e,a)?e[a]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?s:null}},function(e,t,n){var r=n(61),o=n(62),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t,n){var r=n(28),o=n(43);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.9.1",mode:r?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++n+r).toString(36)}},function(e,t,n){var r=n(41),o=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):i(n,t)}},function(e,t){e.exports={}},function(e,t,n){var r={};r[n(6)("toStringTag")]="z",e.exports="[object z]"===String(r)},function(e,t){e.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},function(e,t,n){var r=n(21);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r,o=n(14),i=n(101),c=n(78),a=n(64),s=n(79),u=n(42),l=n(60)("IE_PROTO"),p=function(){},f=function(e){return"<script>"+e+"<\/script>"},d=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;d=r?function(e){e.write(f("")),e.close();var t=e.parentWindow.Object;return e=null,t}(r):((t=u("iframe")).style.display="none",s.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(f("document.F=Object")),e.close(),e.F);for(var n=c.length;n--;)delete d.prototype[c[n]];return d()};a[l]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(p.prototype=o(e),n=new p,p.prototype=null,n[l]=e):n=d(),void 0===t?n:i(n,t)}},function(e,t,n){var r=n(54),o=n(32),i=n(6)("iterator");e.exports=function(e){if(null!=e)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t,n){var r=n(8),o=n(6),i=n(35),c=o("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[c]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){var r=n(96);e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){var r=n(6)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(e){}}return!1}},,function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(5),o=n(13);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){var r=n(14),o=n(115);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(e){}return function(n,i){return r(n),o(i),t?e.call(n,i):n.__proto__=i,n}}():void 0)},function(e,t,n){var r=n(116),o=n(78);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){var r=n(24);e.exports=r("document","documentElement")},function(e,t,n){var r=n(53);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){var r=n(5);e.exports=r.Promise},function(e,t){e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},function(e,t,n){var r=n(43),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},function(e,t,n){var r=n(14),o=n(23),i=n(6)("species");e.exports=function(e,t){var n,c=r(e).constructor;return void 0===c||null==(n=r(c)[i])?t:o(n)}},function(e,t,n){var r,o,i,c=n(5),a=n(8),s=n(30),u=n(79),l=n(42),p=n(86),f=n(34),d=c.location,v=c.setImmediate,m=c.clearImmediate,y=c.process,h=c.MessageChannel,g=c.Dispatch,b=0,_={},w=function(e){if(_.hasOwnProperty(e)){var t=_[e];delete _[e],t()}},E=function(e){return function(){w(e)}},O=function(e){w(e.data)},j=function(e){c.postMessage(e+"",d.protocol+"//"+d.host)};v&&m||(v=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return _[++b]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},r(b),b},m=function(e){delete _[e]},f?r=function(e){y.nextTick(E(e))}:g&&g.now?r=function(e){g.now(E(e))}:h&&!p?(i=(o=new h).port2,o.port1.onmessage=O,r=s(i.postMessage,i,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts&&d&&"file:"!==d.protocol&&!a(j)?(r=j,c.addEventListener("message",O,!1)):r="onreadystatechange"in l("script")?function(e){u.appendChild(l("script")).onreadystatechange=function(){u.removeChild(this),w(e)}}:function(e){setTimeout(E(e),0)}),e.exports={set:v,clear:m}},function(e,t,n){var r=n(45);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},function(e,t,n){var r=n(14),o=n(10),i=n(47);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var r=n(7),o=n(107),i=n(59),c=n(76),a=n(46),s=n(13),u=n(36),l=n(6),p=n(28),f=n(32),d=n(89),v=d.IteratorPrototype,m=d.BUGGY_SAFARI_ITERATORS,y=l("iterator"),h=function(){return this};e.exports=function(e,t,n,l,d,g,b){o(n,t,l);var _,w,E,O=function(e){if(e===d&&R)return R;if(!m&&e in C)return C[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},j=t+" Iterator",x=!1,C=e.prototype,S=C[y]||C["@@iterator"]||d&&C[d],R=!m&&S||O(d),T="Array"==t&&C.entries||S;if(T&&(_=i(T.call(new e)),v!==Object.prototype&&_.next&&(p||i(_)===v||(c?c(_,v):"function"!=typeof _[y]&&s(_,y,h)),a(_,j,!0,!0),p&&(f[j]=h))),"values"==d&&S&&"values"!==S.name&&(x=!0,R=function(){return S.call(this)}),p&&!b||C[y]===R||s(C,y,R),f[t]=R,d)if(w={values:O("values"),keys:g?R:O("keys"),entries:O("entries")},b)for(E in w)(m||x||!(E in C))&&u(C,E,w[E]);else r({target:t,proto:!0,forced:m||x},w);return w}},function(e,t,n){"use strict";var r,o,i,c=n(8),a=n(59),s=n(13),u=n(12),l=n(6),p=n(28),f=l("iterator"),d=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):d=!0);var v=null==r||c((function(){var e={};return r[f].call(e)!==e}));v&&(r={}),p&&!v||u(r,f)||s(r,f,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},function(e,t,n){var r=n(91);e.exports=r},function(e,t,n){var r=n(92),o=n(94),i=Array.prototype,c=String.prototype;e.exports=function(e){var t=e.includes;return e===i||e instanceof Array&&t===i.includes?r:"string"==typeof e||e===c||e instanceof String&&t===c.includes?o:t}},function(e,t,n){n(93);var r=n(19);e.exports=r("Array").includes},function(e,t,n){"use strict";var r=n(7),o=n(52).includes,i=n(55);r({target:"Array",proto:!0},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("includes")},function(e,t,n){n(95);var r=n(19);e.exports=r("String").includes},function(e,t,n){"use strict";var r=n(7),o=n(71),i=n(22);r({target:"String",proto:!0,forced:!n(72)("includes")},{includes:function(e){return!!~String(i(this)).indexOf(o(e),arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){var r=n(10),o=n(21),i=n(6)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==o(e))}},function(e,t,n){var r=n(30),o=n(38),i=n(40),c=n(29),a=n(98),s=[].push,u=function(e){var t=1==e,n=2==e,u=3==e,l=4==e,p=6==e,f=7==e,d=5==e||p;return function(v,m,y,h){for(var g,b,_=i(v),w=o(_),E=r(m,y,3),O=c(w.length),j=0,x=h||a,C=t?x(v,O):n||f?x(v,0):void 0;O>j;j++)if((d||j in w)&&(b=E(g=w[j],j,_),e))if(t)C[j]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return j;case 2:s.call(C,g)}else switch(e){case 4:return!1;case 7:s.call(C,g)}return p?-1:u||l?l:C}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterOut:u(7)}},function(e,t,n){var r=n(10),o=n(67),i=n(6)("species");e.exports=function(e,t){var n;return o(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},function(e,t){e.exports="\t\n\v\f\r \u2028\u2029\ufeff"},,function(e,t,n){var r=n(15),o=n(31),i=n(14),c=n(77);e.exports=r?Object.defineProperties:function(e,t){i(e);for(var n,r=c(t),a=r.length,s=0;a>s;)o.f(e,n=r[s++],t[n]);return e}},function(e,t,n){var r=n(6),o=n(32),i=r("iterator"),c=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||c[i]===e)}},function(e,t,n){var r=n(14);e.exports=function(e){var t=e.return;if(void 0!==t)return r(t.call(e)).value}},function(e,t,n){var r=n(36);e.exports=function(e,t,n){for(var o in t)n&&n.unsafe&&e[o]?e[o]=t[o]:r(e,o,t[o],n);return e}},function(e,t,n){"use strict";var r=n(106).charAt,o=n(48),i=n(88),c=o.set,a=o.getterFor("String Iterator");i(String,"String",(function(e){c(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=a(this),n=t.string,o=t.index;return o>=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){var r=n(41),o=n(22),i=function(e){return function(t,n){var i,c,a=String(o(t)),s=r(n),u=a.length;return s<0||s>=u?e?"":void 0:(i=a.charCodeAt(s))<55296||i>56319||s+1===u||(c=a.charCodeAt(s+1))<56320||c>57343?e?a.charAt(s):i:e?a.slice(s,s+2):c-56320+(i-55296<<10)+65536}};e.exports={codeAt:i(!1),charAt:i(!0)}},function(e,t,n){"use strict";var r=n(89).IteratorPrototype,o=n(68),i=n(26),c=n(46),a=n(32),s=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=o(r,{next:i(1,n)}),c(e,u,!1,!0),a[u]=s,e}},function(e,t,n){"use strict";var r=n(27),o=n(55),i=n(32),c=n(48),a=n(88),s=c.set,u=c.getterFor("Array Iterator");e.exports=a(Array,"Array",(function(e,t){s(this,{type:"Array Iterator",target:r(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){"use strict";var r=n(39),o=n(31),i=n(26);e.exports=function(e,t,n){var c=r(t);c in e?o.f(e,c,i(0,n)):e[c]=n}},,function(e,t,n){var r=n(112);e.exports=r},function(e,t,n){n(113),n(117),n(118),n(126),n(127),n(128),n(105),n(129);var r=n(18);e.exports=r.Promise},function(e,t,n){"use strict";var r=n(7),o=n(59),i=n(76),c=n(68),a=n(13),s=n(26),u=n(44),l=function(e,t){var n=this;if(!(n instanceof l))return new l(e,t);i&&(n=i(new Error(void 0),o(n))),void 0!==t&&a(n,"message",String(t));var r=[];return u(e,r.push,{that:r}),a(n,"errors",r),n};l.prototype=c(Error.prototype,{constructor:s(5,l),message:s(5,""),name:s(5,"AggregateError")}),r({global:!0},{AggregateError:l})},function(e,t,n){var r=n(8);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){var r=n(10);e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){var r=n(12),o=n(27),i=n(52).indexOf,c=n(64);e.exports=function(e,t){var n,a=o(e),s=0,u=[];for(n in a)!r(c,n)&&r(a,n)&&u.push(n);for(;t.length>s;)r(a,n=t[s++])&&(~i(u,n)||u.push(n));return u}},function(e,t){},function(e,t,n){"use strict";var r,o,i,c,a=n(7),s=n(28),u=n(5),l=n(24),p=n(81),f=n(36),d=n(104),v=n(46),m=n(120),y=n(10),h=n(23),g=n(82),b=n(83),_=n(44),w=n(121),E=n(84),O=n(85).set,j=n(122),x=n(87),C=n(124),S=n(47),R=n(66),T=n(48),I=n(58),A=n(6),P=n(34),N=n(35),L=A("species"),k="Promise",M=T.get,D=T.set,V=T.getterFor(k),q=p,B=u.TypeError,U=u.document,F=u.process,Y=l("fetch"),H=S.f,W=H,G=!!(U&&U.createEvent&&u.dispatchEvent),$="function"==typeof PromiseRejectionEvent,z=I(k,(function(){if(b(q)===String(q)){if(66===N)return!0;if(!P&&!$)return!0}if(s&&!q.prototype.finally)return!0;if(N>=51&&/native code/.test(q))return!1;var e=q.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[L]=t,!(e.then((function(){}))instanceof t)})),X=z||!w((function(e){q.all(e).catch((function(){}))})),Z=function(e){var t;return!(!y(e)||"function"!=typeof(t=e.then))&&t},Q=function(e,t){if(!e.notified){e.notified=!0;var n=e.reactions;j((function(){for(var r=e.value,o=1==e.state,i=0;n.length>i;){var c,a,s,u=n[i++],l=o?u.ok:u.fail,p=u.resolve,f=u.reject,d=u.domain;try{l?(o||(2===e.rejection&&te(e),e.rejection=1),!0===l?c=r:(d&&d.enter(),c=l(r),d&&(d.exit(),s=!0)),c===u.promise?f(B("Promise-chain cycle")):(a=Z(c))?a.call(c,p,f):p(c)):f(r)}catch(e){d&&!s&&d.exit(),f(e)}}e.reactions=[],e.notified=!1,t&&!e.rejection&&J(e)}))}},K=function(e,t,n){var r,o;G?((r=U.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),u.dispatchEvent(r)):r={promise:t,reason:n},!$&&(o=u["on"+e])?o(r):"unhandledrejection"===e&&C("Unhandled promise rejection",n)},J=function(e){O.call(u,(function(){var t,n=e.facade,r=e.value;if(ee(e)&&(t=R((function(){P?F.emit("unhandledRejection",r,n):K("unhandledrejection",n,r)})),e.rejection=P||ee(e)?2:1,t.error))throw t.value}))},ee=function(e){return 1!==e.rejection&&!e.parent},te=function(e){O.call(u,(function(){var t=e.facade;P?F.emit("rejectionHandled",t):K("rejectionhandled",t,e.value)}))},ne=function(e,t,n){return function(r){e(t,r,n)}},re=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=2,Q(e,!0))},oe=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw B("Promise can't be resolved itself");var r=Z(t);r?j((function(){var n={done:!1};try{r.call(t,ne(oe,n,e),ne(re,n,e))}catch(t){re(n,t,e)}})):(e.value=t,e.state=1,Q(e,!1))}catch(t){re({done:!1},t,e)}}};z&&(q=function(e){g(this,q,k),h(e),r.call(this);var t=M(this);try{e(ne(oe,t),ne(re,t))}catch(e){re(t,e)}},(r=function(e){D(this,{type:k,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=d(q.prototype,{then:function(e,t){var n=V(this),r=H(E(this,q));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=P?F.domain:void 0,n.parent=!0,n.reactions.push(r),0!=n.state&&Q(n,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r,t=M(e);this.promise=e,this.resolve=ne(oe,t),this.reject=ne(re,t)},S.f=H=function(e){return e===q||e===i?new o(e):W(e)},s||"function"!=typeof p||(c=p.prototype.then,f(p.prototype,"then",(function(e,t){var n=this;return new q((function(e,t){c.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof Y&&a({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return x(q,Y.apply(u,arguments))}}))),a({global:!0,wrap:!0,forced:z},{Promise:q}),v(q,k,!1,!0),m(k),i=l(k),a({target:k,stat:!0,forced:z},{reject:function(e){var t=H(this);return t.reject.call(void 0,e),t.promise}}),a({target:k,stat:!0,forced:s||z},{resolve:function(e){return x(s&&this===i?q:this,e)}}),a({target:k,stat:!0,forced:X},{all:function(e){var t=this,n=H(t),r=n.resolve,o=n.reject,i=R((function(){var n=h(t.resolve),i=[],c=0,a=1;_(e,(function(e){var s=c++,u=!1;i.push(void 0),a++,n.call(t,e).then((function(e){u||(u=!0,i[s]=e,--a||r(i))}),o)})),--a||r(i)}));return i.error&&o(i.value),n.promise},race:function(e){var t=this,n=H(t),r=n.reject,o=R((function(){var o=h(t.resolve);_(e,(function(e){o.call(t,e).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},function(e,t,n){"use strict";var r=n(65),o=n(54);e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},function(e,t,n){"use strict";var r=n(24),o=n(31),i=n(6),c=n(15),a=i("species");e.exports=function(e){var t=r(e),n=o.f;c&&t&&!t[a]&&n(t,a,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(6)("iterator"),o=!1;try{var i=0,c={next:function(){return{done:!!i++}},return:function(){o=!0}};c[r]=function(){return this},Array.from(c,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(e){}return n}},function(e,t,n){var r,o,i,c,a,s,u,l,p=n(5),f=n(50).f,d=n(85).set,v=n(86),m=n(123),y=n(34),h=p.MutationObserver||p.WebKitMutationObserver,g=p.document,b=p.process,_=p.Promise,w=f(p,"queueMicrotask"),E=w&&w.value;E||(r=function(){var e,t;for(y&&(e=b.domain)&&e.exit();o;){t=o.fn,o=o.next;try{t()}catch(e){throw o?c():i=void 0,e}}i=void 0,e&&e.enter()},v||y||m||!h||!g?_&&_.resolve?(u=_.resolve(void 0),l=u.then,c=function(){l.call(u,r)}):c=y?function(){b.nextTick(r)}:function(){d.call(p,r)}:(a=!0,s=g.createTextNode(""),new h(r).observe(s,{characterData:!0}),c=function(){s.data=a=!a})),e.exports=E||function(e){var t={fn:e,next:void 0};i&&(i.next=t),o||(o=t,c()),i=t}},function(e,t,n){var r=n(45);e.exports=/web0s(?!.*chrome)/i.test(r)},function(e,t,n){var r=n(5);e.exports=function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){var r=n(5),o=n(83),i=r.WeakMap;e.exports="function"==typeof i&&/native code/.test(o(i))},function(e,t,n){"use strict";var r=n(7),o=n(23),i=n(47),c=n(66),a=n(44);r({target:"Promise",stat:!0},{allSettled:function(e){var t=this,n=i.f(t),r=n.resolve,s=n.reject,u=c((function(){var n=o(t.resolve),i=[],c=0,s=1;a(e,(function(e){var o=c++,a=!1;i.push(void 0),s++,n.call(t,e).then((function(e){a||(a=!0,i[o]={status:"fulfilled",value:e},--s||r(i))}),(function(e){a||(a=!0,i[o]={status:"rejected",reason:e},--s||r(i))}))})),--s||r(i)}));return u.error&&s(u.value),n.promise}})},function(e,t,n){"use strict";var r=n(7),o=n(23),i=n(24),c=n(47),a=n(66),s=n(44);r({target:"Promise",stat:!0},{any:function(e){var t=this,n=c.f(t),r=n.resolve,u=n.reject,l=a((function(){var n=o(t.resolve),c=[],a=0,l=1,p=!1;s(e,(function(e){var o=a++,s=!1;c.push(void 0),l++,n.call(t,e).then((function(e){s||p||(p=!0,r(e))}),(function(e){s||p||(s=!0,c[o]=e,--l||u(new(i("AggregateError"))(c,"No one promise resolved")))}))})),--l||u(new(i("AggregateError"))(c,"No one promise resolved"))}));return l.error&&u(l.value),n.promise}})},function(e,t,n){"use strict";var r=n(7),o=n(28),i=n(81),c=n(8),a=n(24),s=n(84),u=n(87),l=n(36);r({target:"Promise",proto:!0,real:!0,forced:!!i&&c((function(){i.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=s(this,a("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),o||"function"!=typeof i||i.prototype.finally||l(i.prototype,"finally",a("Promise").prototype.finally)},function(e,t,n){n(108);var r=n(130),o=n(5),i=n(54),c=n(13),a=n(32),s=n(6)("toStringTag");for(var u in r){var l=o[u],p=l&&l.prototype;p&&i(p)!==s&&c(p,s,u),a[u]=a.Array}},function(e,t){e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(e,t,n){var r=n(132);e.exports=r},function(e,t,n){var r=n(133),o=Array.prototype;e.exports=function(e){var t=e.slice;return e===o||e instanceof Array&&t===o.slice?r:t}},function(e,t,n){n(134);var r=n(19);e.exports=r("Array").slice},function(e,t,n){"use strict";var r=n(7),o=n(10),i=n(67),c=n(63),a=n(29),s=n(27),u=n(109),l=n(6),p=n(70)("slice"),f=l("species"),d=[].slice,v=Math.max;r({target:"Array",proto:!0,forced:!p},{slice:function(e,t){var n,r,l,p=s(this),m=a(p.length),y=c(e,m),h=c(void 0===t?m:t,m);if(i(p)&&("function"!=typeof(n=p.constructor)||n!==Array&&!i(n.prototype)?o(n)&&null===(n=n[f])&&(n=void 0):n=void 0,n===Array||void 0===n))return d.call(p,y,h);for(r=new(void 0===n?Array:n)(v(h-y,0)),l=0;y<h;y++,l++)y in p&&u(r,l,p[y]);return r.length=l,r}})},function(e,t,n){var r=n(22),o="["+n(99)+"]",i=RegExp("^"+o+o+"*"),c=RegExp(o+o+"*$"),a=function(e){return function(t){var n=String(r(t));return 1&e&&(n=n.replace(i,"")),2&e&&(n=n.replace(c,"")),n}};e.exports={start:a(1),end:a(2),trim:a(3)}},,,function(e,t){e.exports=window.wc.wcBlocksRegistry},,,,,,function(e,t,n){e.exports=n(159)},function(e,t,n){e.exports=n(163)},function(e,t,n){e.exports=n(167)},function(e,t){e.exports=window.wc.wcSettings},,,,,,,,,,,,function(e,t,n){var r=n(160);e.exports=r},function(e,t,n){var r=n(161),o=Array.prototype;e.exports=function(e){var t=e.map;return e===o||e instanceof Array&&t===o.map?r:t}},function(e,t,n){n(162);var r=n(19);e.exports=r("Array").map},function(e,t,n){"use strict";var r=n(7),o=n(97).map;r({target:"Array",proto:!0,forced:!n(70)("map")},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){var r=n(164);e.exports=r},function(e,t,n){n(165);var r=n(18);e.exports=r.Object.entries},function(e,t,n){var r=n(7),o=n(166).entries;r({target:"Object",stat:!0},{entries:function(e){return o(e)}})},function(e,t,n){var r=n(15),o=n(77),i=n(27),c=n(57).f,a=function(e){return function(t){for(var n,a=i(t),s=o(a),u=s.length,l=0,p=[];u>l;)n=s[l++],r&&!c.call(a,n)||p.push(e?[n,a[n]]:a[n]);return p}};e.exports={entries:a(!0),values:a(!1)}},function(e,t,n){var r=n(168);e.exports=r},function(e,t,n){n(169);var r=n(18);e.exports=r.parseInt},function(e,t,n){var r=n(7),o=n(170);r({global:!0,forced:parseInt!=o},{parseInt:o})},function(e,t,n){var r=n(5),o=n(135).trim,i=n(99),c=r.parseInt,a=/^[+-]?0[Xx]/,s=8!==c(i+"08")||22!==c(i+"0x16");e.exports=s?function(e,t){var n=o(String(e));return c(n,t>>>0||(a.test(n)?16:10))}:c},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t);var r=n(138),o=n(16),i=n.n(o),c=n(0),a=n(33),s=n.n(a),u=n(3),l=n(2),p=n(144),f=n.n(p),d=n(145),v=n.n(d),m=n(17);const y=(e,t,n,r)=>{Object(c.useEffect)(()=>{const o=t(async({processingResponse:t})=>{const o=t.paymentDetails||{},i=await(({stripe:e,paymentDetails:t,errorContext:n,errorType:r,successType:o})=>{const i={type:o};if(!t.setup_intent_secret&&!t.payment_intent_secret)return!0;const c=!!t.setup_intent_secret,a=t.verification_endpoint,s=c?t.setup_intent_secret:t.payment_intent_secret;return e[c?"confirmCardSetup":"confirmCardPayment"](s).then((function(e){if(e.error)throw e.error;const t=e[c?"setupIntent":"paymentIntent"];return"requires_capture"!==t.status&&"succeeded"!==t.status||(i.redirectUrl=a),i})).catch((function(e){return i.type=r,i.message=e.message,i.retry=!0,i.messageContext=n,window.fetch(a+"&is_ajax"),i}))})({stripe:e,paymentDetails:o,errorContext:r.noticeContexts.PAYMENTS,errorType:r.responseTypes.ERROR,successType:r.responseTypes.SUCCESS});return i.type===r.responseTypes.ERROR&&i.retry&&n(""),i});return()=>o()},[t,r.noticeContexts.PAYMENTS,r.responseTypes.ERROR,r.responseTypes.SUCCESS,n,e])},h=()=>{},g=({eventRegistration:e,emitResponse:t})=>{const n=Object(m.useStripe)(),{onCheckoutAfterProcessingWithSuccess:r}=e;return y(n,r,h,t),null};var b=n(4);const _={style:{base:{iconColor:"#666EE8",color:"#31325F",fontSize:((e,t,n)=>{let r={};if("object"==typeof document&&"function"==typeof document.querySelector&&"function"==typeof window.getComputedStyle){const e=document.querySelector(".wc-block-checkout");e&&(r=window.getComputedStyle(e))}return r.fontSize||"16px"})(),lineHeight:1.375,"::placeholder":{color:"#fff"}}},classes:{focus:"focused",empty:"empty",invalid:"has-error"}},w=e=>{const[t,n]=Object(c.useState)(!1),[r,o]=Object(c.useState)({..._,...e}),[i,a]=Object(c.useState)("");return Object(c.useEffect)(()=>{const e=t?"#CFD7E0":"#fff";o(n=>{const r=void 0!==n.showIcon?{showIcon:t}:{};return{...n,style:{...n.style,base:{...n.style.base,"::placeholder":{color:e}}},...r}})},[t]),{options:r,onActive:Object(c.useCallback)(e=>{n(!e||(e=>!e))},[n]),error:i,setError:a}},E=({inputErrorComponent:e,onChange:t})=>{const[n,r]=Object(c.useState)(!0),{options:o,onActive:i,error:a,setError:s}=w({hidePostalCode:!0});return Object(c.createElement)(c.Fragment,null,Object(c.createElement)("div",{className:"wc-block-gateway-container wc-inline-card-element"},Object(c.createElement)(m.CardElement,{id:"wc-stripe-inline-card-element",className:"wc-block-gateway-input",options:o,onBlur:()=>i(n),onFocus:()=>i(n),onChange:e=>{e.error?s(e.error.message):s(""),r(e.empty),t(e)}}),Object(c.createElement)("label",{htmlFor:"wc-stripe-inline-card-element"},Object(u.__)("Credit Card Information","woocommerce-gateway-stripe"))),Object(c.createElement)(e,{errorMessage:a}))},O=({onChange:e,inputErrorComponent:t})=>{const[n,r]=Object(c.useState)({cardNumber:!0,cardExpiry:!0,cardCvc:!0}),{options:o,onActive:i,error:a,setError:s}=w({showIcon:!1}),{options:l,onActive:p,error:f,setError:d}=w(),{options:v,onActive:y,error:h,setError:g}=w(),b=(t,o)=>i=>{i.error?t(i.error.message):t(""),r({...n,[o]:i.empty}),e(i)};return Object(c.createElement)("div",{className:"wc-block-card-elements"},Object(c.createElement)("div",{className:"wc-block-gateway-container wc-card-number-element"},Object(c.createElement)(m.CardNumberElement,{onChange:b(s,"cardNumber"),options:o,className:"wc-block-gateway-input",id:"wc-stripe-card-number-element",onFocus:()=>i(n.cardNumber),onBlur:()=>i(n.cardNumber)}),Object(c.createElement)("label",{htmlFor:"wc-stripe-card-number-element"},Object(u.__)("Card Number","woocommerce-gateway-stripe")),Object(c.createElement)(t,{errorMessage:a})),Object(c.createElement)("div",{className:"wc-block-gateway-container wc-card-expiry-element"},Object(c.createElement)(m.CardExpiryElement,{onChange:b(d,"cardExpiry"),options:l,className:"wc-block-gateway-input",onFocus:()=>p(n.cardExpiry),onBlur:()=>p(n.cardExpiry),id:"wc-stripe-card-expiry-element"}),Object(c.createElement)("label",{htmlFor:"wc-stripe-card-expiry-element"},Object(u.__)("Expiry Date","woocommerce-gateway-stripe")),Object(c.createElement)(t,{errorMessage:f})),Object(c.createElement)("div",{className:"wc-block-gateway-container wc-card-cvc-element"},Object(c.createElement)(m.CardCvcElement,{onChange:b(g,"cardCvc"),options:v,className:"wc-block-gateway-input",onFocus:()=>y(n.cardCvc),onBlur:()=>y(n.cardCvc),id:"wc-stripe-card-code-element"}),Object(c.createElement)("label",{htmlFor:"wc-stripe-card-code-element"},Object(u.__)("CVV/CVC","woocommerce-gateway-stripe")),Object(c.createElement)(t,{errorMessage:h})))},j=()=>{var e,t,n;return f()(e=v()(null!==(t=null===(n=Object(l.c)())||void 0===n?void 0:n.icons)&&void 0!==t?t:{})).call(e,([e,{src:t,alt:n}])=>({id:e,src:t,alt:n}))},x=({billing:e,eventRegistration:t,emitResponse:n,components:r})=>{var o;const{ValidationInputError:i,PaymentMethodIcons:a}=r,[s,u]=Object(c.useState)(""),p=Object(m.useStripe)(),f=((e,t,n,r,o,i)=>{const[a,s]=Object(c.useState)(""),u=Object(c.useCallback)(e=>{var t;const n=e.error.type,r=e.error.code||"",o=null!==(t=Object(l.b)(n,r))&&void 0!==t?t:e.error.message;return s(o),o},[]),{onCheckoutAfterProcessingWithSuccess:p,onPaymentProcessing:f,onCheckoutAfterProcessingWithError:d}=e;return y(i,p,r,o),((e,t,n,r,o,i,a,s)=>{const u=Object(m.useElements)();Object(c.useEffect)(()=>{const c=s(async()=>{try{var c,s;const p=r.billingData;if(t)return{type:o.responseTypes.ERROR,message:t};if(""!==i)return{type:o.responseTypes.SUCCESS,meta:{paymentMethodData:{paymentMethod:"stripe",paymentRequestType:"cc",stripe_source:i},billingData:p}};const f={address:{line1:p.address_1,line2:p.address_2,city:p.city,state:p.state,postal_code:p.postcode,country:p.country}};p.phone&&(f.phone=p.phone),p.email&&(f.email=p.email),(p.first_name||p.last_name)&&(f.name=`${p.first_name} ${p.last_name}`);const d=await(async e=>{var t;const r="yes"===(null===(t=Object(l.c)())||void 0===t?void 0:t.inline_cc_form)?m.CardElement:m.CardNumberElement;return await n.createSource(null==u?void 0:u.getElement(r),{type:"card",owner:e})})(f);if(d.error)return{type:o.responseTypes.ERROR,message:e(d)};if(!d.source||!d.source.id)throw new Error(Object(l.b)(b.b.API_ERROR));return a(d.source.id),{type:o.responseTypes.SUCCESS,meta:{paymentMethodData:{stripe_source:d.source.id,billing_email:f.email,billing_first_name:null!==(c=null==p?void 0:p.first_name)&&void 0!==c?c:"",billing_last_name:null!==(s=null==p?void 0:p.last_name)&&void 0!==s?s:"",paymentMethod:"stripe",paymentRequestType:"cc"},billingData:p}}}catch(e){return{type:o.responseTypes.ERROR,message:e}}});return()=>{c()}},[s,r.billingData,n,i,a,e,t,o.noticeContexts.PAYMENTS,o.responseTypes.ERROR,o.responseTypes.SUCCESS,u])})(u,a,i,t,o,n,r,f),Object(c.useEffect)(()=>{const e=d(({processingResponse:e})=>{var t;return null==e||null===(t=e.paymentDetails)||void 0===t||!t.errorMessage||{type:o.responseTypes.ERROR,message:e.paymentDetails.errorMessage,messageContext:o.noticeContexts.PAYMENTS}});return()=>{e()}},[d,o.noticeContexts.PAYMENTS,o.responseTypes.ERROR]),u})(t,e,s,u,n,p),d=e=>{e.error&&f(e),u("")},v=j(),h="yes"===(null===(o=Object(l.c)())||void 0===o?void 0:o.inline_cc_form)?Object(c.createElement)(E,{onChange:d,inputErrorComponent:i}):Object(c.createElement)(O,{onChange:d,inputErrorComponent:i});return Object(c.createElement)(c.Fragment,null,h,a&&v.length&&Object(c.createElement)(a,{icons:v,align:"left"}))},C=e=>{const{stripe:t}=e;return Object(c.createElement)(m.Elements,{stripe:t},Object(c.createElement)(x,e))};var S,R,T,I,A,P;const N=Object(l.d)(),L=({RenderedComponent:e,...t})=>{const[n,r]=Object(c.useState)("");return Object(c.useEffect)(()=>{s.a.resolve(N).then(({error:e})=>{e&&r(e.message)})},[r]),Object(c.useEffect)(()=>{if(n)throw new Error(n)},[n]),Object(c.createElement)(e,i()({stripe:N},t))},k=j();var M={name:"stripe",label:Object(c.createElement)(e=>{var t,n;const{PaymentMethodLabel:r}=e.components,o=null!==(t=null===(n=Object(l.c)())||void 0===n?void 0:n.title)&&void 0!==t?t:Object(u.__)("Credit / Debit Card","woocommerce-gateway-stripe");return Object(c.createElement)(r,{text:o})},null),content:Object(c.createElement)(L,{RenderedComponent:C}),edit:Object(c.createElement)(L,{RenderedComponent:C}),savedTokenComponent:Object(c.createElement)(L,{RenderedComponent:({stripe:e,...t})=>Object(c.createElement)(m.Elements,{stripe:e},Object(c.createElement)(g,t))}),icons:k,canMakePayment:()=>N,ariaLabel:Object(u.__)("Stripe Credit Card payment method","woocommerce-gateway-stripe"),supports:{showSavedCards:null!==(S=null===(R=Object(l.c)())||void 0===R?void 0:R.showSavedCards)&&void 0!==S&&S,showSaveOption:null!==(T=null===(I=Object(l.c)())||void 0===I?void 0:I.showSaveOption)&&void 0!==T&&T,features:null!==(A=null===(P=Object(l.c)())||void 0===P?void 0:P.supports)&&void 0!==A?A:[]}},D=n(146),V=n.n(D),q=n(147),B=n(25),U=n.n(B);const F=({onButtonClicked:e})=>{var t,n;const{theme:r="dark",locale:o="en",height:i="44"}=null===(t=Object(l.c)())||void 0===t?void 0:t.button,a=["short","long"],{branded_type:s}=null===(n=Object(l.c)())||void 0===n?void 0:n.button,u=U()(a).call(a,s)?s:"long",p=((e,t,n)=>{const r="long"===e?`https://www.gstatic.com/instantbuy/svg/${t}/${n}.svg`:`https://www.gstatic.com/instantbuy/svg/${t}_gpay.svg`,[o,i]=Object(c.useState)(r);return Object(c.useEffect)(()=>{const e=document.createElement("img");e.addEventListener("error",()=>{i(`https://www.gstatic.com/instantbuy/svg/${t}/en.svg`)}),e.src=o},[o,t]),o})(u,"dark"===r?"dark":"light",o);return Object(c.createElement)("button",{type:"button",id:"wc-stripe-branded-button","aria-label":"Google Pay",className:`gpay-button ${r} ${u}`,style:{backgroundImage:`url(${p})`,height:i+"px"},onClick:e})},Y=({onButtonClicked:e})=>{var t;const{theme:n="dark",height:r="44",customLabel:o=Object(u.__)("Buy now","woocommerce-gateway-stripe")}=null===(t=Object(l.c)())||void 0===t?void 0:t.button;return Object(c.createElement)("button",{type:"button",id:"wc-stripe-custom-button",className:`button ${n} is-active`,style:{height:r+"px"},onClick:e},o)};var H=n(49),W=n(20),G=n.n(W);const $=e=>{const{shippingOption:t}=e;Object(H.d)(t).then(t=>{"success"===t.result&&e.updateWith({status:"success",total:t.total,displayItems:t.displayItems}),"fail"===t.result&&e.updateWith({status:"fail"})})},z=(e,t,n,r)=>{Object(c.useEffect)(()=>{const o=null==t?void 0:t.on("source",((e,t,n)=>r=>{var o,i,c,a,s,u;"yes"===(null===(o=Object(l.c)())||void 0===o||null===(i=o.stripe)||void 0===i?void 0:i.allow_prepaid_card)||"prepaid"!==(null==r||null===(c=r.source)||void 0===c||null===(a=c.card)||void 0===a?void 0:a.funding)?Object(H.a)(r,t).then(((e,t,n)=>r=>{if("success"===r.result){t.complete("success");const o=(e=>{const t=e.match(/^#?confirm-(pi|si)-([^:]+):(.+)$/);if(t&&!(t.length<4))return{type:t[1],clientSecret:t[2],redirectUrl:decodeURIComponent(t[3])}})(r.redirect);if(!o||o.length<4)return void(window.location=r.redirect);const{type:i,clientSecret:c,redirectUrl:a}=o;((e,t,n)=>"si"===t?e.handleCardSetup(n):e.handleCardPayment(n))(e,i,c).then(((e,t)=>n=>{if(n.error)throw n.error;const r=((e,t)=>"si"===t?e.setupIntent:e.paymentIntent)(n,t);((e=>"requires_capture"===e.status)(r)||(e=>"succeeded"===e.status)(r))&&(window.location=e)})(a,i)).catch(e=>{n(e.message),G.a.get(a+"&is_ajax")})}else{var o,i;t.complete("fail");const e=document.createElement("div");e.innerHTML=r.messages;const c=null!==(o=null==e||null===(i=e.firstChild)||void 0===i?void 0:i.textContent)&&void 0!==o?o:"";n(c)}})(e,r,n)):n(null===(s=Object(l.c)())||void 0===s||null===(u=s.i18n)||void 0===u?void 0:u.no_prepaid_card)})(e,n,r));return()=>{null==o||o.removeEventListener("source")}},[e,t,n,r])},X=({billing:e,shippingData:t,onClick:n,onClose:r,setExpressPaymentError:o})=>{var i,a,s,u,p,f,d;const v=Object(m.useStripe)(),{needsShipping:y}=t,[h,g]=((e,t,n)=>{const[r,o]=Object(c.useState)(null),[i,a]=Object(c.useState)(null);return Object(c.useEffect)(()=>{e&&(async()=>{const t=await Object(H.c)(),n=Object(l.a)(e,t),r=await n.canMakePayment();r?(o(n),a(()=>r.applePay?"apple_pay":r.googlePay?"google_pay":"payment_request_api")):o(null)})()},[e,t,n.cartTotal,n.cartTotalItems,n.currency.code]),[r,i]})(v,y,e);((e,t)=>{Object(c.useEffect)(()=>{const n=null==e?void 0:e.on("shippingaddresschange",(e=>t=>{const{shippingAddress:n}=t;Object(H.e)(n,e).then(e=>{t.updateWith({status:e.result,shippingOptions:e.shipping_options,total:e.total,displayItems:e.displayItems})})})(t));return()=>{null==n||n.removeEventListener("shippingaddresschange")}},[e,t])})(h,g),((e,t)=>{Object(c.useEffect)(()=>{const t=null==e?void 0:e.on("shippingoptionchange",$);return()=>{null==t||t.removeEventListener("shippingoptionchange")}},[e,t])})(h,g),z(v,h,g,o);const b=((e,t,n)=>Object(c.useCallback)((r,o)=>{var i;if(null!==(i=Object(l.c)())&&void 0!==i&&i.login_confirmation)return r.preventDefault(),void(e=>{var t,n,r;if(null===(t=Object(l.c)())||void 0===t||!t.login_confirmation)return;let o=null===(n=Object(l.c)())||void 0===n||null===(r=n.login_confirmation)||void 0===r?void 0:r.message;var i,c;"payment_request_api"!==e&&(o=o.replace(/\*\*.*?\*\*/,"apple_pay"===e?"Apple Pay":"Google Pay")),o=o.replace(/\*\*/g,""),confirm(o)&&(window.location.href=null===(i=Object(l.c)())||void 0===i||null===(c=i.login_confirmation)||void 0===c?void 0:c.redirect_url)})(e);t(""),n(),o&&o.show()},[e,t,n]))(g,o,n);((e,t)=>{Object(c.useEffect)(()=>{const n=null==e?void 0:e.on("cancel",t);return()=>{null==n||n.removeEventListener("cancel")}},[e,t])})(h,r);const{type:_="default",theme:w="dark",height:E="48"}=null===(i=Object(l.c)())||void 0===i?void 0:i.button,O={paymentRequestButton:{type:_,theme:w,height:E+"px"}},j=null===(a=Object(l.c)())||void 0===a||null===(s=a.button)||void 0===s?void 0:s.is_branded,x=null===(u=Object(l.c)())||void 0===u||null===(p=u.button)||void 0===p?void 0:p.branded_type,C=null===(f=Object(l.c)())||void 0===f||null===(d=f.button)||void 0===d?void 0:d.is_custom;return h?C?Object(c.createElement)(Y,{onButtonClicked:e=>{b(e,h)}}):j&&(()=>{const e=window.navigator.userAgent.toLowerCase(),t=/chrome/.test(e)&&!/edge|edg|opr|brave\//.test(e)&&"Google Inc."===window.navigator.vendor,n=t&&window.navigator.brave;return t&&!n})()?Object(c.createElement)(F,{onButtonClicked:e=>{b(e,h)}}):(j&&(O.paymentRequestButton.type="long"===x?"buy":"default"),Object(c.createElement)(m.PaymentRequestButtonElement,{onClick:b,options:{style:O,paymentRequest:h}})):null};var Z,Q;const K=Object(l.d)();var J={name:"payment_request",content:Object(c.createElement)(e=>{const{stripe:t}=e;return Object(c.createElement)(m.Elements,{stripe:t},Object(c.createElement)(X,e))},{stripe:K}),edit:Object(c.createElement)(()=>Object(c.createElement)("img",{src:"data:image/svg+xml,%3Csvg width='264' height='48' viewBox='0 0 264 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='264' height='48' rx='3' fill='black'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M125.114 16.6407C125.682 15.93 126.067 14.9756 125.966 14C125.135 14.0415 124.121 14.549 123.533 15.2602C123.006 15.8693 122.539 16.8641 122.661 17.7983C123.594 17.8797 124.526 17.3317 125.114 16.6407Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M125.955 17.982C124.601 17.9011 123.448 18.7518 122.801 18.7518C122.154 18.7518 121.163 18.0224 120.092 18.0421C118.696 18.0629 117.402 18.8524 116.694 20.1079C115.238 22.6196 116.31 26.3453 117.726 28.3909C118.414 29.4028 119.242 30.5174 120.334 30.4769C121.366 30.4365 121.77 29.8087 123.024 29.8087C124.277 29.8087 124.641 30.4769 125.733 30.4567C126.865 30.4365 127.573 29.4443 128.261 28.4313C129.049 27.2779 129.373 26.1639 129.393 26.1027C129.373 26.0825 127.209 25.2515 127.189 22.7606C127.169 20.6751 128.888 19.6834 128.969 19.6217C127.998 18.1847 126.481 18.0224 125.955 17.982Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M136.131 23.1804H138.834C140.886 23.1804 142.053 22.0752 142.053 20.1592C142.053 18.2432 140.886 17.1478 138.845 17.1478H136.131V23.1804ZM139.466 15.1582C142.411 15.1582 144.461 17.1903 144.461 20.1483C144.461 23.1172 142.369 25.1596 139.392 25.1596H136.131V30.3498H133.775V15.1582H139.466Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M152.198 26.224V25.3712L149.579 25.5397C148.106 25.6341 147.339 26.182 147.339 27.14C147.339 28.0664 148.138 28.6667 149.39 28.6667C150.988 28.6667 152.198 27.6449 152.198 26.224ZM145.046 27.2032C145.046 25.2551 146.529 24.1395 149.263 23.971L152.198 23.7922V22.9498C152.198 21.7181 151.388 21.0442 149.947 21.0442C148.758 21.0442 147.896 21.6548 147.717 22.5916H145.592C145.656 20.6232 147.507 19.1914 150.01 19.1914C152.703 19.1914 154.459 20.602 154.459 22.7917V30.351H152.282V28.5298H152.229C151.609 29.719 150.241 30.4666 148.758 30.4666C146.571 30.4666 145.046 29.1612 145.046 27.2032Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M156.461 34.4145V32.5934C156.608 32.6141 156.965 32.6354 157.155 32.6354C158.196 32.6354 158.785 32.1932 159.142 31.0564L159.353 30.3824L155.366 19.3281H157.827L160.604 28.298H160.657L163.434 19.3281H165.832L161.698 30.9402C160.752 33.6038 159.668 34.4778 157.376 34.4778C157.197 34.4778 156.618 34.4565 156.461 34.4145Z' fill='white'/%3E%3C/svg%3E%0A",alt:""}),null),canMakePayment:e=>{var t,n,r;return!(null===(t=null===(n=Object(l.c)())||void 0===n?void 0:n.isAdmin)||void 0===t||!t)||!(null===(r=Object(l.c)())||void 0===r||!r.shouldShowPaymentRequestButton)&&Object(l.d)().then(t=>{var n,r,o,i,c;const a={order_data:{total:{label:"Total",amount:V()(null!==(n=null==e||null===(r=e.cartTotals)||void 0===r?void 0:r.total_price)&&void 0!==n?n:0,10),pending:!0},currency:null==e||null===(o=e.cartTotals)||void 0===o||null===(i=o.currency_code)||void 0===i?void 0:i.toLowerCase(),country_code:null===(c=Object(q.getSetting)("baseLocation",{}))||void 0===c?void 0:c.country,displayItems:[]},shipping_required:!1};return Object(l.a)(t,a).canMakePayment()})},paymentMethodId:"stripe",supports:{features:null!==(Z=null===(Q=Object(l.c)())||void 0===Q?void 0:Q.supports)&&void 0!==Z?Z:[]}};Object(r.registerPaymentMethod)(M),Object(r.registerExpressPaymentMethod)(J)}]);
|
build/style-upe_classic.css
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
#payment .payment_methods li .payment_box.payment_method_woocommerce_payments fieldset{padding:0}#payment .payment_method_woocommerce_payments>fieldset>legend{padding-top:0}#payment .payment_method_woocommerce_payments .testmode-info{margin-bottom:0.5em}#payment .payment_method_woocommerce_payments .woocommerce-error{margin:1em 0 0}#wc-stripe-card-element,#wc-stripe-sepa-element{border:1px solid #ddd;padding:5px 7px;min-height:29px}#wc-stripe-upe-element{padding:7px 7px;margin-bottom:0.5em}#wc-stripe-upe-element.processing{min-height:70px}.wc-stripe-card-mounted,.wc-stripe-upe-mounted,.wc-stripe-sepa-mounted{background-color:#fff}
|
2 |
+
|
build/upe_classic.asset.php
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<?php return array('dependencies' => array('jquery', 'wp-i18n', 'wp-polyfill'), 'version' => 'bc1248c46dcfd3466ebb8e53bf07298e');
|
build/upe_classic.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(window.webpackJsonp_woocommerce_gateway_stripe=window.webpackJsonp_woocommerce_gateway_stripe||[]).push([[2],{189:function(e,t,r){}}]),function(e){function t(t){for(var n,a,c=t[0],s=t[1],u=t[2],f=0,p=[];f<c.length;f++)a=c[f],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n]);for(l&&l(t);p.length;)p.shift()();return i.push.apply(i,u||[]),r()}function r(){for(var e,t=0;t<i.length;t++){for(var r=i[t],n=!0,c=1;c<r.length;c++){var s=r[c];0!==o[s]&&(n=!1)}n&&(i.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={3:0},i=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="";var c=window.webpackJsonp_woocommerce_gateway_stripe=window.webpackJsonp_woocommerce_gateway_stripe||[],s=c.push.bind(c);c.push=t,c=c.slice();for(var u=0;u<c.length;u++)t(c[u]);var l=s;i.push([217,2]),r()}([,,function(e,t,r){"use strict";r.d(t,"f",(function(){return p})),r.d(t,"e",(function(){return h})),r.d(t,"a",(function(){return l})),r.d(t,"c",(function(){return u})),r.d(t,"b",(function(){return f})),r.d(t,"d",(function(){return S}));var n=r(37),o=r.n(n),i=r(25),a=r.n(i),c=r(3),s=r(4);const u=()=>{var e,t;const r="undefined"!=typeof wc_stripe_upe_params?wc_stripe_upe_params:null===(e=wc)||void 0===e||null===(t=e.wcSettings)||void 0===t?void 0:t.getSetting("stripe_data",null);if(!r)throw new Error("Stripe initialization data is not available");return r},l=(e,t)=>{var r,n;const o={total:t.order_data.total,currency:t.order_data.currency,country:t.order_data.country_code,requestPayerName:!0,requestPayerEmail:!0,requestPayerPhone:null===(r=u())||void 0===r||null===(n=r.checkout)||void 0===n?void 0:n.needs_payer_phone,requestShipping:!!t.shipping_required,displayItems:t.order_data.displayItems};return"PR"===o.country&&(o.country="US"),e.paymentRequest(o)},f=(e,t="")=>{switch(e){case s.b.INVALID_EMAIL:return Object(c.__)("Invalid email address, please correct and try again.","woocommerce-gateway-stripe");case(e=>{var t;return a()(t=[s.b.INVALID_REQUEST,s.b.API_CONNECTION,s.b.API_ERROR,s.b.AUTHENTICATION_ERROR,s.b.RATE_LIMIT_ERROR]).call(t,e)})(e):return Object(c.__)("Unable to process this payment, please try again or use alternative method.","woocommerce-gateway-stripe");case s.b.CARD_ERROR:return(e=>({[s.a.INVALID_NUMBER]:Object(c.__)("The card number is not a valid credit card number.","woocommerce-gateway-stripe"),[s.a.INVALID_EXPIRY_MONTH]:Object(c.__)("The card expiration month is invalid.","woocommerce-gateway-stripe"),[s.a.INVALID_EXPIRY_YEAR]:Object(c.__)("The card expiration year is invalid.","woocommerce-gateway-stripe"),[s.a.INVALID_CVC]:Object(c.__)("The card security code is invalid.","woocommerce-gateway-stripe"),[s.a.INCORRECT_NUMBER]:Object(c.__)("The card number is incorrect.","woocommerce-gateway-stripe"),[s.a.INCOMPLETE_NUMBER]:Object(c.__)("The card number is incomplete.","woocommerce-gateway-stripe"),[s.a.INCOMPLETE_CVC]:Object(c.__)("The card security code is incomplete.","woocommerce-gateway-stripe"),[s.a.INCOMPLETE_EXPIRY]:Object(c.__)("The card expiration date is incomplete.","woocommerce-gateway-stripe"),[s.a.EXPIRED_CARD]:Object(c.__)("The card has expired.","woocommerce-gateway-stripe"),[s.a.INCORRECT_CVC]:Object(c.__)("The card security code is incorrect.","woocommerce-gateway-stripe"),[s.a.INCORRECT_ZIP]:Object(c.__)("The card zip code failed validation.","woocommerce-gateway-stripe"),[s.a.INVALID_EXPIRY_YEAR_PAST]:Object(c.__)("The card expiration year is in the past","woocommerce-gateway-stripe"),[s.a.CARD_DECLINED]:Object(c.__)("The card was declined.","woocommerce-gateway-stripe"),[s.a.MISSING]:Object(c.__)("There is no card on a customer that is being charged.","woocommerce-gateway-stripe"),[s.a.PROCESSING_ERROR]:Object(c.__)("An error occurred while processing the card.","woocommerce-gateway-stripe")}[e]||null))(t);case s.b.VALIDATION_ERROR:return""}return null},p=(e,t)=>{var r,n,i,a,c,s,l,f,p,h,d,v,g,m,y,b,_,w,x,S;const{source:A}=e,R=null==A||null===(r=A.owner)||void 0===r?void 0:r.email,O=null==A||null===(n=A.owner)||void 0===n?void 0:n.phone,k=null==A||null===(i=A.owner)||void 0===i?void 0:i.address,E=null==A||null===(a=A.owner)||void 0===a?void 0:a.name,I=null==e?void 0:e.shippingAddress,j={_wpnonce:null===(c=u())||void 0===c||null===(s=c.nonce)||void 0===s?void 0:s.checkout,billing_first_name:null!==(l=null==E||null===(f=E.split(" "))||void 0===f||null===(p=o()(f).call(f,0,1))||void 0===p?void 0:p.join(" "))&&void 0!==l?l:"",billing_last_name:null!==(h=null==E||null===(d=E.split(" "))||void 0===d||null===(v=o()(d).call(d,1))||void 0===v?void 0:v.join(" "))&&void 0!==h?h:"",billing_company:"",billing_email:null!=R?R:null==e?void 0:e.payerEmail,billing_phone:null!=O?O:null==e||null===(g=e.payerPhone)||void 0===g?void 0:g.replace("/[() -]/g",""),billing_country:null!==(m=null==k?void 0:k.country)&&void 0!==m?m:"",billing_address_1:null!==(y=null==k?void 0:k.line1)&&void 0!==y?y:"",billing_address_2:null!==(b=null==k?void 0:k.line2)&&void 0!==b?b:"",billing_city:null!==(_=null==k?void 0:k.city)&&void 0!==_?_:"",billing_state:null!==(w=null==k?void 0:k.state)&&void 0!==w?w:"",billing_postcode:null!==(x=null==k?void 0:k.postal_code)&&void 0!==x?x:"",shipping_first_name:"",shipping_last_name:"",shipping_company:"",shipping_country:"",shipping_address_1:"",shipping_address_2:"",shipping_city:"",shipping_state:"",shipping_postcode:"",shipping_method:[null==e||null===(S=e.shippingOption)||void 0===S?void 0:S.id],order_comments:"",payment_method:"stripe",ship_to_different_address:1,terms:1,stripe_source:A.id,payment_request_type:t};var T,L,P,C,N,U,M,q,F,D;return I&&(j.shipping_first_name=null==I||null===(T=I.recipient)||void 0===T||null===(L=T.split(" "))||void 0===L||null===(P=o()(L).call(L,0,1))||void 0===P?void 0:P.join(" "),j.shipping_last_name=null==I||null===(C=I.recipient)||void 0===C||null===(N=C.split(" "))||void 0===N||null===(U=o()(N).call(N,1))||void 0===U?void 0:U.join(" "),j.shipping_company=null==I?void 0:I.organization,j.shipping_country=null==I?void 0:I.country,j.shipping_address_1=null!==(M=null==I||null===(q=I.addressLine)||void 0===q?void 0:q[0])&&void 0!==M?M:"",j.shipping_address_2=null!==(F=null==I||null===(D=I.addressLine)||void 0===D?void 0:D[1])&&void 0!==F?F:"",j.shipping_city=null==I?void 0:I.city,j.shipping_state=null==I?void 0:I.region,j.shipping_postcode=null==I?void 0:I.postalCode),j},h=e=>({country:e.country,state:e.region,postcode:e.postalCode,city:e.city,address:void 0===e.addressLine[0]?"":e.addressLine[0],address_2:void 0===e.addressLine[1]?"":e.addressLine[1]});var d=r(33),v=r.n(d),g="https://js.stripe.com/v3",m=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,y="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",b=null,_=function(e,t,r){if(null===e)return null;var n=e.apply(void 0,t);return function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",version:"1.11.0",startTime:t})}(n,r),n},w=Promise.resolve().then((function(){return e=null,null!==b?b:b=new Promise((function(t,r){if("undefined"!=typeof window)if(window.Stripe&&e&&console.warn(y),window.Stripe)t(window.Stripe);else try{var n=function(){for(var e=document.querySelectorAll('script[src^="'.concat(g,'"]')),t=0;t<e.length;t++){var r=e[t];if(m.test(r.src))return r}return null}();n&&e?console.warn(y):n||(n=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",r=document.createElement("script");r.src="".concat(g).concat(t);var n=document.head||document.body;if(!n)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return n.appendChild(r),r}(e)),n.addEventListener("load",(function(){window.Stripe?t(window.Stripe):r(new Error("Stripe.js not available"))})),n.addEventListener("error",(function(){r(new Error("Failed to load Stripe.js"))}))}catch(e){return void r(e)}else t(null)}));var e})),x=!1;w.catch((function(e){x||console.warn(e)}));const S=()=>new v.a(e=>{try{var t,r;const n=null!==(t=null===(r=u())||void 0===r?void 0:r.stripe_locale)&&void 0!==t?t:"auto";e(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];x=!0;var n=Date.now();return w.then((function(e){return _(e,t,n)}))}((()=>{var e;const t=null===(e=u())||void 0===e?void 0:e.key;if(!t)throw new Error("There is no api key available for stripe. Make sure it is available on the wc.stripe_data.stripe.key property.");return t})(),{locale:n}))}catch(t){e({error:t})}})},function(e,t){e.exports=window.wp.i18n},function(e,t,r){"use strict";r.d(t,"b",(function(){return n})),r.d(t,"a",(function(){return o}));const n={INVALID_EMAIL:"email_invalid",INVALID_REQUEST:"invalid_request_error",API_CONNECTION:"api_connection_error",API_ERROR:"api_error",AUTHENTICATION_ERROR:"authentication_error",RATE_LIMIT_ERROR:"rate_limit_error",CARD_ERROR:"card_error",VALIDATION_ERROR:"validation_error"},o={INVALID_NUMBER:"invalid_number",INVALID_EXPIRY_MONTH:"invalid_expiry_month",INVALID_EXPIRY_YEAR:"invalid_expiry_year",INVALID_CVC:"invalid_cvc",INCORRECT_NUMBER:"incorrect_number",INCOMPLETE_NUMBER:"incomplete_number",INCOMPLETE_CVC:"incomplete_cvc",INCOMPLETE_EXPIRY:"incomplete_expiry",EXPIRED_CARD:"expired_card",INCORRECT_CVC:"incorrect_cvc",INCORRECT_ZIP:"incorrect_zip",INVALID_EXPIRY_YEAR_PAST:"invalid_expiry_year_past",CARD_DECLINED:"card_declined",MISSING:"missing",PROCESSING_ERROR:"processing_error"}},function(e,t,r){(function(t){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,r(74))},function(e,t,r){var n=r(5),o=r(61),i=r(12),a=r(62),c=r(53),s=r(80),u=o("wks"),l=n.Symbol,f=s?l:l&&l.withoutSetter||a;e.exports=function(e){return i(u,e)&&(c||"string"==typeof u[e])||(c&&i(l,e)?u[e]=l[e]:u[e]=f("Symbol."+e)),u[e]}},function(e,t,r){"use strict";var n=r(5),o=r(50).f,i=r(58),a=r(18),c=r(30),s=r(13),u=r(12),l=function(e){var t=function(t,r,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,r)}return new e(t,r,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t};e.exports=function(e,t){var r,f,p,h,d,v,g,m,y=e.target,b=e.global,_=e.stat,w=e.proto,x=b?n:_?n[y]:(n[y]||{}).prototype,S=b?a:a[y]||(a[y]={}),A=S.prototype;for(p in t)r=!i(b?p:y+(_?".":"#")+p,e.forced)&&x&&u(x,p),d=S[p],r&&(v=e.noTargetGet?(m=o(x,p))&&m.value:x[p]),h=r&&v?v:t[p],r&&typeof d==typeof h||(g=e.bind&&r?c(h,n):e.wrap&&r?l(h):w&&"function"==typeof h?c(Function.call,h):h,(e.sham||h&&h.sham||d&&d.sham)&&s(g,"sham",!0),S[p]=g,w&&(u(a,f=y+"Prototype")||s(a,f,{}),a[f][p]=h,e.real&&A&&!A[p]&&s(A,p,h)))}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},,function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},,function(e,t){var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},function(e,t,r){var n=r(15),o=r(31),i=r(26);e.exports=n?function(e,t,r){return o.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},function(e,t,r){var n=r(10);e.exports=function(e){if(!n(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,r){var n=r(8);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},,,function(e,t){e.exports={}},function(e,t,r){var n=r(18);e.exports=function(e){return n[e+"Prototype"]}},function(e,t){e.exports=window.jQuery},function(e,t){var r={}.toString;e.exports=function(e){return r.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,r){var n=r(18),o=r(5),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(n[e])||i(o[e]):n[e]&&n[e][t]||o[e]&&o[e][t]}},function(e,t,r){e.exports=r(90)},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,r){var n=r(38),o=r(22);e.exports=function(e){return n(o(e))}},function(e,t){e.exports=!0},function(e,t,r){var n=r(41),o=Math.min;e.exports=function(e){return e>0?o(n(e),9007199254740991):0}},function(e,t,r){var n=r(23);e.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 0:return function(){return e.call(t)};case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,o){return e.call(t,r,n,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,r){var n=r(15),o=r(51),i=r(14),a=r(39),c=Object.defineProperty;t.f=n?c:function(e,t,r){if(i(e),t=a(t,!0),i(r),o)try{return c(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},function(e,t){e.exports={}},function(e,t,r){e.exports=r(111)},function(e,t,r){var n=r(21),o=r(5);e.exports="process"==n(o.process)},function(e,t,r){var n,o,i=r(5),a=r(45),c=i.process,s=c&&c.versions,u=s&&s.v8;u?o=(n=u.split("."))[0]+n[1]:a&&(!(n=a.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=a.match(/Chrome\/(\d+)/))&&(o=n[1]),e.exports=o&&+o},function(e,t,r){var n=r(13);e.exports=function(e,t,r,o){o&&o.enumerable?e[t]=r:n(e,t,r)}},function(e,t,r){e.exports=r(131)},function(e,t,r){var n=r(8),o=r(21),i="".split;e.exports=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},function(e,t,r){var n=r(10);e.exports=function(e,t){if(!n(e))return e;var r,o;if(t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;if("function"==typeof(r=e.valueOf)&&!n(o=r.call(e)))return o;if(!t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,r){var n=r(22);e.exports=function(e){return Object(n(e))}},function(e,t){var r=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:r)(e)}},function(e,t,r){var n=r(5),o=r(10),i=n.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,r){var n=r(5),o=r(75),i=n["__core-js_shared__"]||o("__core-js_shared__",{});e.exports=i},function(e,t,r){var n=r(14),o=r(102),i=r(29),a=r(30),c=r(69),s=r(103),u=function(e,t){this.stopped=e,this.result=t};e.exports=function(e,t,r){var l,f,p,h,d,v,g,m=r&&r.that,y=!(!r||!r.AS_ENTRIES),b=!(!r||!r.IS_ITERATOR),_=!(!r||!r.INTERRUPTED),w=a(t,m,1+y+_),x=function(e){return l&&s(l),new u(!0,e)},S=function(e){return y?(n(e),_?w(e[0],e[1],x):w(e[0],e[1])):_?w(e,x):w(e)};if(b)l=e;else{if("function"!=typeof(f=c(e)))throw TypeError("Target is not iterable");if(o(f)){for(p=0,h=i(e.length);h>p;p++)if((d=S(e[p]))&&d instanceof u)return d;return new u(!1)}l=f.call(e)}for(v=l.next;!(g=v.call(l)).done;){try{d=S(g.value)}catch(e){throw s(l),e}if("object"==typeof d&&d&&d instanceof u)return d}return new u(!1)}},function(e,t,r){var n=r(24);e.exports=n("navigator","userAgent")||""},function(e,t,r){var n=r(65),o=r(31).f,i=r(13),a=r(12),c=r(119),s=r(6)("toStringTag");e.exports=function(e,t,r,u){if(e){var l=r?e:e.prototype;a(l,s)||o(l,s,{configurable:!0,value:t}),u&&!n&&i(l,"toString",c)}}},function(e,t,r){"use strict";var n=r(23),o=function(e){var t,r;this.promise=new e((function(e,n){if(void 0!==t||void 0!==r)throw TypeError("Bad Promise constructor");t=e,r=n})),this.resolve=n(t),this.reject=n(r)};e.exports.f=function(e){return new o(e)}},function(e,t,r){var n,o,i,a=r(125),c=r(5),s=r(10),u=r(13),l=r(12),f=r(43),p=r(60),h=r(64),d=c.WeakMap;if(a){var v=f.state||(f.state=new d),g=v.get,m=v.has,y=v.set;n=function(e,t){return t.facade=e,y.call(v,e,t),t},o=function(e){return g.call(v,e)||{}},i=function(e){return m.call(v,e)}}else{var b=p("state");h[b]=!0,n=function(e,t){return t.facade=e,u(e,b,t),t},o=function(e){return l(e,b)?e[b]:{}},i=function(e){return l(e,b)}}e.exports={set:n,get:o,has:i,enforce:function(e){return i(e)?o(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!s(t)||(r=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}}},function(e,t,r){"use strict";r.d(t,"c",(function(){return u})),r.d(t,"e",(function(){return l})),r.d(t,"d",(function(){return f})),r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return h}));var n=r(33),o=r.n(n),i=r(20),a=r.n(i),c=r(2);const s=(e,t="wc_stripe_")=>{var r,n,o;return null===(r=Object(c.c)())||void 0===r||null===(n=r.ajax_url)||void 0===n||null===(o=n.toString())||void 0===o?void 0:o.replace("%%endpoint%%",t+e)},u=()=>{var e,t;const r={security:null===(e=Object(c.c)())||void 0===e||null===(t=e.nonce)||void 0===t?void 0:t.payment};return a.a.ajax({type:"POST",data:r,url:s("get_cart_details")})},l=(e,t)=>{var r,n,o;const i={security:null===(r=Object(c.c)())||void 0===r||null===(n=r.nonce)||void 0===n?void 0:n.shipping,payment_request_type:t,is_product_page:null===(o=Object(c.c)())||void 0===o?void 0:o.is_product_page,...Object(c.e)(e)};return a.a.ajax({type:"POST",data:i,url:s("get_shipping_options")})},f=e=>{var t,r,n;const o={security:null===(t=Object(c.c)())||void 0===t||null===(r=t.nonce)||void 0===r?void 0:r.update_shipping,shipping_method:[e.id],is_product_page:null===(n=Object(c.c)())||void 0===n?void 0:n.is_product_page};return a.a.ajax({type:"POST",data:o,url:s("update_shipping_method")})},p=(e,t)=>{const r=Object(c.f)(e,t);return a.a.ajax({type:"POST",data:r,dataType:"json",url:s("create_order")})};class h{constructor(e,t){this.stripe=null,this.options=e,this.request=t}getStripe(){const{key:e,locale:t,isUPEEnabled:r}=this.options;return this.stripe||(this.stripe=r?new Stripe(e,{betas:["payment_element_beta_1"],locale:t}):new Stripe(e,{locale:t})),this.stripe}loadStripe(){return new o.a(e=>{try{e(this.getStripe())}catch(t){e({error:t})}})}initSetupIntent(){console.error("TODO: Not implemented yet: initSetupIntent")}createIntent(e){var t;return this.request(s("create_payment_intent"),{stripe_order_id:e,_ajax_nonce:null===(t=Object(c.c)())||void 0===t?void 0:t.createPaymentIntentNonce}).then(e=>{if(!e.success)throw e.data.error;return e.data}).catch(e=>{throw e.message?e:new Error(e.statusText)})}confirmIntent(e,t){return console.error("TODO: Not implemented yet: confirmIntent"),!0}saveUPEAppearance(e){var t;return this.request(s("save_upe_appearance"),{appearance:e,_ajax_nonce:null===(t=Object(c.c)())||void 0===t?void 0:t.saveUPEAppearanceNonce}).then(e=>{if("failure"===e.result)throw new Error(e.messages);return e}).catch(e=>{throw e.message?e:new Error(e.statusText)})}processCheckout(e,t){return this.request(s("checkout",""),{...t,wc_payment_intent_id:e}).then(e=>{if("failure"===e.result)throw new Error(e.messages);return e}).catch(e=>{throw e.message?e:new Error(e.statusText)})}}},function(e,t,r){var n=r(15),o=r(57),i=r(26),a=r(27),c=r(39),s=r(12),u=r(51),l=Object.getOwnPropertyDescriptor;t.f=n?l:function(e,t){if(e=a(e),t=c(t,!0),u)try{return l(e,t)}catch(e){}if(s(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,r){var n=r(15),o=r(8),i=r(42);e.exports=!n&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,r){var n=r(27),o=r(29),i=r(63),a=function(e){return function(t,r,a){var c,s=n(t),u=o(s.length),l=i(a,u);if(e&&r!=r){for(;u>l;)if((c=s[l++])!=c)return!0}else for(;u>l;l++)if((e||l in s)&&s[l]===r)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},function(e,t,r){var n=r(34),o=r(35),i=r(8);e.exports=!!Object.getOwnPropertySymbols&&!i((function(){return!Symbol.sham&&(n?38===o:o>37&&o<41)}))},function(e,t,r){var n=r(65),o=r(21),i=r(6)("toStringTag"),a="Arguments"==o(function(){return arguments}());e.exports=n?o:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?r:a?o(t):"Object"==(n=o(t))&&"function"==typeof t.callee?"Arguments":n}},function(e,t){e.exports=function(){}},,function(e,t,r){"use strict";var n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!n.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:n},function(e,t,r){var n=r(8),o=/#|\.prototype\./,i=function(e,t){var r=c[a(e)];return r==u||r!=s&&("function"==typeof t?n(t):!!t)},a=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},c=i.data={},s=i.NATIVE="N",u=i.POLYFILL="P";e.exports=i},function(e,t,r){var n=r(12),o=r(40),i=r(60),a=r(114),c=i("IE_PROTO"),s=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){return e=o(e),n(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?s:null}},function(e,t,r){var n=r(61),o=r(62),i=n("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t,r){var n=r(28),o=r(43);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.9.1",mode:n?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},function(e,t){var r=0,n=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++r+n).toString(36)}},function(e,t,r){var n=r(41),o=Math.max,i=Math.min;e.exports=function(e,t){var r=n(e);return r<0?o(r+t,0):i(r,t)}},function(e,t){e.exports={}},function(e,t,r){var n={};n[r(6)("toStringTag")]="z",e.exports="[object z]"===String(n)},function(e,t){e.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},function(e,t,r){var n=r(21);e.exports=Array.isArray||function(e){return"Array"==n(e)}},function(e,t,r){var n,o=r(14),i=r(101),a=r(78),c=r(64),s=r(79),u=r(42),l=r(60)("IE_PROTO"),f=function(){},p=function(e){return"<script>"+e+"<\/script>"},h=function(){try{n=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;h=n?function(e){e.write(p("")),e.close();var t=e.parentWindow.Object;return e=null,t}(n):((t=u("iframe")).style.display="none",s.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(p("document.F=Object")),e.close(),e.F);for(var r=a.length;r--;)delete h.prototype[a[r]];return h()};c[l]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(f.prototype=o(e),r=new f,f.prototype=null,r[l]=e):r=h(),void 0===t?r:i(r,t)}},function(e,t,r){var n=r(54),o=r(32),i=r(6)("iterator");e.exports=function(e){if(null!=e)return e[i]||e["@@iterator"]||o[n(e)]}},function(e,t,r){var n=r(8),o=r(6),i=r(35),a=o("species");e.exports=function(e){return i>=51||!n((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,r){var n=r(96);e.exports=function(e){if(n(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,r){var n=r(6)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(r){try{return t[n]=!1,"/./"[e](t)}catch(e){}}return!1}},function(e,t,r){var n;!function(o){var i=/^\s+/,a=/\s+$/,c=0,s=o.round,u=o.min,l=o.max,f=o.random;function p(e,t){if(t=t||{},(e=e||"")instanceof p)return e;if(!(this instanceof p))return new p(e,t);var r=function(e){var t,r,n,c={r:0,g:0,b:0},s=1,f=null,p=null,h=null,d=!1,v=!1;return"string"==typeof e&&(e=function(e){e=e.replace(i,"").replace(a,"").toLowerCase();var t,r=!1;if(j[e])e=j[e],r=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};return(t=V.rgb.exec(e))?{r:t[1],g:t[2],b:t[3]}:(t=V.rgba.exec(e))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=V.hsl.exec(e))?{h:t[1],s:t[2],l:t[3]}:(t=V.hsla.exec(e))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=V.hsv.exec(e))?{h:t[1],s:t[2],v:t[3]}:(t=V.hsva.exec(e))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=V.hex8.exec(e))?{r:N(t[1]),g:N(t[2]),b:N(t[3]),a:F(t[4]),format:r?"name":"hex8"}:(t=V.hex6.exec(e))?{r:N(t[1]),g:N(t[2]),b:N(t[3]),format:r?"name":"hex"}:(t=V.hex4.exec(e))?{r:N(t[1]+""+t[1]),g:N(t[2]+""+t[2]),b:N(t[3]+""+t[3]),a:F(t[4]+""+t[4]),format:r?"name":"hex8"}:!!(t=V.hex3.exec(e))&&{r:N(t[1]+""+t[1]),g:N(t[2]+""+t[2]),b:N(t[3]+""+t[3]),format:r?"name":"hex"}}(e)),"object"==typeof e&&(W(e.r)&&W(e.g)&&W(e.b)?(t=e.r,r=e.g,n=e.b,c={r:255*P(t,255),g:255*P(r,255),b:255*P(n,255)},d=!0,v="%"===String(e.r).substr(-1)?"prgb":"rgb"):W(e.h)&&W(e.s)&&W(e.v)?(f=M(e.s),p=M(e.v),c=function(e,t,r){e=6*P(e,360),t=P(t,100),r=P(r,100);var n=o.floor(e),i=e-n,a=r*(1-t),c=r*(1-i*t),s=r*(1-(1-i)*t),u=n%6;return{r:255*[r,c,a,a,s,r][u],g:255*[s,r,r,c,a,a][u],b:255*[a,a,s,r,r,c][u]}}(e.h,f,p),d=!0,v="hsv"):W(e.h)&&W(e.s)&&W(e.l)&&(f=M(e.s),h=M(e.l),c=function(e,t,r){var n,o,i;function a(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}if(e=P(e,360),t=P(t,100),r=P(r,100),0===t)n=o=i=r;else{var c=r<.5?r*(1+t):r+t-r*t,s=2*r-c;n=a(s,c,e+1/3),o=a(s,c,e),i=a(s,c,e-1/3)}return{r:255*n,g:255*o,b:255*i}}(e.h,f,h),d=!0,v="hsl"),e.hasOwnProperty("a")&&(s=e.a)),s=L(s),{ok:d,format:e.format||v,r:u(255,l(c.r,0)),g:u(255,l(c.g,0)),b:u(255,l(c.b,0)),a:s}}(e);this._originalInput=e,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=s(100*this._a)/100,this._format=t.format||r.format,this._gradientType=t.gradientType,this._r<1&&(this._r=s(this._r)),this._g<1&&(this._g=s(this._g)),this._b<1&&(this._b=s(this._b)),this._ok=r.ok,this._tc_id=c++}function h(e,t,r){e=P(e,255),t=P(t,255),r=P(r,255);var n,o,i=l(e,t,r),a=u(e,t,r),c=(i+a)/2;if(i==a)n=o=0;else{var s=i-a;switch(o=c>.5?s/(2-i-a):s/(i+a),i){case e:n=(t-r)/s+(t<r?6:0);break;case t:n=(r-e)/s+2;break;case r:n=(e-t)/s+4}n/=6}return{h:n,s:o,l:c}}function d(e,t,r){e=P(e,255),t=P(t,255),r=P(r,255);var n,o,i=l(e,t,r),a=u(e,t,r),c=i,s=i-a;if(o=0===i?0:s/i,i==a)n=0;else{switch(i){case e:n=(t-r)/s+(t<r?6:0);break;case t:n=(r-e)/s+2;break;case r:n=(e-t)/s+4}n/=6}return{h:n,s:o,v:c}}function v(e,t,r,n){var o=[U(s(e).toString(16)),U(s(t).toString(16)),U(s(r).toString(16))];return n&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function g(e,t,r,n){return[U(q(n)),U(s(e).toString(16)),U(s(t).toString(16)),U(s(r).toString(16))].join("")}function m(e,t){t=0===t?0:t||10;var r=p(e).toHsl();return r.s-=t/100,r.s=C(r.s),p(r)}function y(e,t){t=0===t?0:t||10;var r=p(e).toHsl();return r.s+=t/100,r.s=C(r.s),p(r)}function b(e){return p(e).desaturate(100)}function _(e,t){t=0===t?0:t||10;var r=p(e).toHsl();return r.l+=t/100,r.l=C(r.l),p(r)}function w(e,t){t=0===t?0:t||10;var r=p(e).toRgb();return r.r=l(0,u(255,r.r-s(-t/100*255))),r.g=l(0,u(255,r.g-s(-t/100*255))),r.b=l(0,u(255,r.b-s(-t/100*255))),p(r)}function x(e,t){t=0===t?0:t||10;var r=p(e).toHsl();return r.l-=t/100,r.l=C(r.l),p(r)}function S(e,t){var r=p(e).toHsl(),n=(r.h+t)%360;return r.h=n<0?360+n:n,p(r)}function A(e){var t=p(e).toHsl();return t.h=(t.h+180)%360,p(t)}function R(e){var t=p(e).toHsl(),r=t.h;return[p(e),p({h:(r+120)%360,s:t.s,l:t.l}),p({h:(r+240)%360,s:t.s,l:t.l})]}function O(e){var t=p(e).toHsl(),r=t.h;return[p(e),p({h:(r+90)%360,s:t.s,l:t.l}),p({h:(r+180)%360,s:t.s,l:t.l}),p({h:(r+270)%360,s:t.s,l:t.l})]}function k(e){var t=p(e).toHsl(),r=t.h;return[p(e),p({h:(r+72)%360,s:t.s,l:t.l}),p({h:(r+216)%360,s:t.s,l:t.l})]}function E(e,t,r){t=t||6,r=r||30;var n=p(e).toHsl(),o=360/r,i=[p(e)];for(n.h=(n.h-(o*t>>1)+720)%360;--t;)n.h=(n.h+o)%360,i.push(p(n));return i}function I(e,t){t=t||6;for(var r=p(e).toHsv(),n=r.h,o=r.s,i=r.v,a=[],c=1/t;t--;)a.push(p({h:n,s:o,v:i})),i=(i+c)%1;return a}p.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,r,n=this.toRgb();return e=n.r/255,t=n.g/255,r=n.b/255,.2126*(e<=.03928?e/12.92:o.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:o.pow((t+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:o.pow((r+.055)/1.055,2.4))},setAlpha:function(e){return this._a=L(e),this._roundA=s(100*this._a)/100,this},toHsv:function(){var e=d(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=d(this._r,this._g,this._b),t=s(360*e.h),r=s(100*e.s),n=s(100*e.v);return 1==this._a?"hsv("+t+", "+r+"%, "+n+"%)":"hsva("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var e=h(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=h(this._r,this._g,this._b),t=s(360*e.h),r=s(100*e.s),n=s(100*e.l);return 1==this._a?"hsl("+t+", "+r+"%, "+n+"%)":"hsla("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(e){return v(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,r,n,o){var i=[U(s(e).toString(16)),U(s(t).toString(16)),U(s(r).toString(16)),U(q(n))];return o&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0):i.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:s(this._r),g:s(this._g),b:s(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+s(this._r)+", "+s(this._g)+", "+s(this._b)+")":"rgba("+s(this._r)+", "+s(this._g)+", "+s(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:s(100*P(this._r,255))+"%",g:s(100*P(this._g,255))+"%",b:s(100*P(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+s(100*P(this._r,255))+"%, "+s(100*P(this._g,255))+"%, "+s(100*P(this._b,255))+"%)":"rgba("+s(100*P(this._r,255))+"%, "+s(100*P(this._g,255))+"%, "+s(100*P(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(T[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+g(this._r,this._g,this._b,this._a),r=t,n=this._gradientType?"GradientType = 1, ":"";if(e){var o=p(e);r="#"+g(o._r,o._g,o._b,o._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+t+",endColorstr="+r+")"},toString:function(e){var t=!!e;e=e||this._format;var r=!1,n=this._a<1&&this._a>=0;return t||!n||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(r=this.toRgbString()),"prgb"===e&&(r=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(r=this.toHexString()),"hex3"===e&&(r=this.toHexString(!0)),"hex4"===e&&(r=this.toHex8String(!0)),"hex8"===e&&(r=this.toHex8String()),"name"===e&&(r=this.toName()),"hsl"===e&&(r=this.toHslString()),"hsv"===e&&(r=this.toHsvString()),r||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return p(this.toString())},_applyModification:function(e,t){var r=e.apply(null,[this].concat([].slice.call(t)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(_,arguments)},brighten:function(){return this._applyModification(w,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(m,arguments)},saturate:function(){return this._applyModification(y,arguments)},greyscale:function(){return this._applyModification(b,arguments)},spin:function(){return this._applyModification(S,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(A,arguments)},monochromatic:function(){return this._applyCombination(I,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(R,arguments)},tetrad:function(){return this._applyCombination(O,arguments)}},p.fromRatio=function(e,t){if("object"==typeof e){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]="a"===n?e[n]:M(e[n]));e=r}return p(e,t)},p.equals=function(e,t){return!(!e||!t)&&p(e).toRgbString()==p(t).toRgbString()},p.random=function(){return p.fromRatio({r:f(),g:f(),b:f()})},p.mix=function(e,t,r){r=0===r?0:r||50;var n=p(e).toRgb(),o=p(t).toRgb(),i=r/100;return p({r:(o.r-n.r)*i+n.r,g:(o.g-n.g)*i+n.g,b:(o.b-n.b)*i+n.b,a:(o.a-n.a)*i+n.a})},p.readability=function(e,t){var r=p(e),n=p(t);return(o.max(r.getLuminance(),n.getLuminance())+.05)/(o.min(r.getLuminance(),n.getLuminance())+.05)},p.isReadable=function(e,t,r){var n,o,i,a,c,s=p.readability(e,t);switch(o=!1,(i=r,"AA"!==(a=((i=i||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==a&&(a="AA"),"small"!==(c=(i.size||"small").toLowerCase())&&"large"!==c&&(c="small"),n={level:a,size:c}).level+n.size){case"AAsmall":case"AAAlarge":o=s>=4.5;break;case"AAlarge":o=s>=3;break;case"AAAsmall":o=s>=7}return o},p.mostReadable=function(e,t,r){var n,o,i,a,c=null,s=0;o=(r=r||{}).includeFallbackColors,i=r.level,a=r.size;for(var u=0;u<t.length;u++)(n=p.readability(e,t[u]))>s&&(s=n,c=p(t[u]));return p.isReadable(e,c,{level:i,size:a})||!o?c:(r.includeFallbackColors=!1,p.mostReadable(e,["#fff","#000"],r))};var j=p.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},T=p.hexNames=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}(j);function L(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function P(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var r=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=u(t,l(0,parseFloat(e))),r&&(e=parseInt(e*t,10)/100),o.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function C(e){return u(1,l(0,e))}function N(e){return parseInt(e,16)}function U(e){return 1==e.length?"0"+e:""+e}function M(e){return e<=1&&(e=100*e+"%"),e}function q(e){return o.round(255*parseFloat(e)).toString(16)}function F(e){return N(e)/255}var D,B,H,V=(B="[\\s|\\(]+("+(D="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+D+")[,|\\s]+("+D+")\\s*\\)?",H="[\\s|\\(]+("+D+")[,|\\s]+("+D+")[,|\\s]+("+D+")[,|\\s]+("+D+")\\s*\\)?",{CSS_UNIT:new RegExp(D),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+H),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+H),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+H),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function W(e){return!!V.CSS_UNIT.exec(e)}e.exports?e.exports=p:void 0===(n=function(){return p}.call(t,r,t,e))||(e.exports=n)}(Math)},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){var n=r(5),o=r(13);e.exports=function(e,t){try{o(n,e,t)}catch(r){n[e]=t}return t}},function(e,t,r){var n=r(14),o=r(115);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),t=r instanceof Array}catch(e){}return function(r,i){return n(r),o(i),t?e.call(r,i):r.__proto__=i,r}}():void 0)},function(e,t,r){var n=r(116),o=r(78);e.exports=Object.keys||function(e){return n(e,o)}},function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,r){var n=r(24);e.exports=n("document","documentElement")},function(e,t,r){var n=r(53);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,r){var n=r(5);e.exports=n.Promise},function(e,t){e.exports=function(e,t,r){if(!(e instanceof t))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return e}},function(e,t,r){var n=r(43),o=Function.toString;"function"!=typeof n.inspectSource&&(n.inspectSource=function(e){return o.call(e)}),e.exports=n.inspectSource},function(e,t,r){var n=r(14),o=r(23),i=r(6)("species");e.exports=function(e,t){var r,a=n(e).constructor;return void 0===a||null==(r=n(a)[i])?t:o(r)}},function(e,t,r){var n,o,i,a=r(5),c=r(8),s=r(30),u=r(79),l=r(42),f=r(86),p=r(34),h=a.location,d=a.setImmediate,v=a.clearImmediate,g=a.process,m=a.MessageChannel,y=a.Dispatch,b=0,_={},w=function(e){if(_.hasOwnProperty(e)){var t=_[e];delete _[e],t()}},x=function(e){return function(){w(e)}},S=function(e){w(e.data)},A=function(e){a.postMessage(e+"",h.protocol+"//"+h.host)};d&&v||(d=function(e){for(var t=[],r=1;arguments.length>r;)t.push(arguments[r++]);return _[++b]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},n(b),b},v=function(e){delete _[e]},p?n=function(e){g.nextTick(x(e))}:y&&y.now?n=function(e){y.now(x(e))}:m&&!f?(i=(o=new m).port2,o.port1.onmessage=S,n=s(i.postMessage,i,1)):a.addEventListener&&"function"==typeof postMessage&&!a.importScripts&&h&&"file:"!==h.protocol&&!c(A)?(n=A,a.addEventListener("message",S,!1)):n="onreadystatechange"in l("script")?function(e){u.appendChild(l("script")).onreadystatechange=function(){u.removeChild(this),w(e)}}:function(e){setTimeout(x(e),0)}),e.exports={set:d,clear:v}},function(e,t,r){var n=r(45);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(n)},function(e,t,r){var n=r(14),o=r(10),i=r(47);e.exports=function(e,t){if(n(e),o(t)&&t.constructor===e)return t;var r=i.f(e);return(0,r.resolve)(t),r.promise}},function(e,t,r){"use strict";var n=r(7),o=r(107),i=r(59),a=r(76),c=r(46),s=r(13),u=r(36),l=r(6),f=r(28),p=r(32),h=r(89),d=h.IteratorPrototype,v=h.BUGGY_SAFARI_ITERATORS,g=l("iterator"),m=function(){return this};e.exports=function(e,t,r,l,h,y,b){o(r,t,l);var _,w,x,S=function(e){if(e===h&&E)return E;if(!v&&e in O)return O[e];switch(e){case"keys":case"values":case"entries":return function(){return new r(this,e)}}return function(){return new r(this)}},A=t+" Iterator",R=!1,O=e.prototype,k=O[g]||O["@@iterator"]||h&&O[h],E=!v&&k||S(h),I="Array"==t&&O.entries||k;if(I&&(_=i(I.call(new e)),d!==Object.prototype&&_.next&&(f||i(_)===d||(a?a(_,d):"function"!=typeof _[g]&&s(_,g,m)),c(_,A,!0,!0),f&&(p[A]=m))),"values"==h&&k&&"values"!==k.name&&(R=!0,E=function(){return k.call(this)}),f&&!b||O[g]===E||s(O,g,E),p[t]=E,h)if(w={values:S("values"),keys:y?E:S("keys"),entries:S("entries")},b)for(x in w)(v||R||!(x in O))&&u(O,x,w[x]);else n({target:t,proto:!0,forced:v||R},w);return w}},function(e,t,r){"use strict";var n,o,i,a=r(8),c=r(59),s=r(13),u=r(12),l=r(6),f=r(28),p=l("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=c(c(i)))!==Object.prototype&&(n=o):h=!0);var d=null==n||a((function(){var e={};return n[p].call(e)!==e}));d&&(n={}),f&&!d||u(n,p)||s(n,p,(function(){return this})),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:h}},function(e,t,r){var n=r(91);e.exports=n},function(e,t,r){var n=r(92),o=r(94),i=Array.prototype,a=String.prototype;e.exports=function(e){var t=e.includes;return e===i||e instanceof Array&&t===i.includes?n:"string"==typeof e||e===a||e instanceof String&&t===a.includes?o:t}},function(e,t,r){r(93);var n=r(19);e.exports=n("Array").includes},function(e,t,r){"use strict";var n=r(7),o=r(52).includes,i=r(55);n({target:"Array",proto:!0},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("includes")},function(e,t,r){r(95);var n=r(19);e.exports=n("String").includes},function(e,t,r){"use strict";var n=r(7),o=r(71),i=r(22);n({target:"String",proto:!0,forced:!r(72)("includes")},{includes:function(e){return!!~String(i(this)).indexOf(o(e),arguments.length>1?arguments[1]:void 0)}})},function(e,t,r){var n=r(10),o=r(21),i=r(6)("match");e.exports=function(e){var t;return n(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==o(e))}},function(e,t,r){var n=r(30),o=r(38),i=r(40),a=r(29),c=r(98),s=[].push,u=function(e){var t=1==e,r=2==e,u=3==e,l=4==e,f=6==e,p=7==e,h=5==e||f;return function(d,v,g,m){for(var y,b,_=i(d),w=o(_),x=n(v,g,3),S=a(w.length),A=0,R=m||c,O=t?R(d,S):r||p?R(d,0):void 0;S>A;A++)if((h||A in w)&&(b=x(y=w[A],A,_),e))if(t)O[A]=b;else if(b)switch(e){case 3:return!0;case 5:return y;case 6:return A;case 2:s.call(O,y)}else switch(e){case 4:return!1;case 7:s.call(O,y)}return f?-1:u||l?l:O}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterOut:u(7)}},function(e,t,r){var n=r(10),o=r(67),i=r(6)("species");e.exports=function(e,t){var r;return o(e)&&("function"!=typeof(r=e.constructor)||r!==Array&&!o(r.prototype)?n(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===t?0:t)}},function(e,t){e.exports="\t\n\v\f\r \u2028\u2029\ufeff"},,function(e,t,r){var n=r(15),o=r(31),i=r(14),a=r(77);e.exports=n?Object.defineProperties:function(e,t){i(e);for(var r,n=a(t),c=n.length,s=0;c>s;)o.f(e,r=n[s++],t[r]);return e}},function(e,t,r){var n=r(6),o=r(32),i=n("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},function(e,t,r){var n=r(14);e.exports=function(e){var t=e.return;if(void 0!==t)return n(t.call(e)).value}},function(e,t,r){var n=r(36);e.exports=function(e,t,r){for(var o in t)r&&r.unsafe&&e[o]?e[o]=t[o]:n(e,o,t[o],r);return e}},function(e,t,r){"use strict";var n=r(106).charAt,o=r(48),i=r(88),a=o.set,c=o.getterFor("String Iterator");i(String,"String",(function(e){a(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),r=t.string,o=t.index;return o>=r.length?{value:void 0,done:!0}:(e=n(r,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,r){var n=r(41),o=r(22),i=function(e){return function(t,r){var i,a,c=String(o(t)),s=n(r),u=c.length;return s<0||s>=u?e?"":void 0:(i=c.charCodeAt(s))<55296||i>56319||s+1===u||(a=c.charCodeAt(s+1))<56320||a>57343?e?c.charAt(s):i:e?c.slice(s,s+2):a-56320+(i-55296<<10)+65536}};e.exports={codeAt:i(!1),charAt:i(!0)}},function(e,t,r){"use strict";var n=r(89).IteratorPrototype,o=r(68),i=r(26),a=r(46),c=r(32),s=function(){return this};e.exports=function(e,t,r){var u=t+" Iterator";return e.prototype=o(n,{next:i(1,r)}),a(e,u,!1,!0),c[u]=s,e}},function(e,t,r){"use strict";var n=r(27),o=r(55),i=r(32),a=r(48),c=r(88),s=a.set,u=a.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){s(this,{type:"Array Iterator",target:n(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,r){"use strict";var n=r(39),o=r(31),i=r(26);e.exports=function(e,t,r){var a=n(t);a in e?o.f(e,a,i(0,r)):e[a]=r}},,function(e,t,r){var n=r(112);e.exports=n},function(e,t,r){r(113),r(117),r(118),r(126),r(127),r(128),r(105),r(129);var n=r(18);e.exports=n.Promise},function(e,t,r){"use strict";var n=r(7),o=r(59),i=r(76),a=r(68),c=r(13),s=r(26),u=r(44),l=function(e,t){var r=this;if(!(r instanceof l))return new l(e,t);i&&(r=i(new Error(void 0),o(r))),void 0!==t&&c(r,"message",String(t));var n=[];return u(e,n.push,{that:n}),c(r,"errors",n),r};l.prototype=a(Error.prototype,{constructor:s(5,l),message:s(5,""),name:s(5,"AggregateError")}),n({global:!0},{AggregateError:l})},function(e,t,r){var n=r(8);e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,r){var n=r(10);e.exports=function(e){if(!n(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,r){var n=r(12),o=r(27),i=r(52).indexOf,a=r(64);e.exports=function(e,t){var r,c=o(e),s=0,u=[];for(r in c)!n(a,r)&&n(c,r)&&u.push(r);for(;t.length>s;)n(c,r=t[s++])&&(~i(u,r)||u.push(r));return u}},function(e,t){},function(e,t,r){"use strict";var n,o,i,a,c=r(7),s=r(28),u=r(5),l=r(24),f=r(81),p=r(36),h=r(104),d=r(46),v=r(120),g=r(10),m=r(23),y=r(82),b=r(83),_=r(44),w=r(121),x=r(84),S=r(85).set,A=r(122),R=r(87),O=r(124),k=r(47),E=r(66),I=r(48),j=r(58),T=r(6),L=r(34),P=r(35),C=T("species"),N="Promise",U=I.get,M=I.set,q=I.getterFor(N),F=f,D=u.TypeError,B=u.document,H=u.process,V=l("fetch"),W=k.f,z=W,G=!!(B&&B.createEvent&&u.dispatchEvent),Y="function"==typeof PromiseRejectionEvent,X=j(N,(function(){if(b(F)===String(F)){if(66===P)return!0;if(!L&&!Y)return!0}if(s&&!F.prototype.finally)return!0;if(P>=51&&/native code/.test(F))return!1;var e=F.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[C]=t,!(e.then((function(){}))instanceof t)})),$=X||!w((function(e){F.all(e).catch((function(){}))})),J=function(e){var t;return!(!g(e)||"function"!=typeof(t=e.then))&&t},Z=function(e,t){if(!e.notified){e.notified=!0;var r=e.reactions;A((function(){for(var n=e.value,o=1==e.state,i=0;r.length>i;){var a,c,s,u=r[i++],l=o?u.ok:u.fail,f=u.resolve,p=u.reject,h=u.domain;try{l?(o||(2===e.rejection&&te(e),e.rejection=1),!0===l?a=n:(h&&h.enter(),a=l(n),h&&(h.exit(),s=!0)),a===u.promise?p(D("Promise-chain cycle")):(c=J(a))?c.call(a,f,p):f(a)):p(n)}catch(e){h&&!s&&h.exit(),p(e)}}e.reactions=[],e.notified=!1,t&&!e.rejection&&K(e)}))}},Q=function(e,t,r){var n,o;G?((n=B.createEvent("Event")).promise=t,n.reason=r,n.initEvent(e,!1,!0),u.dispatchEvent(n)):n={promise:t,reason:r},!Y&&(o=u["on"+e])?o(n):"unhandledrejection"===e&&O("Unhandled promise rejection",r)},K=function(e){S.call(u,(function(){var t,r=e.facade,n=e.value;if(ee(e)&&(t=E((function(){L?H.emit("unhandledRejection",n,r):Q("unhandledrejection",r,n)})),e.rejection=L||ee(e)?2:1,t.error))throw t.value}))},ee=function(e){return 1!==e.rejection&&!e.parent},te=function(e){S.call(u,(function(){var t=e.facade;L?H.emit("rejectionHandled",t):Q("rejectionhandled",t,e.value)}))},re=function(e,t,r){return function(n){e(t,n,r)}},ne=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,Z(e,!0))},oe=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw D("Promise can't be resolved itself");var n=J(t);n?A((function(){var r={done:!1};try{n.call(t,re(oe,r,e),re(ne,r,e))}catch(t){ne(r,t,e)}})):(e.value=t,e.state=1,Z(e,!1))}catch(t){ne({done:!1},t,e)}}};X&&(F=function(e){y(this,F,N),m(e),n.call(this);var t=U(this);try{e(re(oe,t),re(ne,t))}catch(e){ne(t,e)}},(n=function(e){M(this,{type:N,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=h(F.prototype,{then:function(e,t){var r=q(this),n=W(x(this,F));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=L?H.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&Z(r,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new n,t=U(e);this.promise=e,this.resolve=re(oe,t),this.reject=re(ne,t)},k.f=W=function(e){return e===F||e===i?new o(e):z(e)},s||"function"!=typeof f||(a=f.prototype.then,p(f.prototype,"then",(function(e,t){var r=this;return new F((function(e,t){a.call(r,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof V&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return R(F,V.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:X},{Promise:F}),d(F,N,!1,!0),v(N),i=l(N),c({target:N,stat:!0,forced:X},{reject:function(e){var t=W(this);return t.reject.call(void 0,e),t.promise}}),c({target:N,stat:!0,forced:s||X},{resolve:function(e){return R(s&&this===i?F:this,e)}}),c({target:N,stat:!0,forced:$},{all:function(e){var t=this,r=W(t),n=r.resolve,o=r.reject,i=E((function(){var r=m(t.resolve),i=[],a=0,c=1;_(e,(function(e){var s=a++,u=!1;i.push(void 0),c++,r.call(t,e).then((function(e){u||(u=!0,i[s]=e,--c||n(i))}),o)})),--c||n(i)}));return i.error&&o(i.value),r.promise},race:function(e){var t=this,r=W(t),n=r.reject,o=E((function(){var o=m(t.resolve);_(e,(function(e){o.call(t,e).then(r.resolve,n)}))}));return o.error&&n(o.value),r.promise}})},function(e,t,r){"use strict";var n=r(65),o=r(54);e.exports=n?{}.toString:function(){return"[object "+o(this)+"]"}},function(e,t,r){"use strict";var n=r(24),o=r(31),i=r(6),a=r(15),c=i("species");e.exports=function(e){var t=n(e),r=o.f;a&&t&&!t[c]&&r(t,c,{configurable:!0,get:function(){return this}})}},function(e,t,r){var n=r(6)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[n]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var r=!1;try{var i={};i[n]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(e){}return r}},function(e,t,r){var n,o,i,a,c,s,u,l,f=r(5),p=r(50).f,h=r(85).set,d=r(86),v=r(123),g=r(34),m=f.MutationObserver||f.WebKitMutationObserver,y=f.document,b=f.process,_=f.Promise,w=p(f,"queueMicrotask"),x=w&&w.value;x||(n=function(){var e,t;for(g&&(e=b.domain)&&e.exit();o;){t=o.fn,o=o.next;try{t()}catch(e){throw o?a():i=void 0,e}}i=void 0,e&&e.enter()},d||g||v||!m||!y?_&&_.resolve?(u=_.resolve(void 0),l=u.then,a=function(){l.call(u,n)}):a=g?function(){b.nextTick(n)}:function(){h.call(f,n)}:(c=!0,s=y.createTextNode(""),new m(n).observe(s,{characterData:!0}),a=function(){s.data=c=!c})),e.exports=x||function(e){var t={fn:e,next:void 0};i&&(i.next=t),o||(o=t,a()),i=t}},function(e,t,r){var n=r(45);e.exports=/web0s(?!.*chrome)/i.test(n)},function(e,t,r){var n=r(5);e.exports=function(e,t){var r=n.console;r&&r.error&&(1===arguments.length?r.error(e):r.error(e,t))}},function(e,t,r){var n=r(5),o=r(83),i=n.WeakMap;e.exports="function"==typeof i&&/native code/.test(o(i))},function(e,t,r){"use strict";var n=r(7),o=r(23),i=r(47),a=r(66),c=r(44);n({target:"Promise",stat:!0},{allSettled:function(e){var t=this,r=i.f(t),n=r.resolve,s=r.reject,u=a((function(){var r=o(t.resolve),i=[],a=0,s=1;c(e,(function(e){var o=a++,c=!1;i.push(void 0),s++,r.call(t,e).then((function(e){c||(c=!0,i[o]={status:"fulfilled",value:e},--s||n(i))}),(function(e){c||(c=!0,i[o]={status:"rejected",reason:e},--s||n(i))}))})),--s||n(i)}));return u.error&&s(u.value),r.promise}})},function(e,t,r){"use strict";var n=r(7),o=r(23),i=r(24),a=r(47),c=r(66),s=r(44);n({target:"Promise",stat:!0},{any:function(e){var t=this,r=a.f(t),n=r.resolve,u=r.reject,l=c((function(){var r=o(t.resolve),a=[],c=0,l=1,f=!1;s(e,(function(e){var o=c++,s=!1;a.push(void 0),l++,r.call(t,e).then((function(e){s||f||(f=!0,n(e))}),(function(e){s||f||(s=!0,a[o]=e,--l||u(new(i("AggregateError"))(a,"No one promise resolved")))}))})),--l||u(new(i("AggregateError"))(a,"No one promise resolved"))}));return l.error&&u(l.value),r.promise}})},function(e,t,r){"use strict";var n=r(7),o=r(28),i=r(81),a=r(8),c=r(24),s=r(84),u=r(87),l=r(36);n({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){i.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=s(this,c("Promise")),r="function"==typeof e;return this.then(r?function(r){return u(t,e()).then((function(){return r}))}:e,r?function(r){return u(t,e()).then((function(){throw r}))}:e)}}),o||"function"!=typeof i||i.prototype.finally||l(i.prototype,"finally",c("Promise").prototype.finally)},function(e,t,r){r(108);var n=r(130),o=r(5),i=r(54),a=r(13),c=r(32),s=r(6)("toStringTag");for(var u in n){var l=o[u],f=l&&l.prototype;f&&i(f)!==s&&a(f,s,u),c[u]=c.Array}},function(e,t){e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(e,t,r){var n=r(132);e.exports=n},function(e,t,r){var n=r(133),o=Array.prototype;e.exports=function(e){var t=e.slice;return e===o||e instanceof Array&&t===o.slice?n:t}},function(e,t,r){r(134);var n=r(19);e.exports=n("Array").slice},function(e,t,r){"use strict";var n=r(7),o=r(10),i=r(67),a=r(63),c=r(29),s=r(27),u=r(109),l=r(6),f=r(70)("slice"),p=l("species"),h=[].slice,d=Math.max;n({target:"Array",proto:!0,forced:!f},{slice:function(e,t){var r,n,l,f=s(this),v=c(f.length),g=a(e,v),m=a(void 0===t?v:t,v);if(i(f)&&("function"!=typeof(r=f.constructor)||r!==Array&&!i(r.prototype)?o(r)&&null===(r=r[p])&&(r=void 0):r=void 0,r===Array||void 0===r))return h.call(f,g,m);for(n=new(void 0===r?Array:r)(d(m-g,0)),l=0;g<m;g++,l++)g in f&&u(n,l,f[g]);return n.length=l,n}})},function(e,t,r){var n=r(22),o="["+r(99)+"]",i=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$"),c=function(e){return function(t){var r=String(n(t));return 1&e&&(r=r.replace(i,"")),2&e&&(r=r.replace(a,"")),r}};e.exports={start:c(1),end:c(2),trim:c(3)}},,,,function(e,t,r){"use strict";var n=r(8);e.exports=function(e,t){var r=[][e];return!!r&&n((function(){r.call(null,t||function(){throw 1},1)}))}},function(e,t,r){var n=r(8),o=r(6),i=r(28),a=o("iterator");e.exports=!n((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,r="";return e.pathname="c%20d",t.forEach((function(e,n){t.delete("b"),r+=n+e})),i&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host}))},function(e,t,r){"use strict";var n=r(15),o=r(8),i=r(77),a=r(193),c=r(57),s=r(40),u=r(38),l=Object.assign,f=Object.defineProperty;e.exports=!l||o((function(){if(n&&1!==l({b:1},l(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol();return e[r]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=l({},e)[r]||"abcdefghijklmnopqrst"!=i(l({},t)).join("")}))?function(e,t){for(var r=s(e),o=arguments.length,l=1,f=a.f,p=c.f;o>l;)for(var h,d=u(arguments[l++]),v=f?i(d).concat(f(d)):i(d),g=v.length,m=0;g>m;)h=v[m++],n&&!p.call(d,h)||(r[h]=d[h]);return r}:l},function(e,t,r){"use strict";r(108);var n=r(7),o=r(24),i=r(140),a=r(36),c=r(104),s=r(46),u=r(107),l=r(48),f=r(82),p=r(12),h=r(30),d=r(54),v=r(14),g=r(10),m=r(68),y=r(26),b=r(197),_=r(69),w=r(6),x=o("fetch"),S=o("Headers"),A=w("iterator"),R=l.set,O=l.getterFor("URLSearchParams"),k=l.getterFor("URLSearchParamsIterator"),E=/\+/g,I=Array(4),j=function(e){return I[e-1]||(I[e-1]=RegExp("((?:%[\\da-f]{2}){"+e+"})","gi"))},T=function(e){try{return decodeURIComponent(e)}catch(t){return e}},L=function(e){var t=e.replace(E," "),r=4;try{return decodeURIComponent(t)}catch(e){for(;r;)t=t.replace(j(r--),T);return t}},P=/[!'()~]|%20/g,C={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},N=function(e){return C[e]},U=function(e){return encodeURIComponent(e).replace(P,N)},M=function(e,t){if(t)for(var r,n,o=t.split("&"),i=0;i<o.length;)(r=o[i++]).length&&(n=r.split("="),e.push({key:L(n.shift()),value:L(n.join("="))}))},q=function(e){this.entries.length=0,M(this.entries,e)},F=function(e,t){if(e<t)throw TypeError("Not enough arguments")},D=u((function(e,t){R(this,{type:"URLSearchParamsIterator",iterator:b(O(e).entries),kind:t})}),"Iterator",(function(){var e=k(this),t=e.kind,r=e.iterator.next(),n=r.value;return r.done||(r.value="keys"===t?n.key:"values"===t?n.value:[n.key,n.value]),r})),B=function(){f(this,B,"URLSearchParams");var e,t,r,n,o,i,a,c,s,u=arguments.length>0?arguments[0]:void 0,l=this,h=[];if(R(l,{type:"URLSearchParams",entries:h,updateURL:function(){},updateSearchParams:q}),void 0!==u)if(g(u))if("function"==typeof(e=_(u)))for(r=(t=e.call(u)).next;!(n=r.call(t)).done;){if((a=(i=(o=b(v(n.value))).next).call(o)).done||(c=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");h.push({key:a.value+"",value:c.value+""})}else for(s in u)p(u,s)&&h.push({key:s,value:u[s]+""});else M(h,"string"==typeof u?"?"===u.charAt(0)?u.slice(1):u:u+"")},H=B.prototype;c(H,{append:function(e,t){F(arguments.length,2);var r=O(this);r.entries.push({key:e+"",value:t+""}),r.updateURL()},delete:function(e){F(arguments.length,1);for(var t=O(this),r=t.entries,n=e+"",o=0;o<r.length;)r[o].key===n?r.splice(o,1):o++;t.updateURL()},get:function(e){F(arguments.length,1);for(var t=O(this).entries,r=e+"",n=0;n<t.length;n++)if(t[n].key===r)return t[n].value;return null},getAll:function(e){F(arguments.length,1);for(var t=O(this).entries,r=e+"",n=[],o=0;o<t.length;o++)t[o].key===r&&n.push(t[o].value);return n},has:function(e){F(arguments.length,1);for(var t=O(this).entries,r=e+"",n=0;n<t.length;)if(t[n++].key===r)return!0;return!1},set:function(e,t){F(arguments.length,1);for(var r,n=O(this),o=n.entries,i=!1,a=e+"",c=t+"",s=0;s<o.length;s++)(r=o[s]).key===a&&(i?o.splice(s--,1):(i=!0,r.value=c));i||o.push({key:a,value:c}),n.updateURL()},sort:function(){var e,t,r,n=O(this),o=n.entries,i=o.slice();for(o.length=0,r=0;r<i.length;r++){for(e=i[r],t=0;t<r;t++)if(o[t].key>e.key){o.splice(t,0,e);break}t===r&&o.push(e)}n.updateURL()},forEach:function(e){for(var t,r=O(this).entries,n=h(e,arguments.length>1?arguments[1]:void 0,3),o=0;o<r.length;)n((t=r[o++]).value,t.key,this)},keys:function(){return new D(this,"keys")},values:function(){return new D(this,"values")},entries:function(){return new D(this,"entries")}},{enumerable:!0}),a(H,A,H.entries),a(H,"toString",(function(){for(var e,t=O(this).entries,r=[],n=0;n<t.length;)e=t[n++],r.push(U(e.key)+"="+U(e.value));return r.join("&")}),{enumerable:!0}),s(B,"URLSearchParams"),n({global:!0,forced:!i},{URLSearchParams:B}),i||"function"!=typeof x||"function"!=typeof S||n({global:!0,enumerable:!0,forced:!0},{fetch:function(e){var t,r,n,o=[e];return arguments.length>1&&(g(t=arguments[1])&&(r=t.body,"URLSearchParams"===d(r)&&((n=t.headers?new S(t.headers):new S).has("content-type")||n.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),t=m(t,{body:y(0,String(r)),headers:y(0,n)}))),o.push(t)),x.apply(this,o)}}),e.exports={URLSearchParams:B,getState:O}},,,,,,function(e,t,r){e.exports=r(171)},function(e,t,r){e.exports=r(175)},function(e,t,r){e.exports=r(180)},function(e,t,r){e.exports=r(185)},function(e,t,r){e.exports=r(190)},function(e,t,r){e.exports=r(199)},function(e,t,r){e.exports=r(203)},,,,,,,,,,,,,,,,,function(e,t,r){var n=r(172);e.exports=n},function(e,t,r){var n=r(173),o=Array.prototype;e.exports=function(e){var t=e.find;return e===o||e instanceof Array&&t===o.find?n:t}},function(e,t,r){r(174);var n=r(19);e.exports=n("Array").find},function(e,t,r){"use strict";var n=r(7),o=r(97).find,i=r(55),a=!0;"find"in[]&&Array(1).find((function(){a=!1})),n({target:"Array",proto:!0,forced:a},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(e,t,r){var n=r(176);e.exports=n},function(e,t,r){var n=r(177),o=String.prototype;e.exports=function(e){var t=e.trim;return"string"==typeof e||e===o||e instanceof String&&t===o.trim?n:t}},function(e,t,r){r(178);var n=r(19);e.exports=n("String").trim},function(e,t,r){"use strict";var n=r(7),o=r(135).trim;n({target:"String",proto:!0,forced:r(179)("trim")},{trim:function(){return o(this)}})},function(e,t,r){var n=r(8),o=r(99);e.exports=function(e){return n((function(){return!!o[e]()||"
"!="
"[e]()||o[e].name!==e}))}},function(e,t,r){var n=r(181);e.exports=n},function(e,t,r){var n=r(182),o=Array.prototype;e.exports=function(e){var t=e.reduce;return e===o||e instanceof Array&&t===o.reduce?n:t}},function(e,t,r){r(183);var n=r(19);e.exports=n("Array").reduce},function(e,t,r){"use strict";var n=r(7),o=r(184).left,i=r(139),a=r(35),c=r(34);n({target:"Array",proto:!0,forced:!i("reduce")||!c&&a>79&&a<83},{reduce:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(e,t,r){var n=r(23),o=r(40),i=r(38),a=r(29),c=function(e){return function(t,r,c,s){n(r);var u=o(t),l=i(u),f=a(u.length),p=e?f-1:0,h=e?-1:1;if(c<2)for(;;){if(p in l){s=l[p],p+=h;break}if(p+=h,e?p<0:f<=p)throw TypeError("Reduce of empty array with no initial value")}for(;e?p>=0:f>p;p+=h)p in l&&(s=r(s,l[p],p,u));return s}};e.exports={left:c(!1),right:c(!0)}},function(e,t,r){var n=r(186);e.exports=n},function(e,t,r){var n=r(187),o=String.prototype;e.exports=function(e){var t=e.startsWith;return"string"==typeof e||e===o||e instanceof String&&t===o.startsWith?n:t}},function(e,t,r){r(188);var n=r(19);e.exports=n("String").startsWith},function(e,t,r){"use strict";var n,o=r(7),i=r(50).f,a=r(29),c=r(71),s=r(22),u=r(72),l=r(28),f="".startsWith,p=Math.min,h=u("startsWith");o({target:"String",proto:!0,forced:!(!l&&!h&&(n=i(String.prototype,"startsWith"),n&&!n.writable)||h)},{startsWith:function(e){var t=String(s(this));c(e);var r=a(p(arguments.length>1?arguments[1]:void 0,t.length)),n=String(e);return f?f.call(t,n,r):t.slice(r,r+n.length)===n}})},,function(e,t,r){var n=r(191);e.exports=n},function(e,t,r){r(192),r(198),r(142);var n=r(18);e.exports=n.URL},function(e,t,r){"use strict";r(105);var n,o=r(7),i=r(15),a=r(140),c=r(5),s=r(101),u=r(36),l=r(82),f=r(12),p=r(141),h=r(194),d=r(106).codeAt,v=r(196),g=r(46),m=r(142),y=r(48),b=c.URL,_=m.URLSearchParams,w=m.getState,x=y.set,S=y.getterFor("URL"),A=Math.floor,R=Math.pow,O=/[A-Za-z]/,k=/[\d+-.A-Za-z]/,E=/\d/,I=/^(0x|0X)/,j=/^[0-7]+$/,T=/^\d+$/,L=/^[\dA-Fa-f]+$/,P=/[\u0000\t\u000A\u000D #%/:?@[\\]]/,C=/[\u0000\t\u000A\u000D #/:?@[\\]]/,N=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,U=/[\t\u000A\u000D]/g,M=function(e,t){var r,n,o;if("["==t.charAt(0)){if("]"!=t.charAt(t.length-1))return"Invalid host";if(!(r=F(t.slice(1,-1))))return"Invalid host";e.host=r}else if(Y(e)){if(t=v(t),P.test(t))return"Invalid host";if(null===(r=q(t)))return"Invalid host";e.host=r}else{if(C.test(t))return"Invalid host";for(r="",n=h(t),o=0;o<n.length;o++)r+=z(n[o],B);e.host=r}},q=function(e){var t,r,n,o,i,a,c,s=e.split(".");if(s.length&&""==s[s.length-1]&&s.pop(),(t=s.length)>4)return e;for(r=[],n=0;n<t;n++){if(""==(o=s[n]))return e;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=I.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?T:8==i?j:L).test(o))return e;a=parseInt(o,i)}r.push(a)}for(n=0;n<t;n++)if(a=r[n],n==t-1){if(a>=R(256,5-t))return null}else if(a>255)return null;for(c=r.pop(),n=0;n<r.length;n++)c+=r[n]*R(256,3-n);return c},F=function(e){var t,r,n,o,i,a,c,s=[0,0,0,0,0,0,0,0],u=0,l=null,f=0,p=function(){return e.charAt(f)};if(":"==p()){if(":"!=e.charAt(1))return;f+=2,l=++u}for(;p();){if(8==u)return;if(":"!=p()){for(t=r=0;r<4&&L.test(p());)t=16*t+parseInt(p(),16),f++,r++;if("."==p()){if(0==r)return;if(f-=r,u>6)return;for(n=0;p();){if(o=null,n>0){if(!("."==p()&&n<4))return;f++}if(!E.test(p()))return;for(;E.test(p());){if(i=parseInt(p(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;f++}s[u]=256*s[u]+o,2!=++n&&4!=n||u++}if(4!=n)return;break}if(":"==p()){if(f++,!p())return}else if(p())return;s[u++]=t}else{if(null!==l)return;f++,l=++u}}if(null!==l)for(a=u-l,u=7;0!=u&&a>0;)c=s[u],s[u--]=s[l+a-1],s[l+--a]=c;else if(8!=u)return;return s},D=function(e){var t,r,n,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)t.unshift(e%256),e=A(e/256);return t.join(".")}if("object"==typeof e){for(t="",n=function(e){for(var t=null,r=1,n=null,o=0,i=0;i<8;i++)0!==e[i]?(o>r&&(t=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r&&(t=n,r=o),t}(e),r=0;r<8;r++)o&&0===e[r]||(o&&(o=!1),n===r?(t+=r?":":"::",o=!0):(t+=e[r].toString(16),r<7&&(t+=":")));return"["+t+"]"}return e},B={},H=p({},B,{" ":1,'"':1,"<":1,">":1,"`":1}),V=p({},H,{"#":1,"?":1,"{":1,"}":1}),W=p({},V,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),z=function(e,t){var r=d(e,0);return r>32&&r<127&&!f(t,e)?e:encodeURIComponent(e)},G={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Y=function(e){return f(G,e.scheme)},X=function(e){return""!=e.username||""!=e.password},$=function(e){return!e.host||e.cannotBeABaseURL||"file"==e.scheme},J=function(e,t){var r;return 2==e.length&&O.test(e.charAt(0))&&(":"==(r=e.charAt(1))||!t&&"|"==r)},Z=function(e){var t;return e.length>1&&J(e.slice(0,2))&&(2==e.length||"/"===(t=e.charAt(2))||"\\"===t||"?"===t||"#"===t)},Q=function(e){var t=e.path,r=t.length;!r||"file"==e.scheme&&1==r&&J(t[0],!0)||t.pop()},K=function(e){return"."===e||"%2e"===e.toLowerCase()},ee={},te={},re={},ne={},oe={},ie={},ae={},ce={},se={},ue={},le={},fe={},pe={},he={},de={},ve={},ge={},me={},ye={},be={},_e={},we=function(e,t,r,o){var i,a,c,s,u,l=r||ee,p=0,d="",v=!1,g=!1,m=!1;for(r||(e.scheme="",e.username="",e.password="",e.host=null,e.port=null,e.path=[],e.query=null,e.fragment=null,e.cannotBeABaseURL=!1,t=t.replace(N,"")),t=t.replace(U,""),i=h(t);p<=i.length;){switch(a=i[p],l){case ee:if(!a||!O.test(a)){if(r)return"Invalid scheme";l=re;continue}d+=a.toLowerCase(),l=te;break;case te:if(a&&(k.test(a)||"+"==a||"-"==a||"."==a))d+=a.toLowerCase();else{if(":"!=a){if(r)return"Invalid scheme";d="",l=re,p=0;continue}if(r&&(Y(e)!=f(G,d)||"file"==d&&(X(e)||null!==e.port)||"file"==e.scheme&&!e.host))return;if(e.scheme=d,r)return void(Y(e)&&G[e.scheme]==e.port&&(e.port=null));d="","file"==e.scheme?l=he:Y(e)&&o&&o.scheme==e.scheme?l=ne:Y(e)?l=ce:"/"==i[p+1]?(l=oe,p++):(e.cannotBeABaseURL=!0,e.path.push(""),l=ye)}break;case re:if(!o||o.cannotBeABaseURL&&"#"!=a)return"Invalid scheme";if(o.cannotBeABaseURL&&"#"==a){e.scheme=o.scheme,e.path=o.path.slice(),e.query=o.query,e.fragment="",e.cannotBeABaseURL=!0,l=_e;break}l="file"==o.scheme?he:ie;continue;case ne:if("/"!=a||"/"!=i[p+1]){l=ie;continue}l=se,p++;break;case oe:if("/"==a){l=ue;break}l=me;continue;case ie:if(e.scheme=o.scheme,a==n)e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.query=o.query;else if("/"==a||"\\"==a&&Y(e))l=ae;else if("?"==a)e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.query="",l=be;else{if("#"!=a){e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.path.pop(),l=me;continue}e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.query=o.query,e.fragment="",l=_e}break;case ae:if(!Y(e)||"/"!=a&&"\\"!=a){if("/"!=a){e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,l=me;continue}l=ue}else l=se;break;case ce:if(l=se,"/"!=a||"/"!=d.charAt(p+1))continue;p++;break;case se:if("/"!=a&&"\\"!=a){l=ue;continue}break;case ue:if("@"==a){v&&(d="%40"+d),v=!0,c=h(d);for(var y=0;y<c.length;y++){var b=c[y];if(":"!=b||m){var _=z(b,W);m?e.password+=_:e.username+=_}else m=!0}d=""}else if(a==n||"/"==a||"?"==a||"#"==a||"\\"==a&&Y(e)){if(v&&""==d)return"Invalid authority";p-=h(d).length+1,d="",l=le}else d+=a;break;case le:case fe:if(r&&"file"==e.scheme){l=ve;continue}if(":"!=a||g){if(a==n||"/"==a||"?"==a||"#"==a||"\\"==a&&Y(e)){if(Y(e)&&""==d)return"Invalid host";if(r&&""==d&&(X(e)||null!==e.port))return;if(s=M(e,d))return s;if(d="",l=ge,r)return;continue}"["==a?g=!0:"]"==a&&(g=!1),d+=a}else{if(""==d)return"Invalid host";if(s=M(e,d))return s;if(d="",l=pe,r==fe)return}break;case pe:if(!E.test(a)){if(a==n||"/"==a||"?"==a||"#"==a||"\\"==a&&Y(e)||r){if(""!=d){var w=parseInt(d,10);if(w>65535)return"Invalid port";e.port=Y(e)&&w===G[e.scheme]?null:w,d=""}if(r)return;l=ge;continue}return"Invalid port"}d+=a;break;case he:if(e.scheme="file","/"==a||"\\"==a)l=de;else{if(!o||"file"!=o.scheme){l=me;continue}if(a==n)e.host=o.host,e.path=o.path.slice(),e.query=o.query;else if("?"==a)e.host=o.host,e.path=o.path.slice(),e.query="",l=be;else{if("#"!=a){Z(i.slice(p).join(""))||(e.host=o.host,e.path=o.path.slice(),Q(e)),l=me;continue}e.host=o.host,e.path=o.path.slice(),e.query=o.query,e.fragment="",l=_e}}break;case de:if("/"==a||"\\"==a){l=ve;break}o&&"file"==o.scheme&&!Z(i.slice(p).join(""))&&(J(o.path[0],!0)?e.path.push(o.path[0]):e.host=o.host),l=me;continue;case ve:if(a==n||"/"==a||"\\"==a||"?"==a||"#"==a){if(!r&&J(d))l=me;else if(""==d){if(e.host="",r)return;l=ge}else{if(s=M(e,d))return s;if("localhost"==e.host&&(e.host=""),r)return;d="",l=ge}continue}d+=a;break;case ge:if(Y(e)){if(l=me,"/"!=a&&"\\"!=a)continue}else if(r||"?"!=a)if(r||"#"!=a){if(a!=n&&(l=me,"/"!=a))continue}else e.fragment="",l=_e;else e.query="",l=be;break;case me:if(a==n||"/"==a||"\\"==a&&Y(e)||!r&&("?"==a||"#"==a)){if(".."===(u=(u=d).toLowerCase())||"%2e."===u||".%2e"===u||"%2e%2e"===u?(Q(e),"/"==a||"\\"==a&&Y(e)||e.path.push("")):K(d)?"/"==a||"\\"==a&&Y(e)||e.path.push(""):("file"==e.scheme&&!e.path.length&&J(d)&&(e.host&&(e.host=""),d=d.charAt(0)+":"),e.path.push(d)),d="","file"==e.scheme&&(a==n||"?"==a||"#"==a))for(;e.path.length>1&&""===e.path[0];)e.path.shift();"?"==a?(e.query="",l=be):"#"==a&&(e.fragment="",l=_e)}else d+=z(a,V);break;case ye:"?"==a?(e.query="",l=be):"#"==a?(e.fragment="",l=_e):a!=n&&(e.path[0]+=z(a,B));break;case be:r||"#"!=a?a!=n&&("'"==a&&Y(e)?e.query+="%27":e.query+="#"==a?"%23":z(a,B)):(e.fragment="",l=_e);break;case _e:a!=n&&(e.fragment+=z(a,H))}p++}},xe=function(e){var t,r,n=l(this,xe,"URL"),o=arguments.length>1?arguments[1]:void 0,a=String(e),c=x(n,{type:"URL"});if(void 0!==o)if(o instanceof xe)t=S(o);else if(r=we(t={},String(o)))throw TypeError(r);if(r=we(c,a,null,t))throw TypeError(r);var s=c.searchParams=new _,u=w(s);u.updateSearchParams(c.query),u.updateURL=function(){c.query=String(s)||null},i||(n.href=Ae.call(n),n.origin=Re.call(n),n.protocol=Oe.call(n),n.username=ke.call(n),n.password=Ee.call(n),n.host=Ie.call(n),n.hostname=je.call(n),n.port=Te.call(n),n.pathname=Le.call(n),n.search=Pe.call(n),n.searchParams=Ce.call(n),n.hash=Ne.call(n))},Se=xe.prototype,Ae=function(){var e=S(this),t=e.scheme,r=e.username,n=e.password,o=e.host,i=e.port,a=e.path,c=e.query,s=e.fragment,u=t+":";return null!==o?(u+="//",X(e)&&(u+=r+(n?":"+n:"")+"@"),u+=D(o),null!==i&&(u+=":"+i)):"file"==t&&(u+="//"),u+=e.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==c&&(u+="?"+c),null!==s&&(u+="#"+s),u},Re=function(){var e=S(this),t=e.scheme,r=e.port;if("blob"==t)try{return new URL(t.path[0]).origin}catch(e){return"null"}return"file"!=t&&Y(e)?t+"://"+D(e.host)+(null!==r?":"+r:""):"null"},Oe=function(){return S(this).scheme+":"},ke=function(){return S(this).username},Ee=function(){return S(this).password},Ie=function(){var e=S(this),t=e.host,r=e.port;return null===t?"":null===r?D(t):D(t)+":"+r},je=function(){var e=S(this).host;return null===e?"":D(e)},Te=function(){var e=S(this).port;return null===e?"":String(e)},Le=function(){var e=S(this),t=e.path;return e.cannotBeABaseURL?t[0]:t.length?"/"+t.join("/"):""},Pe=function(){var e=S(this).query;return e?"?"+e:""},Ce=function(){return S(this).searchParams},Ne=function(){var e=S(this).fragment;return e?"#"+e:""},Ue=function(e,t){return{get:e,set:t,configurable:!0,enumerable:!0}};if(i&&s(Se,{href:Ue(Ae,(function(e){var t=S(this),r=String(e),n=we(t,r);if(n)throw TypeError(n);w(t.searchParams).updateSearchParams(t.query)})),origin:Ue(Re),protocol:Ue(Oe,(function(e){var t=S(this);we(t,String(e)+":",ee)})),username:Ue(ke,(function(e){var t=S(this),r=h(String(e));if(!$(t)){t.username="";for(var n=0;n<r.length;n++)t.username+=z(r[n],W)}})),password:Ue(Ee,(function(e){var t=S(this),r=h(String(e));if(!$(t)){t.password="";for(var n=0;n<r.length;n++)t.password+=z(r[n],W)}})),host:Ue(Ie,(function(e){var t=S(this);t.cannotBeABaseURL||we(t,String(e),le)})),hostname:Ue(je,(function(e){var t=S(this);t.cannotBeABaseURL||we(t,String(e),fe)})),port:Ue(Te,(function(e){var t=S(this);$(t)||(""==(e=String(e))?t.port=null:we(t,e,pe))})),pathname:Ue(Le,(function(e){var t=S(this);t.cannotBeABaseURL||(t.path=[],we(t,e+"",ge))})),search:Ue(Pe,(function(e){var t=S(this);""==(e=String(e))?t.query=null:("?"==e.charAt(0)&&(e=e.slice(1)),t.query="",we(t,e,be)),w(t.searchParams).updateSearchParams(t.query)})),searchParams:Ue(Ce),hash:Ue(Ne,(function(e){var t=S(this);""!=(e=String(e))?("#"==e.charAt(0)&&(e=e.slice(1)),t.fragment="",we(t,e,_e)):t.fragment=null}))}),u(Se,"toJSON",(function(){return Ae.call(this)}),{enumerable:!0}),u(Se,"toString",(function(){return Ae.call(this)}),{enumerable:!0}),b){var Me=b.createObjectURL,qe=b.revokeObjectURL;Me&&u(xe,"createObjectURL",(function(e){return Me.apply(b,arguments)})),qe&&u(xe,"revokeObjectURL",(function(e){return qe.apply(b,arguments)}))}g(xe,"URL"),o({global:!0,forced:!a,sham:!i},{URL:xe})},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,r){"use strict";var n=r(30),o=r(40),i=r(195),a=r(102),c=r(29),s=r(109),u=r(69);e.exports=function(e){var t,r,l,f,p,h,d=o(e),v="function"==typeof this?this:Array,g=arguments.length,m=g>1?arguments[1]:void 0,y=void 0!==m,b=u(d),_=0;if(y&&(m=n(m,g>2?arguments[2]:void 0,2)),null==b||v==Array&&a(b))for(r=new v(t=c(d.length));t>_;_++)h=y?m(d[_],_):d[_],s(r,_,h);else for(p=(f=b.call(d)).next,r=new v;!(l=p.call(f)).done;_++)h=y?i(f,m,[l.value,_],!0):l.value,s(r,_,h);return r.length=_,r}},function(e,t,r){var n=r(14),o=r(103);e.exports=function(e,t,r,i){try{return i?t(n(r)[0],r[1]):t(r)}catch(t){throw o(e),t}}},function(e,t,r){"use strict";var n=/[^\0-\u007E]/,o=/[.\u3002\uFF0E\uFF61]/g,i="Overflow: input needs wider integers to process",a=Math.floor,c=String.fromCharCode,s=function(e){return e+22+75*(e<26)},u=function(e,t,r){var n=0;for(e=r?a(e/700):e>>1,e+=a(e/t);e>455;n+=36)e=a(e/35);return a(n+36*e/(e+38))},l=function(e){var t,r,n=[],o=(e=function(e){for(var t=[],r=0,n=e.length;r<n;){var o=e.charCodeAt(r++);if(o>=55296&&o<=56319&&r<n){var i=e.charCodeAt(r++);56320==(64512&i)?t.push(((1023&o)<<10)+(1023&i)+65536):(t.push(o),r--)}else t.push(o)}return t}(e)).length,l=128,f=0,p=72;for(t=0;t<e.length;t++)(r=e[t])<128&&n.push(c(r));var h=n.length,d=h;for(h&&n.push("-");d<o;){var v=2147483647;for(t=0;t<e.length;t++)(r=e[t])>=l&&r<v&&(v=r);var g=d+1;if(v-l>a((2147483647-f)/g))throw RangeError(i);for(f+=(v-l)*g,l=v,t=0;t<e.length;t++){if((r=e[t])<l&&++f>2147483647)throw RangeError(i);if(r==l){for(var m=f,y=36;;y+=36){var b=y<=p?1:y>=p+26?26:y-p;if(m<b)break;var _=m-b,w=36-b;n.push(c(s(b+_%w))),m=a(_/w)}n.push(c(s(m))),p=u(f,g,d==h),f=0,++d}}++f,++l}return n.join("")};e.exports=function(e){var t,r,i=[],a=e.toLowerCase().replace(o,".").split(".");for(t=0;t<a.length;t++)r=a[t],i.push(n.test(r)?"xn--"+l(r):r);return i.join(".")}},function(e,t,r){var n=r(14),o=r(69);e.exports=function(e){var t=o(e);if("function"!=typeof t)throw TypeError(String(e)+" is not iterable");return n(t.call(e))}},function(e,t){},function(e,t,r){var n=r(200);e.exports=n},function(e,t,r){var n=r(201),o=Array.prototype;e.exports=function(e){var t=e.indexOf;return e===o||e instanceof Array&&t===o.indexOf?n:t}},function(e,t,r){r(202);var n=r(19);e.exports=n("Array").indexOf},function(e,t,r){"use strict";var n=r(7),o=r(52).indexOf,i=r(139),a=[].indexOf,c=!!a&&1/[1].indexOf(1,-0)<0,s=i("indexOf");n({target:"Array",proto:!0,forced:c||!s},{indexOf:function(e){return c?a.apply(this,arguments)||0:o(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,r){var n=r(204);e.exports=n},function(e,t,r){r(205);var n=r(18);e.exports=n.Object.assign},function(e,t,r){var n=r(7),o=r(141);n({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},,,,,,,,,,,,function(e,t,r){"use strict";r.r(t);var n=r(33),o=r.n(n),i=r(25),a=r.n(i),c=r(148),s=r.n(c),u=r(149),l=r.n(u),f=r(150),p=r.n(f),h=r(151),d=r.n(h),v=r(20),g=r.n(v),m=(r(189),r(49)),y=r(2),b=r(152),_=r.n(b),w=r(153),x=r.n(w);const S=["color","padding","paddingTop","paddingRight","paddingBottom","paddingLeft"],A=["fontFamily","fontSize","lineHeight","letterSpacing","fontWeight","fontVariation","textDecoration","textShadow","textTransform","-webkit-font-smoothing","-moz-osx-font-smoothing","transition"],R=["border","borderTop","borderRight","borderBottom","borderLeft","borderRadius","borderWidth","borderColor","borderStyle","borderTopWidth","borderTopColor","borderTopStyle","borderRightWidth","borderRightColor","borderRightStyle","borderBottomWidth","borderBottomColor","borderBottomStyle","borderLeftWidth","borderLeftColor","borderLeftStyle","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","outline","outlineOffset","backgroundColor","boxShadow"],O={".Label":[...S,...A],".Input":[...S,...A,...R],".Error":[...S,...A,...R],".Tab":[...S,...A,...R],".TabIcon":[...S],".TabLabel":[...S,...A]},k={".Label":O[".Label"],".Input":[...O[".Input"],"outlineColor","outlineWidth","outlineStyle"],".Error":O[".Error"],".Tab":["borderStyle","borderBottomStyle","borderTopStyle","borderRightStyle","borderLeftStyle","borderColor","borderBottomColor","borderTopColor","borderRightColor","borderLeftColor","borderWidth","borderBottomWidth","borderTopWidth","borderRightWidth","borderLeftWidth","backgroundColor","color","fontFamily"],".Tab--selected":["borderStyle","borderStyle","borderBottomStyle","borderTopStyle","borderRightStyle","borderLeftStyle","borderWidth","borderBottomWidth","borderTopWidth","borderRightWidth","borderLeftWidth","backgroundColor","color"],".TabIcon":O[".TabIcon"],".TabIcon--selected":["color"],".TabLabel":O[".TabLabel"]};var E=r(154),I=r.n(E),j=r(73),T=r.n(j);const L=e=>{if(!e.backgroundColor||!e.color)return e;const t=((e,t)=>{const r={backgroundColor:e,color:t},n=T()(e),o=T()(t);if(!n.isValid()||!o.isValid())return{backgroundColor:"",color:""};const i=n.getBrightness()>50?T()(n).darken(7):T()(n).lighten(7),a=T.a.mostReadable(i,[o],{includeFallbackColors:!0});return r.backgroundColor=i.toRgbString(),r.color=a.toRgbString(),r})(e.backgroundColor,e.color),r=I()({},e);return r.backgroundColor=t.backgroundColor,r.color=t.color,r},P=(e,t)=>{if(!document.querySelector(e))return{};const r=k[t],n=document.querySelector(e),o=window.getComputedStyle(n),i={};for(let e=0;e<o.length;e++){const t=o[e].replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}));a()(r).call(r,t)&&(i[t]=o.getPropertyValue(o[e]))}if(".Input"===t){const e=((e,t="solid",r)=>e&&r?[e,t,r].join(" "):"")(i.outlineWidth,i.outlineStyle,i.outlineColor);""!==e&&(i.outline=e),delete i.outlineWidth,delete i.outlineColor,delete i.outlineStyle}return i},C=()=>{const e=[],t=document.styleSheets,r=["fonts.googleapis.com","fonts.gstatic.com","fast.fonts.com","use.typekit.net"];for(let n=0;n<t.length;n++){if(!t[n].href)continue;const o=new _.a(t[n].href);-1!==x()(r).call(r,o.hostname)&&e.push({cssSrc:t[n].href})}return e};g()((function(e){var t,r,n,i,c,u;const f=null===(t=Object(y.c)())||void 0===t?void 0:t.key,h=null===(r=Object(y.c)())||void 0===r?void 0:r.isUPEEnabled,v=null===(n=Object(y.c)())||void 0===n?void 0:n.paymentMethodsConfig;if(!f)return;const b=new m.b({key:f,locale:null===(i=Object(y.c)())||void 0===i?void 0:i.locale,isUPEEnabled:h},(e,t)=>new o.a((r,n)=>{g.a.post(e,t).then(r).fail(n)})),_={getHiddenContainer(){const e=document.createElement("div");return e.setAttribute("id","wc-stripe-hidden-div"),e.style.border=0,e.style.clip="rect(0 0 0 0)",e.style.height="1px",e.style.margin="-1px",e.style.overflow="hidden",e.style.padding="0",e.style.position="absolute",e.style.width="1px",e},getHiddenInvalidRow(){const e=document.createElement("p");return e.classList.add("form-row","woocommerce-invalid","woocommerce-invalid-required-field"),e},appendHiddenClone(e,t,r){const n=g()(t).clone().prop("id",r);return e.appendChild(n.get(0)),n},init(){if(!e(" #billing_first_name").length)return;const t=this.getHiddenContainer();e(t).insertAfter("#billing_first_name"),this.appendHiddenClone(t,"#billing_first_name","wc-stripe-hidden-input"),e("#wc-stripe-hidden-input").trigger("focus");const r=this.getHiddenInvalidRow();this.appendHiddenClone(r,"#billing_first_name","wc-stripe-hidden-invalid-input"),t.appendChild(r),e("#wc-stripe-hidden-input").css("transition","none")},cleanup(){e("#wc-stripe-hidden-div").remove()}},w=b.getStripe().elements({fonts:C()}),x=null!==(c=null===(u=Object(y.c)())||void 0===u?void 0:u.sepaElementsOptions)&&void 0!==c?c:{},S=w.create("iban",x);let A=null,R=null,O=!1;const k={name:"never",email:"never",phone:"never",address:{country:"never",line1:"never",line2:"never",city:"never",state:"never",postalCode:"never"}},E=e=>{e.addClass("processing").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},I=e=>{e.removeClass("processing").unblock()},j=()=>e("#stripe-iban-element").length&&!e("#stripe-iban-element").children().length,T=t=>{let r="";r=a()(t).call(t,"woocommerce-error")?t:'<ul class="woocommerce-error" role="alert">'+t+"</ul>";const n=e(".woocommerce-notices-wrapper, form.checkout").first();if(!n.length)return;e(".woocommerce-NoticeGroup-checkout, .woocommerce-error, .woocommerce-message").remove(),n.prepend('<div class="woocommerce-NoticeGroup woocommerce-NoticeGroup-checkout">'+r+"</div>"),s()(n).call(n,".input-text, select, input:checkbox").trigger("validate").blur();let o=e(".woocommerce-NoticeGroup-checkout");o.length||(o=n),e.scroll_to_notices(o),e(document.body).trigger("checkout_error")},N=function(t=!1){var r,n;if(E(e("#wc-stripe-upe-form")),A)return A.unmount(),void A.mount("#wc-stripe-upe-element");const o=null===(r=Object(y.c)())||void 0===r?void 0:r.isOrderPay,i=null===(n=Object(y.c)())||void 0===n?void 0:n.isCheckout;let a;var c;o&&(a=null===(c=Object(y.c)())||void 0===c?void 0:c.orderId),(t?b.initSetupIntent():b.createIntent(a)).then(t=>{var r,n;if(A||R)return A.unmount(),void A.mount("#wc-stripe-upe-element");const{client_secret:a,id:c}=t;R=c;let s=null===(r=Object(y.c)())||void 0===r?void 0:r.upeAppeareance;s||(_.init(),s=(()=>{const e=P("#billing_first_name",".Input"),t=P("#wc-stripe-hidden-input",".Input"),r=P("#wc-stripe-hidden-invalid-input",".Input"),n=P(".woocommerce-checkout .form-row label",".Label"),o=P("#billing_first_name",".Tab"),i=P(".woocommerce-checkout .place-order .button.alt",".Tab--selected"),a=L(o),c=L(i);return{rules:{".Input":e,".Input:focus":t,".Input--invalid":r,".Label":n,".Tab":o,".Tab:hover":a,".Tab--selected":i,".Tab--selected:hover":c,".TabIcon:hover":{color:a.color},".TabIcon--selected":{color:i.color},".TabIcon--selected:hover":{color:c.color}}}})(),_.cleanup(),b.saveUPEAppearance(s));const u={clientSecret:a,appearance:s,business:{name:null===(n=Object(y.c)())||void 0===n?void 0:n.accountDescriptor}};i&&!o&&(u.fields={billingDetails:k}),A=w.create("payment",u),A.mount("#wc-stripe-upe-element"),A.on("ready",()=>{I(e("#wc-stripe-upe-form"))}),A.on("change",t=>{const r=t.value.type;var n;((t=!0)=>{t?e(".woocommerce-SavedPaymentMethods-saveNew").show():(e(".woocommerce-SavedPaymentMethods-saveNew").hide(),e("input#wc-stripe-new-payment-method").prop("checked",!1))})(v[r].isReusable),n=r,e("#wc_stripe_selected_upe_payment_type").val(n),O=t.complete})}).catch(t=>{I(e("#wc-stripe-upe-form")),T(t.message),e(".payment_box.payment_method_woocommerce_payments").html("<div>An error was encountered when preparing the payment form. Please try again later.</div>")})};if(e(document.body).on("updated_checkout",()=>{e("#wc-stripe-upe-element").length&&!e("#wc-stripe-upe-element").children().length&&h&&N(),j()&&S.mount("#stripe-iban-element")}),e("form#add_payment_method").length||e("form#order_review").length){if(e("#wc-stripe-upe-element").length&&!e("#wc-stripe-upe-element").children().length&&h&&!A){var U,M;const t=null===(U=Object(y.c)())||void 0===U?void 0:U.isChangingPayment,r=e("form#add_payment_method").length||t;if(t&&null!==(M=Object(y.c)())&&void 0!==M&&M.newTokenFormId){var q;const t=null===(q=Object(y.c)())||void 0===q?void 0:q.newTokenFormId;e(t).prop("selected",!0).trigger("click"),e("form#order_review").submit()}N(r)}j()&&S.mount("#stripe-iban-element")}const F=async e=>{if(!A)return T("Your payment information is incomplete."),!1;if(!O){const{error:t}=await b.getStripe().confirmPayment({element:A,confirmParams:{return_url:""}});return e.removeClass("processing").unblock(),T(t.message),!1}return!0},D=async e=>{if(await F(e)){E(e);try{var t;const e=null===(t=Object(y.c)())||void 0===t?void 0:t.addPaymentReturnURL,{error:r}=await b.getStripe().confirmSetup({element:A,confirmParams:{return_url:e}});if(r)throw r}catch(t){e.removeClass("processing").unblock(),T(t.message)}}},B=()=>{const t=e("#wc-stripe-payment-method").val(),r=e("#wc-stripe-new-payment-method").is(":checked"),n=b.confirmIntent(window.location.href,r?t:null);if(!0===n)return;const{request:o,isOrderPage:i}=n;i&&(E(e("#order_review")),e("#payment").hide(500)),history.replaceState("",document.title,window.location.pathname+window.location.search),o.then(e=>{window.location=e}).catch(t=>{e("form.checkout").removeClass("processing").unblock(),e("#order_review").removeClass("processing").unblock(),e("#payment").show(500);let r=t.message;var n;t instanceof Error&&(r=null===(n=Object(y.c)())||void 0===n?void 0:n.genericErrorMessage),T(r)})};function H(){return e("#wc-stripe-payment-token-new").length&&!e("#wc-stripe-payment-token-new").is(":checked")}e("form.checkout").on("checkout_place_order_stripe",(function(){if(!H()&&h&&R)return(async e=>{var t;if(!await F(e))return;E(e);const r=p()(t=e.serializeArray()).call(t,(e,t)=>(e[t.name]=t.value,e),{});try{const e=await b.processCheckout(R,r),t=e.redirect_url,i={element:A,confirmParams:{return_url:t,payment_method_data:{billing_details:(n=r,{name:l()(o=`${n.billing_first_name} ${n.billing_last_name}`).call(o),email:n.billing_email,phone:n.billing_phone,address:{country:n.billing_country,line1:n.billing_address_1,line2:n.billing_address_2,city:n.billing_city,state:n.billing_state,postal_code:n.billing_postcode}})}}};let a;if(e.payment_needed?({error:a}=await b.getStripe().confirmPayment(i)):({error:a}=await b.getStripe().confirmSetup(i)),a)throw a}catch(t){e.removeClass("processing").unblock(),T(t.message)}var n,o})(e(this)),!1})),e("form#add_payment_method").on("submit",(function(){if(!e("#wc-stripe-setup-intent").val()&&h&&R)return D(e(this)),!1})),e("#order_review").on("submit",()=>{var t;if(!H())return null!==(t=Object(y.c)())&&void 0!==t&&t.isChangingPayment?(D(e("#order_review")),!1):((async t=>{if(await F(e("#order_review"))){E(t);try{var r,n;const t=e("#wc-stripe-new-payment-method").is(":checked")?"yes":"no",o=(null===(r=Object(y.c)())||void 0===r?void 0:r.orderReturnURL)+"&save_payment_method="+t,i=null===(n=Object(y.c)())||void 0===n?void 0:n.orderId;await b.updateIntent(R,i,t,e("#wc_stripe_selected_upe_payment_type").val());const{error:a}=await b.getStripe().confirmPayment({element:A,confirmParams:{return_url:o}});if(a)throw a}catch(e){t.removeClass("processing").unblock(),T(e.message)}}})(e("#order_review")),!1)}),B(),window.addEventListener("hashchange",()=>{var e;d()(e=window.location.hash).call(e,"#wc-stripe-confirm-")&&B()})}))}]);
|
build/upe_opt_in_banner.asset.php
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<?php return array('dependencies' => array('react', 'react-dom', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '63a1ac18fa99d7da36e30565a682f0da');
|
build/upe_opt_in_banner.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(e){var t={};function l(V){if(t[V])return t[V].exports;var a=t[V]={i:V,l:!1,exports:{}};return e[V].call(a.exports,a,a.exports,l),a.l=!0,a.exports}l.m=e,l.c=t,l.d=function(e,t,V){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:V})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var V=Object.create(null);if(l.r(V),Object.defineProperty(V,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)l.d(V,a,function(t){return e[t]}.bind(null,a));return V},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="",l(l.s=218)}({0:function(e,t){e.exports=window.wp.element},1:function(e,t){e.exports=window.React},100:function(e,t,l){"use strict";var V=l(136),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},n={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},d={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},r={};function U(e){return V.isMemo(e)?d:r[e.$$typeof]||a}r[V.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},r[V.Memo]=d;var c=Object.defineProperty,R=Object.getOwnPropertyNames,N=Object.getOwnPropertySymbols,Z=Object.getOwnPropertyDescriptor,o=Object.getPrototypeOf,W=Object.prototype;e.exports=function e(t,l,V){if("string"!=typeof l){if(W){var a=o(l);a&&a!==W&&e(t,a,V)}var d=R(l);N&&(d=d.concat(N(l)));for(var r=U(t),T=U(l),i=0;i<d.length;++i){var F=d[i];if(!(n[F]||V&&V[F]||T&&T[F]||r&&r[F])){var p=Z(l,F);try{c(t,F,p)}catch(e){}}}}return t}},11:function(e,t){e.exports=window.wp.components},136:function(e,t,l){"use strict";e.exports=l(137)},137:function(e,t,l){"use strict";var V="function"==typeof Symbol&&Symbol.for,a=V?Symbol.for("react.element"):60103,n=V?Symbol.for("react.portal"):60106,d=V?Symbol.for("react.fragment"):60107,r=V?Symbol.for("react.strict_mode"):60108,U=V?Symbol.for("react.profiler"):60114,c=V?Symbol.for("react.provider"):60109,R=V?Symbol.for("react.context"):60110,N=V?Symbol.for("react.async_mode"):60111,Z=V?Symbol.for("react.concurrent_mode"):60111,o=V?Symbol.for("react.forward_ref"):60112,W=V?Symbol.for("react.suspense"):60113,T=V?Symbol.for("react.suspense_list"):60120,i=V?Symbol.for("react.memo"):60115,F=V?Symbol.for("react.lazy"):60116,p=V?Symbol.for("react.block"):60121,h=V?Symbol.for("react.fundamental"):60117,s=V?Symbol.for("react.responder"):60118,m=V?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case a:switch(e=e.type){case N:case Z:case d:case U:case r:case W:return e;default:switch(e=e&&e.$$typeof){case R:case o:case F:case i:case c:return e;default:return t}}case n:return t}}}function E(e){return k(e)===Z}t.AsyncMode=N,t.ConcurrentMode=Z,t.ContextConsumer=R,t.ContextProvider=c,t.Element=a,t.ForwardRef=o,t.Fragment=d,t.Lazy=F,t.Memo=i,t.Portal=n,t.Profiler=U,t.StrictMode=r,t.Suspense=W,t.isAsyncMode=function(e){return E(e)||k(e)===N},t.isConcurrentMode=E,t.isContextConsumer=function(e){return k(e)===R},t.isContextProvider=function(e){return k(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===a},t.isForwardRef=function(e){return k(e)===o},t.isFragment=function(e){return k(e)===d},t.isLazy=function(e){return k(e)===F},t.isMemo=function(e){return k(e)===i},t.isPortal=function(e){return k(e)===n},t.isProfiler=function(e){return k(e)===U},t.isStrictMode=function(e){return k(e)===r},t.isSuspense=function(e){return k(e)===W},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===d||e===Z||e===U||e===r||e===W||e===T||"object"==typeof e&&null!==e&&(e.$$typeof===F||e.$$typeof===i||e.$$typeof===c||e.$$typeof===R||e.$$typeof===o||e.$$typeof===h||e.$$typeof===s||e.$$typeof===m||e.$$typeof===p)},t.typeOf=k},218:function(e,t,l){"use strict";l.r(t);var V=l(9),a=l(0),n=(l(1),l(56)),d=l.n(n),r=l(3),U=l(11);const c=Object(V.a)("span",{target:"euq5e1a0"})({name:"a6pyeh",styles:"border:1px solid #757575;border-radius:28px;color:#757575;display:inline-block;font-size:12px;font-weight:400;line-height:1.4em;padding:2px 8px;width:fit-content"});var R=({...e})=>Object(a.createElement)(c,e),N=()=>Object(a.createElement)("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAzIiBoZWlnaHQ9IjIwNiIgdmlld0JveD0iMCAwIDIwMyAyMDYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgo8cmVjdCB3aWR0aD0iMjA2IiBoZWlnaHQ9IjIwNiIgZmlsbD0idXJsKCNwYXR0ZXJuMCkiLz4KPGRlZnM+CjxwYXR0ZXJuIGlkPSJwYXR0ZXJuMCIgcGF0dGVybkNvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPgo8dXNlIHhsaW5rOmhyZWY9IiNpbWFnZTAiIHRyYW5zZm9ybT0ic2NhbGUoMC4wMDMxMjUpIi8+CjwvcGF0dGVybj4KPGltYWdlIGlkPSJpbWFnZTAiIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVVBQUFBRkFDQVlBQUFETmtLV3FBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFFY0VTVVJCVkhnQjdaMEpmQlRsL2YrL3Mwa2dCeVFCT1FKSllCRlVMaVhXaWtCUkF5cFE4UUFGdkFVVXI1K3RFR2lyeFZhQzFyT1ZCRnV2aWdJZXRTSUtXTzBmdENLS0NoN1lvRndxbEVEQ0lTQWs0UWhDc3ZOL1BzL3ViQ2FiUFdZM084dnV6UGZkMTNSMloyWjNrM0h6NFhzL0Nnbkczckt1UUUyaUVsS29RRHpOSm91aUVwVXJxakp2NFROOVpsSU1HSFg5SHdxVnBLUVpDbEVoV1JoeFg4dFVsMnYyNHBjZW1FY3hJSGR1NVFTRmxNbmlZUUZaR0pYVU1oZTVadTZhMkdVeHhZQ1RuYzRwaWtxNHIwNnlOaXZxRlpwWUxsQ3V2djIvempvbDViOWtZZUh6UStuQ3Avc1drWWtJOFJ2bFNFcGFSRGJDNVhJVkNSRXNKUlBKbTd0amh0Z1ZrNDJvcC9yUlpvdmd5VjJjSllwQ1U4ZytWRGtVR3VLb281UzVaQy94QTFQRzNQNU5JWm1JRUw4U3Noa09oMlBHcUFuRnBuMlhuSE8zNHIyTHlXWTR5Tnp2VWsrbjAya3o4UVBaTHBWS0hNTHRMU1FiNGlMVlNTWWhSTUJKMW5jai9KR2RUSFdtdWFWMWRjbVdkbmtESVVJb1R1ZlRXNTFrRXNmRVY1YnNTWUdEYklwUWZpY3hEQU5yd0c0ZW9FYTJiUVdRWVJpR0JaQmhHTnVTVEF6RGhDU3poVUo1clpMRXZxbk5VSFBNUlJ2MjF4R1RlTEFBTWt3SThvWHdMUmh4a2hCQS8zOHVxM1lmbzNGTDl4R1RlTEFMekRBaDZOMDJKYUQ0TVlrTkN5RERoTUNmMjh0WUEvNHZhekhTMDFPcGZUdTdWalV3VEhpd1hXOGh4bzBxcEV1R0RhQU1JWUt2TFY1QmI3KzdtbzRjT1VvTXcvaUhCZEFDOU9ucHBGOU5Ha1VkZEpiZlZVSU1od3d1a0VLNDR1TXlZaGltS1N5QUNReUVEMVpmWDdIM0J3VHgxMElZSVlZc2hFeThrSmVYUjYwelcxT3UyR2RtWnNwamJ5NThnODRaY0E3VjFOUlFaZVVPT2lqMnNZQUZNQUZCakE4V1h5RGg4MFVUUWxpRWY1dXptUGJ1cXlJN2dsS1dTRUQ5WHpENnRFMk8rTDFuZmw1TjZ5MWNROWlyZHk4aGJBT29kKy9lMUYvc0lYNytnQUJtWm1iUmxXUEcwRVhEaGxHMUVNQ05HemJRZSsrK1M1K3Qvb3gyVkZhU0dVUWtnTDFQU2FmMko3V2dlT0JJYlQyVlZ4eWx2ZnVQazlWQmd1TXFUNXd2RWlDWXoveGxDbjBnTEVGWWhIWVR3b0U1TGNrTWtDV085TDB6VzBCY3JTV0FzT3l1SEhNbFhTSEVMSkRnK1FOaWh5MHo4d0VwZ25kTm1TejM0TFBWcSttTmhRdWxVRWFUc0FWdzdNZ09ORzVrZTRvbjl2eDRqSXBMeWkwcmdoQStpSjZXNEdndXNBU3gyVlVJR1hPQUMzdlhsQ25TNG1zT2NJTWhkaEREQ1RmZEpJVVE3NGtONy85RWFXblVoREFzQVd6Zk5pWHV4QTkwRU5ib3hVTlBvdmtMZDVQVktCUkNCYXV2Z3dtbExSQkJ4QkdSTFg1SGJGWUhIUnVSQUFzUGJtNGdhbzZwd28yTjdCOWZ0TkVsT3ExRkhHK3lFQ21JVlRTQkVFTHM0QW8vOXBjL3k4K0JSZm5ZWC80aWhmQzZxNjlwdG1zY25nQzJpdyszMXgvZDhwcHZHY1VUb1JJYzBRTENldE8xSTZSMWFmVkVTYVR0YW1ON3BOT3N3WUgvQVlMNDJiVVZycGVJN1QzOTkyZkRjblhEQlpiZ2RWZFgwaXYvZkZXS0lNRG5mZmp4U3ZyVC9mZlR2QmZtVXFSd0lYU2NBZUdiZWM4RXVsOXNab3VmSGkxUjhyU0lFZmFKNGVjeWlRc1NGaEFsTThWUFk0T3dBdjkwL3dOTmp2L2h2dnVraXh3cFlWbUFlL2Nkb3dYdjdLRjRaTytQaVIzL1E1d1BsaGpjMGhNSmhCRGl5L0ZCSmhnWERydUlIaFZ1YVN4QlhQQWk4YmtYZWhJakduQ0h3Uk9sc3lsY3doTkFZZXEvL3M1ZVlxSkxlNC9vZElpakZqWUljZitmOWFScDl6M0RJc2cwSXRjVGh6c1J3QXBFTWtSemhUVWdnb2daaHVzT2N4MWdITkN0UzA1Y2laOUdoaWY3UFBjZlM4bEs5QkhKdkdGZGpNZU1jWDB3VUNkWVZOQzZ5WEVrT1B3bE9Tb08xZFBxQ0JNeThRRGMza3dmQVlvVmxTTHBBVXZRWDhJRklvaWFRU1JOak1JQ0dBZWtwOGR2QXVld0JYdUpNZDVxcWgvQmloVE1Dd3puL1lvL3IwNVlBYnhpekpVeGlma0Y0NzEzMy9NcmdCRGxQOXozUjVrZE5nb25RZUtBTDc3YVJPWGI0NitFQjY0dnQ4OUZuOVc3ZjZKRVJZdTNuVWhRRkIyb1ZjNWRMM2dPR1lVdHdEZ0FWaFppYmNpK3hzc29LMHlSV2IrcDNKSVc0SWtFTG5HaXRyNmRFNlNWTFJ3cW85RFdodElZZEpyNFE2c1JORUxZaGRDRkErTnoxaHl5d0N0V0ozYXdIb0xEbU0reTdiVTBjS0U1TGlqaWhYT0d0Z2w0ZmxVQ1czL0l3SVlMckRYRTVMVFluSy80b1ZjNE53SlIzYmhoWThCeldwTEV5RUNGc0F1aHg0M3NRUEhJK3U4T0o3d0FNckVCblJzMXg4eXh3bTd1blJIMC9MTHRpU3VBUmx2Y3RMN2QvNGhZWFkwZkVZS0xpbElXMUJFaWJnZFJ4TFhoVUYxVEhmUThlcEdOWklUWkJXYVlLREtpUy9DaENMQStFeFYwZlFUalRTRjZxTVVMNU9KR3MyVnVSK1dPb09kN2gvaFpOVmdBNHhTMHdhRUgyQi9yaEtzODQ1RjUzdWUvOG95Nml2YTFWc2QzekZYbG9YcHFEZ055V2dSZFBBbmlCK3N6RVFsVzlyTFIwNlVCeXk4UUVEK1V6eGdWcHViUzJtQ1pEZ3NnWXd1d3J1L3dMcWxDcEZyU29DQkM1VTVTSEpkN0RFL0FZNk1sSytONnBBYzluOGp1YnlBQmhLdjdvQkMvbWhEeHRsaUtIOGhrQVdRWXQvQWhMamVwZHl0RHE3dnBaL3NONzVMbVBZN2t4Ykx0UitYZTN5TG9xQVVjRzBRQVVmejgrdVlqWkNWZzhkMzltOStHdkc2aWNIbGpLWDdod0FMSVdCWXRJeHVOTlgwaGlwb3dWaHlxazlZaEJFMnpEc2YwU0F2NitrVE8vZ0ovY1QwajRnZkczelNSb2sxbVp2REM4eHFESS9WWkFCbExBdkhEbUhvejF2VE5GNEthM3lOWnVyeWFHTUt0RGtaSjJVRktkQkRyMHhJaHNQNk0xUE9oZE1hTXpwRlFDUm1qN1hBc2dJemxnRHNLeXkrVStHbEpEMXdIVnpteXozS0xZVEFXQ0V1eHVRbVdlQUNpcHdtUDBVR2t2VXh5ZlVPOWI3Q0VqSjZvQ2lDS2taOThhWWZZTndTTk05SkViR1JrZXpxNzM0bHBubWJzeCtPRHM1dTR2Y2krTnNUeGpnbEJhaHpIZ3dCQ3pOQW5qR1FKM04xSVJkRVhLMWgvUU4rRGE3UjQyYXkrNFFGQmFoSWh6aWk4TmtKVUJmREpGeXRwL2ZlK2dWNGhpaS91cEtjZXlLRDA5Q1JpR0RNWksySnh2Z3NVUWZRd2dDQ1lGYWFOdGNlbUpTdVExTUEyTUtkNWs5Q0wrMmRLSy9EZEJNNENBMWhWMkZBUURRdk1hTGRGdFBFM0RrdVBVZXNQUkRWQTBsVDgzQnl1cmFkMTN4OG1oakViMzB3c3JLOUp5L2RINUlKQ0NESHFmdERDSDVxVndVVTIrZm1oSjlHbll6cDRyTlBFTlFTMG9hTW9NNWxvSUxrUnJHVXRVakNSSmhqaERFYU5xZ0QyT1NWd0dZRFRZbXQyTVBHSDcvS1VzTHBtUmNIOVJBbkwxSStybWkyRWNMR1JPRmsxcHFOTTBNQmFUVFF4MUt4QUFIYzRsQ3VNb1FYUnhMM2s1cGlBNTdHSVVqakRGcUlxZ1A5M1k2NWNNMWhQZXBxREpvekprU3UzTVl5WjlQWlp1ZTJGRFljb211aUZzTG1ydVVHb1p3MXVJOFVRQ1p1eEljcG80Z21VdnlET2x1bnA3Z2ptanJyN2ZLTW5nbzhGR2NPUG55bmNzZmhSalFGQzVHWVdkU09HT1JIMGFkdndqNnlaWTZkUTh4Zk44aHE0eU5pSysyZlJVaEd2Uk10Y1BNY0xJV3AzM0hxYmQwRWs3UEU4VUdiNGQwSXcvL1h2M2hGTmZkRVRiTTFoZkhZNGcxQTFlQ0FxWXhuMFdkdHFrM3B1MFZVeXRjQ2NpZ2FJS2x4a3hBdlhYNXNqNDRYRFFneFhPRkZnbFRZSURwSWc2UEtBQ0FZU09CUWxOM2NOWDdpOWdWWi8wOFF2a2ptRExJQU1ZeEM0cWJEU2doRXRxOU5YRExmZTdxUjRBeUo0NmNVanBRQnA2L1FHRXFsS2owaGhZa3k0UVB3Q3JVRFhIUEVEWVFuZ3RvcWpkT1JJZkJaMDhpeEFScC9wUlRGME5CTU1zUHdRc3dzR1NtaEd2TFduMmNrU1g4em9ab2tXdnNJR04zV0ZFRUovbVZwY0MzY1kxeHVKQzdiMnJQRVJTUHptdnZDQ0ZPRG1USmdPS3dhSWNwYmkwbklhUHphSDJyZU5uNlRHaDBMOHJDQ0ErcFhoTW9Jc2xOUktuSXZGdFhzU2JEbk1EZnNicncwTjBacjVlZlByMUlvS1dvVjBlNUVnUWJtTjloakpFcFRnWUxXNHNTR214Q1E2bXJDaCtCZ1dZSjVuMlV5SUlZVHhqWVZ2TkhKL3RVd3lraWlJNmVYbTVUWjZQd2dmQnBvaXkreXZrQnF2UmJJam5IcS9RQ2hqN2xpWG1BUEttb3Vxemx6NHpPbkZaQUtqSmhRN0hhcTYxZWoxOGJndU1JQUEzdmZJdkxEV0JYWW85VU1XenZ2VENqS0J2T2NxQ2luWjhVR3dhOVpmMjZsUkxCQjFmS3NpWElFTlZpVGljTDZGMWI1QThQQTVnV29OOHozTFpqWlRDTHNwaWxKT0puQnlGMmV4b3RBTWloSndXV0VCNmhNV2xiSTd3ejBlSHh2aWdnZHJEc3JqRUxuV21hMWxjVFU2UERBdDJ0ODRxMmdLbndiM0FzY0JXQXdwSHRjRnhzK1VhT3NDby9admttNHMvWUlSN2FqNDh5cDZmb054bHpTY0VWcWh4RSs3Um04UlFsQVR1Umc2Rkc5SXEyK2hGTFlKTjAzMGRvN2tCYW5mQzRUYld2eU01Z2wzdDhhRXJoTVd3RGdnSHNWUEl5T08xeXoyQjJyL2tEelFXNEhGL2JPbDlmWDhoc095TFM3UVZHWk1kRVlmc1B2MW9lTnVzQ3duTGYvUjhKUm5UUWhoRVdJd0s5WVN0cklRd3JyRHBHZ0FpdzRpaUl3eFhGNjMxZGZZeW9PYkRKSER1UHNOT2t2UlRGZ0FHVXNCa1lHbE5hTi80ejh1MUFqT0d1eU9XNi9mZjh3cldxZ1hoQWloU3lPY1pNUHpRbWlMSTR3djRtZXNFSllxRWlVUVpxc0xJWUNRNmJ0STRnVVd3RGdBTWJaNFhSSXpIaGRzRDhVY0lVN29DZ2tVYyt2VGpBUWVoQk9ERmFLVjVYM2RJNFJ3aTkzdU1YZE14UklXd0RqZ2c0L0w1TVpFRDdpYUVLdFF5MVNHZzVHcE1wR0NVVjJybHY0VXJZUUpZeEF1aEdZc0M4UUtRdGhjd1VLc2I5elNIeU9lS2hNTytuNWp1UEpXR0tRYXo3QUZ5RmlhMTNXeHRuQm0rMVY2RmpHQzFiZmVwNzR3RmtBSU1ja0dHMzd1THZ5WGFncDhXeGxib0FraFhNemVJZ2FJR0NFeXhaa3QzTW1IbW1QMVF2UmNVdmdnZUw0VG8wOGsrTG1UajBaV3k4Z0Vod1dRc1JVeUEzdW9WbGgyeERBY0EyUVl4cjZ3QURJTVkxdnNLNEF1aGNmSE1BeHdrRzMvRmlDQTI4aUdxT1FvSi9PbzhteTJvNDZTVGZ1OTFXVDcvcU5WbFdyZTkwbUlnQzJMVUZXaWNnaGdLZGtNbFpUeU4vN2VlekdaeE9KNXhWV3FxczRubTZHbzZoTHh1NXYyeDdSallwNTRiMlVGMlF5RmFGN1Z4RzZtQ1dDZFd3REx5V1k0VkpydldQaDAzMUpWVWNOYlNTU0JnZmpWcTQ0aFpES3F3MUZzS3hGVTFRL3JIWTRwWkRMSnBFeFV5Snl4VUhHSnVLOUpkS3lJVEtTOHZMd3FSU0g4VFpTVFhWQnA5dWJ0NWNYZWtSbFgzNzdSV2VlcUh5VmtNWDVIa3pRSHhQd2NhbGxkYWwzWjR0SXpZK1pLalpsUVhPZ2l0WUJjRnIydkRxWEtRVXJad25uRkt5aUc1TTJ0S0hTNGxBSnhieTE1WDhVOXJYS0o3MnZseFB3VkZFTzZPNTJqaEd2b0pCZFo4cjRxS3BVclNWUyt1Yng4QlRFTXd6QU13ekFNd3pBTXd6QU13ekFNd3pBTXd6QU13ekFNd3pBTXd6QU13ekFNd3pBTXd6QU13ekFNd3pBTXd6QU13ekFNd3pBTXd6QU13ekFNd3pBTXd6QU13ekFNd3pBTXd6QU13ekFNd3pETlJORS8yVmp3c0pNc3pGSDZxZXJNc3VLWUxZbXBrZDNUMnZlMWF0UHZ5eW5HcU1WenM0L1NVV3N1TmVvaHJmaU9jb294MlhNTHMxUEYvOGpDN0I2OXRGeDdMQVh3MjRKSFJ5bWtsSWpOU1JaSEpYWGVZVW9wT3JPc3lIUWh6TzcxNXlta09HYUlEN1gwRjBwOGk2cklSYVZWbTZiTnBCancwOHk1dUtkWWhOM2E5NVdvdkY1MXpVNmZlWE1wbVF5RUx5MHpiWWFpMEFTeTZGckxHaXJ1cTh0VnRHZk11NHNWaUorREhJdklYcXc0cGV5M1E4aEVwUGlSbzRUc1JXblZ4bWxGWkNJZThTc21HeUZFc01oc0VleTBjTVE4eFVIanlVYTQ2bW1JUTRqZkRMSWZoZDhYUEZ4SXB1S1lUUFpqU3JhenhEVHJvYlo0cnROdTRnZVNGSFAvUm5NV2pTaTBtL2dCSllsbU9NUytnR3hJUFRsTSs3MnplNVk0eGM1SmRpUzF6c1R2VTUyVDdFbDJiZkhUVGpLSkpKZGlTdzBROGI5Q0I5a1V4ZnJ4STRZeGhHcnhtRjh3YkN1QURNTXdMSUFNdzlnV0ZrQ0dZV3dMQ3lERE1MYUZCWkJoR052Q0FzZ3dqRzFKSm9aaG1CUEF3SGFuVTUrczdwU1gzb0h5MHp0U1prcXJSdWRyamgraWlpTS9VT1dSUGJTK2VvdlkvaWVPSGFab3dnTElNRXpNZ09pTjdYSVIvYkx6SUNGNEdSUXVuKzc5bWhac2Y0K1c3Vm9WRlRFTVN3QjNIRHRBYit6L2dzd2tNeW1OOGxxMG9kWmkzenN0Vit4VGlXRWl3ZEd6Q3lrZDJ3WTg3L3AyTzZtNzk1TlJGR2NPT2JybUJINi90WnRKclRwRVRGUEdDZEdiMXVzNlllMTFwT1l3cVAwWmNqdG4yZmpZQzJEbHNmMzAxOTN2VVN6cG5kYVplb3J0aXJZL3AzTmFkU2VHTVlyanRDN2tLT2dSOER6RUtod0JoUGdsRlFidUduT1Y3eVppQVd3RUxMNnBQYStYb3FVSDRnVzNkdW5PVmRMTmhYdnJpOXN0emhCdThzbnk5UVBiblVIUkptSVgyT2wwa2xtVWw1ZDdIMitvM1NtM04vZC9LU3pEdHZUcm5JdWtHREpNckZHeVd4RmpuRW5kUjlITU0yNXJkQXhpTjJmell1bkdockxnS3NXMUFPN3VyRTJ2U0RFYzBXbVF0Q1NqUmNRQ3VHTEZDdXJhdFN1WlJWbFptUlRDSlV1V3lNL0NZMWlnZDI5L1RWcWhML2U0blhLRnE4d3dzU0trQUZhejlRY2dWQkErdUwwYUVMdjd2bjZHWHQvK24wYlg2aE1odmttUVNwa0ErVUdLNXFwOTM4ajNnSEJpaXhaeG13UXBLQ2lRMjZoUm8rVHp4WXNYMDh5Wk02VXdRZ2d2KzdhRUh1MHlqaTdNNmtzTUV4TnkyZ1k5emZFL3QvZ3RQUGRSS1dvYUVEMkluMmJ4UWZTR2R4cElWM1VkWmpnUmd0Y3UzZm1wRkQrSVliUkltRHBBQ09GLy8vdGZtanQzTG1WbloxTk5mUzNkc1hXK2RJMFp4blNFOWFla3RnaDQyaFZHTE5IS2xKNDFyWkg0d1hXZHN1WnhLV0NJNmIwKytGRWhrSS9STFQxR2g1VUZ4clhqdWw0a1g3dDYrTHlJTXNqK1NMZ3ltQWtUSmxCaFlTRU5HVEpFdXNVUDduaUxlb2trQ1RhR01ZdGcyVjhKVzM4aTJYR2R0T3cwSUg2UGIzeFpQaDdiNVVLNi80emJtd2lYWnRscDlYNGF1QTViMyt6dU1uT01SSWlHbGh5SmVSYllDR3ZYcnFXcXFpcnExNitmdE5UMDFKYnRvSVBMTmdWOHJhTlZDM0prdEtTV1BkcUpyVDBsNTdUMmV4MFNNQjk4OElGWEJQOVBXSUp2blRaRmxzNHdqQmtrQmNrbUE1VFUyQm00dGRONlhlOTlyaGMvQ0tQK0hGaTE3MnR4L2hXNU53SkViMFRuUVNLeGNubXpTMm4wUkUwQUVac2JQWHAwb3d4dWNYRXh6WmpSTU0zNytPNGFxbG02MGVoYlVrcE9KclVkMzUvU0NuS2JpQ0ZFRU80d1JCQXh3Ymw3UDZhN2NpNGlob2s2Y0grZHdTMUFGU1V3TmdhdXI4YUNiZThGRkQ5WWVrVnJaaGtXUHYzcm50dThTRnFMVTZPWUJZNUtEQkNpcDFsamVpQ0FzMmZQcGtpQllQN3c2SDlvUjlFaU9yaTBxZVVJVnhndU1aaS9keVVkRkhGQmhvazJTZWNIbnhpUCtKK2RFeURJOW1wV0dZVHFjV0g5YWNmMTRvZTZ2MkhMN3d4Yi9QUm9BcXAzbDV0RFZDeEFpQnpjWG4rVWxwYlM1TW5OV3g5SUU4TGpQOVJJaTFBUExNeDU4K2JKcE1nYklpRXlvZjI1Rks5a3RXNUoxNHp1UTEwNlo4ckhlcW9QL2tUZmJOcERyeTdlRVBwOTBvL1NMM3B0cHNFOS95Y2UxOUwyZlczb20rMmQ2ZDlyR2pMaUQ5MVRTS2YzYkIvMGZiN1p0TmZ2WjE0OHREdmRjZVBQbWx5UG4vSDZYNzlGdGtKWWZ5SGQzODlDL3plek12cTZQR1I4VWJvQ2wxVi9IT0kzWnVYZFVlL2xiUzVSRWNCQTRnZDhyY0xtc0gvZTU1VFdMMWU2eEJwd2hXRUpvbGJ3UDlYcjQxWUFJU3BQUFR5aWlmRDVjcytkQStuUzhhL1Q5cDAxZnMvZlBud2wzWFBGZTFMNGZObSt0eTA5dmV4Y2VtYlpZQ0YrSFdody96d0t4dUQrK2U3OTJmbDA1NzNMdk1kSFh0RERlODZYTHJtWnRIMUhEZG1GVU5ZZnNMUDdpOWlmM3ZxRG13cW02dHJlY1B5bTFRL0VuZmlCcUxqQXdicENvdDB4c3VmUjk1c2MwMm9GUHp1MEpXN2Q0SWQvWHhoUy9FQ1gzQ3k2M1kvMUJaNjg5VFY2K1BxM3BQaFZIMG1scDVlZVMzZitmUnhOZi9sU2VtZU5zQ3piN3hmbmw5QkQxNGRucFYwcnJOSnJSdlgyUGc4bW5CY1BEVzROV1FuSGdONmhyYjh5ZS9mL29qUkZZOVhlcjczbEx2b2lhTVFEdGE2T2VDTXFBZ2dYMXpmanE0RTRZRFNCTzN6NDQ4WjlnNWRmZnJuM01kcm00ZzI0b2hBMlBVKy8rSlcwdXJEOVkvSDZSdWRnZ2ZueTBIVnYwYlhudW1zZW54SEMxNjlvT2sxLzVUTDZ4OHF6aGRWM0hsMWZPb0g2VGYyOWRJZi8vV1dmSnE5LzUvMHQ4bk93dmZQKzVpWlczTFdqM0svNWhiQUc5VCtycnlVNjhnS2I5R01MMXpkNWVQK1FsOVYvV0VaMlpwQ3VQM2VCcDh0RDM3TUw2OCszK3lPZWlJb0xEUEZEV1lvK0M0eGppTStOSHgvOTlaWVBmN3lWTWdZMzFBWEJ5c1Rud1JYZktBUXczb1ltWkxadVBOSG00eThxYVBvaks3elAvN0ZvdlhSRDRWNzZvMHU3QTNUSGlKWHk4YU52RHFOSEZ2blBkc01GdnZTaDIrWCticDl6ejd5MGhqNyt2Tkw3L0dJaFpLLzh0ZUVmRGszMGZBWHU2ZmxmeVhpZzlyUEJOWVlsaTNpZ1pSSGlsekorUk1qTDdHNzlvWFZOWDVLaUpUZFE4NmVCdnQ5NEptcGxNR2hiMjdwMXF5eUhBWm9vbVVIdDJoMU5qbWtDaUpGZDhVYk53YU9Obm1lMWJqcmk2OUlKQzVvY3UwWllmUGRjOGE1TWVtamNMb1R3bXZNQ2p5U0RKV2lFNnBwamZvLzd1citmQ0xHRytPbVRJaGNMQy9WVkg2dlZNbmpFTDFUZkw0VFA3dFpmbjZ4dTNzZnJxeHE4TWhRdmF4ak4rS0tBT2l2QzdvNEtrUkdPTkxNYzlVSm9DS0had0EzMkJZSUw2N01tRG1PQXZ1NG1YT0x5eis2azdaWFYwcExDaG12Z2J2NzdQNXU5YnVjOW85K1QxcDhleFAvOEpVRGs1eUFidkMzeWpoaGtwNUU4MGYvY3lCUm5DZmRaTDRBUVNTc0tJTVpuSlkwYUhMVGxUUVBpWi9mZVgvM3dncHE2UTdyakRVTG1iOHlWUHpBNXhuZGtsbEVnZm1OV25rQUIvUERERDJVbTFoKyt4ZERSb203M3dZQ2RJdkVHQkE3dXA5NjZnaHQ1ZXE4T1RhNTkrSjVDZXVSdm45SXo4ejZnTzU4Yko0LzlhL296Y3YrUGxUK25WMWNHSGdVR0FUUUNQbnZ3MlhsTmZzWmYrRmgvY05VQlNtVndYa3ZpakJTSmtEdHBHVm1KSkJIdlN4clEyOUMxOWFzM1NQZlg3bVRwQkhEN1lYZVNJeitLWFJxeElHRkg0cU50THBHNDg5NmxkUGVkQTczSmhtRGM4NnRCSW1iM1h4SExjOWY3YWNEeXkyL252K20rUXNUOUVQc0x4TC9tamFOZ1ZBczMvZHBSalNmcmZPS0pHY29heFkxN3ZRS2VsZWtXMEkrL3FLU0VCOG1PeXdlVEkwU25od2FzUHBmTlhWOHoyQ0FzUlVVeGZqMnNUMzEvY0tRa3NBQ0dMaW1KSitCTzNqbDlHVTEvZUlXTXFXVmxwcnIzd3FyS0ZCdGNUSDJaREpJTitjbi9rV1V2R2lQUFdpODNmNkFjaGpaRm52eDVkZEVHZXZLaDRZMk9iZHRSVGZtZDNjbVBqeit2YUdUQklnNW9CUUdFOElVamZuWHpsNUo2OUJneGpjbHE0WFo3cXlPczladnh6Yk5oWFkvNlEweUdhUzRKS1lBWWxoQ0l6RGdjaUlEWUdqcEFORDRSWWdKQjBaUGxFVUVOaU9McEhYYlN4eHRQbHBiZjZWMTN5ZU53YzdmdmJlenFWaDlKbzNmV1JENFhFZkc4S3A5RURYaDdmbUNyRWFVNitreDJvZ0pYdHI1alcwUHViOTJ5ejNubW40NktJdzBGNFBscDduOUVzSkliYWdHMU9DQUduUnBwVzhOMVJzQjdSN09nT2pFRnNIdlRGaTh0K3h5UGl5amw1MmJKRGcrTmZ3aEI5TFdlZkV0Z0tuWlcwNTJMcjVLUElZQnJTeDUySno5VVJWaDdWd2VNOXczdXRVV0labE5MRVBWL3ZzbVlDcEZzd1RHSThaTVBEcWR3d005cmxhNFFKRFRrQWtvaE1yK29DenlPcmcrMkFDVjZZY3ZQYUJBd3RMMXB0WURZRzZrRExQblpORU5KRUJSVnovTDBHa2VEaEJUQWpNSGRHajFIK1l2V2poZVBjd0VoWm5yUWVhRVhQSDhKa2VxYWhqbzdXSGlQdm5tUjdQQkF0d2VTSXFnRjFDZEVVQ3B6OStoM2hhVzQwNjhBd3NyVDF3SDY0bHYrZ3V5dmI2MGZMRm45ejQydWtHZGUrb29TSGlGb2RhOHRwNVRiTGd0NkdRUVN5Wkw2SlI4VDR5NXkxcXc5ZDAyZzI5ckQwcFdhQUk3b05ORDZoZEN4QkNPeTlFWFFBRE1JTmJCd1Vyemh0cklhWjRFRDlkcHExME9BOUtESE55dWpWb2pjZTFJRW4vSzB4YUhzQmMrMWNobC80aGNLMzA0VmZQNTVWN3pVNURvVWEvOXIvbGp2Y3hSTlcwSUFCVmdkcmw2NHVFa2h1ai9RR29kcjdUNEFRVU52N1dIQm9qbGJGamNhV1ErckxsckRTODBnWVViaWEzUzQrNElteHpBTkJtQ1JwSGlkREkwc3NCRjNFYTZ4djZKbzhNaWJ3MlM3Ry9wK0FWeGl1THdONG5jeVRYL2xVZ3FYWC9pSU1jcGUvS0dWdzJob1hTRldBZVV0UmdZYnlLVXhlWVU0Q2F3OWpSR2QzV0VlMU9WcGhjbXdES2YxdkQ3ays0ejkrRzdLWGZSTHZ4dkdYNWxGUWxtQUhlKytzTkVrR0ExTWdnSHh2RzR3eEsvZlJYT2t0YVZsZ0gzNVp1T2VKcFpmay9mWjIxWjJlN2dUSXp1RitPMFg4Y0MyMGhLRXE2eng2Rk9yNk5VbG1ZMCtQeERyeEdmcXA4SGc1L0FIeEErWmJKVEJhT0N4bGRyaTZvUjdteHlpRXdTRjBpbFhEYVhqejlwc05KZ2Y0TjVxTS85Z0NhSTFEb01QTU8xNTRibHV5M0JTajFIMHFSQkVMRzhaYnlTRUFHSUVWdHNKL2YyS0g2dy9yZjg0RWRZTERpVndSb0hZdWQxZC82THZtMlVPUmpqWFlwQ0NsWkV0Ymg0UkRJYVMwNVljd2wxMkNiZlpDRXJYSFBrYUlNZm5XeVNiN0Y2eXNpSG1ONjNuZFZUMGxYdmlNd1JQV3lPazlLeXBjaDZnMGM2UVdCRzNMbkJ5eDlhVU9id1g1WmFNcHR6UzBYN0ZENGtQTEpVSjRQckdzd1hJSkE0dTRRYkRIUTVGOG9EZVV0aUNna0pySWFZcEUwWlE4b2orY21zeGVZd1VUNnNBYTA4RDQ3RTBNWndpSnplN08wVGdDbU81VExTOHhSTlJzUURQUC85OFVsVTE1SFVRTVFoYU1GRGduSkxUMmxDaE04UlBzLzRlN1hJVk1VeTBRRUlFQmRKS2lMV0FrMGNOcHVQemx3YTA2QUlOVm9CNDFvbTlVUXN5bnRGaWZwcndsUWhyRDZQdlVSTUlxdy9DbHlkWGNtc2xGMHhIQndlU0pVYXNRU1JRQnJZL25jd2lwaTR3TXJqWW9nSEVEK1AyQWFaQTg3S1lUTFJCYVV6eWJaY0ZIWTZnZUZycDBDSGlpNk5majZDeFJJamdNYlRWV2FDdUVJbUtkNGMrS1FVTC9jQVFPaHlEaTZ3WFFRQXJFZHU2cWkxZThkU3l4SGc5ZW94N0M1SEUrc0tZTEJPdE5ZRDlrWEJsTUpyYnE0a2ZoTy9lM011SVlhS04xdmNicWpSR3R0T2QwN3RKYVV3bzYxRys5clF1NUZxYitIRlY5MkpJTDlQTTAyK1R6N1dKMEpvSVhyVDhWM0tORUwwTERISERoa1hTallDU213VlJyaWxNbURJWUNCOFNIbWVlZVdZajhYdTV4KzNFTUdhQldHQzlnY2t2aU8zNUNwNlJzVnJxVDlicEtzSHdVMzJYQmtUdytRRi9sSllmM09FWlh6OUxBNVpORUNMMkhvVURMTVFwYXg0WGJ2V3ZaRXdSRnFGK0ZIOXppR3NMY051MmJiTEZEV1V1RUQvOTRrdHdlOW55WTJLQk54NFlxbFZPSzQzeHVMU3VIL2FIdGpCMjd5Y3JnVlkxQ0pSbTZhRTRHcTRzanFOa1JsdldFbUtJbUNHR0d1Z0hxSUtLd3o5UXRSRE1EZFZiYWVtdVR4c1ZVZU42ckVHc24wUzl0Qm5sTlJFTG9MWWVyeGtnc2FGdmI5UFR2OVhKZEZmT01NNzRNckVqakZZNXgva0Yzc1NHSEprdlhPTkF3bW5Wa2ZvUU40Z1dGa1VIaUFsQ3RHQVJ6aEp1TWpwRmNCNWxNa1pyQXlGOFUzdGUzNlJmR0ZOa21qTjJQMklCMUlxUFl3RTZQRkRqQjlGajRXTk9CRVpiNVdSMlYxaCtjbUFxaEZNa1Ivd1ZWcVBqcE40Q0dlQkF3T0tESlRkTnR6d214R3RRKzhmY3RZTjd2NWJXSFhxSGZiUEI2Q25POHN6N0d5Q3N4RjkySHRRa0VhSlprczFaWkIyRUpZRG9zeDBkZzJMalBDRjQySExGNXlIT0Y0OGpycGo0eDdVdGVGdWJXaDJlOVNWckExdTJDT2tLS3gwYllvR3c4T0FXWTlxTXcxTXppS1NIeXdackNTUFdCNEhDR3NINlpUSmhFZVo3TXNIaEFzc1JKVFJZZnpnYS9jVmhDU0Fzc2NlNDNvNUpFR0NGUlh0MGZVUUxJUWxMMEl5ZkpSSFFMTFZaRzErUlFvaVlZQ1JsTFVoK0lBTWNMZUhUU05pSjBBekRKQTZhRUJiUkxOa2VweVUva0NEeEZVVDMwTk5EY3RBQzNHUEVERkVDWXdZc2dBekR4QlIveVE5TkJHTTlOb3NGa0dHWUU4NkptaGVZY1BNQUdZWmhvZ1VMSU1Nd3RvVUZrR0VZMjhJQ3lEQ01iV0VCWkJqR3R0aFdBRldpS21JWWhoUlNiUHUzQUFHTW9MUTk4VWtpbDNtL2Q2b1FWOFd1QXB0Y1RxWmg1bnZITlZWcHhYZVVrMG5VTzFSYmFvQXdnOG9jS3FtenlXWW9ST1dubFAxK0JabEVWVm1SRUQrWDdlNnJ1TEh6cWpZVmxaTkpwQlZQTEJlN3lFZC9KQzZtZnBkMmoxNjZRbFZvQmRrTVJWVm1PMDR0KzkwODhYZ20yUVFoK0I4bVVmSVFNcG1xRGI4dEZvSmdtL3NxZnRmRmRNUlJSQ2JUZ21paStLODRuMndDREpTV3hST0x5V1JVZVY5cENka0F1UHlxcWhidHVITHBQRVU3dUxXZ0pMdU82Z3JJd2lTVFd0V3Q3SGN4TmZlemU1WTRpZXFjWkducXlxczIvYjZjWWtodDhWeW4yRG5Kd3FTSzhKUlNQREdtb1pUY1JSY1hLT1RLSmd0emlJNldWWTFld1RrQWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1HWVp1TmRGdk5BTVdYWDFaR2xsOFZVWFZUVjRTR0s3YktZYzdPelUxdWxXdnErVWgyVjc3NW1kem5Ga0VXMVc1MlVuT3drSzFOWFZ6NDZyVnM1eFpDdHVhY1VrSkprNldVeDZkRFJzbTVWNVhKWlRDbUFQODZnS1E1U1pvaW4xdjdGSmVwaVV0U2lOc1ZVVGliVDZZMU9KZUlHVHlGYm9NNDdVbk8wcUdwaWxhbnJyUzVTdDJZbjFiZVlLejV2Rk5rQVZWR0tMMC9LblVrbXN6V25wek1wV1JIM1ZTa2tHNkNTcTdocjVhYVpqbjEvcEFrT2NwVFlRL3lBTWtwOHErYVN5ZVFzeXBsaEgvRUR5b1MwekRUVDc2dWpQcVhVTHVJSEZGVXRYbks4b3BoTUppbEorY0F1NGdjVWNoUnZ6ZTA1d1pIa1VDYVQ3VkFLRC95QkNzbEVrbFNIamNUUGpSRDhVVUw0bldRU2k5UmRUdkVaNDhsbUtJb3lHWll2bWNUV3ZMNkY0a09jWkRPRTRUZlpJVzZ2dGVOVEFYQXBEdE4rYjRpQXFxbzJzYWdiazF4SFRqS0x1am9uMlpOc09rcW1mWjhjam5wYmFvQ2lVSUdEN0lwQ3RoUW9obW1DeXk3aHI2YllWd0FaaHJFOUxJQU13OWdXRmtDR1lXd0xDeURETUxZbG1SakxrSm1TS1RkUWM3eEdiZ3pEQklZRk1BR0J5STNvUElKNlovV2hQbUxMejhpbi9QUjh2OWRXSEttZ2lzTVZ0TDU2UGEydldrK3I5bjFLbFVjcWlXRVlGc0NFQWFJM3Fmc2tHdGgrRUEwU20xRWdqTmowcjFsWHRZN21iSjdEWXNqWUhoYkFPQWZpTmJYWE5CclhkUnhGaTc3WmZhbjA1Nlh5OFlKdHI5SGpHeDluSVRUSXVnOVgwZi9XcnFmRFZUVjBjcjgrMVBmOGdaU1JuVWxNWXNJQ0dLZkE0cHZXY3hwTk91VVdNcE54WGErU0d3dGhjSDRvcjZBbmJwNUszd2dCMU5QQm1VOFgzRGlXcnJsdktqR0pCMmVCNDVDQjdRYlNaeU0rTjEzODlFQUVGNTc3Qm8zdEVqMUwweXBBL0tiOGZIZ1Q4UU43eExsWDc1OUZrM29NcFBkZmZKMll4SUlGTU02WTJuTXFMVHp2RFc4Mk41WWdtUUxYR0Q4RDA4QzlGNHlWTG04d0lJU3pieXFpS1djTnB6M2IySXBPRk9MR0JWWlNzOFdXUmRIQ1ZiV05FbzJTczBxa0pYYWltZGI3TjFJTWk5WVVrZDFCekM4Y1FVTjhjRkwzQVhUQitISFNMZTdRTlkrWStPV0VDV0N5ODN4cVVYQ2oyQmVTSTl0SjBjSlZWVTVIRnQrVWNBSVlMK0tub2Ywc2RoZEJmMjR2NkNZU0lGdUYyQVhpL2ZrTGFQV1NwWFRaWFpNNFBoakh4TndGaHZCbFR2a2Z0WnF3WEFqZ2hLaUtYLzN1dFhSbzNsQ3FLLytRRWdtNG5QRWtmbURWdmxXMFlEdkh0T0RhK2dKQm03MW1HVDIzZVJVTkZRbVFRTUJ0NXZoZ2ZCTlRDeEFXWC9vb2M0WUdIeXQ3VVZoK0V5blJHTjVwdUhRNTR3RjBqcndtc3NGek5qL0gyV0FQeVBJR090WlI3S2U4VUVLWFRaNUVEMTF4YzBCWFdZc1AvbXYySEpyKzV2TUo3UmJudnY4NE9WcW5VenhUdC9OSDJuTkhDZFh2K2pIa3RUR3pBRk42WHM3aTV3TVNIZmYzdTU5T05CQytXUnNmcDNPVzlxZmlyMmMwRWo5a3BKOGY4TUlKU2NyRUE3RDJKajgvSzZob29SNXd6cGJWSWEvVDRvT3dDaE9WZUJjL2tOejVKRW83djUreGF5a0d3TTFORzFGQ1pnQjNOeEhGRDZDekl5OUFDMXNzZ0p1TDJyOVZlejl0Y2c0RjJMTkVYRkxySUZsZmZZc1VTVHVDaEFhMmZ3amhRdHp2OVBNSEJyd09oZEZ3ZC84WlJPUWdnQ2llUm55UU1RZEg2elJqMTFFTVNDMjhUNGhnVjRvMjdvUkhZb29mdU1vWis3Z2ZyRDBVUFk5Wk9ZYkdmSFJsRS9HRHBZZVk1T29SbnpWcW43dWx4eVRiV29FYTF3cHI4TjQzZ3J1d2NJdHhYYWo0NEp5cHhTRkxheGp6TWQwQ2hQWFhvc0RZT2piaFptNlI4RWpFY2hlQTFyWllXbjhRUHNUMm5oTmJvQ2t4c0VnUmovUW5kSmtwV2ZKblJnOHhFeG90UGdpckVQRS9mL0hCOTE5Y2tIQldJR0pyaVVEOXp0RHhQMkM2QU1MNkM0Vld1cEpvMmR2bU1MenpDRVBYUWJRMDhZa0V1TG12bGI5R3kzWXREU2g4aVBPaEFEcVVJSS9vTk1JV0FvamF2OVZMbHRIaDZockt5TXFVTHU4NWx3K25TTUJyRVIrY2ZzRlkrYjU2dHE3ZFFJbUdVV0dKTm5VK0NRMUZ4Q0tUV2dWMmMrc1AxWklSVEJkQTFQbUZ3bTdpQndhMU16YlJaZW5PcFZMRU1MbGxXcTlwaHEzR1lQRTlEWXpTS2o1anB1SHBNbjJ5KzVDVkNkVHYrOVlUYzJUbTk2SDNYNDhvZ3d0WDExODVUU0xTYWNtZktKYW9CNC9RM3Q4OTZ4WEE5RXNHVU1iSWdaUjYxcWxCWDFmOTNOdFU4OXc3RkFwVEJSQ1pYeU94UDNTQjJBa0lpZEY0R2tRUDhib0YyeFlJTVZzVmRES01FVGNYUkRwb0FaWm9YbnFlNVVwa3RIbzlDRjBnSUdDVHp4cEdzOWU4RzVZSXd1b3JEZUFDZCt2WG14S1o0OTlWMG9HUzErWGVKWVFLR1dKa1g3TnVHVWxKblU2UzEreTYvQTl5MytHWkl1OHhqWHBQdVFxTzQ3dy85dHhlUXNlK2Q5Kzd0dmZkU09uaS9RLys4d002Y1ArTFhsRnNjV29ldGJwNktHVmNNcERDeFZRQlJOR3pFZEpHekpKdGNMQUNFeldtRnc2WnljYVRDWmovQnhjVkZoMkdteGF0bVNJeXN1dUVNRGJFNmpEc0ZBS0o1RVlvNFVPYzc1WlRibzA0b2RFbnE2K2xCQkNpQi9FemtwREFOUkF6V0lLaFFNbkw4eUxSRWFpVEJBeTQzRmdZSkI0NS9QWXFxaXBaS0lWUEE0OXhIQnZFQ29La2l1T294NE9RNWJ3OFhicXVBSllkeEE4aWhtTjRydmlVMk1DSzA0dGY2czlPcGQzWFA5VEVIVDRtQkhpL0VNVGFEOWZTU2VJNkpZeFNIVk1GTUNuSFdDME9FaVZhalNEaWdSRENveXRtV2xZTTh6TzZoSFU5TEQ0SW9BYmljTXQyTHBQaUNGRU01dVpxR0kzemhTS3poVFV5d2JETUlIekJCQ3JRNjJETkJiSUNqVmlUNE9vRTdoT0c1UWJCQWFuQ0ltc3RyQys0cEJDaWc2KytUMGZlV1MzUEo4T3llN3FJZHQvZ0ZxMjl2MzNXYStrZG1MWFFLMzd0L255YkZEWUlacWF3SG9IZWhjMmFkSWs4OThOMUQ4clh3R0pzVXpTR1dvclBkQjJzcForKytrNVlvZ3VsQUZZLzkyL0tuanJHOE84U2Q5Tmd0S3d4MnVYU1I3MWdPL2ZZSDJpVGcrdXBCOElIaXkrVStFSDRYajkzb1p3d2N5SnJEdU1GeFBrdzNRVkppV0RpaDVoZm9NUkhvTmRCOUNiMUdHQkkvSzVONFA3Z2FvOHdJUjdYL3MrM2UrTnhjRVZQbWpHZVdsMDExSHNkaXBJaGdnQkN0WC9taTFMY0RyL2p2b2NuL2ZFR092NXRoUlEySEs5ZFVTYXYwNHRmNXEwajVYRllnNXE3bkZaWUlGMXV2RC9Fc2QxanQ4bnJELzd6ZldsTkdzVlVBVVJ2Ym5PQUVLSm4yR29pV0hGNE80Vkx1TDNDY0hGTHppcVZ3aGZPQ1AxUUpLcjdxMWxtZ2ViNmFhQkFHUUkxKzh0bHN1YlBTSmtLckVKMGVJU3E3VU9SOUlQQ2ZVNWs4UU9hZUdYZGNvbmY4MW0zdXEwNENCbkVDTUlJRjFaN3JWN2NJR1RZVWoyZEcvc2ZlSW4yQ1VzUjRGaW01NzJPZnZXOTNMYzg2eFJwV2ZvQ0VXNzVzMVBrNDBQQ0FqV0txUUo0ZE1YOXpYWmo0VWEzSEhBWFdZbElSTVJvSWJKV3lJeUJxdEVjbzY5UmM2eWFFZzNOTWdzVjYwUE4zcHpOcTZWQWFXUHUvWTI3MXpLNmVtc3kyTWdzV0pQVGhaZ2lkaGlvaXlSUjBNZmYvQWtSa0phWjU1eFdqZ0lyVGJNTVFacE8zQUJpZDdEdUVFZkVoc2NuZVVRVEhQL2VmYzhSQnd4RVM0OGw2Z3JEQWpRMUJxZ2VyWkxGeXJEaW10TUpBa3NRWW1vVjRMNGlXUkZPSWdJWjJFazlncmVqUWZEQ0taVUpsNXJqMVRMaGtpaEE3QjY2OHVhUWNUNVladWo1TlNwT0VOTFBsaXlUaVk1Z1FEd3ZGUmJrNVdLenlyb2hEbDN0bmIvRUJZQUFhVUtwMWVvaGJuajBvd2FQRVBHNm45Wjg1eFV0aDZldXI5NXpIZ0txN3p0Mlo1Qy9KMWVRK3I3Nm5mc3A3TitIVEFaSkRZamdUNnRuUjJ3TlJuTmtWcnlBK3I1d0NXUUZhbkUrdUx4bXh2ayszUnRld3VCRVUzcHpVY2c0MytRWFNvSmFabjBESEE4bGZ2NnNTU3NBVWRKY1RaU2orT093eHdXRmFHa0MrZU1ETDNvVEdDbW51T1BaKzM3M3JIZGlTOVdzMTJXTVQ3c2U3bk9WU0pSb3REalYvYjArOU9weXZ6RStDQ3hlQTRKWmlVMStING9CRU1IYXBWT3BwdlJrcnhpR0V4K0VKV2sxa01BSUY4MEsxTURBZ2hjR3ZCRDFPRjhnSWhIdEV3VTZPV0NsK1VNZjU3c2dTTDh1Z0REMkRjTnQxZUo4bUF4ajFkWGl0SG83SkMwTy9uTjVvM040RGpFRFdicU1McXc5MEU0a1RiU2FRRmlLUjJUbXR1RjlrTjNOTGhyamVhLzN2Y2N6Umc2UXI0R0kvaWd5elBwUlZ4Qy9mYjk5eGl1d0xjOHlMb0F4bndpTkVoZXQ2NlBsZ01teUJqQVV6VTJteENNb2F3blhEUWF3QXZORlJyaGF2UFlxa1JpSjFZQUNMSzcrK3ZZRmxDaGdHck0va05tOVpkYk1zRXBRSUdiM0dvanpUWHE4bUFaRTJES1hTRUFBTVhPdlpzNDdVdXhnbFNXSmJLeFdFQTFhZXdxVElXRDZwQWNTSWdDWllkUUxBdDl5RjFBbjNObERyN25GdElXd0dDRnFFRS9VRHNKOXhvWmpzQVpSZmdPQ0ZWUUg0b1NXd1JoMWkrdDNsNUVWZVh6alh5aGMzSDNCVndraHZDV20wMWtlVDdCUldIdjlpQlhjMGxEVFhQeUJ3UWF3NnZ4WmducHIwZzdpcDVGMTZ5V1VPV21rMXlxRGhlZnl4QVN6aThaUzl0U3hzblJGc3dZaGlQcWtCOHBYOEI2SC83WEs3L2syMDhaNlhXMjR5Z0RpbWZQU2RLOExqYy9VeEEvWFF2d0NKV1lDY1VJWFJVSnN6MGh5NVBpbUpXUkZVTkE4cnN0VmNkOWptMmpXWHlCK2FFWS9ia2RQTHpCaWZ5aDdRWUlGUW9wdURyc3VqQTRCdzNaVUNGRzl4LzJFU0NGT0NPdE9LNWJHY2EzQTJSZGtnMlg3M0sxTlMycWt4WGQ3U2FQWmZoRE9uRmZ1bGNKWHQzT2ZQSVlTbUVnSHRSb1dRQWhWdEpJUnFPdkQrN1VjTUNYa3RWcG5pRlZCYTl1N0Y3eEg4Y3lZbFZkU29vRkZpM3dUSUxKZXI0Yzc0eHNxOWhjSVRIL0d4alNnRlVKTFMxQWtJcEFjMFdKK3NNemF6aGdmVUtEOENaOEdYZ094OHdlRVZuT25tNE5oQWNSRVp3dzNpRFZvaWJNeUtDdVo4ZlY5TlBPTStDenpRZGxOSWhZL0k5Ym5yeU5EVzUvak14RWpuQlJtTEpBUjNrRC9POEs2L3FldnZ2Y09SSWhIREFrZ0xMOFRJWDZ3L3JEZWg5V0JLNXdsWW51WTlCSlBRUHdTTGZhbmdld3RZbk9CUnRNalM0d3QxUHE5dUdiTzFCbDBldUVnWHVkWEVNaVZqVGQrV3ZPOXR5d21HSVlFME9oVWwyaWlGVkhiQlUxbzRrVUVFMW44TkxTV3MyRHJjMkQ5WHJqS2w5MTFzOSsyTjZ3Qmd1eXZkbDF6M0djckVLajlMZDZvcHJjTkNhQ2hMSENzVzlFMDhiUERhQ3c5RUp3VHZmQVFTblBna2llNitHa1lXWjhEYmpINmVFT3QzOXZnUGk4anhocUVGRUM0djBrNUJSUXJ0TTRSSzliK0dRSENNMkRwT1VIbitwbkYrcXAxY3FFa3E0MjkxOWJubUI2aUJFWVR1TmszVC9YVy9QbnIrRGhVellzWnhUdEcyK0pDdXNCRzF2U0lCckQ2ZmxyOWhLd050R0xuUnppZ1YvalRmWi9LTlRoaUFjUVdOWWxXWCs4RGRYclk0TTZpbnpkUVlUUE9ZNE5ZK3J1bVZaWjlWOGREZVF0S1VlSVoxQ1BXZm1UTWdBb3BnRWJXOUlnVUNKMjdNMlNGVEhiWVhmajA5TTB5djlUQzZBaDlxNkd0My92V0U4L1R2NEtOd1E4Z2tOMEs3RnNHbzlYMldZV2dBb2g2dldpWG9jREZoZEFodnNlQzV4LzArQVlhYW9DeUdaeVB0QXNFUW9lZTNnWGJGeGlhSkcxVjRCYmZNcXRZSmo5Z0RTNS9NZlNZZXdEeDVOSVo2eEJVQUNGUXg4cm1FeE5iQnJadjJuS0YzdUVwWDA3MjF1VDF5ZTRycDhCZ1VuUmY4UmlDbU9WWnRBaG8xMEV3cTQrNXgxamhQUkRuWXhyUTRvUG82RUM1UzdCK1h4UlhvOStYc1E0bnRCV084WTkremVCQXkxdEN5RmpNb2tldytLQVY1L294YmxnQTQ1RDh0SHpiSkNiaURiaTQyTDdSK24yZGVkU3hhejRMbjBWaEFZeERibDU5RTFVZnI3WlZZaUxlU1BUUjlZd3hXQURqRUpUQk1BeGpQbkczTENiRE1FeXNZQUZrR01hMnNBQXlER05iV0FBWmhyRXRMSUFNdzlnV0ZrQ0dZV3lMZlFWUUpXNUVaaGpnVUczN3R5QUVVRjFCTnNTaE9reGJhM1AzNk4zbGlxTFk4a3RWbDB6bFpCYkpkZFpjSHpVRUtsSDU2TFJ1NVdRU0xsZVNYZTlybVlNVTFkcXJEdmxuWHBzLzFhMGdNMUZ0ZUY5ZHlreUlQNW5FYUtWYmxhcXFzOGxtS0M0eTlYZnVWcmx1aGZpVUZXUXpYRUw3SEcyS2FZVzR3NlBGODNLeVBsVkM5bWVMM3plODVlTWpZTWVWdTBvVm9pSlNySDlmM2RhdU1uUG4ySjNGWkRLWHArUlBVZDMvdU5qQndxNGlGeFZkMWlLdmxFeW1QamxsdEtxb3RoajlwSXEveVhwRkhkMnRZdU5pUlgvaVFIR3FreXpOMFNvaCtESC93M0V1eW5HU2hha1M5N1ZxZEZYTTcrdWkycTFPc2pCbXVyMkIyT3AwWmhPbFpwT0Y2VmErcVp3WWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1FWWhtRVlobUVZaG1HWUtPQmRGblBYZ1lPRlNhUTRWYkdSQlhHUVd1VWlwYnhqbTR6RkZFTndYNU5KS1JDZmJjbWxCbkZmNjBndDY5U205UXFLSVh4Zm84L1dBMnAyS2gwcXNQNTlUVnJjcVUxYU9aNUxBZHhiZmJTRVNKMUNOa0FsS3E5MzBSRHRCcGdGdmt5dGxLT0x4QjB1SkJzUXEvdTY2MEN0TTFtaHVUYTZyL05TWEtsRmJkb29wcTY3alB1YTVLQVBoQ0E0eVJhb3BlMnowb3NjUDFiL05NTXU0Z2Z3SHhqL29ROElnU0lUU2FjanBYYjVJd1c0cjhsSlFwaE1KbGxSUzJ4Mlh5ZlVPV3Bua01uWVMveUFNbVgzZ1NOVGxEM1Z0VnZ0OVl1N3FYUFZEVEhMdllDNDFqbU9IaUFib3JycXorelFwbFVabWNDZUE4Y0tGRWY5ZjhsMnFGWEpyclJ1WmxtQit3NGNIcVU2SEl2SVpzQnJjZGhSL0lCQ1NRVmtFa2ZwcUNYakowYW9KL01zYTRYcWJYcGZsV3d6djFOV2pmdUhBdHJuSUp1aWtHcGJrV0lZUFM0Yi95M1lWZ0FaaG1GWUFCbUdzUzBzZ0F6RDJCWVdRSVpoYkFzTElNTXd0b1VGa0dFWTI4SUN5RENNYldFQlpCakd0aVJUaE96Ly9EdmE4NSsxVkx2alI2cXJxYVhXdmZLb3c0WDlxRzMvVTRsaEdDWVJpRWdBTnozNE9tMmJ2N3pSc2YyZmZVZmI1aTJucmhNdW9CNi92cGlTVzZjVHd6Qk1QQk8yQVBvVFB6M2I1cjFQdFpYNzZNeW5iaWNtTmh3NWNvU3FxNnZwMkxGajhqRzI0OGVQVS9jZVBhaDl1M2EwYmRzMjJyaHBFMldrdS85UlNrbEprVnU2ZUo2ZG5TMGZaMlZseVQzRDJJbXdCQkJ1cjE3OHVvNGZTcDFIRDVTUGQ3NjVpcmE5NkQ0SDEzaUhlSjU3eFVCaXpHSG5ybDIwWmZObXFoTENCN0h6eDFsbm5TWDNFRDlOR0lPUkxVU3dTNWN1MUVNSUo4UDQ0N1ZsWDlQU1Q3Nmw5WnQvb0hnanExVXE5ZW5la2FhTlA0L3ljN0lNdlNZc0FkejU1bXJ2NCs2L3VvUjYzRFhTK3p5ejkxaEt6a3FqTFg5OXgzc3RDMkIwZ01EQndvTWxCK0ViTVh3NEhUbDhtUGJ1MitlMTVMQnBGdDVoSVhUdGhPV0hjNXUzYkFrcGZBRFg5K3JaazlxM2I5L2tzOWt5WkdvTy9VUVQ3MXRBbjVadG8zaWxRbXpyTnU4V0lyMldmaU5FRUVJWWlyQUVzR1pEaGZkeHg0djZOVGtQaTFBVHdJT2JLb2xwSHZ1RXdPM2N1Wk8yYmQvdXRmSWdSb2VGK0hYcTNKazZpeTA5UFhpc3RhdXc2TEl5TTJtWEVFNklwNjhZK2hNK2ZCYkVGcStCeU9JemV2WHFKZCtMc1NlVEgxc2l4UysvWXhiTnZITVk5ZTNSa2FMQnAydTMwNVJIMzZKbzg1ZjVIOUhBZmwxcFVFSFhvTmVGSllCMUIyc2JYcGlaMXVSOFNtYkRIK1B4bXRCV0IrTWZDTkRxMWF1bCtHaG9RcVhGN0l5Q2F5RnUyTTQ0NHd6YXUzZXZGRlFJb1Y3NDhCekg5NG56K3MvVnpxMVpzNFoyQ1RIR2U0UVNYY1phZkxwMkd5MzkrRHNwZm0rVTNDRGN5K2hOejhyL29ack00bkVoZ29NS2JnaDZUY1JsTUNsK0JKQnBIdnM4MWhhMm40bjRIVVN3VTZkT2RJcUl5VVhMRGRYRVVBUHhRWCtpNXc5WWtJZzVEaGd3UU1ZTEdYdXc5T052NVg3Y2lINVJGVCt6Z1hCWDdLNEsrak9ISllDRGxrd1hscDNiQ2d4VTVuTEJsNC9MYTFnZ2pRT0xEMEswV1NRMTlPN21CVU9Ia3Rra0p5ZGpOTGkwTUkzeTlkZGYwOCtGUUxNbDZCL0ZWVVV0YXQ0bVIvMDJ1Wkdpa3FJb2NrK1l3WTZseUxDcDJndkVReVdiRG1jK1J2Rkk5YUdqY2g5VS9BNGZKQ3I3Z3VpUTJPZmtFdlU0alNpanRmdmNEenNiWDl1eE00VWlyMlBqejZyOG9XRTFBQ1E2K2dnWEhEOVg1ZTVxV3I4bGNFSUdzY3RnaENXQXljTEZUYzVNYi9ZMVRBT3dxdUJlYWpFK2FRR214ZTRmRDFpWHAzRFdOeW9rSDFwSmFYc2VwQlpIUG5MM1dEbUV3aVVwcENSQjRJVE9KWGtFRU9ma2Vvd3FhVXBZbit5a3d4U2ZBaGdVSVh6Sy9LZko4ZWJMalE2cnJWcVRlc1gxcE41NEJ6bW0za1NLVGdUclgxa2FVZ1RmTExtK2tlQmVPZlVsVXNYdFFuTERONjZIMkNUaWlCViszR2xOdkFNUlVnRHJEb3JZMEx3UHFHWlRoZXo0Q0JkMGlQVDQ5VWd1alBZRDNFbkUxVG9MTnhka0NyZVN4U2p4U0RyeU5hVlgvSlpTRHErVVlnZmhVejFMYnNQb1UxMnFXL1NFQ3FyaXIxaVJ1cWMzQTJFQ3FwU0lPS1lKY2R2OGJaUGppckFFbFJlZkpoZEZCMWlFcysrKzFPODVDQ0ppazFjV3ZlUlhCSU1SVWdDL3VmdEZXZGNYS2VnUU9iaWhrczUrdVlpWXhpQ09wdFhxTVlsSjZ1Ni9VZHFPaDZUYlMwa2VIVlBkZ3Fhb2l1Y3FqOUNwYmtGMG96WStSd29sR3NxN1MveUtueDZIRU1Gb0VFajhOR0F0bHQ1OW1iUVV3eUdvQU5ac3JBZ29mckRvT2x4NEJxWGxuU1NmUStSUStvTGVZRjlRUUgxd1k2VzBCbjA1V251RU5tLzVqZzdzMzArMTRuSG5YR0V4ZGorVlV0T0NXNHhieEd0MjdxaVVyL0ZIbXpZbjBkbjl1UTZSTVkrMDdROVNhdVdEMHJWVlBTRStQSkNTSmgrN3JUOTVSUEd4OWhwcFh1S0pIMUQ4aUp2bTlzSUZWdDU0bVJ4UFI4K3RYN2Y1QjVyeDFMdlM1YjFxZUQrNi84NWhsTm1xcGZjOExNRThJWVNWdTQydkhocFVBUFZsTDk0WENPSHJPbjRJT1NjTTlSdnJRd2NJYWdGOWhkQmZXY3k3eTk2aGxSOHQ5eXRpdzRaZklyYVJUWTRmMlA4ai9mT2ZMOUtXemQ5Uk1Mb0xFV1VCWk13aWJkdWZLSFg3dzhMcVU5MmlwN2ozUU5VRVR0VkptemltcWcwaTJTQ0ErTDlvT1lveEJDN3U3c2JKRGJYZjJlVDZ2OTgxUEwveWVuSWRyaEZXNERNVURXNjY3M1daMVFVb2RnYWxQcGJoTDM5eEtqMzN4dWRrbFBDU0lFTDh6bjZwaURKNzV3VzhCdDBmbUFqenhRMGxmcTFCQUt2djZhZEthTWVPd01YUzd5NTdtOVo5VTBaMzNGbEVhVHByRUsvYnYvOUhTblNPci8rT3FpZE5DM21kSTB2OFM1clptbExIWGtwcFl5L3hlNDFXTUkxNlBjUVY5V1I0eW1yUTNwWVZSdWtLdWttK0VkbGVMVG5UVTJTbTI0ZVJLYll5TFN2K1JxbGJIM1FuTkdSY1Q1ZlQwRzlFSHRIVDNGK2xRUWk5NzlhUUNFa290bXhxY2tqOXhSQS94eTRnaW9JQS9yOVB2dldLbndaYThvZ2FDMkJlVG5qbFdXRUpZTTk3eHpRUlB6a09TMWlLclhzMkhJZGIzUGVSRzZVSSttUEo0b1ZCeFU5ajU4NUtldTNWRjJuQ1RlN0JDdXZXbFRVU3Y5VFVkQ0dPL2pPbWFXbnhYWVpUWDdsVGJMdWt1Q1gzQ1R4Q1RLMDVTTWRYcmFGallzUGo5SnV2YVhUK1M1RkIzcjU5dTN5czFSRHFnWkNoeGc5Rnp1ZWVlNjRoRWNOclZxNWNLUjlyblNObmNjbUx4SEYwRzZWdGZjaHI3WG5kV1ZWcDBER2RKZGdRQjFTOUNSRHBFbnRmazREV1h6Z2NxcUZvNEsrY3hWK0dONnRWZUgvM2hnV3dqYkRxOUwyOU5TS205KzFEcjhza0IwakxQVWxPZ05IaWZHM1BPWlU2ang1QU94ZXRidlEraU4xOThjV3FodmNWc2JxcnI3bFJ4djVnNlgzeCtTcnBHaDg0NEJhNmRldldTbmUzZTQ5VFpjeFB6OVRmVEtlMmJVK2lSS1J1ZytlK2pidUVXczhJYmdrZVhiWkNXSXUva1NLb0YwQzBxMEg4VUN5TnVyeEF4ZEpyaFNXM1pjc1cyaTZ1RHlXQWV2RkR3ZlB5NWN1OS9jWjJ4MUc3alZwOU9ZTG8yQUZQVnRlejZlTjZXcEdmRkRzSGdvQWVsOWN0ZW03MzJKTUpscVpnZ2laQk91WTJPYVNzL1ZMR0FCc2QrK1FEaWdib1F2RUY5WUMrVklRUi93T0dKMExuWGpIQSt4anhQSXk5d24vTU52MVBrVnRxYmx2YS9NVGJQcTlwR29QNzh2UEdnZ2dYRitLbXVibUkyL202dlY5NkJEUE5Kekd5UzFpSUVGVGY3V2h0L0xmaHdhb0RMUWFHemdLbmVDeEVsN0FBOWFCNEd2UTc0NHlnblNLNW5kMDFWNGREREVYUWk5OTV3bHFzODdpL1dkejFJVW5kL0NBNWpteVRGcHpiWVcyd0FqMjY1ZzduU2RIRGM1Zjd1RXYxWm9ZOVZjOGVLMUV2ZWdubUF1ZUk3MVNyMW8wT0taOHNKMFZmRHlnRUVabmlhSUFFeDZCK1hSc2R1K1hLL2sydVc3VjJHNFdEWVFzd3MxZSs5ekY2Zms5L2RIekkxOEFLOUdYSHpvYUJDbjM3OXZOcndlRlluNzVuQ09GemkrV1dMZC9MZmVmT2pkM3Z1UzhFamkyY2Q5NEZkTkh3aTV1SVpyeUFHQ0JJeWcxZEZROVgyWmVxcWlycG5xS0R3NmgxbGhIa09sL3h3M3NpcmdnU3BlMnQvUjBmZVI4clFud2NhcDBRcE9Qa2NOV0w3Ymc0VmlmMmRjTHJQTzdaMThscnZNLzE1M1hIc2QxNi9YQzY3WWEvMDVIVC8wNk1HOWNWMXpWSmNEaWVlb3pVWlV2Y1NSTGZEcEJtOHNJRFkrbTFwV3RsNXdmRThLb1JqUWV5Vk95dURudGFqV0VCOUZmQ0VnbDZOeFp1YnlEMHdxakYvV0FwL3Z6c2dWNkxNQmdmZmZTK2lETldTR3N5M29BbGgzaWVJMFQ4VDBNVHl4VGR0VWRxM1JsNkkrSUVzUVNCTERsLzRnZTAvbURmRVZueFNrTzBqYVJycVFvWDFFRkp3dGdTbHBqRFFVcTlReFlvSzRyWWkwMjJwOEVKMHA2ckRlZEpsYTBjNHJtRFR1bWVKOFR2WW1JYW8xNXhBOUd5dDVxMHVpbGJkTFdCNlBpSWtoQmkzdCt0WTg0SmVQNjVOejZqY0RIc0FnZks2Sm9GNmdJMU9uZHVzRDRSTHp6M1BHTTlzdElsRGxFdWN5TFE0bjlKZll5dG4rTFBYVWIzeUJXalI4dnBMS0hBV0N2Z1R3QURpUi9RRWlCcENSYi9jMGZWaEFCQ0JHWHZyUkF5MWYxY0V6djNlYy9lRTdlVDEyT0Q4Q251ODUxejJ0R3NHVGNUNHdmaEFyc2VmNTdVUVVQOG5sYjcvVnllandaTFAvbE9XbmlCV0xCc2JWamxMeHFHTFVBa08vUXh2WFgzdkdpYUtLTFdUNThvYWR1MmJhUHpsNDhhSzJzRWR3YklKTStiKzZ5M3RoRFdJaXpIZU9LWVI5QlNEQWhnZmNWTytra2tRWkx5TzFQTFlZVVVMbG9XR01MbWE4a0ZFejlRN1NtcFNiVEpMdzBsZG03aGN4Y2lleXc2QmM4Y0RjLzFGcUYySEJhajZwQ3ZLL25qRGRTNVkxdGkvS1BtNUpKNi8yeVJBUG1DQ0YwaEdJcUFJUWc5VHBOMWdZVGp2bVMwcG5CQnhoZGRIaGh5K3N0Zm5PWXRnTWJFbDllV2ZpMEZNQklNQzZEdmhPZnV2eHBKMzl3em53NTgvajFGRTFodEtIM1IwNmR2MCtHcmlPMzVFellrUUZBQ1V4dkhpWkM2OVExVzZiSFZhNXFjaCtqSjY0U2xXTHZBblZqS0tMcVZqSUxhUFZodm1QMkhpZEFBRTJiMGhCSy9mUjczdDEwQzF2NHB1a2R1YTg3aGNZbmRMcStLVElYbnVSUS9haml2ZUVRU3p4OG91cEpPT3psMGpOYldlQVJQaWgwMkh4U2ZJUWt5Y2RJcWZBRUV5UEJpNk1FVWloN0dMY0RQdjVOV29KYllRSzFmLzVlblVuTkF1UXUyWUhUdmZvck1ES013T3RTMS9qaTVlL3d0MDRrYVFIQmt6cXR5Q3daaWhPazNUL05iQksyTnlrZU1EM3U1TUpKSC9EU1FIVDc5OU5NYlRYTkdzVFRFRCtmOGlaKzh4aE0zVENUclQ5OWRxejFYTkN0UWNjY0NHNTVyc2I4R2kxRFZ4UUlmbkh3NVhUNjBIekhCUWJzYk1yMFFRUFdNbjd0SFlSMnFrUWtRZjczQ2dkemxFMFZZaGRCbGR6NUxBNWRNbHpWL3NRQTFnbGRkTTE2NnhKR0lIMTRmYis0dkVpQ2FCWmc1YTRiZmE1THkzRllIM042a3ZFNStyNEZsdDNIanhrYWo4clY2UGRUNklkNkh6WGVDdEJIeEE1cUlKbEw5bjc2Znd0dGZvWGlzUEpFVjlyckM4cm5PL1pYbjNET3FXbWVrMHBPL0cwdjkrL0w0ZjZPZ0pVN1pMVEsveTBLVXZNQlN2UEVPaWlmQ0VrRFUvNjI2L0NIcS91dVJjdjBQTXpuMzNLRTBiTVJJNGRMV3l2YTNjSUg0b1lNazNncWx0UVFJTEx1MHNaZFNKTUI5eFZCUzBMTm5UM0oyN1dwWXFMVDJOclRHd1VVT2hPWUN5MUg1MjdaUlJrWkdncnJEU2tQR1YvRzR2MUw0UEVrUTFTMThFTXB6K3VUVG8vOTNBZVYyeUNUR0dMNzl3QUVSMldEWHpGSVpNNHduZ2dxZ1Awc1BJaWpYQnA2M1hMckRyWHJtVVVwVzZQYVRqaGYyYXpJVEVIVjl1VDZsTUoxRXh2ZnMvZ05rakE5eFBDUkQ0QVpqTTRyK1BlSU5yYVFsdWM5cEZDbXcvQUJFckxkUGJDOFVXcSt3OWg2aDBHS0k2RFpKQkFGVWZQWnVOMWdYQzlURi9UUTMrSnpldVRUbHluNWl6L0crY0ZGdnZKM1U3cWVSOHJWSWRrQU1EK21LOVJIcjY5SFQ3UnIvWXFpY0VHTVVPZGRQVnlkZUUyS3dhYVNFRk1DMi9VOFI4YittaVE1a2dESDV4UWg0bjl6UlRidEMrcDdlVDA1OUNmZzZJV0RCemljaVdrbExTdS9JWFhQTk91c1N3U3B0UnNic0kvNjMrclBQWlB3UDdYQWdFWmJHdkhwZ3gwWU5GZDY1by9LWVN4WStLMm85WmFVbFVmNUpxV0pMbzRHOU9sQm1lZ3RpSWtOYWRGZGVMeWUvUkJNTU40MEdxQjBNUmtnWHVPOGo0Mm56WDkrVzgveU9Id3gvSWpRRXRNZXZyU1ZpelVGTGdDUkhLSUJhaGhlQ0ZFbUN3b2lyckZtSmFYNkdLOFF6VDl3WXVWWE5CQWJyYjlBeTkrSklWdzBQWFhjYVQ0UmF4Q21rQUNMYmE2VHRqVEZHblordWpuQ28xbzI3d2xvaVJwQnJDSGZxUkViWjU0a044dmdyQm1ENEtKYVl4UGdwRkJ2NzY4R05SeURXK29HcC9vaDRXVXdtZkxTYVB5UkFNQVlyRXJURWhWeTgzRE1HS3hTZE80Y1gyOUpFbG9jZ01BQnU1Rzl1UEkvdWUrbzl1dS9KZDZVUTl1bWVFMUpjakJDc3U2TTVZSG9NaXFaRHdRSVlRMW9NT0lzNlZueEp6UUVGemIzQ1RIeUVDK1lHTW95ZVc4YWNJd1F2VlZxQ0dEZ1E3dENCV0RLd1gxZTVob2lSTll4WkFCbUdNUVNtcjJDRCtKbGx1VFdYUVFWZHdscThuUVdRWVppdzhGMlhONUdKdVFEZSs0Yy9lUitueHZuWWVvWmhyRTNNQmJCTmdvNndaeGpHZWhpZUI4Z3dER00xV0FBWmhyRXRMSUFNdzlnV0ZrQ0dZV3dMQ3lERE1MYUZCWkJoR052Q0FzZ3dqRzFoQVdRWXhyYXdBRElNWTFzd0k3eUtiSWhLaWkxL2I0YnhSU0cxbkd3S0ZrWW9JeHZTa3BURlpCS2QycVNWSzBUbFpFTlNxWlZwMzZka1NpMno0ei9ZK0M3aE8wVW1vVkJTT2RrUVZWVS9kS2oxOVVWMisxS3BwTTV1WStJWFN1SnlGWkhOY0pGclpwczI1bG5XOHIxZGpwbGtNK3BkRGxPL1MrM2JwSzBRVnVCc3NoSGk5NjFLVVpVSmpnNXRXcFVsdTVRem9ZWmtkVlIxbS9pL29nNVo2ZEZjWE40djdkcGtMRlpjcnRIaXZxNGx5Nk9VcVM2YTJERXJvNWhNcG4yYjFGSjhsaDN1cS95YmROR1FqbTFhbXVhdGFMUnovMDNNdExybkF1SERmVTF5dVliQUNQci9FZDJyWXJ4aEhzQUFBQUFBU1VWT1JLNUNZSUk9Ii8+CjwvZGVmcz4KPC9zdmc+Cg==",alt:""});const Z=Object(V.a)(U.Card,{target:"e15ggnzr3"})({name:"1rkrhlr",styles:"display:flex;flex-flow:row;justify-content:center;margin:12px 0;max-width:680px"}),o=Object(V.a)("div",{target:"e15ggnzr2"})({name:"rhr3hk",styles:"flex:0 1 auto;padding:24px"}),W=Object(V.a)("div",{target:"e15ggnzr1"})({name:"1cdwwiy",styles:"padding-top:11px;display:flex;flex-wrap:wrap;gap:12px;align-items:center"}),T=Object(V.a)("div",{target:"e15ggnzr0"})({name:"5m5drs",styles:"background:#f7f9fc;display:none;flex:0 0 33%;img{padding:24px;}@media ( min-width: 660px ){display:flex;}"}),i=()=>Object(a.createElement)(Z,null,Object(a.createElement)(o,null,Object(a.createElement)(R,null,Object(r.__)("Early access","woocommerce-gateway-stripe")),Object(a.createElement)("h3",null,Object(r.__)("Enable the new Stripe payment management experience","woocommerce-gateway-stripe")),Object(a.createElement)("p",null,Object(r.__)("Spend less time managing giropay and other payment methods in an improved settings and checkout experience, now available to select merchants.","woocommerce-gateway-stripe")),Object(a.createElement)(W,null,Object(a.createElement)("span",null,Object(a.createElement)(U.Button,{isPrimary:!0,href:"?TODO",target:"_blank"},Object(r.__)("Enable in your store","woocommerce-gateway-stripe"))),Object(a.createElement)(U.ExternalLink,{href:"?TODO"},Object(r.__)("Learn more","woocommerce-gateway-stripe")))),Object(a.createElement)(T,null,Object(a.createElement)(N,null))),F=document.getElementById("wc-stripe-upe-opt-in-banner");F&&d.a.render(Object(a.createElement)(i,null),F),t.default=i},3:function(e,t){e.exports=window.wp.i18n},56:function(e,t){e.exports=window.ReactDOM},9:function(e,t,l){"use strict";function V(){return(V=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var V in l)Object.prototype.hasOwnProperty.call(l,V)&&(e[V]=l[V])}return e}).apply(this,arguments)}var a=l(1),n=function(e){var t=Object.create(null);return function(l){return void 0===t[l]&&(t[l]=e(l)),t[l]}},d=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,r=n((function(e){return d.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),U=function(){function e(e){var t=this;this._insertTag=function(e){var l;l=0===t.tags.length?t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,l),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var l=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{l.insertRule(e,l.cssRules.length)}catch(e){}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){return e.parentNode.removeChild(e)})),this.tags=[],this.ctr=0},e}(),c="-ms-",R="-moz-",N="-webkit-",Z="comm",o="rule",W="decl",T=Math.abs,i=String.fromCharCode;function F(e){return e.trim()}function p(e,t,l){return e.replace(t,l)}function h(e,t){return e.indexOf(t)}function s(e,t){return 0|e.charCodeAt(t)}function m(e,t,l){return e.slice(t,l)}function k(e){return e.length}function E(e){return e.length}function M(e,t){return t.push(e),e}var S=1,Q=1,b=0,u=0,G=0,J="";function y(e,t,l,V,a,n,d){return{value:e,root:t,parent:l,type:V,props:a,children:n,line:S,column:Q,length:d,return:""}}function Y(e,t,l){return y(e,t.root,t.parent,l,t.props,t.children,0)}function x(){return G=u>0?s(J,--u):0,Q--,10===G&&(Q=1,S--),G}function z(){return G=u<b?s(J,u++):0,Q++,10===G&&(Q=1,S++),G}function j(){return s(J,u)}function X(){return u}function O(e,t){return m(J,e,t)}function D(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function H(e){return S=Q=1,b=k(J=e),u=0,[]}function v(e){return J="",e}function B(e){return F(O(u-1,function e(t){for(;z();)switch(G){case t:return u;case 34:case 39:return e(34===t||39===t?t:G);case 40:41===t&&e(t);break;case 92:z()}return u}(91===e?e+2:40===e?e+1:e)))}function f(e){for(;(G=j())&&G<33;)z();return D(e)>2||D(G)>3?"":" "}function w(e,t){for(;--t&&z()&&!(G<48||G>102||G>57&&G<65||G>70&&G<97););return O(e,X()+(t<6&&32==j()&&32==z()))}function g(e,t){for(;z()&&e+G!==57&&(e+G!==84||47!==j()););return"/*"+O(t,u-1)+"*"+i(47===e?e:z())}function I(e){for(;!D(j());)z();return O(e,u)}function C(e,t,l,V,a,n,d,r,U,c,R){for(var N=a-1,Z=0===a?n:[""],W=E(Z),i=0,h=0,s=0;i<V;++i)for(var k=0,M=m(e,N+1,N=T(h=d[i])),S=e;k<W;++k)(S=F(h>0?Z[k]+" "+M:p(M,/&\f/g,Z[k])))&&(U[s++]=S);return y(e,t,l,0===a?o:r,U,c,R)}function L(e,t,l){return y(e,t,l,Z,i(G),m(e,2,-2),0)}function K(e,t,l,V){return y(e,t,l,W,m(e,0,V),m(e,V+1,-1),V)}function P(e,t){for(var l="",V=E(e),a=0;a<V;a++)l+=t(e[a],a,e,t)||"";return l}function A(e,t,l,V){switch(e.type){case"@import":case W:return e.return=e.return||e.value;case Z:return"";case o:e.value=e.props.join(",")}return k(l=P(e.children,V))?e.return=e.value+"{"+l+"}":""}function q(e){return function(t){t.root||(t=t.return)&&e(t)}}var $=new WeakMap,_=function(e){if("rule"===e.type&&e.parent&&e.length){for(var t=e.value,l=e.parent,V=e.column===l.column&&e.line===l.line;"rule"!==l.type;)if(!(l=l.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||$.get(l))&&!V){$.set(e,!0);for(var a=[],n=function(e,t){return v(function(e,t){var l=-1,V=44;do{switch(D(V)){case 0:38===V&&12===j()&&(t[l]=1),e[l]+=I(u-1);break;case 2:e[l]+=B(V);break;case 4:if(44===V){e[++l]=58===j()?"&\f":"",t[l]=e[l].length;break}default:e[l]+=i(V)}}while(V=z());return e}(H(e),t))}(t,a),d=l.props,r=0,U=0;r<n.length;r++)for(var c=0;c<d.length;c++,U++)e.props[U]=a[r]?n[r].replace(/&\f/g,d[c]):d[c]+" "+n[r]}}},ee=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}},te=[function(e,t,l,V){if(!e.return)switch(e.type){case W:e.return=function e(t,l){switch(function(e,t){return(((t<<2^s(e,0))<<2^s(e,1))<<2^s(e,2))<<2^s(e,3)}(t,l)){case 5103:return N+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return N+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return N+t+R+t+c+t+t;case 6828:case 4268:return N+t+c+t+t;case 6165:return N+t+c+"flex-"+t+t;case 5187:return N+t+p(t,/(\w+).+(:[^]+)/,N+"box-$1$2"+c+"flex-$1$2")+t;case 5443:return N+t+c+"flex-item-"+p(t,/flex-|-self/,"")+t;case 4675:return N+t+c+"flex-line-pack"+p(t,/align-content|flex-|-self/,"")+t;case 5548:return N+t+c+p(t,"shrink","negative")+t;case 5292:return N+t+c+p(t,"basis","preferred-size")+t;case 6060:return N+"box-"+p(t,"-grow","")+N+t+c+p(t,"grow","positive")+t;case 4554:return N+p(t,/([^-])(transform)/g,"$1"+N+"$2")+t;case 6187:return p(p(p(t,/(zoom-|grab)/,N+"$1"),/(image-set)/,N+"$1"),t,"")+t;case 5495:case 3959:return p(t,/(image-set\([^]*)/,N+"$1$`$1");case 4968:return p(p(t,/(.+:)(flex-)?(.*)/,N+"box-pack:$3"+c+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+N+t+t;case 4095:case 3583:case 4068:case 2532:return p(t,/(.+)-inline(.+)/,N+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(k(t)-1-l>6)switch(s(t,l+1)){case 109:if(45!==s(t,l+4))break;case 102:return p(t,/(.+:)(.+)-([^]+)/,"$1"+N+"$2-$3$1"+R+(108==s(t,l+3)?"$3":"$2-$3"))+t;case 115:return~h(t,"stretch")?e(p(t,"stretch","fill-available"),l)+t:t}break;case 4949:if(115!==s(t,l+1))break;case 6444:switch(s(t,k(t)-3-(~h(t,"!important")&&10))){case 107:return p(t,":",":"+N)+t;case 101:return p(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+N+(45===s(t,14)?"inline-":"")+"box$3$1"+N+"$2$3$1"+c+"$2box$3")+t}break;case 5936:switch(s(t,l+11)){case 114:return N+t+c+p(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return N+t+c+p(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return N+t+c+p(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return N+t+c+t+t}return t}(e.value,e.length);break;case"@keyframes":return P([Y(p(e.value,"@","@"+N),e,"")],V);case o:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return P([Y(p(t,/:(read-\w+)/,":-moz-$1"),e,"")],V);case"::placeholder":return P([Y(p(t,/:(plac\w+)/,":"+N+"input-$1"),e,""),Y(p(t,/:(plac\w+)/,":-moz-$1"),e,""),Y(p(t,/:(plac\w+)/,c+"input-$1"),e,"")],V)}return""}))}}],le=function(e){var t=e.key;if("css"===t){var l=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(l,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var V,a,n=e.stylisPlugins||te,d={},r=[];V=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),l=1;l<t.length;l++)d[t[l]]=!0;r.push(e)}));var c,R=[_,ee],N=[A,q((function(e){c.insert(e)}))],Z=function(e){var t=E(e);return function(l,V,a,n){for(var d="",r=0;r<t;r++)d+=e[r](l,V,a,n)||"";return d}}(R.concat(n,N));a=function(e,t,l,V){c=l,P(function(e){return v(function e(t,l,V,a,n,d,r,U,c){for(var R=0,N=0,Z=r,o=0,W=0,T=0,F=1,h=1,s=1,m=0,E="",S=n,Q=d,b=a,u=E;h;)switch(T=m,m=z()){case 34:case 39:case 91:case 40:u+=B(m);break;case 9:case 10:case 13:case 32:u+=f(T);break;case 92:u+=w(X()-1,7);continue;case 47:switch(j()){case 42:case 47:M(L(g(z(),X()),l,V),c);break;default:u+="/"}break;case 123*F:U[R++]=k(u)*s;case 125*F:case 59:case 0:switch(m){case 0:case 125:h=0;case 59+N:W>0&&k(u)-Z&&M(W>32?K(u+";",a,V,Z-1):K(p(u," ","")+";",a,V,Z-2),c);break;case 59:u+=";";default:if(M(b=C(u,l,V,R,N,n,U,E,S=[],Q=[],Z),d),123===m)if(0===N)e(u,l,b,b,S,d,Z,U,Q);else switch(o){case 100:case 109:case 115:e(t,b,b,a&&M(C(t,b,b,0,0,n,U,E,n,S=[],Z),Q),n,Q,Z,U,a?S:Q);break;default:e(u,b,b,b,[""],Q,Z,U,Q)}}R=N=W=0,F=s=1,E=u="",Z=r;break;case 58:Z=1+k(u),W=T;default:if(F<1)if(123==m)--F;else if(125==m&&0==F++&&125==x())continue;switch(u+=i(m),m*F){case 38:s=N>0?1:(u+="\f",-1);break;case 44:U[R++]=(k(u)-1)*s,s=1;break;case 64:45===j()&&(u+=B(z())),o=j(),N=k(E=u+=I(X())),m++;break;case 45:45===T&&2==k(u)&&(F=0)}}return d}("",null,null,null,[""],e=H(e),0,[0],e))}(e?e+"{"+t.styles+"}":t.styles),Z),V&&(o.inserted[t.name]=!0)};var o={key:t,sheet:new U({key:t,container:V,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend}),nonce:e.nonce,inserted:d,registered:{},insert:a};return o.sheet.hydrate(r),o};function Ve(e,t,l){var V="";return l.split(" ").forEach((function(l){void 0!==e[l]?t.push(e[l]+";"):V+=l+" "})),V}l(100);var ae=function(e,t,l){var V=e.key+"-"+t.name;if(!1===l&&void 0===e.registered[V]&&(e.registered[V]=t.styles),void 0===e.inserted[t.name]){var a=t;do{e.insert(t===a?"."+V:"",a,e.sheet,!0),a=a.next}while(void 0!==a)}},ne=function(e){for(var t,l=0,V=0,a=e.length;a>=4;++V,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(V)|(255&e.charCodeAt(++V))<<8|(255&e.charCodeAt(++V))<<16|(255&e.charCodeAt(++V))<<24))+(59797*(t>>>16)<<16),l=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&l)+(59797*(l>>>16)<<16);switch(a){case 3:l^=(255&e.charCodeAt(V+2))<<16;case 2:l^=(255&e.charCodeAt(V+1))<<8;case 1:l=1540483477*(65535&(l^=255&e.charCodeAt(V)))+(59797*(l>>>16)<<16)}return(((l=1540483477*(65535&(l^=l>>>13))+(59797*(l>>>16)<<16))^l>>>15)>>>0).toString(36)},de={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},re=/[A-Z]|^ms/g,Ue=/_EMO_([^_]+?)_([^]*?)_EMO_/g,ce=function(e){return 45===e.charCodeAt(1)},Re=function(e){return null!=e&&"boolean"!=typeof e},Ne=n((function(e){return ce(e)?e:e.replace(re,"-$&").toLowerCase()})),Ze=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(Ue,(function(e,t,l){return We={name:t,styles:l,next:We},t}))}return 1===de[e]||ce(e)||"number"!=typeof t||0===t?t:t+"px"};function oe(e,t,l){if(null==l)return"";if(void 0!==l.__emotion_styles)return l;switch(typeof l){case"boolean":return"";case"object":if(1===l.anim)return We={name:l.name,styles:l.styles,next:We},l.name;if(void 0!==l.styles){var V=l.next;if(void 0!==V)for(;void 0!==V;)We={name:V.name,styles:V.styles,next:We},V=V.next;return l.styles+";"}return function(e,t,l){var V="";if(Array.isArray(l))for(var a=0;a<l.length;a++)V+=oe(e,t,l[a])+";";else for(var n in l){var d=l[n];if("object"!=typeof d)null!=t&&void 0!==t[d]?V+=n+"{"+t[d]+"}":Re(d)&&(V+=Ne(n)+":"+Ze(n,d)+";");else if(!Array.isArray(d)||"string"!=typeof d[0]||null!=t&&void 0!==t[d[0]]){var r=oe(e,t,d);switch(n){case"animation":case"animationName":V+=Ne(n)+":"+r+";";break;default:V+=n+"{"+r+"}"}}else for(var U=0;U<d.length;U++)Re(d[U])&&(V+=Ne(n)+":"+Ze(n,d[U])+";")}return V}(e,t,l);case"function":if(void 0!==e){var a=We,n=l(e);return We=a,oe(e,t,n)}}if(null==t)return l;var d=t[l];return void 0!==d?d:l}var We,Te=/label:\s*([^\s;\n{]+)\s*(;|$)/g,ie=function(e,t,l){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var V=!0,a="";We=void 0;var n=e[0];null==n||void 0===n.raw?(V=!1,a+=oe(l,t,n)):a+=n[0];for(var d=1;d<e.length;d++)a+=oe(l,t,e[d]),V&&(a+=n[d]);Te.lastIndex=0;for(var r,U="";null!==(r=Te.exec(a));)U+="-"+r[1];return{name:ne(a)+U,styles:a,next:We}},Fe=(Object.prototype.hasOwnProperty,Object(a.createContext)("undefined"!=typeof HTMLElement?le({key:"css"}):null));Fe.Provider;var pe=function(e){return Object(a.forwardRef)((function(t,l){var V=Object(a.useContext)(Fe);return e(t,V,l)}))},he=Object(a.createContext)({}),se=r,me=function(e){return"theme"!==e},ke=function(e){return"string"==typeof e&&e.charCodeAt(0)>96?se:me},Ee=function(e,t,l){var V;if(t){var a=t.shouldForwardProp;V=e.__emotion_forwardProp&&a?function(t){return e.__emotion_forwardProp(t)&&a(t)}:a}return"function"!=typeof V&&l&&(V=e.__emotion_forwardProp),V};t.a=function e(t,l){var n,d,r=t.__emotion_real===t,U=r&&t.__emotion_base||t;void 0!==l&&(n=l.label,d=l.target);var c=Ee(t,l,r),R=c||ke(U),N=!R("as");return function(){var Z=arguments,o=r&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==n&&o.push("label:"+n+";"),null==Z[0]||void 0===Z[0].raw)o.push.apply(o,Z);else{o.push(Z[0][0]);for(var W=Z.length,T=1;T<W;T++)o.push(Z[T],Z[0][T])}var i=pe((function(e,t,l){var V=N&&e.as||U,n="",r=[],Z=e;if(null==e.theme){for(var W in Z={},e)Z[W]=e[W];Z.theme=Object(a.useContext)(he)}"string"==typeof e.className?n=Ve(t.registered,r,e.className):null!=e.className&&(n=e.className+" ");var T=ie(o.concat(r),t.registered,Z);ae(t,T,"string"==typeof V),n+=t.key+"-"+T.name,void 0!==d&&(n+=" "+d);var i=N&&void 0===c?ke(V):R,F={};for(var p in e)N&&"as"===p||i(p)&&(F[p]=e[p]);return F.className=n,F.ref=l,Object(a.createElement)(V,F)}));return i.displayName=void 0!==n?n:"Styled("+("string"==typeof U?U:U.displayName||U.name||"Component")+")",i.defaultProps=t.defaultProps,i.__emotion_real=i,i.__emotion_base=U,i.__emotion_styles=o,i.__emotion_forwardProp=c,Object.defineProperty(i,"toString",{value:function(){return"."+d}}),i.withComponent=function(t,a){return e(t,V({},l,a,{shouldForwardProp:Ee(i,a,!0)})).apply(void 0,o)},i}}}});
|
build/upe_settings.asset.php
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<?php return array('dependencies' => array('react', 'react-dom', 'wc-navigation', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'af9f8196774dc7d957e1b0edcd867756');
|
build/upe_settings.css
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
#wc-stripe-account-settings-container{box-sizing:border-box}
|
2 |
+
|
build/upe_settings.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var M=t[r]={i:r,l:!1,exports:{}};return e[r].call(M.exports,M,M.exports,n),M.l=!0,M.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var M in e)n.d(r,M,function(t){return e[t]}.bind(null,M));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=215)}([function(e,t){e.exports=window.wp.element},function(e,t){e.exports=window.React},,function(e,t){e.exports=window.wp.i18n},,function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,n(74))},function(e,t,n){var r=n(5),M=n(61),u=n(12),i=n(62),o=n(53),c=n(80),a=M("wks"),j=r.Symbol,s=c?j:j&&j.withoutSetter||i;e.exports=function(e){return u(a,e)&&(o||"string"==typeof a[e])||(o&&u(j,e)?a[e]=j[e]:a[e]=s("Symbol."+e)),a[e]}},function(e,t,n){"use strict";var r=n(5),M=n(50).f,u=n(58),i=n(18),o=n(30),c=n(13),a=n(12),j=function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t};e.exports=function(e,t){var n,s,l,L,N,y,g,D,I=e.target,p=e.global,A=e.stat,f=e.proto,m=p?r:A?r[I]:(r[I]||{}).prototype,S=p?i:i[I]||(i[I]={}),x=S.prototype;for(l in t)n=!u(p?l:I+(A?".":"#")+l,e.forced)&&m&&a(m,l),N=S[l],n&&(y=e.noTargetGet?(D=M(m,l))&&D.value:m[l]),L=n&&y?y:t[l],n&&typeof N==typeof L||(g=e.bind&&n?o(L,r):e.wrap&&n?j(L):f&&"function"==typeof L?o(Function.call,L):L,(e.sham||L&&L.sham||N&&N.sham)&&c(g,"sham",!0),S[l]=g,f&&(a(i,s=I+"Prototype")||c(i,s,{}),i[s][l]=L,e.real&&x&&!x[l]&&c(x,l,L)))}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var M=n(1),u=function(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}},i=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,o=u((function(e){return i.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),c=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{n.insertRule(e,n.cssRules.length)}catch(e){}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){return e.parentNode.removeChild(e)})),this.tags=[],this.ctr=0},e}(),a="-ms-",j="-moz-",s="-webkit-",l="comm",L="rule",N="decl",y=Math.abs,g=String.fromCharCode;function D(e){return e.trim()}function I(e,t,n){return e.replace(t,n)}function p(e,t){return e.indexOf(t)}function A(e,t){return 0|e.charCodeAt(t)}function f(e,t,n){return e.slice(t,n)}function m(e){return e.length}function S(e){return e.length}function x(e,t){return t.push(e),e}var T=1,d=1,w=0,z=0,E=0,O="";function b(e,t,n,r,M,u,i){return{value:e,root:t,parent:n,type:r,props:M,children:u,line:T,column:d,length:i,return:""}}function h(e,t,n){return b(e,t.root,t.parent,n,t.props,t.children,0)}function C(){return E=z>0?A(O,--z):0,d--,10===E&&(d=1,T--),E}function v(){return E=z<w?A(O,z++):0,d++,10===E&&(d=1,T++),E}function k(){return A(O,z)}function Y(){return z}function U(e,t){return f(O,e,t)}function Q(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Z(e){return T=d=1,w=m(O=e),z=0,[]}function G(e){return O="",e}function P(e){return D(U(z-1,function e(t){for(;v();)switch(E){case t:return z;case 34:case 39:return e(34===t||39===t?t:E);case 40:41===t&&e(t);break;case 92:v()}return z}(91===e?e+2:40===e?e+1:e)))}function _(e){for(;(E=k())&&E<33;)v();return Q(e)>2||Q(E)>3?"":" "}function R(e,t){for(;--t&&v()&&!(E<48||E>102||E>57&&E<65||E>70&&E<97););return U(e,Y()+(t<6&&32==k()&&32==v()))}function W(e,t){for(;v()&&e+E!==57&&(e+E!==84||47!==k()););return"/*"+U(t,z-1)+"*"+g(47===e?e:v())}function J(e){for(;!Q(k());)v();return U(e,z)}function V(e,t,n,r,M,u,i,o,c,a,j){for(var s=M-1,l=0===M?u:[""],N=S(l),g=0,p=0,A=0;g<r;++g)for(var m=0,x=f(e,s+1,s=y(p=i[g])),T=e;m<N;++m)(T=D(p>0?l[m]+" "+x:I(x,/&\f/g,l[m])))&&(c[A++]=T);return b(e,t,n,0===M?L:o,c,a,j)}function B(e,t,n){return b(e,t,n,l,g(E),f(e,2,-2),0)}function $(e,t,n,r){return b(e,t,n,N,f(e,0,r),f(e,r+1,-1),r)}function F(e,t){for(var n="",r=S(e),M=0;M<r;M++)n+=t(e[M],M,e,t)||"";return n}function X(e,t,n,r){switch(e.type){case"@import":case N:return e.return=e.return||e.value;case l:return"";case L:e.value=e.props.join(",")}return m(n=F(e.children,r))?e.return=e.value+"{"+n+"}":""}function H(e){return function(t){t.root||(t=t.return)&&e(t)}}var q=new WeakMap,K=function(e){if("rule"===e.type&&e.parent&&e.length){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||q.get(n))&&!r){q.set(e,!0);for(var M=[],u=function(e,t){return G(function(e,t){var n=-1,r=44;do{switch(Q(r)){case 0:38===r&&12===k()&&(t[n]=1),e[n]+=J(z-1);break;case 2:e[n]+=P(r);break;case 4:if(44===r){e[++n]=58===k()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=g(r)}}while(r=v());return e}(Z(e),t))}(t,M),i=n.props,o=0,c=0;o<u.length;o++)for(var a=0;a<i.length;a++,c++)e.props[c]=M[o]?u[o].replace(/&\f/g,i[a]):i[a]+" "+u[o]}}},ee=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}},te=[function(e,t,n,r){if(!e.return)switch(e.type){case N:e.return=function e(t,n){switch(function(e,t){return(((t<<2^A(e,0))<<2^A(e,1))<<2^A(e,2))<<2^A(e,3)}(t,n)){case 5103:return s+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return s+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return s+t+j+t+a+t+t;case 6828:case 4268:return s+t+a+t+t;case 6165:return s+t+a+"flex-"+t+t;case 5187:return s+t+I(t,/(\w+).+(:[^]+)/,s+"box-$1$2"+a+"flex-$1$2")+t;case 5443:return s+t+a+"flex-item-"+I(t,/flex-|-self/,"")+t;case 4675:return s+t+a+"flex-line-pack"+I(t,/align-content|flex-|-self/,"")+t;case 5548:return s+t+a+I(t,"shrink","negative")+t;case 5292:return s+t+a+I(t,"basis","preferred-size")+t;case 6060:return s+"box-"+I(t,"-grow","")+s+t+a+I(t,"grow","positive")+t;case 4554:return s+I(t,/([^-])(transform)/g,"$1"+s+"$2")+t;case 6187:return I(I(I(t,/(zoom-|grab)/,s+"$1"),/(image-set)/,s+"$1"),t,"")+t;case 5495:case 3959:return I(t,/(image-set\([^]*)/,s+"$1$`$1");case 4968:return I(I(t,/(.+:)(flex-)?(.*)/,s+"box-pack:$3"+a+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+s+t+t;case 4095:case 3583:case 4068:case 2532:return I(t,/(.+)-inline(.+)/,s+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(m(t)-1-n>6)switch(A(t,n+1)){case 109:if(45!==A(t,n+4))break;case 102:return I(t,/(.+:)(.+)-([^]+)/,"$1"+s+"$2-$3$1"+j+(108==A(t,n+3)?"$3":"$2-$3"))+t;case 115:return~p(t,"stretch")?e(I(t,"stretch","fill-available"),n)+t:t}break;case 4949:if(115!==A(t,n+1))break;case 6444:switch(A(t,m(t)-3-(~p(t,"!important")&&10))){case 107:return I(t,":",":"+s)+t;case 101:return I(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+s+(45===A(t,14)?"inline-":"")+"box$3$1"+s+"$2$3$1"+a+"$2box$3")+t}break;case 5936:switch(A(t,n+11)){case 114:return s+t+a+I(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return s+t+a+I(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return s+t+a+I(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return s+t+a+t+t}return t}(e.value,e.length);break;case"@keyframes":return F([h(I(e.value,"@","@"+s),e,"")],r);case L:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return F([h(I(t,/:(read-\w+)/,":-moz-$1"),e,"")],r);case"::placeholder":return F([h(I(t,/:(plac\w+)/,":"+s+"input-$1"),e,""),h(I(t,/:(plac\w+)/,":-moz-$1"),e,""),h(I(t,/:(plac\w+)/,a+"input-$1"),e,"")],r)}return""}))}}],ne=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var r,M,u=e.stylisPlugins||te,i={},o=[];r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n<t.length;n++)i[t[n]]=!0;o.push(e)}));var a,j=[K,ee],s=[X,H((function(e){a.insert(e)}))],l=function(e){var t=S(e);return function(n,r,M,u){for(var i="",o=0;o<t;o++)i+=e[o](n,r,M,u)||"";return i}}(j.concat(u,s));M=function(e,t,n,r){a=n,F(function(e){return G(function e(t,n,r,M,u,i,o,c,a){for(var j=0,s=0,l=o,L=0,N=0,y=0,D=1,p=1,A=1,f=0,S="",T=u,d=i,w=M,z=S;p;)switch(y=f,f=v()){case 34:case 39:case 91:case 40:z+=P(f);break;case 9:case 10:case 13:case 32:z+=_(y);break;case 92:z+=R(Y()-1,7);continue;case 47:switch(k()){case 42:case 47:x(B(W(v(),Y()),n,r),a);break;default:z+="/"}break;case 123*D:c[j++]=m(z)*A;case 125*D:case 59:case 0:switch(f){case 0:case 125:p=0;case 59+s:N>0&&m(z)-l&&x(N>32?$(z+";",M,r,l-1):$(I(z," ","")+";",M,r,l-2),a);break;case 59:z+=";";default:if(x(w=V(z,n,r,j,s,u,c,S,T=[],d=[],l),i),123===f)if(0===s)e(z,n,w,w,T,i,l,c,d);else switch(L){case 100:case 109:case 115:e(t,w,w,M&&x(V(t,w,w,0,0,u,c,S,u,T=[],l),d),u,d,l,c,M?T:d);break;default:e(z,w,w,w,[""],d,l,c,d)}}j=s=N=0,D=A=1,S=z="",l=o;break;case 58:l=1+m(z),N=y;default:if(D<1)if(123==f)--D;else if(125==f&&0==D++&&125==C())continue;switch(z+=g(f),f*D){case 38:A=s>0?1:(z+="\f",-1);break;case 44:c[j++]=(m(z)-1)*A,A=1;break;case 64:45===k()&&(z+=P(v())),L=k(),s=m(S=z+=J(Y())),f++;break;case 45:45===y&&2==m(z)&&(D=0)}}return i}("",null,null,null,[""],e=Z(e),0,[0],e))}(e?e+"{"+t.styles+"}":t.styles),l),r&&(L.inserted[t.name]=!0)};var L={key:t,sheet:new c({key:t,container:r,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend}),nonce:e.nonce,inserted:i,registered:{},insert:M};return L.sheet.hydrate(o),L};function re(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):r+=n+" "})),r}n(100);var Me=function(e,t,n){var r=e.key+"-"+t.name;if(!1===n&&void 0===e.registered[r]&&(e.registered[r]=t.styles),void 0===e.inserted[t.name]){var M=t;do{e.insert(t===M?"."+r:"",M,e.sheet,!0),M=M.next}while(void 0!==M)}},ue=function(e){for(var t,n=0,r=0,M=e.length;M>=4;++r,M-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(M){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},ie={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},oe=/[A-Z]|^ms/g,ce=/_EMO_([^_]+?)_([^]*?)_EMO_/g,ae=function(e){return 45===e.charCodeAt(1)},je=function(e){return null!=e&&"boolean"!=typeof e},se=u((function(e){return ae(e)?e:e.replace(oe,"-$&").toLowerCase()})),le=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(ce,(function(e,t,n){return Ne={name:t,styles:n,next:Ne},t}))}return 1===ie[e]||ae(e)||"number"!=typeof t||0===t?t:t+"px"};function Le(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return Ne={name:n.name,styles:n.styles,next:Ne},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)Ne={name:r.name,styles:r.styles,next:Ne},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var M=0;M<n.length;M++)r+=Le(e,t,n[M])+";";else for(var u in n){var i=n[u];if("object"!=typeof i)null!=t&&void 0!==t[i]?r+=u+"{"+t[i]+"}":je(i)&&(r+=se(u)+":"+le(u,i)+";");else if(!Array.isArray(i)||"string"!=typeof i[0]||null!=t&&void 0!==t[i[0]]){var o=Le(e,t,i);switch(u){case"animation":case"animationName":r+=se(u)+":"+o+";";break;default:r+=u+"{"+o+"}"}}else for(var c=0;c<i.length;c++)je(i[c])&&(r+=se(u)+":"+le(u,i[c])+";")}return r}(e,t,n);case"function":if(void 0!==e){var M=Ne,u=n(e);return Ne=M,Le(e,t,u)}}if(null==t)return n;var i=t[n];return void 0!==i?i:n}var Ne,ye=/label:\s*([^\s;\n{]+)\s*(;|$)/g,ge=function(e,t,n){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r=!0,M="";Ne=void 0;var u=e[0];null==u||void 0===u.raw?(r=!1,M+=Le(n,t,u)):M+=u[0];for(var i=1;i<e.length;i++)M+=Le(n,t,e[i]),r&&(M+=u[i]);ye.lastIndex=0;for(var o,c="";null!==(o=ye.exec(M));)c+="-"+o[1];return{name:ue(M)+c,styles:M,next:Ne}},De=(Object.prototype.hasOwnProperty,Object(M.createContext)("undefined"!=typeof HTMLElement?ne({key:"css"}):null));De.Provider;var Ie=function(e){return Object(M.forwardRef)((function(t,n){var r=Object(M.useContext)(De);return e(t,r,n)}))},pe=Object(M.createContext)({}),Ae=o,fe=function(e){return"theme"!==e},me=function(e){return"string"==typeof e&&e.charCodeAt(0)>96?Ae:fe},Se=function(e,t,n){var r;if(t){var M=t.shouldForwardProp;r=e.__emotion_forwardProp&&M?function(t){return e.__emotion_forwardProp(t)&&M(t)}:M}return"function"!=typeof r&&n&&(r=e.__emotion_forwardProp),r};t.a=function e(t,n){var u,i,o=t.__emotion_real===t,c=o&&t.__emotion_base||t;void 0!==n&&(u=n.label,i=n.target);var a=Se(t,n,o),j=a||me(c),s=!j("as");return function(){var l=arguments,L=o&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==u&&L.push("label:"+u+";"),null==l[0]||void 0===l[0].raw)L.push.apply(L,l);else{L.push(l[0][0]);for(var N=l.length,y=1;y<N;y++)L.push(l[y],l[0][y])}var g=Ie((function(e,t,n){var r=s&&e.as||c,u="",o=[],l=e;if(null==e.theme){for(var N in l={},e)l[N]=e[N];l.theme=Object(M.useContext)(pe)}"string"==typeof e.className?u=re(t.registered,o,e.className):null!=e.className&&(u=e.className+" ");var y=ge(L.concat(o),t.registered,l);Me(t,y,"string"==typeof r),u+=t.key+"-"+y.name,void 0!==i&&(u+=" "+i);var g=s&&void 0===a?me(r):j,D={};for(var I in e)s&&"as"===I||g(I)&&(D[I]=e[I]);return D.className=u,D.ref=n,Object(M.createElement)(r,D)}));return g.displayName=void 0!==u?u:"Styled("+("string"==typeof c?c:c.displayName||c.name||"Component")+")",g.defaultProps=t.defaultProps,g.__emotion_real=g,g.__emotion_base=c,g.__emotion_styles=L,g.__emotion_forwardProp=a,Object.defineProperty(g,"toString",{value:function(){return"."+i}}),g.withComponent=function(t,M){return e(t,r({},n,M,{shouldForwardProp:Se(g,M,!0)})).apply(void 0,L)},g}}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports=window.wp.components},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(15),M=n(31),u=n(26);e.exports=r?function(e,t,n){return M.f(e,t,u(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(10);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){var r=n(8);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},e.exports.default=e.exports,e.exports.__esModule=!0,n.apply(this,arguments)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},,function(e,t){e.exports={}},function(e,t,n){var r=n(18);e.exports=function(e){return r[e+"Prototype"]}},,function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){var r=n(18),M=n(5),u=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?u(r[e])||u(M[e]):r[e]&&r[e][t]||M[e]&&M[e][t]}},function(e,t,n){e.exports=n(90)},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(38),M=n(22);e.exports=function(e){return r(M(e))}},function(e,t){e.exports=!0},function(e,t,n){var r=n(41),M=Math.min;e.exports=function(e){return e>0?M(r(e),9007199254740991):0}},function(e,t,n){var r=n(23);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,M){return e.call(t,n,r,M)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(15),M=n(51),u=n(14),i=n(39),o=Object.defineProperty;t.f=r?o:function(e,t,n){if(u(e),t=i(t,!0),u(n),M)try{return o(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},,,function(e,t,n){var r=n(21),M=n(5);e.exports="process"==r(M.process)},function(e,t,n){var r,M,u=n(5),i=n(45),o=u.process,c=o&&o.versions,a=c&&c.v8;a?M=(r=a.split("."))[0]+r[1]:i&&(!(r=i.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=i.match(/Chrome\/(\d+)/))&&(M=r[1]),e.exports=M&&+M},,,function(e,t,n){var r=n(8),M=n(21),u="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==M(e)?u.call(e,""):Object(e)}:Object},function(e,t,n){var r=n(10);e.exports=function(e,t){if(!r(e))return e;var n,M;if(t&&"function"==typeof(n=e.toString)&&!r(M=n.call(e)))return M;if("function"==typeof(n=e.valueOf)&&!r(M=n.call(e)))return M;if(!t&&"function"==typeof(n=e.toString)&&!r(M=n.call(e)))return M;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(22);e.exports=function(e){return Object(r(e))}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(5),M=n(10),u=r.document,i=M(u)&&M(u.createElement);e.exports=function(e){return i?u.createElement(e):{}}},function(e,t,n){var r=n(5),M=n(75),u=r["__core-js_shared__"]||M("__core-js_shared__",{});e.exports=u},,function(e,t,n){var r=n(24);e.exports=r("navigator","userAgent")||""},,,,,function(e,t,n){var r=n(15),M=n(57),u=n(26),i=n(27),o=n(39),c=n(12),a=n(51),j=Object.getOwnPropertyDescriptor;t.f=r?j:function(e,t){if(e=i(e),t=o(t,!0),a)try{return j(e,t)}catch(e){}if(c(e,t))return u(!M.f.call(e,t),e[t])}},function(e,t,n){var r=n(15),M=n(8),u=n(42);e.exports=!r&&!M((function(){return 7!=Object.defineProperty(u("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){var r=n(27),M=n(29),u=n(63),i=function(e){return function(t,n,i){var o,c=r(t),a=M(c.length),j=u(i,a);if(e&&n!=n){for(;a>j;)if((o=c[j++])!=o)return!0}else for(;a>j;j++)if((e||j in c)&&c[j]===n)return e||j||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){var r=n(34),M=n(35),u=n(8);e.exports=!!Object.getOwnPropertySymbols&&!u((function(){return!Symbol.sham&&(r?38===M:M>37&&M<41)}))},,function(e,t){e.exports=function(){}},function(e,t){e.exports=window.ReactDOM},function(e,t,n){"use strict";var r={}.propertyIsEnumerable,M=Object.getOwnPropertyDescriptor,u=M&&!r.call({1:2},1);t.f=u?function(e){var t=M(this,e);return!!t&&t.enumerable}:r},function(e,t,n){var r=n(8),M=/#|\.prototype\./,u=function(e,t){var n=o[i(e)];return n==a||n!=c&&("function"==typeof t?r(t):!!t)},i=u.normalize=function(e){return String(e).replace(M,".").toLowerCase()},o=u.data={},c=u.NATIVE="N",a=u.POLYFILL="P";e.exports=u},,,function(e,t,n){var r=n(28),M=n(43);(e.exports=function(e,t){return M[e]||(M[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.9.1",mode:r?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++n+r).toString(36)}},function(e,t,n){var r=n(41),M=Math.max,u=Math.min;e.exports=function(e,t){var n=r(e);return n<0?M(n+t,0):u(n,t)}},,,,function(e,t,n){var r=n(21);e.exports=Array.isArray||function(e){return"Array"==r(e)}},,,function(e,t,n){var r=n(8),M=n(6),u=n(35),i=M("species");e.exports=function(e){return u>=51||!r((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){var r=n(96);e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){var r=n(6)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(e){}}return!1}},,function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(5),M=n(13);e.exports=function(e,t){try{M(r,e,t)}catch(n){r[e]=t}return t}},,,,,function(e,t,n){var r=n(53);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},,,,,,,,,,function(e,t,n){var r=n(91);e.exports=r},function(e,t,n){var r=n(92),M=n(94),u=Array.prototype,i=String.prototype;e.exports=function(e){var t=e.includes;return e===u||e instanceof Array&&t===u.includes?r:"string"==typeof e||e===i||e instanceof String&&t===i.includes?M:t}},function(e,t,n){n(93);var r=n(19);e.exports=r("Array").includes},function(e,t,n){"use strict";var r=n(7),M=n(52).includes,u=n(55);r({target:"Array",proto:!0},{includes:function(e){return M(this,e,arguments.length>1?arguments[1]:void 0)}}),u("includes")},function(e,t,n){n(95);var r=n(19);e.exports=r("String").includes},function(e,t,n){"use strict";var r=n(7),M=n(71),u=n(22);r({target:"String",proto:!0,forced:!n(72)("includes")},{includes:function(e){return!!~String(u(this)).indexOf(M(e),arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){var r=n(10),M=n(21),u=n(6)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[u])?!!t:"RegExp"==M(e))}},function(e,t,n){var r=n(30),M=n(38),u=n(40),i=n(29),o=n(98),c=[].push,a=function(e){var t=1==e,n=2==e,a=3==e,j=4==e,s=6==e,l=7==e,L=5==e||s;return function(N,y,g,D){for(var I,p,A=u(N),f=M(A),m=r(y,g,3),S=i(f.length),x=0,T=D||o,d=t?T(N,S):n||l?T(N,0):void 0;S>x;x++)if((L||x in f)&&(p=m(I=f[x],x,A),e))if(t)d[x]=p;else if(p)switch(e){case 3:return!0;case 5:return I;case 6:return x;case 2:c.call(d,I)}else switch(e){case 4:return!1;case 7:c.call(d,I)}return s?-1:a||j?j:d}};e.exports={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6),filterOut:a(7)}},function(e,t,n){var r=n(10),M=n(67),u=n(6)("species");e.exports=function(e,t){var n;return M(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!M(n.prototype)?r(n)&&null===(n=n[u])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},,function(e,t,n){"use strict";var r=n(136),M={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},u={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},o={};function c(e){return r.isMemo(e)?i:o[e.$$typeof]||M}o[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},o[r.Memo]=i;var a=Object.defineProperty,j=Object.getOwnPropertyNames,s=Object.getOwnPropertySymbols,l=Object.getOwnPropertyDescriptor,L=Object.getPrototypeOf,N=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(N){var M=L(n);M&&M!==N&&e(t,M,r)}var i=j(n);s&&(i=i.concat(s(n)));for(var o=c(t),y=c(n),g=0;g<i.length;++g){var D=i[g];if(!(u[D]||r&&r[D]||y&&y[D]||o&&o[D])){var I=l(n,D);try{a(t,D,I)}catch(e){}}}}return t}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";e.exports=n(137)},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for,M=r?Symbol.for("react.element"):60103,u=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,o=r?Symbol.for("react.strict_mode"):60108,c=r?Symbol.for("react.profiler"):60114,a=r?Symbol.for("react.provider"):60109,j=r?Symbol.for("react.context"):60110,s=r?Symbol.for("react.async_mode"):60111,l=r?Symbol.for("react.concurrent_mode"):60111,L=r?Symbol.for("react.forward_ref"):60112,N=r?Symbol.for("react.suspense"):60113,y=r?Symbol.for("react.suspense_list"):60120,g=r?Symbol.for("react.memo"):60115,D=r?Symbol.for("react.lazy"):60116,I=r?Symbol.for("react.block"):60121,p=r?Symbol.for("react.fundamental"):60117,A=r?Symbol.for("react.responder"):60118,f=r?Symbol.for("react.scope"):60119;function m(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case M:switch(e=e.type){case s:case l:case i:case c:case o:case N:return e;default:switch(e=e&&e.$$typeof){case j:case L:case D:case g:case a:return e;default:return t}}case u:return t}}}function S(e){return m(e)===l}t.AsyncMode=s,t.ConcurrentMode=l,t.ContextConsumer=j,t.ContextProvider=a,t.Element=M,t.ForwardRef=L,t.Fragment=i,t.Lazy=D,t.Memo=g,t.Portal=u,t.Profiler=c,t.StrictMode=o,t.Suspense=N,t.isAsyncMode=function(e){return S(e)||m(e)===s},t.isConcurrentMode=S,t.isContextConsumer=function(e){return m(e)===j},t.isContextProvider=function(e){return m(e)===a},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===M},t.isForwardRef=function(e){return m(e)===L},t.isFragment=function(e){return m(e)===i},t.isLazy=function(e){return m(e)===D},t.isMemo=function(e){return m(e)===g},t.isPortal=function(e){return m(e)===u},t.isProfiler=function(e){return m(e)===c},t.isStrictMode=function(e){return m(e)===o},t.isSuspense=function(e){return m(e)===N},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===l||e===c||e===o||e===N||e===y||"object"==typeof e&&null!==e&&(e.$$typeof===D||e.$$typeof===g||e.$$typeof===a||e.$$typeof===j||e.$$typeof===L||e.$$typeof===p||e.$$typeof===A||e.$$typeof===f||e.$$typeof===I)},t.typeOf=m},,,,,,function(e,t,n){"use strict";function r(e){return function(){return e}}var M=function(){};M.thatReturns=r,M.thatReturnsFalse=r(!1),M.thatReturnsTrue=r(!0),M.thatReturnsNull=r(null),M.thatReturnsThis=function(){return this},M.thatReturnsArgument=function(e){return e},e.exports=M},,,,,,,,,,,,function(e,t){e.exports=window.wc.navigation},function(e,t,n){e.exports=n(206)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M=o(n(1)),u=o(n(210)),i=o(n(213));function o(e){return e&&e.__esModule?e:{default:e}}var c=void 0;t.default=function(e){var t=e.mixedString,n=e.components,o=e.throwErrors;if(c=t,!n)return t;if("object"!==(void 0===n?"undefined":r(n))){if(o)throw new Error("Interpolation Error: unable to process `"+t+"` because components is not an object");return t}var a=(0,i.default)(t);try{return function e(t,n){var i,o,a,j,s,l,L,N,y=[],g={};for(l=0;l<t.length;l++)if("string"!==(s=t[l]).type){if(!n.hasOwnProperty(s.value)||void 0===n[s.value])throw new Error("Invalid interpolation, missing component node: `"+s.value+"`");if("object"!==r(n[s.value]))throw new Error("Invalid interpolation, component node must be a ReactElement or null: `"+s.value+"`","\n> "+c);if("componentClose"===s.type)throw new Error("Missing opening component token: `"+s.value+"`");if("componentOpen"===s.type){i=n[s.value],a=l;break}y.push(n[s.value])}else y.push(s.value);return i&&(j=function(e,t){var n,r,M=t[e],u=0;for(r=e+1;r<t.length;r++)if((n=t[r]).value===M.value){if("componentOpen"===n.type){u++;continue}if("componentClose"===n.type){if(0===u)return r;u--}}throw new Error("Missing closing component token `"+M.value+"`")}(a,t),L=e(t.slice(a+1,j),n),o=M.default.cloneElement(i,{},L),y.push(o),j<t.length-1&&(N=e(t.slice(j+1),n),y=y.concat(N))),1===y.length?y[0]:(y.forEach((function(e,t){e&&(g["interpolation-child-"+t]=e)})),(0,u.default)(g))}(a,n)}catch(e){if(o)throw new Error("Interpolation Error: unable to process `"+t+"` because of error `"+e.message+"`");return t}}},function(e,t){e.exports=window.wp.apiFetch},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){var r=n(207);e.exports=r},function(e,t,n){var r=n(208),M=Array.prototype;e.exports=function(e){var t=e.filter;return e===M||e instanceof Array&&t===M.filter?r:t}},function(e,t,n){n(209);var r=n(19);e.exports=r("Array").filter},function(e,t,n){"use strict";var r=n(7),M=n(97).filter;r({target:"Array",proto:!0,forced:!n(70)("filter")},{filter:function(e){return M(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){"use strict";var r=n(1),M="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,u=n(143),i=n(211),o=n(212),c="function"==typeof Symbol&&Symbol.iterator;function a(e,t){return e&&"object"==typeof e&&null!=e.key?(n=e.key,r={"=":"=0",":":"=2"},"$"+(""+n).replace(/[=:]/g,(function(e){return r[e]}))):t.toString(36);var n,r}var j=/\/+/g;function s(e){return(""+e).replace(j,"$&/")}var l,L,N=y,y=function(e){if(this.instancePool.length){var t=this.instancePool.pop();return this.call(t,e),t}return new this(e)};function g(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function D(e,t,n){var M,i,o=e.result,c=e.keyPrefix,a=e.func,j=e.context,l=a.call(j,t,e.count++);Array.isArray(l)?I(l,o,n,u.thatReturnsArgument):null!=l&&(r.isValidElement(l)&&(M=l,i=c+(!l.key||t&&t.key===l.key?"":s(l.key)+"/")+n,l=r.cloneElement(M,{key:i},void 0!==M.props?M.props.children:void 0)),o.push(l))}function I(e,t,n,r,u){var o="";null!=n&&(o=s(n)+"/");var j=g.getPooled(t,o,r,u);!function(e,t,n){null==e||function e(t,n,r,u){var o,j=typeof t;if("undefined"!==j&&"boolean"!==j||(t=null),null===t||"string"===j||"number"===j||"object"===j&&t.$$typeof===M)return r(u,t,""===n?"."+a(t,0):n),1;var s=0,l=""===n?".":n+":";if(Array.isArray(t))for(var L=0;L<t.length;L++)s+=e(o=t[L],l+a(o,L),r,u);else{var N=function(e){var t=e&&(c&&e[c]||e["@@iterator"]);if("function"==typeof t)return t}(t);if(N)for(var y,g=N.call(t),D=0;!(y=g.next()).done;)s+=e(o=y.value,l+a(o,D++),r,u);else if("object"===j){var I=""+t;i(!1,"Objects are not valid as a React child (found: %s).%s","[object Object]"===I?"object with keys {"+Object.keys(t).join(", ")+"}":I,"")}}return s}(e,"",t,n)}(e,D,j),g.release(j)}g.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},l=function(e,t,n,r){if(this.instancePool.length){var M=this.instancePool.pop();return this.call(M,e,t,n,r),M}return new this(e,t,n,r)},(L=g).instancePool=[],L.getPooled=l||N,L.poolSize||(L.poolSize=10),L.release=function(e){i(e instanceof this,"Trying to release an instance into a pool of a different type."),e.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(e)},e.exports=function(e){if("object"!=typeof e||!e||Array.isArray(e))return o(!1,"React.addons.createFragment only accepts a single object. Got: %s",e),e;if(r.isValidElement(e))return o(!1,"React.addons.createFragment does not accept a ReactElement without a wrapper object."),e;i(1!==e.nodeType,"React.addons.createFragment(...): Encountered an invalid child; DOM elements are not valid children of React components.");var t=[];for(var n in e)I(e[n],t,n,u.thatReturnsArgument);return t}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,M,u,i,o){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var a=[n,r,M,u,i,o],j=0;(c=new Error(t.replace(/%s/g,(function(){return a[j++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}},function(e,t,n){"use strict";var r=n(143);e.exports=r},function(e,t,n){"use strict";function r(e){return e.match(/^\{\{\//)?{type:"componentClose",value:e.replace(/\W/g,"")}:e.match(/\/\}\}$/)?{type:"componentSelfClosing",value:e.replace(/\W/g,"")}:e.match(/^\{\{/)?{type:"componentOpen",value:e.replace(/\W/g,"")}:{type:"string",value:e}}e.exports=function(e){return e.split(/(\{\{\/?\s*\w+\s*\/?\}\})/g).map(r)}},function(e,t,n){},function(e,t,n){"use strict";n.r(t);var r=n(0),M=n(1),u=n(56),i=n.n(u),o=n(9),c=n(11),a=n(3),j=n(155),s=Object(o.a)("div",{target:"elkpq0t0"})({name:"1wclzz7",styles:"margin:24px auto 0;max-width:1032px;display:flex;flex-flow:column;@media ( min-width: 960px ){padding:0 56px;}"});const l=Object(o.a)("div",{target:"et1p4me2"})({name:"q70wzv",styles:"display:flex;flex-flow:column;margin-bottom:24px;&:last-child{margin-bottom:0;}@media ( min-width: 800px ){flex-flow:row;}"}),L=Object(o.a)("div",{target:"et1p4me1"})({name:"1p8kjge",styles:"flex:0 1 auto;margin-bottom:24px;@media ( min-width: 800px ){flex:0 0 25%;margin:0 32px 0 0;}h2{font-size:16px;line-height:24px;}p{font-size:13px;line-height:17.89px;margin:12px 0;}>:last-child{margin-bottom:0;}"}),N=Object(o.a)("div",{target:"et1p4me0"})({name:"mkkf9p",styles:"flex:1 1 auto"});var y=({Description:e=(()=>null),children:t,...n})=>Object(r.createElement)(l,n,Object(r.createElement)(L,null,Object(r.createElement)(e,null)),Object(r.createElement)(N,null,t)),g=Object(o.a)(c.CardBody,{target:"eezfi080"})({name:"1tk7656",styles:"&.is-size-medium.is-size-medium{padding:$grid-unit-30;}h4{margin-top:0;margin-bottom:1em;}>*{margin-top:0;margin-bottom:1em;&:last-child{margin-bottom:0;>:last-child{margin-bottom:0;}}}input,select{margin:0;}ul>li:last-child{margin-bottom:0;.components-base-control__field{margin-bottom:0;}}.components-radio-control__option{margin-bottom:8px;}.components-base-control__help{margin-top:unset;}"});const D=()=>Object(r.createElement)(r.Fragment,null,Object(r.createElement)("h2",null,Object(a.__)("General","woocommerce-gateway-stripe")),Object(r.createElement)("p",null,Object(a.__)("Enable or disable Stripe on your store, enter activation keys, and turn on test mode to simulate transactions.","woocommerce-gateway-stripe"))),I=()=>Object(r.createElement)(r.Fragment,null,Object(r.createElement)("h2",null,Object(a.__)("General","woocommerce-gateway-stripe")),Object(r.createElement)("p",null,Object(a.__)("Connect the plugin to your Stripe account, view account overview, and edit business details. ","woocommerce-gateway-stripe"))),p=()=>Object(r.createElement)(c.Card,null,Object(r.createElement)(g,null,"The general settings card goes here.")),A=()=>Object(r.createElement)(c.Card,null,Object(r.createElement)(g,null,"The account details card goes here."));var f=()=>Object(r.createElement)(r.Fragment,null,Object(r.createElement)(y,{Description:D},Object(r.createElement)(p,null)),Object(r.createElement)(y,{Description:I},Object(r.createElement)(A,null))),m=n(156),S=n.n(m),x=n(25),T=n.n(x),d=n(157),w=n.n(d);const z=Object(o.a)("div",{target:"e1g6n2f60"})("position:relative;&::after{position:absolute;top:0;left:0;width:100%;height:100%;content:' ';background:white;opacity:0.5;",({hasOverlay:e})=>e?"display: none;":"",";}");var E=()=>{const[e,t]=Object(M.useState)(!0),[n,u]=Object(M.useState)(["cart","product","checkout"]),i=e=>t=>{u(t?[...n,e]:S()(n).call(n,t=>t!==e))};return Object(r.createElement)(c.Card,{className:"payment-request"},Object(r.createElement)(g,null,Object(r.createElement)(c.CheckboxControl,{checked:e,onChange:()=>t(e=>!e),label:Object(a.__)("Enable express checkouts","woocommerce-gateway-stripe"),help:w()({mixedString:Object(a.__)("By enabling this feature, you agree to {{stripeLink}}Stripe{{/stripeLink}}, {{appleLink}}Apple{{/appleLink}}, and {{googleLink}}Google{{/googleLink}}'s terms of use.","woocommerce-gateway-stripe"),components:{stripeLink:Object(r.createElement)("a",{target:"_blank",rel:"noreferrer",href:"https://stripe.com/apple-pay/legal"}),appleLink:Object(r.createElement)("a",{target:"_blank",rel:"noreferrer",href:"https://developer.apple.com/apple-pay/acceptable-use-guidelines-for-websites/"}),googleLink:Object(r.createElement)("a",{target:"_blank",rel:"noreferrer",href:"https://androidpay.developers.google.com/terms/sellertos"})}})}),Object(r.createElement)(z,{hasOverlay:e},Object(r.createElement)("h4",null,Object(a.__)("Show express checkouts on","woocommerce-gateway-stripe")),Object(r.createElement)("ul",null,Object(r.createElement)("li",null,Object(r.createElement)(c.CheckboxControl,{disabled:!e,checked:e&&T()(n).call(n,"checkout"),onChange:i("checkout"),label:Object(a.__)("Checkout","woocommerce-gateway-stripe")})),Object(r.createElement)("li",null,Object(r.createElement)(c.CheckboxControl,{disabled:!e,checked:e&&T()(n).call(n,"product"),onChange:i("product"),label:Object(a.__)("Product page","woocommerce-gateway-stripe")})),Object(r.createElement)("li",null,Object(r.createElement)(c.CheckboxControl,{disabled:!e,checked:e&&T()(n).call(n,"cart"),onChange:i("cart"),label:Object(a.__)("Cart","woocommerce-gateway-stripe")}))))),Object(r.createElement)(c.CardDivider,null),Object(r.createElement)(g,null,Object(r.createElement)(c.Button,{isSecondary:!0,href:"?TODO"},Object(a.__)("Customize appearance","woocommerce-gateway-stripe"))))},O=n(16),b=n.n(O);const h={small:{name:"1agzdcq",styles:"height:24px;width:37px"},medium:{name:"aemqcy",styles:"height:40px;width:65px"}},C=Object(o.a)("span",{target:"e575mz50"})(({size:e})=>h[e]||""," box-sizing:border-box;display:inline-flex;justify-content:center;border:1px solid transparent;img{max-width:100%;}");var v=({src:e,children:t,alt:n,size:M="small",...u})=>Object(r.createElement)(C,b()({},u,{size:M}),e?Object(r.createElement)("img",{src:e,alt:n}):t);const k={small:{name:"1r962iv",styles:"padding:4px"},medium:{name:"14si2be",styles:"padding:7px"}},Y=Object(o.a)(v,{target:"erwkboy0"})("background:white;border-color:#ddd;border-radius:5px;overflow:hidden;",({size:e})=>k[e]||"",";");var U=({size:e="small",...t})=>Object(r.createElement)(Y,b()({},t,{size:e}));const Q=Object(o.a)(U,{target:"eiah4a80"})({name:"46wb8n",styles:"background:#ef809f"});var Z=e=>Object(r.createElement)(Q,b()({},e,{src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMuOTk5IDExLjA1NWEuNzUuNzUgMCAwMS4wMTEgMS4wNjJsLS4wNTYuMDYxYS43NS43NSAwIDAxLTEuMDYyLjAxMmwtMS42NzYtMS42NkMuNzUyIDEwLjA2Ni42OSA5LjQ5Ni45OCA5LjE5NGwuMDU2LS4wNjFhLjY4NS42ODUgMCAwMS45MS0uMDYyYy4xMy4xLjMyLjA3OC40MjYtLjA1YS4zMDguMzA4IDAgMDAtLjA1LS40MjVBMS4yOTMgMS4yOTMgMCAwMC42IDguNzA4bC0uMDU2LjA2MWMtLjU0Mi41Ni0uNDM2IDEuNTA0LjI0IDIuMThsMS42ODMgMS42NzdjLjU0Mi41MiAxLjM5Ny41MDggMS45MjItLjAyOGwuMDYyLS4wNjJhMS4zNjEgMS4zNjEgMCAwMC0uMDI4LTEuOTExLjI5NS4yOTUgMCAwMC0uNDI1LjAwNS4yOS4yOSAwIDAwMCAuNDI1ek0yLjk5MyAyLjA1MmwuNjg3IDUuNjQ0YS4yOTkuMjk5IDAgMDAuMzM2LjI2My4yOTkuMjk5IDAgMDAuMjYyLS4zMzVsLS42ODctNS42NjctLjAwNi0uMDM0Yy0uMTE3LS40Ny4xNzQtLjk5NS41NjUtMS4wNzhhLjgzNi44MzYgMCAwMS42MzEuMTE3Ljg0Ljg0IDAgMDEuMzU4LjUzbDEuMTk2IDUuMTA5YS4zMDEuMzAxIDAgMTAuNTg3LS4xNEw1LjczMiAxLjM3QTEuNDM2IDEuNDM2IDAgMDA0LjAyNy4yNTJjLS43MzguMTU3LTEuMjE4IDEuMDE3LTEuMDM0IDEuOHoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNOS4yOTcgOC42OGwxLjM1OC02Ljc2MkExLjQzIDEuNDMgMCAwMDkuNjYuMjQ3IDEuNDk1IDEuNDk1IDAgMDA3Ljg0IDEuMzA4TDYuMzM1IDYuNDU2YS4zMDEuMzAxIDAgMDAuMjA3LjM3NC4zMDEuMzAxIDAgMDAuMzc0LS4yMDdMOC40MiAxLjQ3QS44OTcuODk3IDAgMDE5LjQ5OC44MjhhLjgzMi44MzIgMCAwMS41NjUuOTY3TDguNzA1IDguNTYzYS4zMDUuMzA1IDAgMDAuMjM1LjM1Ny4zMDcuMzA3IDAgMDAuMzU3LS4yNHptLTMuNDE1IDYuNTE2Yy0yLjE1MSAwLTMuOTQ1LTEuNTc2LTMuOTQ1LTMuODE3YS4zLjMgMCAwMC0uMzAyLS4zMDEuMy4zIDAgMDAtLjMwMi4zMDFjMCAyLjU5NCAyLjA4NSA0LjQyMSA0LjU1IDQuNDIxYS4zLjMgMCAwMC4zMDEtLjMwMi4zLjMgMCAwMC0uMzAyLS4zMDJ6bS0xLjA2MS01LjI3YS43MTguNzE4IDAgMDEtLjI5Ny40MTRsLS4wNjcuMDM5YS43NTYuNzU2IDAgMDEtMS4wNS0uMjAxbC0xLjMyLTEuOTYyYy0uMzU3LS41NDgtLjMxMi0xLjExOC4wMzQtMS4zNThsLjA2Mi0uMDQ1Yy40NDctLjI1Ny44MjEtLjA2MSAxLjIwNy41MDNsMS4xIDEuNjQzYy4wOTYuMTQuMjguMTc0LjQyLjA4NC4xNC0uMDkuMTczLS4yOC4wODQtLjQxOUwzLjg5MyA2Ljk4MWMtLjU0OC0uNzk0LTEuMjE4LTEuMTQ2LTIuMDI5LS42NzZsLS4wODQuMDU2Yy0uNjQ4LjQ0MS0uNzI2IDEuMzkxLS4xOTUgMi4xOWwxLjMxOSAxLjk2OGMuNDI0LjYyIDEuMjYzLjc4MiAxLjg4My4zNjNsLjA2Ny0uMDQ1Yy4yNjMtLjE3OS40NTMtLjQ0Ny41NDItLjc1NGEuMjk5LjI5OSAwIDAwLS4yMTItLjM3LjI5NS4yOTUgMCAwMC0uMzYzLjIxM3oiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNNi44MTUgMTAuOTIxYy0uNjI2LjM1Mi0xLjAxOCAxLjAwNi0xLjA2MiAyLjAwNmEuMy4zIDAgMDAuMjg1LjMxOS4zMDUuMzA1IDAgMDAuMzE4LS4yODVjLjA0NS0uOTA1LjM5Ny0xLjM5Mi45NjItMS42MDQuMzAxLS4xMTIuNjMxLS4xMzQuOTIyLS4xMDZsLjA3Mi4wMWMuMzg2LjA3NC41MDktLjUwMi4xMjMtLjU5MWwtMi4zMTktLjUyYy0xLjA4NC0uMjk2LTEuMjUyLS42OTktMS4wNS0xLjM3LjA4OS0uMjkuMjYyLS40NDEuNTM2LS41MDIuMTc5LS4wNC4zNzQtLjAzNC41NjQgMCAuMDU2LjAxLjA5NS4wMTYuMTEyLjAyMkw5LjggOS4xMmwuMDY3LjAyM2EuNTY4LjU2OCAwIDAxLjE3OS4xMjhjLjIzNS4yNTIuMzY5LjcyNy4zMDIgMS41MS0uMjMgMi43MzgtMS41MDQgNC40MzctNC41MzMgNC40MDlhLjMuMyAwIDAwLS4wMDUuNTk4YzMuMzk4LjAyOCA0Ljg4NC0xLjk0NSA1LjEzNi00Ljk2My4wNzgtLjkzOS0uMDk1LTEuNTgyLS40NTktMS45NjctLjItLjIxMy0uNDEzLS4zMTMtLjU3NS0uMzM2bC0zLjQ4Mi0uODFjLS4wMjItLjAwNi0uMDc4LS4wMjItLjE1Ny0uMDMzYTIuMTY2IDIuMTY2IDAgMDAtLjgwNC4wMDVjLS40Ny4xMDYtLjgyNy40MDMtLjk3OC45MTctLjI5MS45NjcuMDE2IDEuNzI3IDEuNDggMi4xMjNsLjg0NS4xOTZ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+Cg=="}));const G=Object(o.a)(U,{target:"eh46vsm0"})({name:"1f1f6j2",styles:"background:#10298e"});var P=e=>Object(r.createElement)(G,b()({},e,{src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjcgOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTMuMjk1IDIuMzk3di0uMDEzbC40MDEtLjg1QTMuNTg0IDMuNTg0IDAgMDAxMS4wOC40MDJhMy42IDMuNiAwIDAwLTMuMzMgMi4yMzZINi45OWwtLjU0MiAxLjA3aDEuMDQ1YTMuOTU0IDMuOTU0IDAgMDAtLjAxNS4yOTRjMCAuMTA3LjAwNy4yMTIuMDE2LjMxN0g2Ljk5bC0uNDc0IDEuMDU3aDEuMjM1QTMuNTk5IDMuNTk5IDAgMDAxMS4wOCA3LjZjLjgzNiAwIDEuNjA1LS4yODkgMi4yMTYtLjc2OHYtMS4zNmEyLjUzNyAyLjUzNyAwIDAxLTQuMTI4LS4wOTdoMi42NzdsLjUwMS0xLjA1N0g4Ljc1OGEyLjQ3NSAyLjQ3NSAwIDAxLS4wNC0uMzgzYzAtLjA1LjAwNy0uMDk5LjAxNC0uMTQ3bC4wMS0uMDhoMy44NzRsLjU0My0xLjA3MUg5LjA4NWEyLjU0IDIuNTQgMCAwMTIuMTg1LTEuMjU0IDIuNTQgMi41NCAwIDAxMi4wMjUgMS4wMTR6IiBmaWxsPSIjRkZCRTAwIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNC4yMSA2LjMyNGwuMzYgMS4yNDJoMS45OTJMMjQuMzY2LjRoLTIuOTQyTDE5LjI3IDcuNTY2aDEuOTc5bC4zNjItMS4yNDJoMi42em0tLjQxNS0xLjQzNkgyMi4wM2wuODg2LTMuMDM3Ljg3OSAzLjAzN3pNMTUuODk2IDUuNjg4aDEuNDM3czEuMTY2LjEwNyAxLjc2Mi0uMTljLjU5Ni0uMjk5Ljc3Mi0uODAxLjg1My0xLjEuMDc4LS4yOC4xMTgtMS4yMTUuMTIyLTEuMzE0di0uMDA5Yy4wMTctLjMzNy4wMDktMS4xMi0uMzUyLTEuODItLjM3Ni0uNzMyLTEuNTgtLjg0LTIuMDYtLjg1M2gtLjAyOGMtLjExLS4wMDMtLjE3NiAwLS4xNzYgMGgtMy40N3Y3LjE2NGgxLjkxMlY1LjY4OHptMS4zODMtMy43N2gtMS4zODN2Mi4xNDNoMS4yNzJjLjE3OC0uMDAyLjc4NS0uMDMxLjg0My0uMzY2LjA2My0uMzY4LjA2LS43NzcuMDU5LS44M2E0LjE3MyA0LjE3MyAwIDAwLS4wNzMtLjU1M2MtLjA4MS0uMzkzLS43MTgtLjM5My0uNzE4LS4zOTN6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTQuNTM0IDcuNTIyczEuMjIyLS4wNiAxLjU2LS45ODFjLjM0LS45MjIuMDk2LTIuMTQ0LjA5Ni0yLjE0NHMtLjEyOC0uODIyLTEuMzEzLTEuMDUybC0uMDAyLS4wMDQtLjAwMS0uMDA0YTQuNTQgNC41NCAwIDAwLS40NDUtLjA1MmgtLjAwMmE2Ni40MSA2Ni40MSAwIDAwLTEuNTMxLS4xMDVsLS4wMi0uMDA4Yy0uMDA2LS4wMDMtLjAxMi0uMDA2LS4wMi0uMDA4LS43MzMuMDEzLS43NDYtLjMxMi0uNzQ2LS4zNTMgMC0uMDA2LS4wMDQtLjAyMi0uMDEtLjA0NC0uMDI4LS4xMi0uMTA2LS40NDcuMDc3LS42ODguMjEtLjI3NCAxLjA0NS0uMjQgMS4xMDQtLjIzNy4xOC4wMDguNDI4LjAyMi41NS4wNDcuMjAzLjA0MS40MjIuMTY4LjM5My43NzNoMS44MDN2LS41NTZzLjA0MS0uOTYyLS42MzctMS4zNDFDNC44NDIuNDU4IDQuMjQ3LjQxNyA0LjAzNy40MTNoLS4wMDJzLTEuMDg1LS4wMjgtMS42IDBhNS4wMDYgNS4wMDYgMCAwMC0xLjA0Ny4xNkMxLjE0OC42MjUuOTEuNzIuNzE1Ljg5MWEuMDk3LjA5NyAwIDAwLS4wMTMuMDE1QS4xMS4xMSAwIDAxLjY5LjkyTC42NzYuOTNDLjY3LjkzMi42NjQuOTM2LjY1OS45NC42NDYuOTUzLjY0Ljk2NS42MzQuOTc3LjYzMS45ODQuNjI3Ljk5Mi42MjIgMWMtLjU4OS42NTMtLjQ4IDEuOTIxLS4yNiAyLjY4LjE3My42MDUuODguODEzIDEuMjE1Ljg3OWwuMDAyLjAwMS4wMDIuMDAyLjEwNS4wMTUuMDE4LjAwMy4wMTQuMDAyLjAxNC4wMDIuMDEzLjAwMi4wMTEuMDAxYy40NTUuMDU1IDEuNTEyLjEzIDEuOTguMTZ2LjAwNWwuMDI2LS4wMDIuMTg3LjAxMi4wMTQuMDAxYy4xNzcuMDMzLjM5Ni4xMzYuMzk3LjQ2NHYuMDM3Yy4wMDIuMzc2LjAwMy40NzMtLjA0LjUzNWEuMTguMTggMCAwMC0uMDY4LjA2NWMtLjA4NC4xNDItLjM4OS4xOC0uNjEuMTloLTEuMThjLS41MDEtLjA2OC0uNDg4LS42MS0uNDg4LS42MXYtLjIxN0guMTg1di4yN1MuMTMgNi42NS43IDcuMDdjLjQ5Mi4zNjMgMS4wMTkuNDU4IDEuNzYyLjQ3OHYuMDFoLjhzLjcuMDMxIDEuMjcyLS4wMzh2LjAwMnoiIGZpbGw9IiNmZmYiLz48L3N2Zz4K"})),_=e=>Object(r.createElement)(v,b()({},e,{src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNjYgNDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTM2IDNhMiAyIDAgMDEyLTJoMjQuNjZhMiAyIDAgMDEyIDJ2MTRhMiAyIDAgMDEtMiAySDM4YTIgMiAwIDAxLTItMlYzeiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzggMGgyNC42NmEzIDMgMCAwMTMgM3YxNGEzIDMgMCAwMS0zIDNIMzhhMyAzIDAgMDEtMy0zVjNhMyAzIDAgMDEzLTN6bTAgMWEyIDIgMCAwMC0yIDJ2MTRhMiAyIDAgMDAyIDJoMjQuNjZhMiAyIDAgMDAyLTJWM2EyIDIgMCAwMC0yLTJIMzh6IiBmaWxsPSIjREREIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02MC4wNTUgMTMuMDQ4di0uMjExaC0uMDU0bC0uMDY0LjE0NS0uMDYzLS4xNDVoLS4wNTV2LjIxaC4wMzl2LS4xNThsLjA1OS4xMzdoLjA0bC4wNi0uMTM4di4xNmguMDM5em0tLjM0OCAwdi0uMTc1aC4wN3YtLjAzNmgtLjE4di4wMzZoLjA3MnYuMTc1aC4wMzh6bS4zNi0zLjEzN2MwIDMuMjY1LTIuNjQgNS45MTItNS44OTcgNS45MTItMy4yNTYgMC01Ljg5Ni0yLjY0Ny01Ljg5Ni01LjkxMkM0OC4yNzQgNi42NDcgNTAuOTE0IDQgNTQuMTcgNGMzLjI1NyAwIDUuODk3IDIuNjQ3IDUuODk3IDUuOTExeiIgZmlsbD0iI0Y3OUYxQSIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTIuNzkzIDkuOTExYzAgMy4yNjUtMi42NCA1LjkxMi01Ljg5NyA1LjkxMkM0My42NCAxNS44MjMgNDEgMTMuMTc2IDQxIDkuOTEgNDEgNi42NDcgNDMuNjQgNCA0Ni44OTcgNGMzLjI1NiAwIDUuODk2IDIuNjQ3IDUuODk2IDUuOTExeiIgZmlsbD0iI0VBMDAxQiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTAuNTMzIDUuMjU4YTUuOTA1IDUuOTA1IDAgMDAtMi4yNTggNC42NTNjMCAxLjg4OS44ODMgMy41NzIgMi4yNTggNC42NTRhNS45MDcgNS45MDcgMCAwMDIuMjYtNC42NTQgNS45MDUgNS45MDUgMCAwMC0yLjI2LTQuNjUzeiIgZmlsbD0iI0ZGNUYwMSIvPjxwYXRoIGQ9Ik0xIDMuMDZhMiAyIDAgMDEyLTJoMjQuNjZhMiAyIDAgMDEyIDJ2MTRhMiAyIDAgMDEtMiAySDNhMiAyIDAgMDEtMi0ydi0xNHoiIGZpbGw9IiNmZmYiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMgLjA2aDI0LjY2YTMgMyAwIDAxMyAzdjE0YTMgMyAwIDAxLTMgM0gzYTMgMyAwIDAxLTMtM3YtMTRhMyAzIDAgMDEzLTN6bTAgMWEyIDIgMCAwMC0yIDJ2MTRhMiAyIDAgMDAyIDJoMjQuNjZhMiAyIDAgMDAyLTJ2LTE0YTIgMiAwIDAwLTItMkgzeiIgZmlsbD0iI0RERCIvPjxwYXRoIGQ9Ik0xMy44MiAxMy4zMjNoLTEuNzM3bDEuMDg3LTYuM2gxLjczN2wtMS4wODYgNi4zek0yMC4xMiA3LjE3NmE0LjUzNCA0LjUzNCAwIDAwLTEuNTU5LS4yNjhjLTEuNzE2IDAtMi45MjQuODU4LTIuOTMyIDIuMDg1LS4wMTQuOTA0Ljg2NiAxLjQwNyAxLjUyMyAxLjcwOS42NzMuMzA4LjkwMS41MS45MDEuNzg0LS4wMDcuNDIyLS41NDMuNjE3LTEuMDQzLjYxNy0uNjk0IDAtMS4wNjYtLjEtMS42My0uMzM1bC0uMjMtLjEwMS0uMjQzIDEuNDE0Yy40MDguMTc0IDEuMTU5LjMyOSAxLjkzOC4zMzYgMS44MjQgMCAzLjAxLS44NDUgMy4wMjUtMi4xNTIuMDA2LS43MTctLjQ1OC0xLjI2Ny0xLjQ1OS0xLjcxNi0uNjA4LS4yODgtLjk4LS40ODItLjk4LS43NzcuMDA3LS4yNjkuMzE1LS41NDMgMS0uNTQzLjU2Ni0uMDE0Ljk4LjExNCAxLjI5NS4yNDFsLjE1Ny4wNjcuMjM3LTEuMzZ6IiBmaWxsPSIjMUExRjcxIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy4yMyA3LjAyMmgxLjM0NWwxLjQwMiA2LjNoLTEuNjFzLS4xNTctLjcyMy0uMjA3LS45NDRoLTIuMjNsLS4zNjYuOTQ1aC0xLjgyM2wyLjU4MS01Ljc3OGMuMTgtLjQwOS40OTQtLjUyMy45MDktLjUyM3ptLS4xMDcgMi4zMDZsLS42OTMgMS43NjNoMS40NDRjLS4wNzItLjMxNS0uNC0xLjgyMy0uNC0xLjgyM2wtLjEyMi0uNTQzYy0uMDUxLjE0LS4xMjUuMzMyLS4xNzUuNDYxbC0uMDU0LjE0MnpNNC41NTQgNy4wMjJINy4zNWMuMzc5LjAxNC42ODYuMTI4Ljc4Ni41M2wuNjA4IDIuODk1LjE4Ni44NzIgMS43MDItNC4yOTdoMS44MzdsLTIuNzMxIDYuMjk0SDcuOUw2LjM1MiA3Ljg0MmE3LjM1OSA3LjM1OSAwIDAwLTEuODI3LS42OTJsLjAyOS0uMTI4eiIgZmlsbD0iIzFBMUY3MSIvPjxwYXRoIGQ9Ik0zNiAyNWEyIDIgMCAwMTItMmgyNC42NmEyIDIgMCAwMTIgMnYxNGEyIDIgMCAwMS0yIDJIMzhhMiAyIDAgMDEtMi0yVjI1eiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzggMjJoMjQuNjZhMyAzIDAgMDEzIDN2MTRhMyAzIDAgMDEtMyAzSDM4YTMgMyAwIDAxLTMtM1YyNWEzIDMgMCAwMTMtM3ptMCAxYTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgyNC42NmEyIDIgMCAwMDItMlYyNWEyIDIgMCAwMC0yLTJIMzh6IiBmaWxsPSIjREREIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00NS43MyAzMS44NjNoNC43OTVjLS4wNDMtMS4wMzctLjI4NC0yLjEwNS0xLjAxNy0yLjc5Mi0uODczLS44MTgtMi40MDEtMS4xMjEtMy43NjctMS4xMjEtMS40MjEgMC0yLjk5My4zMzMtMy44NyAxLjIxLS43NTcuNzU2LS45MiAxLjk3Mi0uOTIgMy4wNjUgMCAxLjE0NC4zMiAyLjQ3NiAxLjE0IDMuMjQyLjg3My44MTYgMi4yODYgMS4wMzMgMy42NSAxLjAzMyAxLjMyNSAwIDIuNzYtLjI0NSAzLjYyNy0xLjAyLjg2Ni0uNzczIDEuMTY1LTIuMDc2IDEuMTY1LTMuMjU1di0uMDA2aC00LjgwNHYtLjM1NnptNS4xMTcuMzU2djQuMDloNi42NzJ2LS4wMDZjLjk3Ni0uMDUzIDEuNzUzLS45MzMgMS43NTMtMi4wMTQgMC0xLjA4MS0uNzc3LTIuMDE4LTEuNzUzLTIuMDcxdi4wMDFoLTYuNjcyem02LjU5Ni00LjA5OGMuOTUxIDAgMS43MDYuODI2IDEuNzA2IDEuODY3IDAgLjk4Ny0uNjkzIDEuNzkyLTEuNTc1IDEuODc1aC02LjcyN3YtMy43NDhoNi4zODVhLjcuNyAwIDAxLjEzLjAwMmMuMDI4LjAwMi4wNTUuMDA0LjA4LjAwNHoiIGZpbGw9IiNGRUZFRkUiLz48cGF0aCBkPSJNMSAyNWEyIDIgMCAwMTItMmgyNC42NmEyIDIgMCAwMTIgMnYxNGEyIDIgMCAwMS0yIDJIM2EyIDIgMCAwMS0yLTJWMjV6IiBmaWxsPSIjMjU1N0Q2Ii8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zIDIyaDI0LjY2YTMgMyAwIDAxMyAzdjE0YTMgMyAwIDAxLTMgM0gzYTMgMyAwIDAxLTMtM1YyNWEzIDMgMCAwMTMtM3ptMCAxYTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgyNC42NmEyIDIgMCAwMDItMlYyNWEyIDIgMCAwMC0yLTJIM3oiIGZpbGw9IiNEREQiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMzEuNDUzaDEuMzc3bC4zMS0uNzQ1aC42OTVsLjMxLjc0NUg2LjR2LS41N2wuMjQxLjU3Mkg4LjA1bC4yNDItLjU4di41NzhoNi43MzFsLS4wMDMtMS4yMjRoLjEzYy4wOTIuMDAzLjExOC4wMTIuMTE4LjE2MnYxLjA2MmgzLjQ4MnYtLjI4NWMuMjguMTUuNzE4LjI4NSAxLjI5Mi4yODVoMS40NjVsLjMxNC0uNzQ1aC42OTVsLjMwNi43NDVoMi44MjN2LS43MDhsLjQyNy43MDhoMi4yNjN2LTQuNjgyaC0yLjI0di41NTNsLS4zMTMtLjU1M2gtMi4yOTd2LjU1M2wtLjI4Ny0uNTUzaC0zLjEwNGMtLjUxOSAwLS45NzUuMDcyLTEuMzQ0LjI3M3YtLjI3M2gtMi4xNDF2LjI3M2MtLjIzNS0uMjA3LS41NTUtLjI3My0uOTEtLjI3M0g3Ljg3NmwtLjUyNiAxLjIxLS41MzgtMS4yMUg0LjM0OHYuNTUzbC0uMjctLjU1M0gxLjk3NUwxIDI4Ljk5N3YyLjQ1NnptOC42OS0uNjc1aC0uODI2bC0uMDAzLTIuNjMtMS4xNjggMi42M2gtLjcwOGwtMS4xNy0yLjYzMnYyLjYzMWgtMS42NGwtLjMxLS43NDhIMi4xODhsLS4zMTMuNzQ5SDFsMS40NDMtMy4zNTdIMy42NGwxLjM3IDMuMTc4di0zLjE3OGgxLjMxNWwxLjA1NSAyLjI3Ny45NjktMi4yNzdIOS42OXYzLjM1N3ptLTYuMS0xLjQ0NWwtLjU1MS0xLjMzOC0uNTQ5IDEuMzM3aDEuMXptOS4zODggMS40NDVoLTIuNjkyVjI3LjQyaDIuNjkydi43aC0xLjg4NnYuNjA0aDEuODR2LjY4OGgtMS44NHYuNjdoMS44ODZ2LjY5NXptMy43OTMtMi40NTNjMCAuNTM1LS4zNTkuODEyLS41NjguODk1YS45MjkuOTI5IDAgMDEuMzk5LjI4M2MuMTE0LjE2Ny4xMzMuMzE2LjEzMy42MTV2LjY2aC0uODEzbC0uMDAzLS40MjNjMC0uMjAyLjAyLS40OTMtLjEyNy0uNjU0LS4xMTgtLjExOC0uMjk3LS4xNDQtLjU4Ny0uMTQ0aC0uODY1djEuMjJoLS44MDZ2LTMuMzU2aDEuODU0Yy40MTEgMCAuNzE1LjAxMS45NzUuMTYuMjU1LjE1MS40MDguMzcuNDA4Ljc0NHptLTEuMDE5LjQ5OWMtLjExLjA2Ny0uMjQxLjA2OS0uMzk4LjA2OWgtLjk3OXYtLjc0NmguOTkyYy4xNCAwIC4yODcuMDA3LjM4Mi4wNi4xMDUuMDUuMTcuMTU0LjE3LjI5OCAwIC4xNDYtLjA2Mi4yNjQtLjE2Ny4zMTl6bTIuMzExIDEuOTU0aC0uODIyVjI3LjQyaC44MjJ2My4zNTd6bTkuNTQ1IDBoLTEuMTQybC0xLjUyNy0yLjUydjIuNTJoLTEuNjQybC0uMzEzLS43NDlIMjEuMzFsLS4zMDQuNzVoLS45NDNjLS4zOTIgMC0uODg4LS4wODctMS4xNjgtLjM3Mi0uMjg0LS4yODUtLjQzMS0uNjcxLS40MzEtMS4yODIgMC0uNDk4LjA4OC0uOTUzLjQzNC0xLjMxMi4yNjEtLjI2OC42NjktLjM5MiAxLjIyNC0uMzkyaC43OHYuNzJoLS43NjNjLS4yOTQgMC0uNDYuMDQzLS42Mi4xOTgtLjEzOC4xNDItLjIzMi40MS0uMjMyLjc2IDAgLjM2LjA3Mi42Mi4yMjIuNzkuMTI0LjEzMi4zNDkuMTcyLjU2MS4xNzJoLjM2MmwxLjEzNi0yLjY0aDEuMjA3bDEuMzY0IDMuMTc1di0zLjE3NWgxLjIyN2wxLjQxNiAyLjMzOHYtMi4zMzhoLjgyNnYzLjM1N3ptLTQuODk4LTEuNDQ1bC0uNTU4LTEuMzM4LS41NTQgMS4zMzdoMS4xMTJ6bTYuOTUgNi44MDVjLS4xOTUuMjg1LS41NzYuNDMtMS4wOTMuNDNoLTEuNTU2di0uNzJoMS41NWMuMTU0IDAgLjI2MS0uMDIxLjMyNi0uMDg0YS4yOTYuMjk2IDAgMDAuMDk2LS4yMTkuMjc2LjI3NiAwIDAwLS4wOTktLjIyMmMtLjA1OC0uMDUxLS4xNDQtLjA3NS0uMjg0LS4wNzUtLjc1Ny0uMDI1LTEuNy4wMjQtMS43LTEuMDQgMC0uNDg2LjMxLS45OTggMS4xNTYtLjk5OGgxLjYwNXYtLjY2OGgtMS40OTJjLS40NSAwLS43NzcuMTA3LTEuMDA4LjI3NHYtLjI3NGgtMi4yMDZjLS4zNTIgMC0uNzY2LjA4Ny0uOTYyLjI3NHYtLjI3NGgtMy45Mzl2LjI3NGMtLjMxMy0uMjI2LS44NDMtLjI3NC0xLjA4Ni0uMjc0aC0yLjU5OXYuMjc0Yy0uMjQ4LS4yNC0uOC0uMjc0LTEuMTM1LS4yNzRoLTIuOTA4bC0uNjY1LjcxNi0uNjIzLS43MTZINi42OTR2NC42ODVoNC4yNjJsLjY4NS0uNzI5LjY0Ni43MjkgMi42MjcuMDAydi0xLjEwMmguMjU4Yy4zNDkuMDA1Ljc2LS4wMDkgMS4xMjMtLjE2NXYxLjI2NGgyLjE2NnYtMS4yMmguMTA1Yy4xMzQgMCAuMTQ3LjAwNS4xNDcuMTM3djEuMDgzaDYuNTgxYy40MTggMCAuODU1LS4xMDcgMS4wOTctLjN2LjNoMi4wODhjLjQzNCAwIC44NTktLjA2MSAxLjE4MS0uMjE2di0uODczem0tMTMuMDUtMS44MDNjMCAuOTMzLS43IDEuMTI2LTEuNDAzIDEuMTI2SDE0LjJ2MS4xMjZoLTEuNTY2bC0uOTkyLTEuMTEyLTEuMDMxIDEuMTEySDcuNDJWMzMuMjNoMy4yNGwuOTkyIDEuMTAxIDEuMDI1LTEuMWgyLjU3NWMuNjQgMCAxLjM1OC4xNzYgMS4zNTggMS4xMDV6bS02LjQwNiAxLjU0Nkg4LjIyM3YtLjY2OGgxLjc2OXYtLjY4NWgtMS43N3YtLjYxaDIuMDJsLjg4Mi45NzgtLjkyLjk4NXptMy4xOTEuMzg0bC0xLjIzNi0xLjM2OCAxLjIzNi0xLjMyNHYyLjY5MnptMS44My0xLjQ5M2gtMS4wNDF2LS44NTVoMS4wNWMuMjkxIDAgLjQ5My4xMTguNDkzLjQxMiAwIC4yOS0uMTkyLjQ0My0uNTAyLjQ0M3ptNS40NTUtMS41NDJoMi42OXYuNjk0aC0xLjg4N3YuNjFoMS44NHYuNjg1aC0xLjg0di42NjhsMS44ODcuMDA0di42OTZoLTIuNjlWMzMuMjN6bS0xLjAzMyAxLjc5N2MuMTc5LjA2Ni4zMjYuMTg0LjM5NC4yODEuMTE0LjE2NS4xMy4zMTguMTM0LjYxM3YuNjY2aC0uODF2LS40MmMwLS4yMDIuMDItLjUtLjEzLS42NTctLjExNy0uMTItLjI5Ni0uMTUtLjU5LS4xNWgtLjg2MnYxLjIyN2gtLjgxVjMzLjIzaDEuODZjLjQwOSAwIC43MDYuMDE4Ljk3LjE1OS4yNTUuMTUzLjQxNS4zNjMuNDE1Ljc0NSAwIC41MzYtLjM2LjgxLS41NzEuODk0em0tLjQ1Ni0uNDI1Yy0uMTA4LjA2NC0uMjQuMDctLjM5OC4wN2gtLjk3OXYtLjc1NWguOTkzYy4xNDMgMCAuMjg2LjAwMy4zODQuMDYuMTA0LjA1NS4xNjcuMTYuMTY3LjMwMyAwIC4xNDQtLjA2My4yNi0uMTY3LjMyMnptNy4yNzQuMjE0Yy4xNTcuMTYyLjI0MS4zNjYuMjQxLjcxMSAwIC43MjMtLjQ1MyAxLjA2LTEuMjY2IDEuMDZoLTEuNTd2LS43MmgxLjU2NGMuMTUzIDAgLjI2MS0uMDIuMzMtLjA4M2EuMjk5LjI5OSAwIDAwLS4wMDQtLjQ0MWMtLjA2MS0uMDUxLS4xNDctLjA3NS0uMjg3LS4wNzUtLjc1My0uMDI1LTEuNjk3LjAyMy0xLjY5Ny0xLjA0IDAtLjQ4Ni4zMDctLjk5OCAxLjE1Mi0uOTk4aDEuNjE1di43MTRoLTEuNDc4Yy0uMTQ2IDAtLjI0Mi4wMDUtLjMyMy4wNi0uMDg4LjA1NS0uMTIuMTM2LS4xMi4yNDJhLjI1Ny4yNTcgMCAwMC4xNzUuMjUuOTMuOTMgMCAwMC4zMTQuMDM5bC40MzQuMDExYy40MzcuMDEuNzM4LjA4Ni45Mi4yN3ptMy4xOTctLjg5OWgtMS40NjhjLS4xNDcgMC0uMjQ0LjAwNi0uMzI2LjA2LS4wODUuMDU1LS4xMTguMTM2LS4xMTguMjQzYS4yNTMuMjUzIDAgMDAuMTc2LjI1Yy4wODUuMDI5LjE3Ni4wMzguMzEuMDM4bC40MzcuMDExYy40NDEuMDExLjczNS4wODcuOTE1LjI3LjAzMi4wMjYuMDUyLjA1NS4wNzQuMDg0di0uOTU2eiIgZmlsbD0iI2ZmZiIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhciIgeDE9IjQzLjc3NCIgeTE9IjIwLjcyMSIgeDI9IjM3LjkwMSIgeTI9IjQwLjUxNiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wLz48c3RvcCBvZmZzZXQ9Ii41OTIiLz48c3RvcCBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4K"})),R=e=>Object(r.createElement)(U,b()({},e,{src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjYgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTS45NjUgMi42YTIuNCAyLjQgMCAwMTIuNC0yLjRoMTkuNzE0YTIuNCAyLjQgMCAwMTIuNCAyLjR2MTAuOGEyLjQgMi40IDAgMDEtMi40IDIuNEgzLjM2NWEyLjQgMi40IDAgMDEtMi40LTIuNFYyLjZ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy4wOCAxLjRIMy4zNjRhMS4yIDEuMiAwIDAwLTEuMiAxLjJ2MTAuOGExLjIgMS4yIDAgMDAxLjIgMS4yaDE5LjcxNGExLjIgMS4yIDAgMDAxLjItMS4yVjIuNmExLjIgMS4yIDAgMDAtMS4yLTEuMnpNMy4zNjQuMmEyLjQgMi40IDAgMDAtMi40IDIuNHYxMC44YTIuNCAyLjQgMCAwMDIuNCAyLjRoMTkuNzE0YTIuNCAyLjQgMCAwMDIuNC0yLjRWMi42YTIuNCAyLjQgMCAwMC0yLjQtMi40SDMuMzY1eiIgZmlsbD0iIzBGMzM2NSIvPjxwYXRoIGQ9Ik0xMy4yMjMuMmg4LjI1N2E0IDQgMCAwMTQgNHY3LjZhNCA0IDAgMDEtNCA0aC04LjI1N1YuMnoiIGZpbGw9IiMwRjMzNjUiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE0Ljg5NSAxMi44NjNoMi41NTN2LTMuNTVoLjAyOGMuNDgzLjc3OCAxLjQ0NyAxLjA2NiAyLjM0MSAxLjA2NiAyLjE5OSAwIDMuMzc2LTEuNjA1IDMuMzc2LTMuNTM3IDAtMS41OC0xLjEyLTMuMy0zLjE2My0zLjMtMS4xNjMgMC0yLjI0Mi40MTUtMi43NTIgMS4zM2gtLjAyOVYzLjY5NGgtMi4zNTR2OS4xN3ptNS42NjItNS45N2MwIDEuMDQtLjU4MiAxLjc1NS0xLjU0NiAxLjc1NS0uODUyIDAtMS41NjItLjcxNC0xLjU2Mi0xLjY2OCAwLS45NzguNjI1LTEuNzA2IDEuNTYyLTEuNzA2Ljk5MiAwIDEuNTQ2Ljc1MiAxLjU0NiAxLjYxOHoiIGZpbGw9IiNGRkZGRkUiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjU0NSAzLjY5M0g5LjIzMnYxLjE4aC0uMDI4YTIuOTYgMi45NiAwIDAwLTIuNTExLTEuMzNjLTIuMjk4IDAtMy4zMzQgMS40NTUtMy4zMzQgMy40IDAgMS45MzIgMS4yNjMgMy4yODYgMy4yOTIgMy4yODYgMS4wMjEgMCAxLjg3Mi0uMzUgMi40ODItMS4xMTdoLjAyOHYuMzUyYzAgMS4yOC0uNzk0IDEuODk0LTIuMjcgMS44OTQtMS4wNjMgMC0xLjcxNi0uMi0yLjQ5Ni0uNTM5TDQuMjY3IDEyLjZhOS42NSA5LjY1IDAgMDAyLjgyMy40MTRjMi45OCAwIDQuNDU1LS44NjYgNC40NTUtMy41NXYtNS43N3pNNS45OTYgNi45MDRjMC0uODkuNDk3LTEuNjMgMS40NDctMS42MyAxLjE0OSAwIDEuNjMxLjgxNSAxLjYzMSAxLjU0MyAwIDEuMDA0LS43MjMgMS42OC0xLjYzIDEuNjgtLjc2NyAwLTEuNDQ4LS41NzctMS40NDgtMS41OTN6IiBmaWxsPSIjRDgyMzJBIi8+PC9zdmc+Cg=="})),W=e=>Object(r.createElement)(U,b()({},e,{src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjcgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjMwNiAxLjk5MmMtLjMwNS4zNjUtLjc5My42NTMtMS4yOC42MTItLjA2Mi0uNDkzLjE3Ny0xLjAxOC40NTctMS4zNDFDNC43ODcuODg4IDUuMzIuNjIgNS43NTMuNmMuMDUuNTE0LS4xNDcgMS4wMTctLjQ0NyAxLjM5MnptLjQ0LjcxYy0uNDMtLjAyNi0uODIxLjEzLTEuMTM4LjI1Ni0uMjA0LjA4LS4zNzcuMTUtLjUwOC4xNS0uMTQ3IDAtLjMyNy0uMDczLS41MjktLjE1NC0uMjY0LS4xMDYtLjU2Ny0uMjI4LS44ODQtLjIyMi0uNzI2LjAxLTEuNDAyLjQyNy0xLjc3MyAxLjA5Qy4xNSA1LjE0Ny43MTUgNy4xMSAxLjQ1MiA4LjE4OWMuMzYxLjUzNC43OTMgMS4xMiAxLjM2MiAxLjEuMjUtLjAxLjQzLS4wODguNjE3LS4xNjcuMjE1LS4wOTMuNDM4LS4xODguNzg2LS4xODguMzM2IDAgLjU1LjA5My43NTQuMTgyLjE5NC4wODUuMzgxLjE2Ny42NTkuMTYyLjU5LS4wMS45Ni0uNTM0IDEuMzItMS4wNjkuMzktLjU3My41NjEtMS4xMzMuNTg3LTEuMjE4bC4wMDMtLjAxLS4wMTQtLjAwNmMtLjEzLS4wNi0xLjEyNS0uNTIxLTEuMTM0LTEuNzU2LS4wMS0xLjAzNi43ODktMS41NjIuOTE1LTEuNjQ0bC4wMTUtLjAxYy0uNTA4LS43Ni0xLjMwMS0uODQzLTEuNTc2LS44NjR6bTQuMDgxIDYuNTJ2LTguMDFIMTIuOGMxLjUzNSAwIDIuNjA3IDEuMDY4IDIuNjA3IDIuNjMgMCAxLjU2Mi0xLjA5MyAyLjY0MS0yLjY0OCAyLjY0MWgtMS43MDJ2Mi43MzloLTEuMjN6TTExLjA2IDIuMjZoMS40MTdjMS4wNjggMCAxLjY3Ny41NzUgMS42NzcgMS41ODdzLS42MSAxLjU5My0xLjY4MiAxLjU5M0gxMS4wNlYyLjI2em04LjQwOCA2Yy0uMzI1LjYyOC0xLjA0MiAxLjAyMy0xLjgxNCAxLjAyMy0xLjE0MyAwLTEuOTQxLS42ODgtMS45NDEtMS43MjYgMC0xLjAyOC43NzItMS42MTkgMi4yLTEuNzA2bDEuNTM1LS4wOTN2LS40NDFjMC0uNjUzLS40MjItMS4wMDctMS4xNzQtMS4wMDctLjYyIDAtMS4wNzIuMzIzLTEuMTY0LjgxN2gtMS4xMDhjLjAzNi0xLjAzOCAxLjAwMS0xLjc5NCAyLjMwNy0xLjc5NCAxLjQwOCAwIDIuMzIzLjc0NSAyLjMyMyAxLjkwMXYzLjk4N2gtMS4xMzl2LS45NmgtLjAyNXptLTEuNDg0LjA3M2MtLjY1NSAwLTEuMDcyLS4zMTktMS4wNzItLjgwNyAwLS41MDQuNDAxLS43OTYgMS4xNjktLjg0M2wxLjM2Ny0uMDg3di40NTJjMCAuNzUtLjYzIDEuMjg1LTEuNDY0IDEuMjg1em02LjQyNCAxLjIwMmMtLjQ5MyAxLjQwMy0xLjA1NyAxLjg2NS0yLjI1NyAxLjg2NS0uMDkxIDAtLjM5Ni0uMDEtLjQ2Ny0uMDN2LS45NjJjLjA3Ni4wMS4yNjQuMDIuMzYuMDIuNTQ0IDAgLjg1LS4yMyAxLjAzNy0uODMxbC4xMTItLjM1NUwyMS4xMSAzLjQxaDEuMjg1bDEuNDQ5IDQuNzMyaC4wMjVsMS40NDgtNC43MzJoMS4yNWwtMi4xNiA2LjEyNXoiIGZpbGw9IiMwMDAiLz48L3N2Zz4K"})),J=e=>Object(r.createElement)(U,b()({},e,{src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjkgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy44OSA5LjA0MlY1Ljg3NmgxLjcxM2MuNzA2IDAgMS4zLS4yMjIgMS43OC0uNjY2YTIuMTM1IDIuMTM1IDAgMDAuNzQzLTEuNjYgMi4xNDUgMi4xNDUgMCAwMC0uNzQzLTEuNjUgMi41MyAyLjUzIDAgMDAtMS43OC0uNjc2aC0yLjc1djcuODE4aDEuMDM3em0tLjAwMS00LjEyNnYtMi43M2gxLjczOGMuMzg3LS4wMS43Ni4xNCAxLjAyNi40MTUuMjY2LjI1LjQxNi41OTUuNDE2Ljk1NXMtLjE1LjcwNS0uNDE2Ljk1NWMtLjI2OC4yNjktLjY0LjQxNi0xLjAyNi40MDVoLTEuNzM4ek0yMi4zMyA0LjExNGMtLjQ0NC0uMzk3LTEuMDQ5LS41OTYtMS44MTUtLjU5Ni0uOTg0IDAtMS43MjcuMzUtMi4yMyAxLjA0OGwuOTEzLjU1N2MuMzM4LS40NzMuNzk2LS43MSAxLjM3NS0uNzEuMzY5LS4wMDQuNzI2LjEyNyAxIC4zNjcuMjc0LjIxOS40My41NDUuNDI4Ljg4OXYuMjNjLS4zOTgtLjIyLS45MDUtLjMyOC0xLjUyLS4zMjgtLjcyMSAwLTEuMjk4LjE2NC0xLjczLjQ5MS0uNDMxLjMyNy0uNjQ3Ljc2Ny0uNjQ3IDEuMzItLjAxLjUwNS4yMTYuOTg2LjYxNCAxLjMxLjQxLjM1LjkxOC41MjUgMS41MjYuNTI1LjcxMyAwIDEuMjg0LS4zMDYgMS43MTMtLjkxN2guMDQ1di43NDJoLjk5MlY1Ljc0NWMwLS42OS0uMjIxLTEuMjM1LS42NjUtMS42MzF6TTE5LjUxNyA4LjA2YS43OTQuNzk0IDAgMDEtLjM0NC0uNjU1YzAtLjI5Mi4xNC0uNTM0LjQyNS0uNzM0LjI4LS4xOTcuNjMyLS4yOTUgMS4wNTMtLjI5NS41NzggMCAxLjAyOS4xMjUgMS4zNTIuMzc0IDAgLjQyMi0uMTcyLjc5LS41MTUgMS4xMDMtLjMxLjMtLjcyOS40NjgtMS4xNjYuNDY5YTEuMjkgMS4yOSAwIDAxLS44MDUtLjI2MnpNMjguNjg1IDMuNjkzTDI1LjIyNCAxMS40aC0xLjA3bDEuMjg0LTIuNjk3LTIuMjc2LTUuMDFoMS4xMjdsMS42NDUgMy44NDNoLjAyMmwxLjYtMy44NDNoMS4xMjl6IiBmaWxsPSIjNUY2MzY4Ii8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05LjcwMyA1LjE5NGMwLS4zMDYtLjAyNi0uNjEyLS4wOC0uOTEzSDUuMjUydjEuNzNoMi41MDRhMi4wNzYgMi4wNzYgMCAwMS0uOTI2IDEuMzY0djEuMTIzaDEuNDk0Yy44NzUtLjc4MiAxLjM4LTEuOTM3IDEuMzgtMy4zMDR6IiBmaWxsPSIjNDI4NUY0Ii8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjI1IDkuNTgzYzEuMjUgMCAyLjMwMy0uMzk4IDMuMDcxLTEuMDg0TDYuODI3IDcuMzc2Yy0uNDE2LjI3My0uOTUxLjQzLTEuNTc4LjQzLTEuMjA5IDAtMi4yMzUtLjc5LTIuNjAyLTEuODU1aC0xLjU0djEuMTU3Yy43ODcgMS41MTcgMi4zOSAyLjQ3NSA0LjE0MiAyLjQ3NXoiIGZpbGw9IiMzNEE4NTMiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNjQ4IDUuOTUxYTIuNjEyIDIuNjEyIDAgMDEwLTEuNzE5VjMuMDc1aC0xLjU0YTQuMzY3IDQuMzY3IDAgMDAwIDQuMDMzbDEuNTQtMS4xNTd6IiBmaWxsPSIjRkJCQzA0Ii8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjI1IDIuMzc4Yy42Ni0uMDEgMS4yOTkuMjMyIDEuNzc3LjY3NEw4LjM1IDEuNzdBNC41MzQgNC41MzQgMCAwMDUuMjUuNmMtMS43NTMgMC0zLjM1Ni45NTgtNC4xNDMgMi40NzVsMS41NCAxLjE1N2EyLjc2NCAyLjc2NCAwIDAxMi42MDItMS44NTR6IiBmaWxsPSIjRUE0MzM1Ii8+PC9zdmc+Cg=="})),V=()=>Object(r.createElement)(c.Card,null,Object(r.createElement)(g,null,"The general settings sections goes here.",Object(r.createElement)("ul",null,Object(r.createElement)("li",null,Object(r.createElement)(J,null),Object(r.createElement)(J,{size:"medium"})),Object(r.createElement)("li",null,Object(r.createElement)(W,null),Object(r.createElement)(W,{size:"medium"})),Object(r.createElement)("li",null,Object(r.createElement)(Z,null),Object(r.createElement)(Z,{size:"medium"})),Object(r.createElement)("li",null,Object(r.createElement)(R,null),Object(r.createElement)(R,{size:"medium"})),Object(r.createElement)("li",null,Object(r.createElement)(P,null),Object(r.createElement)(P,{size:"medium"})),Object(r.createElement)("li",null,Object(r.createElement)(_,null),Object(r.createElement)(_,{size:"medium"})))));const B=Object(o.a)("ul",{target:"en7otfi0"})({name:"12vr7pr",styles:"li{display:inline-block;margin:0 5px 0 0;}"}),$=()=>Object(r.createElement)(r.Fragment,null,Object(r.createElement)("h2",null,Object(a.__)("Payments accepted on checkout","woocommerce-gateway-stripe")),Object(r.createElement)("p",null,Object(a.__)("Add and edit payments available to customers at checkout. Based on their device type, location, your customers will only see the most relevant payment methods.","woocommerce-gateway-stripe"))),F=()=>Object(r.createElement)(r.Fragment,null,Object(r.createElement)("h2",null,Object(a.__)("Express checkouts","woocommerce-gateway-stripe")),Object(r.createElement)(B,null,Object(r.createElement)("li",null,Object(r.createElement)(W,null)),Object(r.createElement)("li",null,Object(r.createElement)(J,null))),Object(r.createElement)("p",null,Object(a.__)("Let your customers use their favorite express payment methods and digital wallets for faster, more secure checkouts across different parts of your store.","woocommerce-gateway-stripe")),Object(r.createElement)(c.ExternalLink,{href:"?TODO"},Object(a.__)("Learn more","woocommerce-gateway-stripe")));var X=()=>Object(r.createElement)(r.Fragment,null,Object(r.createElement)(y,{Description:$},Object(r.createElement)(V,null)),Object(r.createElement)(y,{Description:F},Object(r.createElement)(E,null)));const H=Object(o.a)(y,{target:"e1prus4h0"})({name:"2qga7i",styles:"text-align:right"});var q=()=>Object(r.createElement)(H,null,Object(r.createElement)(c.Button,{isPrimary:!0,onClick:()=>alert("Welcome to the settings screen.")},Object(a.__)("Save changes","woocommerce-gateway-stripe")));const K=Object(o.a)(c.TabPanel,{target:"e1qtpuhq0"})({name:"48z560",styles:".components-tab-panel__tabs{border-bottom:1px solid #c3c4c7;margin-bottom:32px;}"}),ee=[{name:"methods",title:Object(a.__)("Payment Methods","woocommerce-gateway-stripe")},{name:"settings",title:Object(a.__)("Settings","woocommerce-gateway-stripe")}];var te=n(158),ne=n.n(te),re=Object(M.createContext)({isUpeEnabled:!1,setIsUpeEnabled:()=>null,status:"resolved"});n(214);const Me=document.getElementById("wc-stripe-account-settings-container");Me&&i.a.render(Object(r.createElement)(({children:e,defaultIsUpeEnabled:t})=>{const[n,u]=Object(M.useState)(Boolean(t)),[i,o]=Object(M.useState)("resolved"),c=Object(M.useCallback)(e=>{o("pending");const t=Boolean(e);return ne()({path:"/wc/v3/wc_stripe/upe_flag_toggle",method:"POST",data:{is_upe_enabled:t}}).then(()=>{u(t),o("resolved")}).catch(()=>{o("error")})},[o,u]),a=Object(M.useMemo)(()=>({isUpeEnabled:n,setIsUpeEnabled:c,status:i}),[n,c,i]);return Object(r.createElement)(re.Provider,{value:a},e)},{defaultIsUpeEnabled:"1"===wc_stripe_settings_params.is_upe_checkout_enabled},Object(r.createElement)(()=>{const{panel:e}=Object(j.getQuery)();return Object(r.createElement)(s,null,Object(r.createElement)(K,{className:"wc-stripe-account-settings-panel",initialTabName:"settings"===e?"settings":"methods",tabs:ee},e=>Object(r.createElement)("div",{"data-testid":e.name+"-tab"},"settings"===e.name?Object(r.createElement)(f,null):Object(r.createElement)(X,null),Object(r.createElement)(q,null))))},null)),Me)}]);
|
changelog.txt
CHANGED
@@ -1,5 +1,13 @@
|
|
1 |
*** Changelog ***
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
= 5.4.1 - 2021-09-01 =
|
4 |
* Fix - Get Subscription CustomerID from Order instead of User.
|
5 |
|
1 |
*** Changelog ***
|
2 |
|
3 |
+
= 5.5.0 - 2021-09-15 =
|
4 |
+
* Tweak - Moved the `WC_Gateway_Stripe::admin_scripts` method to `WC_Stripe_Settings_Controller::admin_scripts`.
|
5 |
+
* Fix - Save payment method during 3D Secure flow for Block-based checkout.
|
6 |
+
* Fix - Show subtotal on Payment Request dialog.
|
7 |
+
* Add - Settings to control Payment Request Button locations in the Stripe plugin settings. Persists changes made through pre-existing filters, or defaults to the Cart and Product pages if no filters are in use.
|
8 |
+
* Tweak - Deprecated the 'wc_stripe_hide_payment_request_on_product_page', 'wc_stripe_show_payment_request_on_checkout', and 'wc_stripe_show_payment_request_on_cart' filters in favor of the UI-driven approach in the plugin settings.
|
9 |
+
* Add - Notice for WP & WC version compatibility check.
|
10 |
+
|
11 |
= 5.4.1 - 2021-09-01 =
|
12 |
* Fix - Get Subscription CustomerID from Order instead of User.
|
13 |
|
includes/abstracts/abstract-wc-stripe-payment-gateway.php
CHANGED
@@ -29,6 +29,53 @@ abstract class WC_Stripe_Payment_Gateway extends WC_Payment_Gateway_CC {
|
|
29 |
return $description . '<br><br>' . $webhook_status;
|
30 |
}
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
/**
|
33 |
* Displays the save to account checkbox.
|
34 |
*
|
29 |
return $description . '<br><br>' . $webhook_status;
|
30 |
}
|
31 |
|
32 |
+
/**
|
33 |
+
* Prints the admin options for the gateway.
|
34 |
+
* Inserts an empty placeholder div for UPE opt-in banner if feature flag is enabled.
|
35 |
+
*/
|
36 |
+
public function admin_options() {
|
37 |
+
$form_fields = $this->get_form_fields();
|
38 |
+
$target_index = array_search( 'activation', array_keys( $form_fields ), true ) + 1;
|
39 |
+
|
40 |
+
echo '<h2>' . esc_html( $this->get_method_title() );
|
41 |
+
wc_back_link( __( 'Return to payments', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout' ) );
|
42 |
+
echo '</h2>';
|
43 |
+
|
44 |
+
if ( WC_Stripe_Feature_Flags::is_upe_settings_redesign_enabled() ) {
|
45 |
+
echo '<table class="form-table">' . $this->generate_settings_html( array_slice( $form_fields, 0, $target_index, true ), false ) . '</table>';
|
46 |
+
echo '<div id="wc-stripe-upe-opt-in-banner"></div>';
|
47 |
+
echo '<table class="form-table">' . $this->generate_settings_html( array_slice( $form_fields, $target_index, null, true ), false ) . '</table>';
|
48 |
+
} else {
|
49 |
+
echo '<table class="form-table">' . $this->generate_settings_html( $form_fields, false ) . '</table>';
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Outputs scripts used for upe opt-in banner
|
55 |
+
*/
|
56 |
+
public function admin_scripts_for_banner() {
|
57 |
+
if ( WC_Stripe_Feature_Flags::is_upe_settings_redesign_enabled() ) {
|
58 |
+
// Webpack generates an assets file containing a dependencies array for our built JS file.
|
59 |
+
$script_asset_path = WC_STRIPE_PLUGIN_PATH . '/build/upe_opt_in_banner.asset.php';
|
60 |
+
$script_asset = file_exists( $script_asset_path )
|
61 |
+
? require $script_asset_path
|
62 |
+
: [
|
63 |
+
'dependencies' => [],
|
64 |
+
'version' => WC_STRIPE_VERSION,
|
65 |
+
];
|
66 |
+
|
67 |
+
wp_register_script(
|
68 |
+
'woocommerce_stripe_upe_opt_in',
|
69 |
+
plugins_url( 'build/upe_opt_in_banner.js', WC_STRIPE_MAIN_FILE ),
|
70 |
+
$script_asset['dependencies'],
|
71 |
+
$script_asset['version'],
|
72 |
+
true
|
73 |
+
);
|
74 |
+
|
75 |
+
wp_enqueue_script( 'woocommerce_stripe_upe_opt_in' );
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
/**
|
80 |
* Displays the save to account checkbox.
|
81 |
*
|
includes/admin/class-wc-rest-upe-flag-toggle-controller.php
ADDED
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class WC_REST_UPE_Flag_Toggle_Controller
|
4 |
+
*/
|
5 |
+
|
6 |
+
defined( 'ABSPATH' ) || exit;
|
7 |
+
|
8 |
+
/**
|
9 |
+
* REST controller for UPE feature flag.
|
10 |
+
*/
|
11 |
+
class WC_REST_UPE_Flag_Toggle_Controller extends WP_REST_Controller {
|
12 |
+
/**
|
13 |
+
* Endpoint namespace.
|
14 |
+
*
|
15 |
+
* @var string
|
16 |
+
*/
|
17 |
+
protected $namespace = 'wc/v3';
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Endpoint path.
|
21 |
+
*
|
22 |
+
* @var string
|
23 |
+
*/
|
24 |
+
protected $rest_base = 'wc_stripe/upe_flag_toggle';
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Verify access to request.
|
28 |
+
*/
|
29 |
+
public function check_permission() {
|
30 |
+
return current_user_can( 'manage_woocommerce' );
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Configure REST API routes.
|
35 |
+
*/
|
36 |
+
public function register_routes() {
|
37 |
+
register_rest_route(
|
38 |
+
$this->namespace,
|
39 |
+
'/' . $this->rest_base,
|
40 |
+
[
|
41 |
+
'methods' => WP_REST_Server::READABLE,
|
42 |
+
'callback' => [ $this, 'get_flag' ],
|
43 |
+
'permission_callback' => [ $this, 'check_permission' ],
|
44 |
+
]
|
45 |
+
);
|
46 |
+
register_rest_route(
|
47 |
+
$this->namespace,
|
48 |
+
'/' . $this->rest_base,
|
49 |
+
[
|
50 |
+
'methods' => WP_REST_Server::EDITABLE,
|
51 |
+
'callback' => [ $this, 'set_flag' ],
|
52 |
+
'permission_callback' => [ $this, 'check_permission' ],
|
53 |
+
'args' => [
|
54 |
+
'is_upe_enabled' => [
|
55 |
+
'description' => __( 'Determines if the UPE feature flag is enabled.', 'woocommerce-gateway-stripe' ),
|
56 |
+
'type' => 'boolean',
|
57 |
+
'validate_callback' => 'rest_validate_request_arg',
|
58 |
+
],
|
59 |
+
],
|
60 |
+
]
|
61 |
+
);
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Retrieve flag status.
|
66 |
+
*
|
67 |
+
* @return WP_REST_Response
|
68 |
+
*/
|
69 |
+
public function get_flag() {
|
70 |
+
return new WP_REST_Response(
|
71 |
+
[
|
72 |
+
'is_upe_enabled' => WC_Stripe_Feature_Flags::is_upe_checkout_enabled(),
|
73 |
+
]
|
74 |
+
);
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Update the data.
|
79 |
+
*
|
80 |
+
* @param WP_REST_Request $request Full data about the request.
|
81 |
+
*/
|
82 |
+
public function set_flag( WP_REST_Request $request ) {
|
83 |
+
$is_upe_enabled = $request->get_param( 'is_upe_enabled' );
|
84 |
+
|
85 |
+
if ( null === $is_upe_enabled ) {
|
86 |
+
return new WP_REST_Response( [ 'result' => 'bad_request' ], 400 );
|
87 |
+
}
|
88 |
+
|
89 |
+
$settings = get_option( 'woocommerce_stripe_settings', [] );
|
90 |
+
$settings[ WC_Stripe_Feature_Flags::UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME ] = $is_upe_enabled ? 'yes' : 'no';
|
91 |
+
|
92 |
+
update_option( 'woocommerce_stripe_settings', $settings );
|
93 |
+
|
94 |
+
return new WP_REST_Response( [ 'result' => 'success' ], 200 );
|
95 |
+
}
|
96 |
+
}
|
includes/admin/class-wc-stripe-admin-notices.php
CHANGED
@@ -145,6 +145,7 @@ class WC_Stripe_Admin_Notices {
|
|
145 |
return;
|
146 |
}
|
147 |
|
|
|
148 |
if ( empty( $show_phpver_notice ) ) {
|
149 |
if ( version_compare( phpversion(), WC_STRIPE_MIN_PHP_VER, '<' ) ) {
|
150 |
/* translators: 1) int version 2) int version */
|
@@ -169,6 +170,7 @@ class WC_Stripe_Admin_Notices {
|
|
169 |
$this->add_admin_notice( 'curl', 'notice notice-warning', __( 'WooCommerce Stripe - cURL is not installed.', 'woocommerce-gateway-stripe' ), true );
|
170 |
}
|
171 |
}
|
|
|
172 |
|
173 |
if ( empty( $show_keys_notice ) ) {
|
174 |
$secret = WC_Stripe_API::get_secret_key();
|
@@ -240,6 +242,26 @@ class WC_Stripe_Admin_Notices {
|
|
240 |
$this->add_admin_notice( $method, 'notice notice-error', sprintf( __( '%1$s is enabled - it requires store currency to be set to %2$s', 'woocommerce-gateway-stripe' ), $method, implode( ', ', $gateway->get_supported_currency() ) ), true );
|
241 |
}
|
242 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
}
|
244 |
|
245 |
/**
|
@@ -314,6 +336,12 @@ class WC_Stripe_Admin_Notices {
|
|
314 |
break;
|
315 |
case 'changed_keys':
|
316 |
update_option( 'wc_stripe_show_changed_keys_notice', 'no' );
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
}
|
318 |
}
|
319 |
}
|
145 |
return;
|
146 |
}
|
147 |
|
148 |
+
// @codeCoverageIgnoreStart
|
149 |
if ( empty( $show_phpver_notice ) ) {
|
150 |
if ( version_compare( phpversion(), WC_STRIPE_MIN_PHP_VER, '<' ) ) {
|
151 |
/* translators: 1) int version 2) int version */
|
170 |
$this->add_admin_notice( 'curl', 'notice notice-warning', __( 'WooCommerce Stripe - cURL is not installed.', 'woocommerce-gateway-stripe' ), true );
|
171 |
}
|
172 |
}
|
173 |
+
// @codeCoverageIgnoreEnd
|
174 |
|
175 |
if ( empty( $show_keys_notice ) ) {
|
176 |
$secret = WC_Stripe_API::get_secret_key();
|
242 |
$this->add_admin_notice( $method, 'notice notice-error', sprintf( __( '%1$s is enabled - it requires store currency to be set to %2$s', 'woocommerce-gateway-stripe' ), $method, implode( ', ', $gateway->get_supported_currency() ) ), true );
|
243 |
}
|
244 |
}
|
245 |
+
|
246 |
+
if ( ! WC_Stripe_Feature_Flags::is_upe_preview_enabled() || ! WC_Stripe_Feature_Flags::is_upe_checkout_enabled() ) {
|
247 |
+
return;
|
248 |
+
}
|
249 |
+
|
250 |
+
foreach ( WC_Stripe_UPE_Payment_Gateway::UPE_AVAILABLE_METHODS as $method_class ) {
|
251 |
+
if ( WC_Stripe_UPE_Payment_Method_CC::class === $method_class ) {
|
252 |
+
continue;
|
253 |
+
}
|
254 |
+
$method = $method_class::STRIPE_ID;
|
255 |
+
$show_notice = get_option( 'wc_stripe_show_' . strtolower( $method ) . '_upe_notice' );
|
256 |
+
$upe_method = new $method_class( null );
|
257 |
+
if ( ! $upe_method->is_enabled() || 'no' === $show_notice ) {
|
258 |
+
continue;
|
259 |
+
}
|
260 |
+
if ( ! in_array( get_woocommerce_currency(), $upe_method->get_supported_currencies() ) ) {
|
261 |
+
/* translators: %1$s Payment method, %2$s List of supported currencies */
|
262 |
+
$this->add_admin_notice( $method . '_upe', 'notice notice-error', sprintf( __( '%1$s is enabled - it requires store currency to be set to %2$s', 'woocommerce-gateway-stripe' ), $method, implode( ', ', $upe_method->get_supported_currencies() ) ), true );
|
263 |
+
}
|
264 |
+
}
|
265 |
}
|
266 |
|
267 |
/**
|
336 |
break;
|
337 |
case 'changed_keys':
|
338 |
update_option( 'wc_stripe_show_changed_keys_notice', 'no' );
|
339 |
+
break;
|
340 |
+
default:
|
341 |
+
if ( false !== strpos( $notice, '_upe' ) ) {
|
342 |
+
update_option( 'wc_stripe_show_' . $notice . '_notice', 'no' );
|
343 |
+
}
|
344 |
+
break;
|
345 |
}
|
346 |
}
|
347 |
}
|
includes/admin/class-wc-stripe-onboarding-controller.php
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
use Automattic\WooCommerce\Admin\PageController;
|
4 |
+
|
5 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
+
exit;
|
7 |
+
}
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Admin page for UPE onboarding wizard.
|
11 |
+
*
|
12 |
+
* @since 5.4.1
|
13 |
+
*/
|
14 |
+
class WC_Stripe_Onboarding_Controller {
|
15 |
+
public function __construct() {
|
16 |
+
add_action( 'admin_menu', [ $this, 'add_onboarding_wizard' ] );
|
17 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts' ] );
|
18 |
+
|
19 |
+
}
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Load admin scripts.
|
23 |
+
*/
|
24 |
+
public function admin_scripts() {
|
25 |
+
// Webpack generates an assets file containing a dependencies array for our built JS file.
|
26 |
+
$script_path = 'build/additional_methods_setup.js';
|
27 |
+
$script_asset_path = WC_STRIPE_PLUGIN_PATH . '/build/additional_methods_setup.asset.php';
|
28 |
+
$script_url = plugins_url( $script_path, WC_STRIPE_MAIN_FILE );
|
29 |
+
$script_asset = file_exists( $script_asset_path )
|
30 |
+
? require $script_asset_path
|
31 |
+
: [
|
32 |
+
'dependencies' => [],
|
33 |
+
'version' => WC_STRIPE_VERSION,
|
34 |
+
];
|
35 |
+
|
36 |
+
wp_register_script(
|
37 |
+
'wc_stripe_onboarding_wizard',
|
38 |
+
$script_url,
|
39 |
+
$script_asset['dependencies'],
|
40 |
+
$script_asset['version'],
|
41 |
+
true
|
42 |
+
);
|
43 |
+
|
44 |
+
wp_enqueue_script( 'wc_stripe_onboarding_wizard' );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Create an admin page without a side menu: wp-admin/admin.php?page=wc_stripe-onboarding_wizard
|
49 |
+
*/
|
50 |
+
public function add_onboarding_wizard() {
|
51 |
+
add_submenu_page(
|
52 |
+
null, // Hide this submenu from admin menu
|
53 |
+
__( 'Onboarding Wizard', 'woocommerce-gateway-stripe' ),
|
54 |
+
__( 'Onboarding Wizard', 'woocommerce-gateway-stripe' ),
|
55 |
+
'manage_woocommerce',
|
56 |
+
'wc_stripe-onboarding_wizard',
|
57 |
+
[ $this, 'render_onboarding_wizard' ]
|
58 |
+
);
|
59 |
+
|
60 |
+
// Connect PHP-powered admin page to wc-admin
|
61 |
+
wc_admin_connect_page(
|
62 |
+
[
|
63 |
+
'id' => 'wc-stripe-onboarding-wizard',
|
64 |
+
'screen_id' => 'admin_page_wc_stripe-onboarding_wizard',
|
65 |
+
'title' => __( 'Onboarding Wizard', 'woocommerce-gateway-stripe' ),
|
66 |
+
]
|
67 |
+
);
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Output a container for react app to mount on.
|
72 |
+
*/
|
73 |
+
public function render_onboarding_wizard() {
|
74 |
+
echo '<div class="wrap"><div id="wc-stripe-onboarding-wizard-container"></div></div>';
|
75 |
+
}
|
76 |
+
}
|
includes/admin/class-wc-stripe-settings-controller.php
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
4 |
+
exit;
|
5 |
+
}
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Controls whether we're on the settings page and enqueues the JS code.
|
9 |
+
*
|
10 |
+
* @since 5.4.1
|
11 |
+
*/
|
12 |
+
class WC_Stripe_Settings_Controller {
|
13 |
+
public function __construct() {
|
14 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts' ] );
|
15 |
+
add_action( 'wc_stripe_gateway_admin_options_wrapper', [ $this, 'admin_options' ] );
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Prints the admin options for the gateway.
|
20 |
+
* Remove this action once we're fully migrated to UPE and move the wrapper in the `admin_options` method of the UPE gateway.
|
21 |
+
*
|
22 |
+
* @param WC_Stripe_Payment_Gateway $gateway the Stripe gateway.
|
23 |
+
*/
|
24 |
+
public function admin_options( WC_Stripe_Payment_Gateway $gateway ) {
|
25 |
+
global $hide_save_button;
|
26 |
+
$hide_save_button = true;
|
27 |
+
echo '<h2>' . esc_html( $gateway->get_method_title() );
|
28 |
+
wc_back_link( __( 'Return to payments', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout' ) );
|
29 |
+
echo '</h2>';
|
30 |
+
echo '<div id="wc-stripe-account-settings-container"></div>';
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Load admin scripts.
|
35 |
+
*/
|
36 |
+
public function admin_scripts() {
|
37 |
+
if ( 'woocommerce_page_wc-settings' !== get_current_screen()->id ) {
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
|
41 |
+
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
42 |
+
|
43 |
+
if ( WC_Stripe_Feature_Flags::is_upe_settings_redesign_enabled() ) {
|
44 |
+
// Webpack generates an assets file containing a dependencies array for our built JS file.
|
45 |
+
$script_asset_path = WC_STRIPE_PLUGIN_PATH . '/build/upe_settings.asset.php';
|
46 |
+
$script_asset = file_exists( $script_asset_path )
|
47 |
+
? require $script_asset_path
|
48 |
+
: [
|
49 |
+
'dependencies' => [],
|
50 |
+
'version' => WC_STRIPE_VERSION,
|
51 |
+
];
|
52 |
+
|
53 |
+
wp_register_script(
|
54 |
+
'woocommerce_stripe_admin',
|
55 |
+
plugins_url( 'build/upe_settings.js', WC_STRIPE_MAIN_FILE ),
|
56 |
+
$script_asset['dependencies'],
|
57 |
+
$script_asset['version'],
|
58 |
+
true
|
59 |
+
);
|
60 |
+
wp_register_style(
|
61 |
+
'woocommerce_stripe_admin',
|
62 |
+
plugins_url( 'build/style-upe_settings.css', WC_STRIPE_MAIN_FILE ),
|
63 |
+
[ 'wc-components' ],
|
64 |
+
$script_asset['version']
|
65 |
+
);
|
66 |
+
wp_enqueue_style( 'woocommerce_stripe_admin' );
|
67 |
+
} else {
|
68 |
+
wp_register_script( 'woocommerce_stripe_admin', plugins_url( 'assets/js/stripe-admin' . $suffix . '.js', WC_STRIPE_MAIN_FILE ), [], WC_STRIPE_VERSION, true );
|
69 |
+
}
|
70 |
+
|
71 |
+
$params = [
|
72 |
+
'time' => time(),
|
73 |
+
'i18n_out_of_sync' => wp_kses(
|
74 |
+
__( '<strong>Warning:</strong> your site\'s time does not match the time on your browser and may be incorrect. Some payment methods depend on webhook verification and verifying webhooks with a signing secret depends on your site\'s time being correct, so please check your site\'s time before setting a webhook secret. You may need to contact your site\'s hosting provider to correct the site\'s time.', 'woocommerce-gateway-stripe' ),
|
75 |
+
[ 'strong' => [] ]
|
76 |
+
),
|
77 |
+
'is_upe_checkout_enabled' => WC_Stripe_Feature_Flags::is_upe_checkout_enabled(),
|
78 |
+
];
|
79 |
+
wp_localize_script( 'woocommerce_stripe_admin', 'wc_stripe_settings_params', $params );
|
80 |
+
|
81 |
+
wp_enqueue_script( 'woocommerce_stripe_admin' );
|
82 |
+
}
|
83 |
+
}
|
includes/admin/class-wc-stripe-upe-compatibility-controller.php
ADDED
@@ -0,0 +1,178 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
4 |
+
exit;
|
5 |
+
}
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Controls the UPE compatibility before we release UPE - adds some notices for the merchant if necessary.
|
9 |
+
*
|
10 |
+
* @since 5.5.0
|
11 |
+
*/
|
12 |
+
class WC_Stripe_UPE_Compatibility_Controller {
|
13 |
+
public function __construct() {
|
14 |
+
add_action( 'admin_notices', [ $this, 'add_compatibility_notice' ] );
|
15 |
+
add_action( 'admin_init', [ $this, 'add_inbox_note' ] );
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* I created this as a separate method, so it can be mocked in unit tests.
|
20 |
+
*
|
21 |
+
* @retun string
|
22 |
+
*/
|
23 |
+
public function get_wc_version() {
|
24 |
+
return WC_VERSION;
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Adds an inbox note to alert merchants of the upcoming UPE compatibility change.
|
29 |
+
*/
|
30 |
+
public function add_inbox_note() {
|
31 |
+
// no need to display the admin inbox note when the new settings are already active.
|
32 |
+
// please delete this code once the new settings are launched.
|
33 |
+
if ( WC_Stripe_Feature_Flags::is_upe_settings_redesign_enabled() ) {
|
34 |
+
return;
|
35 |
+
}
|
36 |
+
|
37 |
+
// admin notes are not supported on older versions of WooCommerce.
|
38 |
+
if ( version_compare( $this->get_wc_version(), '4.4.0', '>=' ) ) {
|
39 |
+
require_once WC_STRIPE_PLUGIN_PATH . '/includes/notes/class-wc-stripe-upe-compatibility-note.php';
|
40 |
+
WC_Stripe_UPE_Compatibility_Note::init();
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Adds a compatibility notice in the `wp-admin` area in case the version of WooCommerce or WordPress are (or will be) not supported.
|
46 |
+
*/
|
47 |
+
public function add_compatibility_notice() {
|
48 |
+
/*
|
49 |
+
* The following might be hard to read, but here's what I'm trying to do:
|
50 |
+
* - If WP and WC are both supported -> nothing to do
|
51 |
+
* - If WC is not supported -> construct message saying "Stripe requires WooCommerce 5.4 or greater to be installed and active. Your version of WooCommerce [X.X] is no longer be supported"
|
52 |
+
* - If WP is not supported -> construct message saying "Stripe requires WordPress 5.6 or greater. Your version of WordPress [X.X] is no longer be supported"
|
53 |
+
* - If WC & WP are both not supported -> construct message saying "Stripe requires WordPress 5.6 or greater and WooCommerce 5.4 or greater to be installed and active. Your versions of WordPress [X.X] and WooCommerce [X.X] are no longer be supported"
|
54 |
+
*/
|
55 |
+
$unsatisfied_requirements = array_filter(
|
56 |
+
[
|
57 |
+
[
|
58 |
+
'name' => 'WordPress',
|
59 |
+
'version' => get_bloginfo( 'version' ),
|
60 |
+
'is_supported' => WC_Stripe_UPE_Compatibility::is_wp_supported(),
|
61 |
+
/* translators: %s. WordPress version installed. */
|
62 |
+
'message' => sprintf( __( 'WordPress %s or greater', 'woocommerce-gateway-stripe' ), WC_Stripe_UPE_Compatibility::MIN_WP_VERSION ),
|
63 |
+
],
|
64 |
+
[
|
65 |
+
'name' => 'WooCommerce',
|
66 |
+
'version' => $this->get_wc_version(),
|
67 |
+
'is_supported' => version_compare( $this->get_wc_version(), WC_Stripe_UPE_Compatibility::MIN_WC_VERSION, '>=' ),
|
68 |
+
'message' => sprintf(
|
69 |
+
/* translators: %s. WooCommerce version installed. */
|
70 |
+
__(
|
71 |
+
'WooCommerce %s or greater to be installed and active',
|
72 |
+
'woocommerce-gateway-stripe'
|
73 |
+
),
|
74 |
+
WC_Stripe_UPE_Compatibility::MIN_WC_VERSION
|
75 |
+
),
|
76 |
+
],
|
77 |
+
],
|
78 |
+
function ( $requirement ) {
|
79 |
+
return ! $requirement['is_supported'];
|
80 |
+
}
|
81 |
+
);
|
82 |
+
|
83 |
+
if ( count( $unsatisfied_requirements ) === 0 ) {
|
84 |
+
return;
|
85 |
+
}
|
86 |
+
|
87 |
+
if ( WC_Stripe_Feature_Flags::is_upe_settings_redesign_enabled() ) {
|
88 |
+
$this->show_current_compatibility_notice( $unsatisfied_requirements );
|
89 |
+
|
90 |
+
return;
|
91 |
+
}
|
92 |
+
|
93 |
+
$this->show_upe_settings_compatibility_notice( $unsatisfied_requirements );
|
94 |
+
}
|
95 |
+
|
96 |
+
private function get_installed_versions_message( $unsatisfied_requirements ) {
|
97 |
+
return join(
|
98 |
+
__( ' and ', 'woocommerce-gateway-stripe' ),
|
99 |
+
array_map(
|
100 |
+
function ( $requirement ) {
|
101 |
+
return $requirement['name'] . ' ' . $requirement['version'];
|
102 |
+
},
|
103 |
+
$unsatisfied_requirements
|
104 |
+
)
|
105 |
+
);
|
106 |
+
}
|
107 |
+
|
108 |
+
private function get_unsatisfied_requirements_message( $unsatisfied_requirements ) {
|
109 |
+
return join(
|
110 |
+
__( ' and ', 'woocommerce-gateway-stripe' ),
|
111 |
+
array_map(
|
112 |
+
function ( $requirement ) {
|
113 |
+
return $requirement['message'];
|
114 |
+
},
|
115 |
+
$unsatisfied_requirements
|
116 |
+
)
|
117 |
+
);
|
118 |
+
}
|
119 |
+
|
120 |
+
private function show_current_compatibility_notice( $unsatisfied_requirements ) {
|
121 |
+
/*
|
122 |
+
* The following might be hard to read, but here's what I'm trying to do:
|
123 |
+
* - If WP and WC are both supported -> nothing to do
|
124 |
+
* - If WC is not supported -> construct message saying "WooCommerce Stripe requires WooCommerce 5.4 or greater to be installed and active. Your version of WooCommerce [X.X] is no longer supported"
|
125 |
+
* - If WP is not supported -> construct message saying "WooCommerce Stripe requires WordPress 5.6 or greater. Your version of WordPress [X.X] is no longer supported"
|
126 |
+
* - If WC & WP are both not supported -> construct message saying "WooCommerce Stripe requires WordPress 5.6 or greater and WooCommerce 5.4 or greater to be installed and active. Your versions of WordPress [X.X] and WooCommerce [X.X] are no longer supported"
|
127 |
+
*/
|
128 |
+
$unsatisfied_requirements_message = $this->get_unsatisfied_requirements_message( $unsatisfied_requirements );
|
129 |
+
|
130 |
+
$unsatisfied_requirements_versions = $this->get_installed_versions_message( $unsatisfied_requirements );
|
131 |
+
|
132 |
+
echo '<div class="error"><p><strong>';
|
133 |
+
echo wp_kses_post(
|
134 |
+
sprintf(
|
135 |
+
/* translators: $1. Minimum WooCommerce and/or WordPress versions. $2. Current WooCommerce and/or versions. $3 Learn more link. */
|
136 |
+
_n(
|
137 |
+
'WooCommerce Stripe requires %1$s. Your version of %2$s is no longer supported.',
|
138 |
+
'WooCommerce Stripe requires %1$s. Your versions of %2$s are no longer supported.',
|
139 |
+
count( $unsatisfied_requirements ),
|
140 |
+
'woocommerce-gateway-stripe'
|
141 |
+
),
|
142 |
+
$unsatisfied_requirements_message,
|
143 |
+
$unsatisfied_requirements_versions
|
144 |
+
)
|
145 |
+
);
|
146 |
+
echo '</strong></p></div>';
|
147 |
+
}
|
148 |
+
|
149 |
+
private function show_upe_settings_compatibility_notice( $unsatisfied_requirements ) {
|
150 |
+
/*
|
151 |
+
* The following might be hard to read, but here's what I'm trying to do:
|
152 |
+
* - If WP and WC are both supported -> nothing to do
|
153 |
+
* - If WC is not supported -> construct message saying "Stripe will require WooCommerce 5.4 or greater to be installed and active. Your version of WooCommerce [X.X] will no longer be supported"
|
154 |
+
* - If WP is not supported -> construct message saying "Stripe will require WordPress 5.6 or greater. Your version of WordPress [X.X] will no longer be supported"
|
155 |
+
* - If WC & WP are both not supported -> construct message saying "Stripe will require WordPress 5.6 or greater and WooCommerce 5.4 or greater to be installed and active. Your versions of WordPress [X.X] and WooCommerce [X.X] will no longer be supported"
|
156 |
+
*/
|
157 |
+
$unsatisfied_requirements_message = $this->get_unsatisfied_requirements_message( $unsatisfied_requirements );
|
158 |
+
|
159 |
+
$unsatisfied_requirements_versions = $this->get_installed_versions_message( $unsatisfied_requirements );
|
160 |
+
|
161 |
+
echo '<div class="error"><p><strong>';
|
162 |
+
echo wp_kses_post(
|
163 |
+
sprintf(
|
164 |
+
/* translators: $1. Minimum WooCommerce and/or WordPress versions. $2. Current WooCommerce and/or versions. $3 Learn more link. */
|
165 |
+
_n(
|
166 |
+
'Starting with version 5.6.0, Stripe will require %1$s. Your version of %2$s will no longer be supported. <a href="%3$s" target="_blank">Learn more here</a>.',
|
167 |
+
'Starting with version 5.6.0, Stripe will require %1$s. Your versions of %2$s will no longer be supported. <a href="%3$s" target="_blank">Learn more here</a>.',
|
168 |
+
count( $unsatisfied_requirements ),
|
169 |
+
'woocommerce-gateway-stripe'
|
170 |
+
),
|
171 |
+
$unsatisfied_requirements_message,
|
172 |
+
$unsatisfied_requirements_versions,
|
173 |
+
WC_Stripe_UPE_Compatibility::LEARN_MORE_LINK
|
174 |
+
)
|
175 |
+
);
|
176 |
+
echo '</strong></p></div>';
|
177 |
+
}
|
178 |
+
}
|
includes/admin/stripe-settings.php
CHANGED
@@ -3,7 +3,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
3 |
exit;
|
4 |
}
|
5 |
|
6 |
-
|
7 |
'wc_stripe_settings',
|
8 |
[
|
9 |
'enabled' => [
|
@@ -28,8 +28,8 @@ return apply_filters(
|
|
28 |
'desc_tip' => true,
|
29 |
],
|
30 |
'api_credentials' => [
|
31 |
-
'title'
|
32 |
-
'type'
|
33 |
],
|
34 |
'testmode' => [
|
35 |
'title' => __( 'Test mode', 'woocommerce-gateway-stripe' ),
|
@@ -180,6 +180,22 @@ return apply_filters(
|
|
180 |
'long' => __( 'Text and logo', 'woocommerce-gateway-stripe' ),
|
181 |
],
|
182 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
'saved_cards' => [
|
184 |
'title' => __( 'Saved Cards', 'woocommerce-gateway-stripe' ),
|
185 |
'label' => __( 'Enable Payment via Saved Cards', 'woocommerce-gateway-stripe' ),
|
@@ -198,3 +214,33 @@ return apply_filters(
|
|
198 |
],
|
199 |
]
|
200 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
exit;
|
4 |
}
|
5 |
|
6 |
+
$stripe_settings = apply_filters(
|
7 |
'wc_stripe_settings',
|
8 |
[
|
9 |
'enabled' => [
|
28 |
'desc_tip' => true,
|
29 |
],
|
30 |
'api_credentials' => [
|
31 |
+
'title' => __( 'Stripe Account Keys', 'woocommerce-gateway-stripe' ),
|
32 |
+
'type' => 'stripe_account_keys',
|
33 |
],
|
34 |
'testmode' => [
|
35 |
'title' => __( 'Test mode', 'woocommerce-gateway-stripe' ),
|
180 |
'long' => __( 'Text and logo', 'woocommerce-gateway-stripe' ),
|
181 |
],
|
182 |
],
|
183 |
+
'payment_request_button_locations' => [
|
184 |
+
'title' => __( 'Payment Request Button Locations', 'woocommerce-gateway-stripe' ),
|
185 |
+
'type' => 'multiselect',
|
186 |
+
'description' => __( 'Select where you would like Payment Request Buttons to be displayed', 'woocommerce-gateway-stripe' ),
|
187 |
+
'desc_tip' => true,
|
188 |
+
'class' => 'wc-enhanced-select',
|
189 |
+
'options' => [
|
190 |
+
'product' => __( 'Product', 'woocommerce-gateway-stripe' ),
|
191 |
+
'cart' => __( 'Cart', 'woocommerce-gateway-stripe' ),
|
192 |
+
'checkout' => __( 'Checkout', 'woocommerce-gateway-stripe' ),
|
193 |
+
],
|
194 |
+
'default' => [ 'product', 'cart' ],
|
195 |
+
'custom_attributes' => [
|
196 |
+
'data-placeholder' => __( 'Select pages', 'woocommerce-gateway-stripe' ),
|
197 |
+
],
|
198 |
+
],
|
199 |
'saved_cards' => [
|
200 |
'title' => __( 'Saved Cards', 'woocommerce-gateway-stripe' ),
|
201 |
'label' => __( 'Enable Payment via Saved Cards', 'woocommerce-gateway-stripe' ),
|
214 |
],
|
215 |
]
|
216 |
);
|
217 |
+
|
218 |
+
if ( WC_Stripe_Feature_Flags::is_upe_preview_enabled() ) {
|
219 |
+
$upe_settings = [
|
220 |
+
'upe_checkout_experience' => [
|
221 |
+
'title' => __( 'Checkout experience', 'woocommerce-gateway-stripe' ),
|
222 |
+
'type' => 'title',
|
223 |
+
],
|
224 |
+
WC_Stripe_Feature_Flags::UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME => [
|
225 |
+
'title' => __( 'Enable/Disable', 'woocommerce-gateway-stripe' ),
|
226 |
+
'label' => __( 'Enable new checkout experience', 'woocommerce-gateway-stripe' ),
|
227 |
+
'type' => 'checkbox',
|
228 |
+
'description' => __( 'If enabled, users will... TBD', 'woocommerce-gateway-stripe' ),
|
229 |
+
'default' => 'no',
|
230 |
+
'desc_tip' => true,
|
231 |
+
],
|
232 |
+
];
|
233 |
+
if ( WC_Stripe_Feature_Flags::is_upe_checkout_enabled() ) {
|
234 |
+
$upe_settings['upe_checkout_experience_accepted_payments'] = [
|
235 |
+
'type' => 'upe_checkout_experience_accepted_payments',
|
236 |
+
'default' => [ 'card' ],
|
237 |
+
];
|
238 |
+
}
|
239 |
+
// Insert UPE options below the 'description' setting.
|
240 |
+
$stripe_settings = array_merge( array_splice( $stripe_settings, 0, array_search( 'description', array_keys( $stripe_settings ), true ) + 1 ), $upe_settings, $stripe_settings );
|
241 |
+
}
|
242 |
+
|
243 |
+
return apply_filters(
|
244 |
+
'wc_stripe_settings',
|
245 |
+
$stripe_settings
|
246 |
+
);
|
includes/class-wc-gateway-stripe.php
CHANGED
@@ -9,6 +9,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
9 |
* @extends WC_Payment_Gateway
|
10 |
*/
|
11 |
class WC_Gateway_Stripe extends WC_Stripe_Payment_Gateway {
|
|
|
|
|
|
|
12 |
/**
|
13 |
* The delay between retries.
|
14 |
*
|
@@ -84,7 +87,7 @@ class WC_Gateway_Stripe extends WC_Stripe_Payment_Gateway {
|
|
84 |
*/
|
85 |
public function __construct() {
|
86 |
$this->retry_interval = 1;
|
87 |
-
$this->id =
|
88 |
$this->method_title = __( 'Stripe', 'woocommerce-gateway-stripe' );
|
89 |
/* translators: 1) link to Stripe register page 2) link to Stripe api keys page */
|
90 |
$this->method_description = __( 'Stripe works by adding payment fields on the checkout and then sending the details to Stripe for verification.', 'woocommerce-gateway-stripe' );
|
@@ -130,7 +133,6 @@ class WC_Gateway_Stripe extends WC_Stripe_Payment_Gateway {
|
|
130 |
|
131 |
// Hooks.
|
132 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
133 |
-
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts' ] );
|
134 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
135 |
add_action( 'woocommerce_admin_order_totals_after_total', [ $this, 'display_order_fee' ] );
|
136 |
add_action( 'woocommerce_admin_order_totals_after_total', [ $this, 'display_order_payout' ], 20 );
|
@@ -334,30 +336,16 @@ class WC_Gateway_Stripe extends WC_Stripe_Payment_Gateway {
|
|
334 |
}
|
335 |
|
336 |
/**
|
337 |
-
*
|
338 |
-
*
|
339 |
-
* @since 3.1.0
|
340 |
-
* @version 3.1.0
|
341 |
*/
|
342 |
-
public function
|
343 |
-
if (
|
|
|
|
|
344 |
return;
|
345 |
}
|
346 |
|
347 |
-
|
348 |
-
|
349 |
-
wp_register_script( 'woocommerce_stripe_admin', plugins_url( 'assets/js/stripe-admin' . $suffix . '.js', WC_STRIPE_MAIN_FILE ), [], WC_STRIPE_VERSION, true );
|
350 |
-
|
351 |
-
$params = [
|
352 |
-
'time' => time(),
|
353 |
-
'i18n_out_of_sync' => wp_kses(
|
354 |
-
__( '<strong>Warning:</strong> your site\'s time does not match the time on your browser and may be incorrect. Some payment methods depend on webhook verification and verifying webhooks with a signing secret depends on your site\'s time being correct, so please check your site\'s time before setting a webhook secret. You may need to contact your site\'s hosting provider to correct the site\'s time.', 'woocommerce-gateway-stripe' ),
|
355 |
-
[ 'strong' => [] ]
|
356 |
-
),
|
357 |
-
];
|
358 |
-
wp_localize_script( 'woocommerce_stripe_admin', 'wc_stripe_settings_params', $params );
|
359 |
-
|
360 |
-
wp_enqueue_script( 'woocommerce_stripe_admin' );
|
361 |
}
|
362 |
|
363 |
/**
|
@@ -683,6 +671,7 @@ class WC_Gateway_Stripe extends WC_Stripe_Payment_Gateway {
|
|
683 |
'result' => 'success',
|
684 |
'redirect' => $this->get_return_url( $order ),
|
685 |
'payment_intent_secret' => $intent->client_secret,
|
|
|
686 |
];
|
687 |
}
|
688 |
}
|
9 |
* @extends WC_Payment_Gateway
|
10 |
*/
|
11 |
class WC_Gateway_Stripe extends WC_Stripe_Payment_Gateway {
|
12 |
+
|
13 |
+
const ID = 'stripe';
|
14 |
+
|
15 |
/**
|
16 |
* The delay between retries.
|
17 |
*
|
87 |
*/
|
88 |
public function __construct() {
|
89 |
$this->retry_interval = 1;
|
90 |
+
$this->id = self::ID;
|
91 |
$this->method_title = __( 'Stripe', 'woocommerce-gateway-stripe' );
|
92 |
/* translators: 1) link to Stripe register page 2) link to Stripe api keys page */
|
93 |
$this->method_description = __( 'Stripe works by adding payment fields on the checkout and then sending the details to Stripe for verification.', 'woocommerce-gateway-stripe' );
|
133 |
|
134 |
// Hooks.
|
135 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
|
|
136 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
137 |
add_action( 'woocommerce_admin_order_totals_after_total', [ $this, 'display_order_fee' ] );
|
138 |
add_action( 'woocommerce_admin_order_totals_after_total', [ $this, 'display_order_payout' ], 20 );
|
336 |
}
|
337 |
|
338 |
/**
|
339 |
+
* Maybe override the parent admin_options method.
|
|
|
|
|
|
|
340 |
*/
|
341 |
+
public function admin_options() {
|
342 |
+
if ( ! WC_Stripe_Feature_Flags::is_upe_settings_redesign_enabled() ) {
|
343 |
+
parent::admin_options();
|
344 |
+
|
345 |
return;
|
346 |
}
|
347 |
|
348 |
+
do_action( 'wc_stripe_gateway_admin_options_wrapper', $this );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
349 |
}
|
350 |
|
351 |
/**
|
671 |
'result' => 'success',
|
672 |
'redirect' => $this->get_return_url( $order ),
|
673 |
'payment_intent_secret' => $intent->client_secret,
|
674 |
+
'save_payment_method' => $this->save_payment_method_requested(),
|
675 |
];
|
676 |
}
|
677 |
}
|
includes/class-wc-stripe-blocks-support.php
CHANGED
@@ -129,23 +129,18 @@ final class WC_Stripe_Blocks_Support extends AbstractPaymentMethodType {
|
|
129 |
// TODO: Remove the `function_exists()` check once the minimum WP version has been bumped
|
130 |
// to version 5.0.
|
131 |
if ( function_exists( 'has_block' ) ) {
|
132 |
-
global $post;
|
133 |
-
|
134 |
// Don't show if PRBs are supposed to be hidden on the cart page.
|
135 |
-
// Note: The cart block has the PRB enabled by default.
|
136 |
if (
|
137 |
has_block( 'woocommerce/cart' )
|
138 |
-
&& !
|
139 |
) {
|
140 |
return false;
|
141 |
}
|
142 |
|
143 |
// Don't show if PRBs are supposed to be hidden on the checkout page.
|
144 |
-
// Note: The checkout block has the PRB enabled by default. This differs from the shortcode
|
145 |
-
// checkout where the PRB is disabled by default.
|
146 |
if (
|
147 |
has_block( 'woocommerce/checkout' )
|
148 |
-
&& !
|
149 |
) {
|
150 |
return false;
|
151 |
}
|
@@ -308,8 +303,8 @@ final class WC_Stripe_Blocks_Support extends AbstractPaymentMethodType {
|
|
308 |
|| ! empty( $result->payment_details['setup_intent_secret'] )
|
309 |
)
|
310 |
) {
|
311 |
-
$payment_details
|
312 |
-
$
|
313 |
[
|
314 |
'order' => $context->order->get_id(),
|
315 |
'nonce' => wp_create_nonce( 'wc_stripe_confirm_pi' ),
|
@@ -317,6 +312,15 @@ final class WC_Stripe_Blocks_Support extends AbstractPaymentMethodType {
|
|
317 |
],
|
318 |
home_url() . \WC_Ajax::get_endpoint( 'wc_stripe_verify_intent' )
|
319 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
320 |
$result->set_payment_details( $payment_details );
|
321 |
$result->set_status( 'success' );
|
322 |
}
|
129 |
// TODO: Remove the `function_exists()` check once the minimum WP version has been bumped
|
130 |
// to version 5.0.
|
131 |
if ( function_exists( 'has_block' ) ) {
|
|
|
|
|
132 |
// Don't show if PRBs are supposed to be hidden on the cart page.
|
|
|
133 |
if (
|
134 |
has_block( 'woocommerce/cart' )
|
135 |
+
&& ! $this->payment_request_configuration->should_show_prb_on_cart_page()
|
136 |
) {
|
137 |
return false;
|
138 |
}
|
139 |
|
140 |
// Don't show if PRBs are supposed to be hidden on the checkout page.
|
|
|
|
|
141 |
if (
|
142 |
has_block( 'woocommerce/checkout' )
|
143 |
+
&& ! $this->payment_request_configuration->should_show_prb_on_checkout_page()
|
144 |
) {
|
145 |
return false;
|
146 |
}
|
303 |
|| ! empty( $result->payment_details['setup_intent_secret'] )
|
304 |
)
|
305 |
) {
|
306 |
+
$payment_details = $result->payment_details;
|
307 |
+
$verification_endpoint = add_query_arg(
|
308 |
[
|
309 |
'order' => $context->order->get_id(),
|
310 |
'nonce' => wp_create_nonce( 'wc_stripe_confirm_pi' ),
|
312 |
],
|
313 |
home_url() . \WC_Ajax::get_endpoint( 'wc_stripe_verify_intent' )
|
314 |
);
|
315 |
+
|
316 |
+
if ( ! empty( $payment_details['save_payment_method'] ) ) {
|
317 |
+
$verification_endpoint = add_query_arg(
|
318 |
+
[ 'save_payment_method' => true ],
|
319 |
+
$verification_endpoint
|
320 |
+
);
|
321 |
+
}
|
322 |
+
|
323 |
+
$payment_details['verification_endpoint'] = $verification_endpoint;
|
324 |
$result->set_payment_details( $payment_details );
|
325 |
$result->set_status( 'success' );
|
326 |
}
|
includes/class-wc-stripe-feature-flags.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
class WC_Stripe_Feature_Flags {
|
7 |
+
const UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME = 'upe_checkout_experience_enabled';
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Checks whether UPE "preview" feature flag is enabled.
|
11 |
+
* This allows the merchant to enable/disable UPE checkout.
|
12 |
+
*
|
13 |
+
* @return bool
|
14 |
+
*/
|
15 |
+
public static function is_upe_preview_enabled() {
|
16 |
+
return 'yes' === get_option( '_wcstripe_feature_upe', 'no' ) || self::is_upe_settings_redesign_enabled();
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Checks whether UPE is enabled.
|
21 |
+
*
|
22 |
+
* @return bool
|
23 |
+
*/
|
24 |
+
public static function is_upe_checkout_enabled() {
|
25 |
+
$stripe_settings = get_option( 'woocommerce_stripe_settings', null );
|
26 |
+
return ! empty( $stripe_settings[ self::UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME ] ) && 'yes' === $stripe_settings[ self::UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME ];
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Checks whether the feature flag used for the new settings + UPE is enabled.
|
31 |
+
*
|
32 |
+
* @return bool
|
33 |
+
*/
|
34 |
+
public static function is_upe_settings_redesign_enabled() {
|
35 |
+
return 'yes' === get_option( '_wcstripe_feature_upe_settings', 'no' );
|
36 |
+
}
|
37 |
+
}
|
includes/class-wc-stripe-intent-controller.php
CHANGED
@@ -25,6 +25,12 @@ class WC_Stripe_Intent_Controller {
|
|
25 |
public function __construct() {
|
26 |
add_action( 'wc_ajax_wc_stripe_verify_intent', [ $this, 'verify_intent' ] );
|
27 |
add_action( 'wc_ajax_wc_stripe_create_setup_intent', [ $this, 'create_setup_intent' ] );
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
}
|
29 |
|
30 |
/**
|
@@ -254,6 +260,110 @@ class WC_Stripe_Intent_Controller {
|
|
254 |
echo wp_json_encode( $response );
|
255 |
exit;
|
256 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
}
|
258 |
|
259 |
new WC_Stripe_Intent_Controller();
|
25 |
public function __construct() {
|
26 |
add_action( 'wc_ajax_wc_stripe_verify_intent', [ $this, 'verify_intent' ] );
|
27 |
add_action( 'wc_ajax_wc_stripe_create_setup_intent', [ $this, 'create_setup_intent' ] );
|
28 |
+
|
29 |
+
add_action( 'wc_ajax_wc_stripe_create_payment_intent', [ $this, 'create_payment_intent_ajax' ] );
|
30 |
+
|
31 |
+
add_action( 'wc_ajax_wc_stripe_save_upe_appearance', [ $this, 'save_upe_appearance_ajax' ] );
|
32 |
+
add_action( 'wc_ajax_nopriv_wc_stripe_save_upe_appearance', [ $this, 'save_upe_appearance_ajax' ] );
|
33 |
+
add_action( 'switch_theme', [ $this, 'clear_upe_appearance_transient' ] );
|
34 |
}
|
35 |
|
36 |
/**
|
260 |
echo wp_json_encode( $response );
|
261 |
exit;
|
262 |
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* Handle AJAX request for creating a payment intent for Stripe UPE.
|
266 |
+
*
|
267 |
+
* @throws Process_Payment_Exception - If nonce or setup intent is invalid.
|
268 |
+
*/
|
269 |
+
public function create_payment_intent_ajax() {
|
270 |
+
try {
|
271 |
+
$is_nonce_valid = check_ajax_referer( '_wc_stripe_nonce', false, false );
|
272 |
+
if ( ! $is_nonce_valid ) {
|
273 |
+
throw new Exception( __( "We're not able to process this payment. Please refresh the page and try again.", 'woocommerce-gateway-stripe' ) );
|
274 |
+
}
|
275 |
+
|
276 |
+
// If paying from order, we need to get the total from the order instead of the cart.
|
277 |
+
$order_id = isset( $_POST['stripe_order_id'] ) ? absint( $_POST['stripe_order_id'] ) : null;
|
278 |
+
|
279 |
+
wp_send_json_success( $this->create_payment_intent( $order_id ), 200 );
|
280 |
+
} catch ( Exception $e ) {
|
281 |
+
WC_Stripe_Logger::log( 'Create payment intent error: ' . $e->getMessage() );
|
282 |
+
// Send back error so it can be displayed to the customer.
|
283 |
+
wp_send_json_error(
|
284 |
+
[
|
285 |
+
'error' => [
|
286 |
+
'message' => $e->getMessage(),
|
287 |
+
],
|
288 |
+
]
|
289 |
+
);
|
290 |
+
}
|
291 |
+
}
|
292 |
+
|
293 |
+
/**
|
294 |
+
* Creates payment intent using current cart or order and store details.
|
295 |
+
*
|
296 |
+
* @param {int} $order_id The id of the order if intent created from Order.
|
297 |
+
* @throws Exception - If the create intent call returns with an error.
|
298 |
+
* @return array
|
299 |
+
*/
|
300 |
+
public function create_payment_intent( $order_id = null ) {
|
301 |
+
$amount = WC()->cart->get_total( false );
|
302 |
+
$order = wc_get_order( $order_id );
|
303 |
+
if ( is_a( $order, 'WC_Order' ) ) {
|
304 |
+
$amount = $order->get_total();
|
305 |
+
}
|
306 |
+
|
307 |
+
$gateway = new WC_Stripe_UPE_Payment_Gateway();
|
308 |
+
|
309 |
+
$currency = get_woocommerce_currency();
|
310 |
+
$payment_intent = WC_Stripe_API::request(
|
311 |
+
[
|
312 |
+
'amount' => WC_Stripe_Helper::get_stripe_amount( $amount, strtolower( $currency ) ),
|
313 |
+
'currency' => strtolower( $currency ),
|
314 |
+
'payment_method_types' => $gateway->get_upe_enabled_payment_method_ids(),
|
315 |
+
],
|
316 |
+
'payment_intents'
|
317 |
+
);
|
318 |
+
|
319 |
+
if ( ! empty( $payment_intent->error ) ) {
|
320 |
+
throw new Exception( $payment_intent->error->message );
|
321 |
+
}
|
322 |
+
|
323 |
+
return [
|
324 |
+
'id' => $payment_intent->id,
|
325 |
+
'client_secret' => $payment_intent->client_secret,
|
326 |
+
];
|
327 |
+
}
|
328 |
+
|
329 |
+
/**
|
330 |
+
* Handle AJAX request for saving UPE appearance value to transient.
|
331 |
+
*
|
332 |
+
* @throws Exception - If nonce or setup intent is invalid.
|
333 |
+
*/
|
334 |
+
public function save_upe_appearance_ajax() {
|
335 |
+
try {
|
336 |
+
$is_nonce_valid = check_ajax_referer( '_wc_stripe_save_upe_appearance_nonce', false, false );
|
337 |
+
if ( ! $is_nonce_valid ) {
|
338 |
+
throw new Exception(
|
339 |
+
__( 'Unable to update UPE appearance values at this time.', 'woocommerce-gateway-stripe' )
|
340 |
+
);
|
341 |
+
}
|
342 |
+
|
343 |
+
$appearance = isset( $_POST['appearance'] ) ? wc_clean( wp_unslash( $_POST['appearance'] ) ) : null;
|
344 |
+
if ( null !== $appearance ) {
|
345 |
+
set_transient( WC_Stripe_UPE_Payment_Gateway::UPE_APPEARANCE_TRANSIENT, $appearance, DAY_IN_SECONDS );
|
346 |
+
}
|
347 |
+
wp_send_json_success( $appearance, 200 );
|
348 |
+
} catch ( Exception $e ) {
|
349 |
+
// Send back error so it can be displayed to the customer.
|
350 |
+
wp_send_json_error(
|
351 |
+
[
|
352 |
+
'error' => [
|
353 |
+
'message' => $e->getMessage(),
|
354 |
+
],
|
355 |
+
]
|
356 |
+
);
|
357 |
+
}
|
358 |
+
}
|
359 |
+
|
360 |
+
/**
|
361 |
+
* Clear the saved UPE appearance transient value.
|
362 |
+
*/
|
363 |
+
public function clear_upe_appearance_transient() {
|
364 |
+
delete_transient( WC_Stripe_UPE_Payment_Gateway::UPE_APPEARANCE_TRANSIENT );
|
365 |
+
}
|
366 |
+
|
367 |
}
|
368 |
|
369 |
new WC_Stripe_Intent_Controller();
|
includes/class-wc-stripe-order-handler.php
CHANGED
@@ -29,6 +29,8 @@ class WC_Stripe_Order_Handler extends WC_Stripe_Payment_Gateway {
|
|
29 |
add_action( 'woocommerce_order_status_cancelled', [ $this, 'cancel_payment' ] );
|
30 |
add_action( 'woocommerce_order_status_refunded', [ $this, 'cancel_payment' ] );
|
31 |
add_filter( 'woocommerce_tracks_event_properties', [ $this, 'woocommerce_tracks_event_properties' ], 10, 2 );
|
|
|
|
|
32 |
}
|
33 |
|
34 |
/**
|
@@ -376,6 +378,47 @@ class WC_Stripe_Order_Handler extends WC_Stripe_Payment_Gateway {
|
|
376 |
|
377 |
return $properties;
|
378 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
379 |
}
|
380 |
|
381 |
new WC_Stripe_Order_Handler();
|
29 |
add_action( 'woocommerce_order_status_cancelled', [ $this, 'cancel_payment' ] );
|
30 |
add_action( 'woocommerce_order_status_refunded', [ $this, 'cancel_payment' ] );
|
31 |
add_filter( 'woocommerce_tracks_event_properties', [ $this, 'woocommerce_tracks_event_properties' ], 10, 2 );
|
32 |
+
|
33 |
+
add_action( 'wp', [ $this, 'maybe_process_upe_redirect' ] );
|
34 |
}
|
35 |
|
36 |
/**
|
378 |
|
379 |
return $properties;
|
380 |
}
|
381 |
+
|
382 |
+
/**
|
383 |
+
* Check for a UPE redirect payment method on order received page or setup intent on payment methods page.
|
384 |
+
*
|
385 |
+
* @since 5.5.0
|
386 |
+
* @version 5.5.0
|
387 |
+
*/
|
388 |
+
public function maybe_process_upe_redirect() {
|
389 |
+
if ( ! is_order_received_page() ) {
|
390 |
+
return;
|
391 |
+
}
|
392 |
+
|
393 |
+
$payment_method = isset( $_GET['wc_payment_method'] ) ? wc_clean( wp_unslash( $_GET['wc_payment_method'] ) ) : '';
|
394 |
+
if ( WC_Stripe_UPE_Payment_Gateway::ID !== $payment_method ) {
|
395 |
+
return;
|
396 |
+
}
|
397 |
+
|
398 |
+
$is_nonce_valid = check_admin_referer( 'wcpay_process_redirect_order_nonce' );
|
399 |
+
if ( ! $is_nonce_valid || empty( $_GET['wc_payment_method'] ) ) {
|
400 |
+
return;
|
401 |
+
}
|
402 |
+
|
403 |
+
if ( ! empty( $_GET['payment_intent_client_secret'] ) ) {
|
404 |
+
$intent_id = isset( $_GET['payment_intent'] ) ? wc_clean( wp_unslash( $_GET['payment_intent'] ) ) : '';
|
405 |
+
} elseif ( ! empty( $_GET['setup_intent_client_secret'] ) ) {
|
406 |
+
$intent_id = isset( $_GET['setup_intent'] ) ? wc_clean( wp_unslash( $_GET['setup_intent'] ) ) : '';
|
407 |
+
} else {
|
408 |
+
return;
|
409 |
+
}
|
410 |
+
|
411 |
+
$order_id = isset( $_GET['order_id'] ) ? wc_clean( wp_unslash( $_GET['order_id'] ) ) : '';
|
412 |
+
$save_payment_method = isset( $_GET['save_payment_method'] ) ? 'yes' === wc_clean( wp_unslash( $_GET['save_payment_method'] ) ) : false;
|
413 |
+
|
414 |
+
if ( empty( $intent_id ) || empty( $order_id ) ) {
|
415 |
+
return;
|
416 |
+
}
|
417 |
+
|
418 |
+
$gateway = new WC_Stripe_UPE_Payment_Gateway();
|
419 |
+
$gateway->process_upe_redirect_payment( $order_id, $intent_id, $save_payment_method );
|
420 |
+
}
|
421 |
+
|
422 |
}
|
423 |
|
424 |
new WC_Stripe_Order_Handler();
|
includes/class-wc-stripe-upe-compatibility.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
class WC_Stripe_UPE_Compatibility {
|
7 |
+
const MIN_WP_VERSION = '5.6';
|
8 |
+
const MIN_WC_VERSION = '5.5';
|
9 |
+
const LEARN_MORE_LINK = 'https://developer.woocommerce.com/2021/08/26/developer-advisory-woocommerce-stripe-support-policy-change/';
|
10 |
+
|
11 |
+
public static function is_wp_supported() {
|
12 |
+
return version_compare( get_bloginfo( 'version' ), self::MIN_WP_VERSION, '>=' );
|
13 |
+
}
|
14 |
+
|
15 |
+
public static function is_wc_supported() {
|
16 |
+
return version_compare( WC_VERSION, self::MIN_WC_VERSION, '>=' );
|
17 |
+
}
|
18 |
+
}
|
includes/notes/class-wc-stripe-upe-compatibility-note.php
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Display a notice to merchants to inform them that WC Stripe will no longer support older versions of WooCommerce.
|
4 |
+
*
|
5 |
+
* @package WooCommerce\Payments\Admin
|
6 |
+
*/
|
7 |
+
|
8 |
+
use Automattic\WooCommerce\Admin\Notes\NoteTraits;
|
9 |
+
use Automattic\WooCommerce\Admin\Notes\Note;
|
10 |
+
use Automattic\WooCommerce\Admin\Notes\WC_Admin_Note;
|
11 |
+
|
12 |
+
defined( 'ABSPATH' ) || exit;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Class WC_Stripe_UPE_Compatibility_Note
|
16 |
+
*/
|
17 |
+
class WC_Stripe_UPE_Compatibility_Note {
|
18 |
+
use NoteTraits;
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Name of the note for use in the database.
|
22 |
+
*/
|
23 |
+
const NOTE_NAME = 'wc-stripe-upe-wc-compatibility-note';
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Get the note.
|
27 |
+
*/
|
28 |
+
public static function get_note() {
|
29 |
+
$note_class = self::get_note_class();
|
30 |
+
$note = new $note_class();
|
31 |
+
|
32 |
+
$note->set_title( __( 'Important compatibility information about WooCommerce Stripe', 'woocommerce-gateway-stripe' ) );
|
33 |
+
/* translators: $1 WordPress version installed. $2 WooCommerce version installed. */
|
34 |
+
$note->set_content( sprintf( __( 'Starting with version 5.6.0, WooCommerce Stripe will require WordPress %1$s or greater and WooCommerce %2$s or greater to be installed and active.', 'woocommerce-gateway-stripe' ), WC_Stripe_UPE_Compatibility::MIN_WP_VERSION, WC_Stripe_UPE_Compatibility::MIN_WC_VERSION ) );
|
35 |
+
$note->set_type( $note_class::E_WC_ADMIN_NOTE_WARNING );
|
36 |
+
$note->set_name( self::NOTE_NAME );
|
37 |
+
$note->set_source( 'woocommerce-gateway-stripe' );
|
38 |
+
$note->add_action(
|
39 |
+
self::NOTE_NAME,
|
40 |
+
__( 'Learn more', 'woocommerce-gateway-stripe' ),
|
41 |
+
WC_Stripe_UPE_Compatibility::LEARN_MORE_LINK,
|
42 |
+
$note_class::E_WC_ADMIN_NOTE_UNACTIONED,
|
43 |
+
true
|
44 |
+
);
|
45 |
+
|
46 |
+
return $note;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Get the class type to be used for the note.
|
51 |
+
*
|
52 |
+
* @return string
|
53 |
+
*/
|
54 |
+
private static function get_note_class() {
|
55 |
+
if ( class_exists( 'Automattic\WooCommerce\Admin\Notes\Note' ) ) {
|
56 |
+
return Note::class;
|
57 |
+
} else {
|
58 |
+
return WC_Admin_Note::class;
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
public static function init() {
|
63 |
+
// if the note hasn't been added, add it
|
64 |
+
// if it has been added and the merchant has upgraded WC & WP, delete it
|
65 |
+
if ( ! WC_Stripe_UPE_Compatibility::is_wc_supported() || ! WC_Stripe_UPE_Compatibility::is_wp_supported() ) {
|
66 |
+
self::possibly_add_note();
|
67 |
+
} else {
|
68 |
+
self::possibly_delete_note();
|
69 |
+
}
|
70 |
+
}
|
71 |
+
}
|
includes/payment-methods/class-wc-gateway-stripe-alipay.php
CHANGED
@@ -11,6 +11,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
* @since 4.0.0
|
12 |
*/
|
13 |
class WC_Gateway_Stripe_Alipay extends WC_Stripe_Payment_Gateway {
|
|
|
|
|
|
|
14 |
/**
|
15 |
* Notices (array)
|
16 |
*
|
@@ -57,7 +60,7 @@ class WC_Gateway_Stripe_Alipay extends WC_Stripe_Payment_Gateway {
|
|
57 |
* Constructor
|
58 |
*/
|
59 |
public function __construct() {
|
60 |
-
$this->id =
|
61 |
$this->method_title = __( 'Stripe Alipay', 'woocommerce-gateway-stripe' );
|
62 |
/* translators: link */
|
63 |
$this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) );
|
@@ -88,6 +91,7 @@ class WC_Gateway_Stripe_Alipay extends WC_Stripe_Payment_Gateway {
|
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
|
|
91 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
92 |
}
|
93 |
|
11 |
* @since 4.0.0
|
12 |
*/
|
13 |
class WC_Gateway_Stripe_Alipay extends WC_Stripe_Payment_Gateway {
|
14 |
+
|
15 |
+
const ID = 'stripe_alipay';
|
16 |
+
|
17 |
/**
|
18 |
* Notices (array)
|
19 |
*
|
60 |
* Constructor
|
61 |
*/
|
62 |
public function __construct() {
|
63 |
+
$this->id = self::ID;
|
64 |
$this->method_title = __( 'Stripe Alipay', 'woocommerce-gateway-stripe' );
|
65 |
/* translators: link */
|
66 |
$this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) );
|
91 |
}
|
92 |
|
93 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
94 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts_for_banner' ] );
|
95 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
96 |
}
|
97 |
|
includes/payment-methods/class-wc-gateway-stripe-bancontact.php
CHANGED
@@ -11,6 +11,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
* @since 4.0.0
|
12 |
*/
|
13 |
class WC_Gateway_Stripe_Bancontact extends WC_Stripe_Payment_Gateway {
|
|
|
|
|
|
|
14 |
/**
|
15 |
* Notices (array)
|
16 |
*
|
@@ -57,7 +60,7 @@ class WC_Gateway_Stripe_Bancontact extends WC_Stripe_Payment_Gateway {
|
|
57 |
* Constructor
|
58 |
*/
|
59 |
public function __construct() {
|
60 |
-
$this->id =
|
61 |
$this->method_title = __( 'Stripe Bancontact', 'woocommerce-gateway-stripe' );
|
62 |
/* translators: link */
|
63 |
$this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) );
|
@@ -88,6 +91,7 @@ class WC_Gateway_Stripe_Bancontact extends WC_Stripe_Payment_Gateway {
|
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
|
|
91 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
92 |
}
|
93 |
|
11 |
* @since 4.0.0
|
12 |
*/
|
13 |
class WC_Gateway_Stripe_Bancontact extends WC_Stripe_Payment_Gateway {
|
14 |
+
|
15 |
+
const ID = 'stripe_bancontact';
|
16 |
+
|
17 |
/**
|
18 |
* Notices (array)
|
19 |
*
|
60 |
* Constructor
|
61 |
*/
|
62 |
public function __construct() {
|
63 |
+
$this->id = self::ID;
|
64 |
$this->method_title = __( 'Stripe Bancontact', 'woocommerce-gateway-stripe' );
|
65 |
/* translators: link */
|
66 |
$this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) );
|
91 |
}
|
92 |
|
93 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
94 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts_for_banner' ] );
|
95 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
96 |
}
|
97 |
|
includes/payment-methods/class-wc-gateway-stripe-eps.php
CHANGED
@@ -11,6 +11,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
* @since 4.1.0
|
12 |
*/
|
13 |
class WC_Gateway_Stripe_Eps extends WC_Stripe_Payment_Gateway {
|
|
|
|
|
|
|
14 |
/**
|
15 |
* Notices (array)
|
16 |
*
|
@@ -57,7 +60,7 @@ class WC_Gateway_Stripe_Eps extends WC_Stripe_Payment_Gateway {
|
|
57 |
* Constructor
|
58 |
*/
|
59 |
public function __construct() {
|
60 |
-
$this->id =
|
61 |
$this->method_title = __( 'Stripe EPS', 'woocommerce-gateway-stripe' );
|
62 |
/* translators: link */
|
63 |
$this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) );
|
@@ -88,6 +91,7 @@ class WC_Gateway_Stripe_Eps extends WC_Stripe_Payment_Gateway {
|
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
|
|
91 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
92 |
}
|
93 |
|
11 |
* @since 4.1.0
|
12 |
*/
|
13 |
class WC_Gateway_Stripe_Eps extends WC_Stripe_Payment_Gateway {
|
14 |
+
|
15 |
+
const ID = 'stripe_eps';
|
16 |
+
|
17 |
/**
|
18 |
* Notices (array)
|
19 |
*
|
60 |
* Constructor
|
61 |
*/
|
62 |
public function __construct() {
|
63 |
+
$this->id = self::ID;
|
64 |
$this->method_title = __( 'Stripe EPS', 'woocommerce-gateway-stripe' );
|
65 |
/* translators: link */
|
66 |
$this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) );
|
91 |
}
|
92 |
|
93 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
94 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts_for_banner' ] );
|
95 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
96 |
}
|
97 |
|
includes/payment-methods/class-wc-gateway-stripe-giropay.php
CHANGED
@@ -11,6 +11,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
* @since 4.0.0
|
12 |
*/
|
13 |
class WC_Gateway_Stripe_Giropay extends WC_Stripe_Payment_Gateway {
|
|
|
|
|
|
|
14 |
/**
|
15 |
* Notices (array)
|
16 |
*
|
@@ -57,7 +60,7 @@ class WC_Gateway_Stripe_Giropay extends WC_Stripe_Payment_Gateway {
|
|
57 |
* Constructor
|
58 |
*/
|
59 |
public function __construct() {
|
60 |
-
$this->id =
|
61 |
$this->method_title = __( 'Stripe Giropay', 'woocommerce-gateway-stripe' );
|
62 |
/* translators: link */
|
63 |
$this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) );
|
@@ -88,6 +91,7 @@ class WC_Gateway_Stripe_Giropay extends WC_Stripe_Payment_Gateway {
|
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
|
|
91 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
92 |
}
|
93 |
|
11 |
* @since 4.0.0
|
12 |
*/
|
13 |
class WC_Gateway_Stripe_Giropay extends WC_Stripe_Payment_Gateway {
|
14 |
+
|
15 |
+
const ID = 'stripe_giropay';
|
16 |
+
|
17 |
/**
|
18 |
* Notices (array)
|
19 |
*
|
60 |
* Constructor
|
61 |
*/
|
62 |
public function __construct() {
|
63 |
+
$this->id = self::ID;
|
64 |
$this->method_title = __( 'Stripe Giropay', 'woocommerce-gateway-stripe' );
|
65 |
/* translators: link */
|
66 |
$this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) );
|
91 |
}
|
92 |
|
93 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
94 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts_for_banner' ] );
|
95 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
96 |
}
|
97 |
|
includes/payment-methods/class-wc-gateway-stripe-ideal.php
CHANGED
@@ -11,6 +11,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
* @since 4.0.0
|
12 |
*/
|
13 |
class WC_Gateway_Stripe_Ideal extends WC_Stripe_Payment_Gateway {
|
|
|
|
|
|
|
14 |
/**
|
15 |
* Notices (array)
|
16 |
*
|
@@ -57,7 +60,7 @@ class WC_Gateway_Stripe_Ideal extends WC_Stripe_Payment_Gateway {
|
|
57 |
* Constructor
|
58 |
*/
|
59 |
public function __construct() {
|
60 |
-
$this->id =
|
61 |
$this->method_title = __( 'Stripe iDeal', 'woocommerce-gateway-stripe' );
|
62 |
/* translators: link */
|
63 |
$this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) );
|
@@ -88,6 +91,7 @@ class WC_Gateway_Stripe_Ideal extends WC_Stripe_Payment_Gateway {
|
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
|
|
91 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
92 |
}
|
93 |
|
11 |
* @since 4.0.0
|
12 |
*/
|
13 |
class WC_Gateway_Stripe_Ideal extends WC_Stripe_Payment_Gateway {
|
14 |
+
|
15 |
+
const ID = 'stripe_ideal';
|
16 |
+
|
17 |
/**
|
18 |
* Notices (array)
|
19 |
*
|
60 |
* Constructor
|
61 |
*/
|
62 |
public function __construct() {
|
63 |
+
$this->id = self::ID;
|
64 |
$this->method_title = __( 'Stripe iDeal', 'woocommerce-gateway-stripe' );
|
65 |
/* translators: link */
|
66 |
$this->method_description = sprintf( __( 'All other general Stripe settings can be adjusted <a href="%s">here</a>.', 'woocommerce-gateway-stripe' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' ) );
|
91 |
}
|
92 |
|
93 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
94 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts_for_banner' ] );
|
95 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
96 |
}
|
97 |
|
includes/payment-methods/class-wc-gateway-stripe-multibanco.php
CHANGED
@@ -88,6 +88,7 @@ class WC_Gateway_Stripe_Multibanco extends WC_Stripe_Payment_Gateway {
|
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
|
|
91 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
92 |
add_action( 'woocommerce_thankyou_stripe_multibanco', [ $this, 'thankyou_page' ] );
|
93 |
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
91 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts_for_banner' ] );
|
92 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
93 |
add_action( 'woocommerce_thankyou_stripe_multibanco', [ $this, 'thankyou_page' ] );
|
94 |
|
includes/payment-methods/class-wc-gateway-stripe-p24.php
CHANGED
@@ -88,6 +88,7 @@ class WC_Gateway_Stripe_P24 extends WC_Stripe_Payment_Gateway {
|
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
|
|
91 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
92 |
}
|
93 |
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
91 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts_for_banner' ] );
|
92 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
93 |
}
|
94 |
|
includes/payment-methods/class-wc-gateway-stripe-sepa.php
CHANGED
@@ -117,6 +117,7 @@ class WC_Gateway_Stripe_Sepa extends WC_Stripe_Payment_Gateway {
|
|
117 |
}
|
118 |
|
119 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
|
|
120 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
121 |
|
122 |
if ( WC_Stripe_Helper::is_pre_orders_exists() ) {
|
117 |
}
|
118 |
|
119 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
120 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts_for_banner' ] );
|
121 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
122 |
|
123 |
if ( WC_Stripe_Helper::is_pre_orders_exists() ) {
|
includes/payment-methods/class-wc-gateway-stripe-sofort.php
CHANGED
@@ -88,6 +88,7 @@ class WC_Gateway_Stripe_Sofort extends WC_Stripe_Payment_Gateway {
|
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
|
|
91 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
92 |
}
|
93 |
|
88 |
}
|
89 |
|
90 |
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
91 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts_for_banner' ] );
|
92 |
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
93 |
}
|
94 |
|
includes/payment-methods/class-wc-stripe-payment-request.php
CHANGED
@@ -818,8 +818,6 @@ class WC_Stripe_Payment_Request {
|
|
818 |
* @version 5.2.0
|
819 |
*/
|
820 |
public function display_payment_request_button_separator_html() {
|
821 |
-
global $post;
|
822 |
-
|
823 |
$gateways = WC()->payment_gateways->get_available_payment_gateways();
|
824 |
|
825 |
if ( ! isset( $gateways['stripe'] ) ) {
|
@@ -830,7 +828,7 @@ class WC_Stripe_Payment_Request {
|
|
830 |
return;
|
831 |
}
|
832 |
|
833 |
-
if ( is_checkout() && !
|
834 |
return;
|
835 |
}
|
836 |
?>
|
@@ -847,8 +845,6 @@ class WC_Stripe_Payment_Request {
|
|
847 |
* @return boolean True if PRBs are supported on current page, false otherwise
|
848 |
*/
|
849 |
public function should_show_payment_request_button() {
|
850 |
-
global $post;
|
851 |
-
|
852 |
// If keys are not set bail.
|
853 |
if ( ! $this->are_keys_set() ) {
|
854 |
WC_Stripe_Logger::log( 'Keys are not set correctly.' );
|
@@ -871,20 +867,17 @@ class WC_Stripe_Payment_Request {
|
|
871 |
}
|
872 |
|
873 |
// Don't show on cart if disabled.
|
874 |
-
if ( is_cart() && !
|
875 |
return false;
|
876 |
}
|
877 |
|
878 |
// Don't show on checkout if disabled.
|
879 |
-
if ( is_checkout() && !
|
880 |
return false;
|
881 |
}
|
882 |
|
883 |
// Don't show if product page PRB is disabled.
|
884 |
-
if (
|
885 |
-
$this->is_product()
|
886 |
-
&& apply_filters( 'wc_stripe_hide_payment_request_on_product_page', false, $post )
|
887 |
-
) {
|
888 |
return false;
|
889 |
}
|
890 |
|
@@ -896,6 +889,86 @@ class WC_Stripe_Payment_Request {
|
|
896 |
return true;
|
897 |
}
|
898 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
899 |
/**
|
900 |
* Returns true if a the provided product is supported, false otherwise.
|
901 |
*
|
@@ -1594,26 +1667,33 @@ class WC_Stripe_Payment_Request {
|
|
1594 |
define( 'WOOCOMMERCE_CART', true );
|
1595 |
}
|
1596 |
|
1597 |
-
$items
|
1598 |
-
$
|
1599 |
-
$
|
1600 |
-
|
1601 |
-
|
1602 |
-
if ( ! apply_filters( 'wc_stripe_payment_request_hide_itemization', true ) || $itemized_display_items ) {
|
1603 |
-
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
|
1604 |
-
$amount = $cart_item['line_subtotal'];
|
1605 |
-
$subtotal += $cart_item['line_subtotal'];
|
1606 |
-
$quantity_label = 1 < $cart_item['quantity'] ? ' (x' . $cart_item['quantity'] . ')' : '';
|
1607 |
|
1608 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1609 |
|
1610 |
-
|
1611 |
-
|
1612 |
-
|
1613 |
-
|
1614 |
|
1615 |
-
|
1616 |
-
|
|
|
|
|
1617 |
}
|
1618 |
|
1619 |
if ( version_compare( WC_VERSION, '3.2', '<' ) ) {
|
@@ -1705,4 +1785,20 @@ class WC_Stripe_Payment_Request {
|
|
1705 |
'redirect_url' => $redirect_url,
|
1706 |
];
|
1707 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1708 |
}
|
818 |
* @version 5.2.0
|
819 |
*/
|
820 |
public function display_payment_request_button_separator_html() {
|
|
|
|
|
821 |
$gateways = WC()->payment_gateways->get_available_payment_gateways();
|
822 |
|
823 |
if ( ! isset( $gateways['stripe'] ) ) {
|
828 |
return;
|
829 |
}
|
830 |
|
831 |
+
if ( is_checkout() && ! in_array( 'checkout', $this->get_button_locations(), true ) ) {
|
832 |
return;
|
833 |
}
|
834 |
?>
|
845 |
* @return boolean True if PRBs are supported on current page, false otherwise
|
846 |
*/
|
847 |
public function should_show_payment_request_button() {
|
|
|
|
|
848 |
// If keys are not set bail.
|
849 |
if ( ! $this->are_keys_set() ) {
|
850 |
WC_Stripe_Logger::log( 'Keys are not set correctly.' );
|
867 |
}
|
868 |
|
869 |
// Don't show on cart if disabled.
|
870 |
+
if ( is_cart() && ! $this->should_show_prb_on_cart_page() ) {
|
871 |
return false;
|
872 |
}
|
873 |
|
874 |
// Don't show on checkout if disabled.
|
875 |
+
if ( is_checkout() && ! $this->should_show_prb_on_checkout_page() ) {
|
876 |
return false;
|
877 |
}
|
878 |
|
879 |
// Don't show if product page PRB is disabled.
|
880 |
+
if ( $this->is_product() && ! $this->should_show_prb_on_product_pages() ) {
|
|
|
|
|
|
|
881 |
return false;
|
882 |
}
|
883 |
|
889 |
return true;
|
890 |
}
|
891 |
|
892 |
+
/**
|
893 |
+
* Returns true if Payment Request Buttons are enabled on the cart page, false
|
894 |
+
* otherwise.
|
895 |
+
*
|
896 |
+
* @since 5.5.0
|
897 |
+
* @version 5.5.0
|
898 |
+
* @return boolean True if PRBs are enabled on the cart page, false otherwise
|
899 |
+
*/
|
900 |
+
public function should_show_prb_on_cart_page() {
|
901 |
+
// Message we show for the deprecated PRB location filters. Intended for support so we
|
902 |
+
// don't provide translations.
|
903 |
+
$deprecation_message =
|
904 |
+
'Please configure Payment Request Button locations through the Stripe plugin settings.';
|
905 |
+
$should_show_on_cart_page = in_array( 'cart', $this->get_button_locations(), true );
|
906 |
+
|
907 |
+
// Respect the deprecated filters, but add a deprecation notice.
|
908 |
+
return apply_filters_deprecated(
|
909 |
+
'wc_stripe_show_payment_request_on_cart',
|
910 |
+
[ $should_show_on_cart_page ],
|
911 |
+
'5.5.0',
|
912 |
+
'', // There is no replacement.
|
913 |
+
$deprecation_message
|
914 |
+
);
|
915 |
+
}
|
916 |
+
|
917 |
+
/**
|
918 |
+
* Returns true if Payment Request Buttons are enabled on the checkout page, false
|
919 |
+
* otherwise.
|
920 |
+
*
|
921 |
+
* @since 5.5.0
|
922 |
+
* @version 5.5.0
|
923 |
+
* @return boolean True if PRBs are enabled on the checkout page, false otherwise
|
924 |
+
*/
|
925 |
+
public function should_show_prb_on_checkout_page() {
|
926 |
+
global $post;
|
927 |
+
|
928 |
+
// Message we show for the deprecated PRB location filters. Intended for support so we
|
929 |
+
// don't provide translations.
|
930 |
+
$deprecation_message =
|
931 |
+
'Please configure Payment Request Button locations through the Stripe plugin settings.';
|
932 |
+
$should_show_on_checkout_page = in_array( 'checkout', $this->get_button_locations(), true );
|
933 |
+
|
934 |
+
// Respect the deprecated filters, but add a deprecation notice.
|
935 |
+
return apply_filters_deprecated(
|
936 |
+
'wc_stripe_show_payment_request_on_checkout',
|
937 |
+
[ $should_show_on_checkout_page, $post ],
|
938 |
+
'5.5.0',
|
939 |
+
'', // There is no replacement.
|
940 |
+
$deprecation_message
|
941 |
+
);
|
942 |
+
}
|
943 |
+
|
944 |
+
/**
|
945 |
+
* Returns true if Payment Request Buttons are enabled on product pages, false
|
946 |
+
* otherwise.
|
947 |
+
*
|
948 |
+
* @since 5.5.0
|
949 |
+
* @version 5.5.0
|
950 |
+
* @return boolean True if PRBs are enabled on product pages, false otherwise
|
951 |
+
*/
|
952 |
+
public function should_show_prb_on_product_pages() {
|
953 |
+
global $post;
|
954 |
+
|
955 |
+
// Message we show for the deprecated PRB location filters. Intended for support so we
|
956 |
+
// don't provide translations.
|
957 |
+
$deprecation_message =
|
958 |
+
'Please configure Payment Request Button locations through the Stripe plugin settings.';
|
959 |
+
$should_show_on_product_page = in_array( 'product', $this->get_button_locations(), true );
|
960 |
+
|
961 |
+
// Respect the deprecated filters, but add a deprecation notice.
|
962 |
+
// Note the negation because if the filter returns `true` that means we should hide the PRB.
|
963 |
+
return ! apply_filters_deprecated(
|
964 |
+
'wc_stripe_hide_payment_request_on_product_page',
|
965 |
+
[ ! $should_show_on_product_page, $post ],
|
966 |
+
'5.5.0',
|
967 |
+
'', // There is no replacement.
|
968 |
+
$deprecation_message
|
969 |
+
);
|
970 |
+
}
|
971 |
+
|
972 |
/**
|
973 |
* Returns true if a the provided product is supported, false otherwise.
|
974 |
*
|
1667 |
define( 'WOOCOMMERCE_CART', true );
|
1668 |
}
|
1669 |
|
1670 |
+
$items = [];
|
1671 |
+
$lines = [];
|
1672 |
+
$subtotal = 0;
|
1673 |
+
$discounts = 0;
|
1674 |
+
$display_items = ! apply_filters( 'wc_stripe_payment_request_hide_itemization', true ) || $itemized_display_items;
|
|
|
|
|
|
|
|
|
|
|
1675 |
|
1676 |
+
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
|
1677 |
+
$subtotal += $cart_item['line_subtotal'];
|
1678 |
+
$amount = $cart_item['line_subtotal'];
|
1679 |
+
$quantity_label = 1 < $cart_item['quantity'] ? ' (x' . $cart_item['quantity'] . ')' : '';
|
1680 |
+
$product_name = $cart_item['data']->get_name();
|
1681 |
+
|
1682 |
+
$lines[] = [
|
1683 |
+
'label' => $product_name . $quantity_label,
|
1684 |
+
'amount' => WC_Stripe_Helper::get_stripe_amount( $amount ),
|
1685 |
+
];
|
1686 |
+
}
|
1687 |
|
1688 |
+
if ( $display_items ) {
|
1689 |
+
$items = array_merge( $items, $lines );
|
1690 |
+
} else {
|
1691 |
+
// Default show only subtotal instead of itemization.
|
1692 |
|
1693 |
+
$items[] = [
|
1694 |
+
'label' => 'Subtotal',
|
1695 |
+
'amount' => WC_Stripe_Helper::get_stripe_amount( $subtotal ),
|
1696 |
+
];
|
1697 |
}
|
1698 |
|
1699 |
if ( version_compare( WC_VERSION, '3.2', '<' ) ) {
|
1785 |
'redirect_url' => $redirect_url,
|
1786 |
];
|
1787 |
}
|
1788 |
+
|
1789 |
+
public function get_button_locations() {
|
1790 |
+
// If the locations have not been set return the default setting.
|
1791 |
+
if ( ! isset( $this->stripe_settings['payment_request_button_locations'] ) ) {
|
1792 |
+
return [ 'product', 'cart' ];
|
1793 |
+
}
|
1794 |
+
|
1795 |
+
// If all locations are removed through the settings UI the location config will be set to
|
1796 |
+
// an empty string "". If that's the case (and if the settings are not an array for any
|
1797 |
+
// other reason) we should return an empty array.
|
1798 |
+
if ( ! is_array( $this->stripe_settings['payment_request_button_locations'] ) ) {
|
1799 |
+
return [];
|
1800 |
+
}
|
1801 |
+
|
1802 |
+
return $this->stripe_settings['payment_request_button_locations'];
|
1803 |
+
}
|
1804 |
}
|
includes/payment-methods/class-wc-stripe-upe-payment-gateway.php
ADDED
@@ -0,0 +1,676 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
4 |
+
exit;
|
5 |
+
}
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Class that handles UPE payment method.
|
9 |
+
*
|
10 |
+
* @extends WC_Stripe_Payment_Gateway
|
11 |
+
*
|
12 |
+
* @since 5.5.0
|
13 |
+
*/
|
14 |
+
class WC_Stripe_UPE_Payment_Gateway extends WC_Stripe_Payment_Gateway {
|
15 |
+
|
16 |
+
const ID = 'stripe';
|
17 |
+
|
18 |
+
const UPE_AVAILABLE_METHODS = [
|
19 |
+
WC_Stripe_UPE_Payment_Method_CC::class,
|
20 |
+
WC_Stripe_UPE_Payment_Method_Giropay::class,
|
21 |
+
WC_Stripe_UPE_Payment_Method_Eps::class,
|
22 |
+
WC_Stripe_UPE_Payment_Method_Bancontact::class,
|
23 |
+
WC_Stripe_UPE_Payment_Method_Ideal::class,
|
24 |
+
];
|
25 |
+
|
26 |
+
const UPE_APPEARANCE_TRANSIENT = 'wc_stripe_upe_appearance';
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Notices (array)
|
30 |
+
*
|
31 |
+
* @var array
|
32 |
+
*/
|
33 |
+
public $notices = [];
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Is test mode active?
|
37 |
+
*
|
38 |
+
* @var bool
|
39 |
+
*/
|
40 |
+
public $testmode;
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Alternate credit card statement name
|
44 |
+
*
|
45 |
+
* @var bool
|
46 |
+
*/
|
47 |
+
public $statement_descriptor;
|
48 |
+
|
49 |
+
/**
|
50 |
+
* API access secret key
|
51 |
+
*
|
52 |
+
* @var string
|
53 |
+
*/
|
54 |
+
public $secret_key;
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Api access publishable key
|
58 |
+
*
|
59 |
+
* @var string
|
60 |
+
*/
|
61 |
+
public $publishable_key;
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Array mapping payment method string IDs to classes
|
65 |
+
*
|
66 |
+
* @var array
|
67 |
+
*/
|
68 |
+
protected $payment_methods = [];
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Constructor
|
72 |
+
*/
|
73 |
+
public function __construct() {
|
74 |
+
$this->id = self::ID;
|
75 |
+
$this->method_title = __( 'Stripe UPE', 'woocommerce-gateway-stripe' );
|
76 |
+
/* translators: link */
|
77 |
+
$this->method_description = __( 'Accept debit and credit cards in 135+ currencies, methods such as Alipay, and one-touch checkout with Apple Pay.', 'woocommerce-gateway-stripe' );
|
78 |
+
$this->has_fields = true;
|
79 |
+
$this->supports = [
|
80 |
+
'products',
|
81 |
+
'refunds',
|
82 |
+
];
|
83 |
+
|
84 |
+
$this->payment_methods = [];
|
85 |
+
foreach ( self::UPE_AVAILABLE_METHODS as $payment_method_class ) {
|
86 |
+
$payment_method = new $payment_method_class( null );
|
87 |
+
$this->payment_methods[ $payment_method->get_id() ] = $payment_method;
|
88 |
+
}
|
89 |
+
|
90 |
+
// Load the form fields.
|
91 |
+
$this->init_form_fields();
|
92 |
+
|
93 |
+
// Load the settings.
|
94 |
+
$this->init_settings();
|
95 |
+
|
96 |
+
$main_settings = get_option( 'woocommerce_stripe_settings' );
|
97 |
+
$this->title = $this->get_option( 'title' );
|
98 |
+
$this->description = $this->get_option( 'description' );
|
99 |
+
$this->enabled = $this->get_option( 'enabled' );
|
100 |
+
$this->testmode = ! empty( $main_settings['testmode'] ) && 'yes' === $main_settings['testmode'];
|
101 |
+
$this->publishable_key = ! empty( $main_settings['publishable_key'] ) ? $main_settings['publishable_key'] : '';
|
102 |
+
$this->secret_key = ! empty( $main_settings['secret_key'] ) ? $main_settings['secret_key'] : '';
|
103 |
+
$this->statement_descriptor = ! empty( $main_settings['statement_descriptor'] ) ? $main_settings['statement_descriptor'] : '';
|
104 |
+
|
105 |
+
if ( $this->testmode ) {
|
106 |
+
$this->publishable_key = ! empty( $main_settings['test_publishable_key'] ) ? $main_settings['test_publishable_key'] : '';
|
107 |
+
$this->secret_key = ! empty( $main_settings['test_secret_key'] ) ? $main_settings['test_secret_key'] : '';
|
108 |
+
}
|
109 |
+
|
110 |
+
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, [ $this, 'process_admin_options' ] );
|
111 |
+
add_action( 'wp_enqueue_scripts', [ $this, 'payment_scripts' ] );
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Initialize Gateway Settings Form Fields.
|
116 |
+
*/
|
117 |
+
public function init_form_fields() {
|
118 |
+
$this->form_fields = require WC_STRIPE_PLUGIN_PATH . '/includes/admin/stripe-settings.php';
|
119 |
+
unset( $this->form_fields['inline_cc_form'] );
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Maybe override the parent admin_options method.
|
124 |
+
*/
|
125 |
+
public function admin_options() {
|
126 |
+
if ( ! WC_Stripe_Feature_Flags::is_upe_settings_redesign_enabled() ) {
|
127 |
+
parent::admin_options();
|
128 |
+
|
129 |
+
return;
|
130 |
+
}
|
131 |
+
|
132 |
+
do_action( 'wc_stripe_gateway_admin_options_wrapper', $this );
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Outputs scripts used for stripe payment
|
137 |
+
*/
|
138 |
+
public function payment_scripts() {
|
139 |
+
if ( ! is_cart() && ! is_checkout() && ! isset( $_GET['pay_for_order'] ) && ! is_add_payment_method_page() ) {
|
140 |
+
return;
|
141 |
+
}
|
142 |
+
|
143 |
+
$asset_path = WC_STRIPE_PLUGIN_PATH . '/build/checkout_upe.asset.php';
|
144 |
+
$version = WC_STRIPE_VERSION;
|
145 |
+
$dependencies = [];
|
146 |
+
if ( file_exists( $asset_path ) ) {
|
147 |
+
$asset = require $asset_path;
|
148 |
+
$version = is_array( $asset ) && isset( $asset['version'] )
|
149 |
+
? $asset['version']
|
150 |
+
: $version;
|
151 |
+
$dependencies = is_array( $asset ) && isset( $asset['dependencies'] )
|
152 |
+
? $asset['dependencies']
|
153 |
+
: $dependencies;
|
154 |
+
}
|
155 |
+
|
156 |
+
wp_register_script(
|
157 |
+
'stripe',
|
158 |
+
'https://js.stripe.com/v3/',
|
159 |
+
[],
|
160 |
+
'3.0',
|
161 |
+
true
|
162 |
+
);
|
163 |
+
|
164 |
+
wp_register_script(
|
165 |
+
'wc-stripe-upe-classic',
|
166 |
+
WC_STRIPE_PLUGIN_URL . '/build/upe_classic.js',
|
167 |
+
array_merge( [ 'stripe', 'wc-checkout' ], $dependencies ),
|
168 |
+
$version,
|
169 |
+
true
|
170 |
+
);
|
171 |
+
wp_set_script_translations(
|
172 |
+
'wc-stripe-upe-classic',
|
173 |
+
'woocommerce-gateway-stripe'
|
174 |
+
);
|
175 |
+
|
176 |
+
wp_localize_script(
|
177 |
+
'wc-stripe-upe-classic',
|
178 |
+
'wc_stripe_upe_params',
|
179 |
+
apply_filters( 'wc_stripe_upe_params', $this->javascript_params() )
|
180 |
+
);
|
181 |
+
|
182 |
+
wp_enqueue_script( 'wc-stripe-upe-classic' );
|
183 |
+
}
|
184 |
+
|
185 |
+
/**
|
186 |
+
* Returns the JavaScript configuration object used on the product, cart, and checkout pages.
|
187 |
+
*
|
188 |
+
* @return array The configuration object to be loaded to JS.
|
189 |
+
*/
|
190 |
+
public function javascript_params() {
|
191 |
+
global $wp;
|
192 |
+
|
193 |
+
$stripe_params = [
|
194 |
+
'isUPEEnabled' => true,
|
195 |
+
'key' => $this->publishable_key,
|
196 |
+
'locale' => WC_Stripe_Helper::convert_wc_locale_to_stripe_locale( get_locale() ),
|
197 |
+
];
|
198 |
+
|
199 |
+
// If we're on the pay page we need to pass stripe.js the address of the order.
|
200 |
+
if ( isset( $_GET['pay_for_order'] ) && 'true' === $_GET['pay_for_order'] ) { // wpcs: csrf ok.
|
201 |
+
$order_id = wc_clean( $wp->query_vars['order-pay'] ); // wpcs: csrf ok, sanitization ok, xss ok.
|
202 |
+
$stripe_params['orderId'] = $order_id;
|
203 |
+
}
|
204 |
+
|
205 |
+
$sepa_elements_options = apply_filters(
|
206 |
+
'wc_stripe_sepa_elements_options',
|
207 |
+
[
|
208 |
+
'supportedCountries' => [ 'SEPA' ],
|
209 |
+
'placeholderCountry' => WC()->countries->get_base_country(),
|
210 |
+
'style' => [ 'base' => [ 'fontSize' => '15px' ] ],
|
211 |
+
]
|
212 |
+
);
|
213 |
+
|
214 |
+
$stripe_params['isCheckout'] = is_checkout() && empty( $_GET['pay_for_order'] ); // wpcs: csrf ok.
|
215 |
+
$stripe_params['isOrderPay'] = is_wc_endpoint_url( 'order-pay' );
|
216 |
+
$stripe_params['return_url'] = $this->get_stripe_return_url();
|
217 |
+
$stripe_params['ajax_url'] = WC_AJAX::get_endpoint( '%%endpoint%%' );
|
218 |
+
$stripe_params['createPaymentIntentNonce'] = wp_create_nonce( '_wc_stripe_nonce' );
|
219 |
+
$stripe_params['upeAppeareance'] = get_transient( self::UPE_APPEARANCE_TRANSIENT );
|
220 |
+
$stripe_params['saveUPEAppearanceNonce'] = wp_create_nonce( '_wc_stripe_save_upe_appearance_nonce' );
|
221 |
+
$stripe_params['paymentMethodsConfig'] = $this->get_enabled_payment_method_config();
|
222 |
+
$stripe_params['accountDescriptor'] = 'accountDescriptor'; // TODO: this should be added to the Stripe settings page or remove it from here.
|
223 |
+
$stripe_params['sepaElementsOptions'] = $sepa_elements_options;
|
224 |
+
|
225 |
+
return $stripe_params;
|
226 |
+
}
|
227 |
+
|
228 |
+
/**
|
229 |
+
* Gets payment method settings to pass to client scripts
|
230 |
+
*
|
231 |
+
* @return array
|
232 |
+
*/
|
233 |
+
private function get_enabled_payment_method_config() {
|
234 |
+
$settings = [];
|
235 |
+
$enabled_payment_methods = array_filter( $this->get_upe_enabled_payment_method_ids(), [ $this, 'is_enabled_at_checkout' ] );
|
236 |
+
|
237 |
+
foreach ( $enabled_payment_methods as $payment_method ) {
|
238 |
+
$settings[ $payment_method ] = [
|
239 |
+
'isReusable' => $this->payment_methods[ $payment_method ]->is_reusable(),
|
240 |
+
];
|
241 |
+
}
|
242 |
+
|
243 |
+
return $settings;
|
244 |
+
}
|
245 |
+
|
246 |
+
/**
|
247 |
+
* Returns the list of enabled payment method types for UPE.
|
248 |
+
*
|
249 |
+
* @return string[]
|
250 |
+
*/
|
251 |
+
public function get_upe_enabled_payment_method_ids() {
|
252 |
+
return $this->get_option(
|
253 |
+
'upe_checkout_experience_accepted_payments',
|
254 |
+
[
|
255 |
+
'card',
|
256 |
+
]
|
257 |
+
);
|
258 |
+
}
|
259 |
+
|
260 |
+
/**
|
261 |
+
* Returns the list of available payment method types for UPE.
|
262 |
+
* See https://stripe.com/docs/stripe-js/payment-element#web-create-payment-intent for a complete list.
|
263 |
+
*
|
264 |
+
* @return string[]
|
265 |
+
*/
|
266 |
+
public function get_upe_available_payment_methods() {
|
267 |
+
$available_payment_methods = [];
|
268 |
+
|
269 |
+
foreach ( self::UPE_AVAILABLE_METHODS as $payment_method_class ) {
|
270 |
+
$available_payment_methods[] = $payment_method_class::STRIPE_ID;
|
271 |
+
}
|
272 |
+
|
273 |
+
return $available_payment_methods;
|
274 |
+
}
|
275 |
+
|
276 |
+
/**
|
277 |
+
* Renders the UPE input fields needed to get the user's payment information on the checkout page
|
278 |
+
*/
|
279 |
+
public function payment_fields() {
|
280 |
+
try {
|
281 |
+
$display_tokenization = $this->supports( 'tokenization' ) && is_checkout();
|
282 |
+
|
283 |
+
// Output the form HTML.
|
284 |
+
?>
|
285 |
+
<?php if ( ! empty( $this->get_description() ) ) : ?>
|
286 |
+
<p><?php echo wp_kses_post( $this->get_description() ); ?></p>
|
287 |
+
<?php endif; ?>
|
288 |
+
|
289 |
+
<?php if ( $this->testmode ) : ?>
|
290 |
+
<p class="testmode-info">
|
291 |
+
<?php
|
292 |
+
echo sprintf(
|
293 |
+
/* translators: link to Stripe testing page */
|
294 |
+
__( '<strong>Test mode:</strong> use the test VISA card 4242424242424242 with any expiry date and CVC. Other payment methods may redirect to a Stripe test page to authorize payment. More test card numbers are listed <a href="%s" target="_blank">here</a>.', 'woocommerce-gateway-stripe' ),
|
295 |
+
'https://stripe.com/docs/testing'
|
296 |
+
);
|
297 |
+
?>
|
298 |
+
</p>
|
299 |
+
<?php endif; ?>
|
300 |
+
|
301 |
+
<?php
|
302 |
+
if ( $display_tokenization ) {
|
303 |
+
$this->tokenization_script();
|
304 |
+
$this->saved_payment_methods();
|
305 |
+
}
|
306 |
+
?>
|
307 |
+
|
308 |
+
<fieldset id="wc-stripe-upe-form" class="wc-upe-form wc-payment-form">
|
309 |
+
<div id="wc-stripe-upe-element"></div>
|
310 |
+
<div id="wc-stripe-upe-errors" role="alert"></div>
|
311 |
+
<input id="wc-stripe-payment-method-upe" type="hidden" name="wc-stripe-payment-method-upe" />
|
312 |
+
<input id="wc_stripe_selected_upe_payment_type" type="hidden" name="wc_stripe_selected_upe_payment_type" />
|
313 |
+
|
314 |
+
<?php
|
315 |
+
$methods_enabled_for_saved_payments = array_filter( $this->get_upe_enabled_payment_method_ids(), [ $this, 'is_enabled_for_saved_payments' ] );
|
316 |
+
if ( $this->is_saved_cards_enabled() && ! empty( $methods_enabled_for_saved_payments ) ) {
|
317 |
+
if ( is_user_logged_in() ) {
|
318 |
+
$this->save_payment_method_checkbox();
|
319 |
+
}
|
320 |
+
}
|
321 |
+
?>
|
322 |
+
|
323 |
+
</fieldset>
|
324 |
+
<?php
|
325 |
+
} catch ( Exception $e ) {
|
326 |
+
// Output the error message.
|
327 |
+
WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
|
328 |
+
?>
|
329 |
+
<div>
|
330 |
+
<?php
|
331 |
+
echo esc_html__( 'An error was encountered when preparing the payment form. Please try again later.', 'woocommerce-gateway-stripe' );
|
332 |
+
?>
|
333 |
+
</div>
|
334 |
+
<?php
|
335 |
+
}
|
336 |
+
}
|
337 |
+
|
338 |
+
|
339 |
+
/**
|
340 |
+
* Process the payment for a given order.
|
341 |
+
*
|
342 |
+
* @param int $order_id Order ID to process the payment for.
|
343 |
+
*
|
344 |
+
* @return array|null An array with result of payment and redirect URL, or nothing.
|
345 |
+
*/
|
346 |
+
public function process_payment( $order_id ) {
|
347 |
+
$payment_intent_id = isset( $_POST['wc_payment_intent_id'] ) ? wc_clean( wp_unslash( $_POST['wc_payment_intent_id'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing
|
348 |
+
$order = wc_get_order( $order_id );
|
349 |
+
$amount = $order->get_total();
|
350 |
+
$currency = $order->get_currency();
|
351 |
+
$converted_amount = WC_Stripe_Helper::get_stripe_amount( $amount, $currency );
|
352 |
+
$payment_needed = 0 < $converted_amount;
|
353 |
+
$save_payment_method = ! empty( $_POST[ 'wc-' . static::ID . '-new-payment-method' ] ); // phpcs:ignore WordPress.Security.NonceVerification.Missing
|
354 |
+
$selected_upe_payment_type = ! empty( $_POST['wc_stripe_selected_upe_payment_type'] ) ? wc_clean( wp_unslash( $_POST['wc_stripe_selected_upe_payment_type'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing
|
355 |
+
|
356 |
+
if ( $payment_intent_id ) {
|
357 |
+
if ( $payment_needed ) {
|
358 |
+
$request = [
|
359 |
+
'amount' => $converted_amount,
|
360 |
+
'currency' => $currency,
|
361 |
+
/* translators: 1) blog name 2) order number */
|
362 |
+
'description' => sprintf( __( '%1$s - Order %2$s', 'woocommerce-gateway-stripe' ), wp_specialchars_decode( get_bloginfo( 'name' ), ENT_QUOTES ), $order->get_order_number() ),
|
363 |
+
];
|
364 |
+
|
365 |
+
// Get user/customer for order.
|
366 |
+
$customer_id = $this->get_stripe_customer_id( $order );
|
367 |
+
if ( ! empty( $customer_id ) ) {
|
368 |
+
$request['customer'] = $customer_id;
|
369 |
+
}
|
370 |
+
|
371 |
+
if ( '' !== $selected_upe_payment_type ) {
|
372 |
+
// Only update the payment_method_types if we have a reference to the payment type the customer selected.
|
373 |
+
$request['payment_method_types'] = [ $selected_upe_payment_type ];
|
374 |
+
}
|
375 |
+
|
376 |
+
if ( $save_payment_method ) {
|
377 |
+
$request['setup_future_usage'] = 'off_session';
|
378 |
+
}
|
379 |
+
|
380 |
+
$request['metadata'] = $this->get_metadata_from_order( $order );
|
381 |
+
|
382 |
+
WC_Stripe_API::request_with_level3_data(
|
383 |
+
$request,
|
384 |
+
"payment_intents/$payment_intent_id",
|
385 |
+
$this->get_level3_data_from_order( $order ),
|
386 |
+
$order
|
387 |
+
);
|
388 |
+
}
|
389 |
+
}
|
390 |
+
|
391 |
+
return [
|
392 |
+
'result' => 'success',
|
393 |
+
'payment_needed' => $payment_needed,
|
394 |
+
'redirect_url' => wp_sanitize_redirect(
|
395 |
+
esc_url_raw(
|
396 |
+
add_query_arg(
|
397 |
+
[
|
398 |
+
'order_id' => $order_id,
|
399 |
+
'wc_payment_method' => self::ID,
|
400 |
+
'_wpnonce' => wp_create_nonce( 'wcpay_process_redirect_order_nonce' ),
|
401 |
+
'save_payment_method' => $save_payment_method ? 'yes' : 'no',
|
402 |
+
],
|
403 |
+
$this->get_return_url( $order )
|
404 |
+
)
|
405 |
+
)
|
406 |
+
),
|
407 |
+
];
|
408 |
+
}
|
409 |
+
|
410 |
+
/**
|
411 |
+
* Processes UPE redirect payments.
|
412 |
+
*
|
413 |
+
* @param int $order_id The order ID being processed.
|
414 |
+
* @param string $intent_id The Stripe setup/payment intent ID for the order payment.
|
415 |
+
* @param bool $save_payment_method Boolean representing whether payment method for order should be saved.
|
416 |
+
*
|
417 |
+
* @since 5.5.0
|
418 |
+
* @version 5.5.0
|
419 |
+
*/
|
420 |
+
public function process_upe_redirect_payment( $order_id, $intent_id, $save_payment_method ) {
|
421 |
+
$order = wc_get_order( $order_id );
|
422 |
+
|
423 |
+
if ( ! is_object( $order ) ) {
|
424 |
+
return;
|
425 |
+
}
|
426 |
+
|
427 |
+
if ( $order->has_status( [ 'processing', 'completed', 'on-hold' ] ) ) {
|
428 |
+
return;
|
429 |
+
}
|
430 |
+
|
431 |
+
WC_Stripe_Logger::log( "Begin processing UPE redirect payment for order $order_id for the amount of {$order->get_total()}" );
|
432 |
+
|
433 |
+
try {
|
434 |
+
// Get user/customer for order.
|
435 |
+
$customer_id = $this->get_stripe_customer_id( $order );
|
436 |
+
|
437 |
+
$payment_needed = 0 < $order->get_total();
|
438 |
+
|
439 |
+
// Get payment intent to confirm status.
|
440 |
+
if ( $payment_needed ) {
|
441 |
+
$intent = WC_Stripe_API::retrieve( 'payment_intents/' . $intent_id . '?expand[]=payment_method' );
|
442 |
+
} else {
|
443 |
+
$intent = WC_Stripe_API::retrieve( 'setup_intents/' . $intent_id );
|
444 |
+
}
|
445 |
+
$error = $intent->last_payment_error;
|
446 |
+
|
447 |
+
if ( ! empty( $error ) ) {
|
448 |
+
WC_Stripe_Logger::log( 'Error when processing payment: ' . $error->message );
|
449 |
+
throw new WC_Stripe_Exception( __( "We're not able to process this payment. Please try again later.", 'woocommerce-gateway-stripe' ) );
|
450 |
+
}
|
451 |
+
|
452 |
+
list( $payment_method_type, $payment_method_details ) = $this->get_payment_method_data_from_intent( $intent );
|
453 |
+
|
454 |
+
if ( ! isset( $this->payment_methods[ $payment_method_type ] ) ) {
|
455 |
+
return;
|
456 |
+
}
|
457 |
+
$payment_method = $this->payment_methods[ $payment_method_type ];
|
458 |
+
|
459 |
+
// TODO: save the payment method
|
460 |
+
// if ( $save_payment_method && $payment_method->is_reusable() ) {
|
461 |
+
// See: https://github.com/Automattic/woocommerce-payments/blob/b69532e92a381cf054f515896c56cc365e3904d4/includes/payment-methods/class-upe-payment-gateway.php#L493
|
462 |
+
// }
|
463 |
+
|
464 |
+
$intent->captured = 'yes'; // TODO: this is to re-use the parent logic, maybe re-implement it to not use charges?, see: https://github.com/Automattic/woocommerce-payments/blob/b69532e92a381cf054f515896c56cc365e3904d4/includes/class-wc-payment-gateway-wcpay.php#L1125
|
465 |
+
$this->process_response( $intent, $order );
|
466 |
+
|
467 |
+
$this->set_payment_method_title_for_order( $order, $payment_method_type, $payment_method_details );
|
468 |
+
|
469 |
+
} catch ( Exception $e ) {
|
470 |
+
WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
|
471 |
+
|
472 |
+
/* translators: localized exception message */
|
473 |
+
$order->update_status( 'failed', sprintf( __( 'UPE payment failed: %s', 'woocommerce-gateway-stripe' ), $e->getMessage() ) );
|
474 |
+
|
475 |
+
wc_add_notice( $e->getMessage(), 'error' );
|
476 |
+
wp_safe_redirect( wc_get_checkout_url() );
|
477 |
+
exit;
|
478 |
+
}
|
479 |
+
}
|
480 |
+
|
481 |
+
/**
|
482 |
+
* Function to be used with array_filter
|
483 |
+
* to filter UPE payment methods supported with current checkout
|
484 |
+
*
|
485 |
+
* @param string $payment_method_id Stripe payment method.
|
486 |
+
*
|
487 |
+
* @return bool
|
488 |
+
*/
|
489 |
+
private function is_enabled_at_checkout( $payment_method_id ) {
|
490 |
+
if ( ! isset( $this->payment_methods[ $payment_method_id ] ) ) {
|
491 |
+
return false;
|
492 |
+
}
|
493 |
+
return $this->payment_methods[ $payment_method_id ]->is_enabled_at_checkout();
|
494 |
+
}
|
495 |
+
|
496 |
+
/**
|
497 |
+
* Function to be used with array_filter
|
498 |
+
* to filter UPE payment methods that support saved payments
|
499 |
+
*
|
500 |
+
* @param string $payment_method_id Stripe payment method.
|
501 |
+
*
|
502 |
+
* @return bool
|
503 |
+
*/
|
504 |
+
private function is_enabled_for_saved_payments( $payment_method_id ) {
|
505 |
+
if ( ! isset( $this->payment_methods[ $payment_method_id ] ) ) {
|
506 |
+
return false;
|
507 |
+
}
|
508 |
+
return $this->payment_methods[ $payment_method_id ]->is_reusable();
|
509 |
+
}
|
510 |
+
|
511 |
+
// TODO: Actually validate.
|
512 |
+
public function validate_upe_checkout_experience_accepted_payments_field( $key, $value ) {
|
513 |
+
return $value;
|
514 |
+
}
|
515 |
+
|
516 |
+
/**
|
517 |
+
* Checks if the setting to allow the user to save cards is enabled.
|
518 |
+
*
|
519 |
+
* @return bool Whether the setting to allow saved cards is enabled or not.
|
520 |
+
*/
|
521 |
+
public function is_saved_cards_enabled() {
|
522 |
+
return 'yes' === $this->get_option( 'saved_cards' );
|
523 |
+
}
|
524 |
+
|
525 |
+
/**
|
526 |
+
* Set formatted readable payment method title for order,
|
527 |
+
* using payment method details from accompanying charge.
|
528 |
+
*
|
529 |
+
* @param WC_Order $order WC Order being processed.
|
530 |
+
* @param string $payment_method_type Stripe payment method key.
|
531 |
+
* @param array|bool $payment_method_details Array of payment method details from charge or false.
|
532 |
+
*
|
533 |
+
* @since 5.5.0
|
534 |
+
* @version 5.5.0
|
535 |
+
*/
|
536 |
+
public function set_payment_method_title_for_order( $order, $payment_method_type, $payment_method_details ) {
|
537 |
+
if ( ! isset( $this->payment_methods[ $payment_method_type ] ) ) {
|
538 |
+
return;
|
539 |
+
}
|
540 |
+
|
541 |
+
$payment_method_title = $this->payment_methods[ $payment_method_type ]->get_title( $payment_method_details );
|
542 |
+
|
543 |
+
$order->set_payment_method_title( $payment_method_title );
|
544 |
+
$order->save();
|
545 |
+
}
|
546 |
+
|
547 |
+
/**
|
548 |
+
* This is overloading the upe checkout experience type on the settings page.
|
549 |
+
*
|
550 |
+
* @param string $key Field key.
|
551 |
+
* @param array $data Field data.
|
552 |
+
* @return string
|
553 |
+
*/
|
554 |
+
public function generate_upe_checkout_experience_accepted_payments_html( $key, $data ) {
|
555 |
+
$data['description'] = '<div id="wc_stripe_upe_method_selection"><p><strong>Payments accepted on checkout</strong></p></div>
|
556 |
+
<table class="wc_gateways widefat form-table" cellspacing="0" aria-describedby="wc_stripe_upe_method_selection">
|
557 |
+
<thead>
|
558 |
+
<tr>
|
559 |
+
<th class="name">Method</th>
|
560 |
+
<th class="status">Enabled</th>
|
561 |
+
<th class="description">Description</th>
|
562 |
+
</tr>
|
563 |
+
</thead>
|
564 |
+
<tbody>';
|
565 |
+
|
566 |
+
foreach ( $this->payment_methods as $method_id => $method ) {
|
567 |
+
$method_enabled = in_array( $method_id, $this->get_upe_enabled_payment_method_ids(), true ) ? 'enabled' : 'disabled';
|
568 |
+
$data['description'] .= '<tr data-upe_method_id="' . $method_id . '">
|
569 |
+
<td class="name" width=""><a href="#" class="wc-payment-gateway-method-title">' . $method_id . '</a><span class="wc-payment-gateway-method-name"> – Subtext goes here.</span></td>
|
570 |
+
<td class="status" width="1%"><a class="wc-payment-upe-method-toggle-' . $method_enabled . '" href="#"><span class="woocommerce-input-toggle woocommerce-input-toggle--' . $method_enabled . '" aria-label="The "' . $method_id . '" payment method is currently ' . $method_enabled . '">' . ( 'enabled' === $method_enabled ? 'Yes' : 'No' ) . '</span></a></td>
|
571 |
+
<td class="description" width="">Long description text goes here.</td>
|
572 |
+
</tr>';
|
573 |
+
}
|
574 |
+
|
575 |
+
$data['description'] .= '</tbody>
|
576 |
+
</table>
|
577 |
+
<span id="wc_stripe_upe_change_notice" class="hidden">' . __( 'You must save your changes.', 'woocommerce-gateway-stripe' ) . '</span>';
|
578 |
+
|
579 |
+
return $this->generate_title_html( $key, $data );
|
580 |
+
}
|
581 |
+
|
582 |
+
/**
|
583 |
+
* This is overloading the title type so the oauth url is only fetched if we are on the settings page.
|
584 |
+
*
|
585 |
+
* TODO: This is duplicate code from WC_Gateway_Stripe.
|
586 |
+
*
|
587 |
+
* @param string $key Field key.
|
588 |
+
* @param array $data Field data.
|
589 |
+
* @return string
|
590 |
+
*/
|
591 |
+
public function generate_stripe_account_keys_html( $key, $data ) {
|
592 |
+
if ( woocommerce_gateway_stripe()->connect->is_connected() ) {
|
593 |
+
$reset_link = add_query_arg(
|
594 |
+
[
|
595 |
+
'_wpnonce' => wp_create_nonce( 'reset_stripe_api_credentials' ),
|
596 |
+
'reset_stripe_api_credentials' => true,
|
597 |
+
],
|
598 |
+
admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=stripe' )
|
599 |
+
);
|
600 |
+
|
601 |
+
$api_credentials_text = sprintf(
|
602 |
+
/* translators: %1, %2, %3, and %4 are all HTML markup tags */
|
603 |
+
__( '%1$sClear all Stripe account keys.%2$s %3$sThis will disable any connection to Stripe.%4$s', 'woocommerce-gateway-stripe' ),
|
604 |
+
'<a id="wc_stripe_connect_button" href="' . $reset_link . '" class="button button-secondary">',
|
605 |
+
'</a>',
|
606 |
+
'<span style="color:red;">',
|
607 |
+
'</span>'
|
608 |
+
);
|
609 |
+
} else {
|
610 |
+
$oauth_url = woocommerce_gateway_stripe()->connect->get_oauth_url();
|
611 |
+
|
612 |
+
if ( ! is_wp_error( $oauth_url ) ) {
|
613 |
+
$api_credentials_text = sprintf(
|
614 |
+
/* translators: %1, %2 and %3 are all HTML markup tags */
|
615 |
+
__( '%1$sSetup or link an existing Stripe account.%2$s By clicking this button you agree to the %3$sTerms of Service%2$s. Or, manually enter Stripe account keys below.', 'woocommerce-gateway-stripe' ),
|
616 |
+
'<a id="wc_stripe_connect_button" href="' . $oauth_url . '" class="button button-primary">',
|
617 |
+
'</a>',
|
618 |
+
'<a href="https://wordpress.com/tos">'
|
619 |
+
);
|
620 |
+
} else {
|
621 |
+
$api_credentials_text = __( 'Manually enter Stripe keys below.', 'woocommerce-gateway-stripe' );
|
622 |
+
}
|
623 |
+
}
|
624 |
+
$data['description'] = $api_credentials_text;
|
625 |
+
return $this->generate_title_html( $key, $data );
|
626 |
+
}
|
627 |
+
|
628 |
+
/**
|
629 |
+
* Extacts the Stripe intent's payment_method_type and payment_method_details values.
|
630 |
+
*
|
631 |
+
* @param $intent Stripe's intent response.
|
632 |
+
* @return string[] List with 2 values: payment_method_type and payment_method_details.
|
633 |
+
*/
|
634 |
+
private function get_payment_method_data_from_intent( $intent ) {
|
635 |
+
$payment_method_type = '';
|
636 |
+
$payment_method_details = false;
|
637 |
+
|
638 |
+
if ( 'payment_intent' === $intent->object ) {
|
639 |
+
if ( ! empty( $intent->charges ) && 0 < $intent->charges->total_count ) {
|
640 |
+
$charge = end( $intent->charges->data );
|
641 |
+
$payment_method_details = (array) $charge->payment_method_details;
|
642 |
+
$payment_method_type = ! empty( $payment_method_details ) ? $payment_method_details['type'] : '';
|
643 |
+
}
|
644 |
+
} elseif ( 'setup_intent' === $intent->object ) {
|
645 |
+
$payment_method_options = array_keys( $intent->payment_method_options );
|
646 |
+
$payment_method_type = ! empty( $payment_method_options ) ? $payment_method_options[0] : '';
|
647 |
+
// Setup intents don't have details, keep the false value.
|
648 |
+
}
|
649 |
+
|
650 |
+
return [ $payment_method_type, $payment_method_details ];
|
651 |
+
}
|
652 |
+
|
653 |
+
/**
|
654 |
+
* Prepares Stripe metadata for a given order.
|
655 |
+
*
|
656 |
+
* @param WC_Order $order Order being processed.
|
657 |
+
*
|
658 |
+
* @return array Array of keyed metadata values.
|
659 |
+
*/
|
660 |
+
private function get_metadata_from_order( $order ) {
|
661 |
+
|
662 |
+
// TODO: change this after adding the subscriptions trait: $this->is_payment_recurring( $order->get_id() ) ? Payment_Type::RECURRING() : Payment_Type::SINGLE();
|
663 |
+
$payment_type = 'single';
|
664 |
+
$name = sanitize_text_field( $order->get_billing_first_name() ) . ' ' . sanitize_text_field( $order->get_billing_last_name() );
|
665 |
+
$email = sanitize_email( $order->get_billing_email() );
|
666 |
+
|
667 |
+
return [
|
668 |
+
'customer_name' => $name,
|
669 |
+
'customer_email' => $email,
|
670 |
+
'site_url' => esc_url( get_site_url() ),
|
671 |
+
'order_id' => $order->get_id(),
|
672 |
+
'order_key' => $order->get_order_key(),
|
673 |
+
'payment_type' => $payment_type,
|
674 |
+
];
|
675 |
+
}
|
676 |
+
}
|
includes/payment-methods/class-wc-stripe-upe-payment-method-bancontact.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Bancontact Payment Method class extending UPE base class
|
8 |
+
*/
|
9 |
+
class WC_Stripe_UPE_Payment_Method_Bancontact extends WC_Stripe_UPE_Payment_Method {
|
10 |
+
|
11 |
+
const STRIPE_ID = 'bancontact';
|
12 |
+
|
13 |
+
const LPM_GATEWAY_CLASS = WC_Gateway_Stripe_Bancontact::class;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Constructor for card payment method
|
17 |
+
*
|
18 |
+
* @param WC_Payments_Token_Service $token_service Token class instance.
|
19 |
+
*/
|
20 |
+
public function __construct( $token_service ) {
|
21 |
+
parent::__construct( $token_service );
|
22 |
+
$this->stripe_id = self::STRIPE_ID;
|
23 |
+
$this->title = 'Pay with Bancontact';
|
24 |
+
$this->is_reusable = true; // TODO: is it?
|
25 |
+
$this->supported_currencies = [ 'EUR' ];
|
26 |
+
}
|
27 |
+
}
|
includes/payment-methods/class-wc-stripe-upe-payment-method-cc.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class WC_Stripe_UPE_Payment_Method_CC
|
8 |
+
*/
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Credit card Payment Method class extending UPE base class
|
12 |
+
*/
|
13 |
+
class WC_Stripe_UPE_Payment_Method_CC extends WC_Stripe_UPE_Payment_Method {
|
14 |
+
|
15 |
+
const STRIPE_ID = 'card';
|
16 |
+
|
17 |
+
const LPM_GATEWAY_CLASS = WC_Gateway_Stripe::class;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Constructor for card payment method
|
21 |
+
*
|
22 |
+
* @param WC_Stripe_Payment_Tokens $token_service Token class instance.
|
23 |
+
*/
|
24 |
+
public function __construct( $token_service ) {
|
25 |
+
parent::__construct( $token_service );
|
26 |
+
$this->stripe_id = self::STRIPE_ID;
|
27 |
+
$this->title = 'Credit card / debit card';
|
28 |
+
$this->is_reusable = true;
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Returns payment method title
|
33 |
+
*
|
34 |
+
* @param array|bool $payment_details Optional payment details from charge object.
|
35 |
+
*
|
36 |
+
* @return string
|
37 |
+
*/
|
38 |
+
public function get_title( $payment_details = false ) {
|
39 |
+
if ( ! $payment_details ) {
|
40 |
+
return $this->title;
|
41 |
+
}
|
42 |
+
|
43 |
+
$details = $payment_details[ $this->stripe_id ];
|
44 |
+
$funding_types = [
|
45 |
+
'credit' => __( 'credit', 'woocommerce-gateway-stripe' ),
|
46 |
+
'debit' => __( 'debit', 'woocommerce-gateway-stripe' ),
|
47 |
+
'prepaid' => __( 'prepaid', 'woocommerce-gateway-stripe' ),
|
48 |
+
'unknown' => __( 'unknown', 'woocommerce-gateway-stripe' ),
|
49 |
+
];
|
50 |
+
|
51 |
+
return sprintf(
|
52 |
+
// Translators: %1$s card brand, %2$s card funding (prepaid, credit, etc.).
|
53 |
+
__( '%1$s %2$s card', 'woocommerce-gateway-stripe' ),
|
54 |
+
ucfirst( $details->network ),
|
55 |
+
$funding_types[ $details->funding ]
|
56 |
+
);
|
57 |
+
}
|
58 |
+
|
59 |
+
}
|
includes/payment-methods/class-wc-stripe-upe-payment-method-eps.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
/**
|
7 |
+
* EPS Payment Method class extending UPE base class
|
8 |
+
*/
|
9 |
+
class WC_Stripe_UPE_Payment_Method_Eps extends WC_Stripe_UPE_Payment_Method {
|
10 |
+
|
11 |
+
const STRIPE_ID = 'eps';
|
12 |
+
|
13 |
+
const LPM_GATEWAY_CLASS = WC_Gateway_Stripe_Eps::class;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Constructor for card payment method
|
17 |
+
*
|
18 |
+
* @param WC_Payments_Token_Service $token_service Token class instance.
|
19 |
+
*/
|
20 |
+
public function __construct( $token_service ) {
|
21 |
+
parent::__construct( $token_service );
|
22 |
+
$this->stripe_id = self::STRIPE_ID;
|
23 |
+
$this->title = 'Pay with EPS';
|
24 |
+
$this->is_reusable = false;
|
25 |
+
$this->supported_currencies = [ 'EUR' ];
|
26 |
+
}
|
27 |
+
}
|
includes/payment-methods/class-wc-stripe-upe-payment-method-giropay.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Giropay Payment Method class extending UPE base class
|
8 |
+
*/
|
9 |
+
class WC_Stripe_UPE_Payment_Method_Giropay extends WC_Stripe_UPE_Payment_Method {
|
10 |
+
|
11 |
+
const STRIPE_ID = 'giropay';
|
12 |
+
|
13 |
+
const LPM_GATEWAY_CLASS = WC_Gateway_Stripe_Giropay::class;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Constructor for card payment method
|
17 |
+
*
|
18 |
+
* @param WC_Payments_Token_Service $token_service Token class instance.
|
19 |
+
*/
|
20 |
+
public function __construct( $token_service ) {
|
21 |
+
parent::__construct( $token_service );
|
22 |
+
$this->stripe_id = self::STRIPE_ID;
|
23 |
+
$this->title = 'Pay with Giropay';
|
24 |
+
$this->is_reusable = false;
|
25 |
+
$this->supported_currencies = [ 'EUR' ];
|
26 |
+
}
|
27 |
+
}
|
includes/payment-methods/class-wc-stripe-upe-payment-method-ideal.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Ideal Payment Method class extending UPE base class
|
8 |
+
*/
|
9 |
+
class WC_Stripe_UPE_Payment_Method_Ideal extends WC_Stripe_UPE_Payment_Method {
|
10 |
+
|
11 |
+
const STRIPE_ID = 'ideal';
|
12 |
+
|
13 |
+
const LPM_GATEWAY_CLASS = WC_Gateway_Stripe_Ideal::class;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Constructor for card payment method
|
17 |
+
*
|
18 |
+
* @param WC_Payments_Token_Service $token_service Token class instance.
|
19 |
+
*/
|
20 |
+
public function __construct( $token_service ) {
|
21 |
+
parent::__construct( $token_service );
|
22 |
+
$this->stripe_id = self::STRIPE_ID;
|
23 |
+
$this->title = 'Pay with Ideal';
|
24 |
+
$this->is_reusable = true; // TODO: is it?
|
25 |
+
$this->supported_currencies = [ 'EUR' ];
|
26 |
+
}
|
27 |
+
}
|
includes/payment-methods/class-wc-stripe-upe-payment-method.php
ADDED
@@ -0,0 +1,166 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Abstract UPE Payment Method class
|
8 |
+
*
|
9 |
+
* Handles general functionality for UPE payment methods
|
10 |
+
*/
|
11 |
+
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Extendable abstract class for payment methods.
|
15 |
+
*/
|
16 |
+
abstract class WC_Stripe_UPE_Payment_Method {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Stripe key name
|
20 |
+
*
|
21 |
+
* @var string
|
22 |
+
*/
|
23 |
+
protected $stripe_id;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Display title
|
27 |
+
*
|
28 |
+
* @var string
|
29 |
+
*/
|
30 |
+
protected $title;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Can payment method be saved or reused?
|
34 |
+
*
|
35 |
+
* @var bool
|
36 |
+
*/
|
37 |
+
protected $is_reusable;
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Instance of WC Payments Token Service to save payment method
|
41 |
+
*
|
42 |
+
* @var WC_Payments_Token_Service
|
43 |
+
*/
|
44 |
+
protected $token_service;
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Array of currencies supported by this UPE method
|
48 |
+
*
|
49 |
+
* @var array
|
50 |
+
*/
|
51 |
+
protected $supported_currencies;
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Wether this UPE method is enabled
|
55 |
+
*
|
56 |
+
* @var bool
|
57 |
+
*/
|
58 |
+
protected $enabled;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Create instance of payment method
|
62 |
+
*
|
63 |
+
* @param WC_Payments_Token_Service $token_service Instance of WC_Payments_Token_Service.
|
64 |
+
*/
|
65 |
+
public function __construct( $token_service ) {
|
66 |
+
$main_settings = get_option( 'woocommerce_stripe_settings' );
|
67 |
+
|
68 |
+
if ( isset( $main_settings['upe_checkout_experience_accepted_payments'] ) ) {
|
69 |
+
$enabled_upe_methods = $main_settings['upe_checkout_experience_accepted_payments'];
|
70 |
+
} else {
|
71 |
+
$enabled_upe_methods = [ WC_Stripe_UPE_Payment_Method_CC::STRIPE_ID ];
|
72 |
+
}
|
73 |
+
|
74 |
+
$this->enabled = in_array( static::STRIPE_ID, $enabled_upe_methods, true );
|
75 |
+
// $this->token_service = $token_service;
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Returns payment method ID
|
80 |
+
*
|
81 |
+
* @return string
|
82 |
+
*/
|
83 |
+
public function get_id() {
|
84 |
+
return $this->stripe_id;
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Returns true if the UPE method is enabled.
|
89 |
+
*
|
90 |
+
* @return bool
|
91 |
+
*/
|
92 |
+
public function is_enabled() {
|
93 |
+
return $this->enabled;
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Returns payment method title
|
98 |
+
*
|
99 |
+
* @param array|bool $payment_details Optional payment details from charge object.
|
100 |
+
*
|
101 |
+
* @return string
|
102 |
+
*/
|
103 |
+
public function get_title( $payment_details = false ) {
|
104 |
+
return $this->title;
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Returns boolean dependent on whether payment method
|
109 |
+
* can be used at checkout
|
110 |
+
*
|
111 |
+
* @return bool
|
112 |
+
*/
|
113 |
+
public function is_enabled_at_checkout() {
|
114 |
+
if ( $this->is_subscription_item_in_cart() ) {
|
115 |
+
return $this->is_reusable();
|
116 |
+
}
|
117 |
+
return true;
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* Returns boolean dependent on whether payment method
|
122 |
+
* will support saved payments/subscription payments
|
123 |
+
*
|
124 |
+
* @return bool
|
125 |
+
*/
|
126 |
+
public function is_reusable() {
|
127 |
+
return $this->is_reusable;
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Add payment method to user and return WC payment token
|
132 |
+
*
|
133 |
+
* @param WP_User $user User to get payment token from.
|
134 |
+
* @param string $payment_method_id Stripe payment method ID string.
|
135 |
+
*
|
136 |
+
* @return WC_Payment_Token_CC|WC_Payment_Token_WCPay_SEPA WC object for payment token.
|
137 |
+
*/
|
138 |
+
public function get_payment_token_for_user( $user, $payment_method_id ) {
|
139 |
+
// return $this->token_service->add_payment_method_to_user( $payment_method_id, $user );
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Returns boolean on whether current WC_Cart or WC_Subscriptions_Cart
|
144 |
+
* contains a subscription or subscription renewal item
|
145 |
+
*
|
146 |
+
* @return bool
|
147 |
+
*/
|
148 |
+
public function is_subscription_item_in_cart() {
|
149 |
+
if ( class_exists( 'WC_Subscriptions' ) && version_compare( WC_Subscriptions::$version, '2.2.0', '>=' ) ) {
|
150 |
+
return WC_Subscriptions_Cart::cart_contains_subscription() || 0 < count( wcs_get_order_type_cart_items( 'renewal' ) );
|
151 |
+
}
|
152 |
+
return false;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Returns the currencies this UPE method supports.
|
157 |
+
*
|
158 |
+
* @return array|null
|
159 |
+
*/
|
160 |
+
public function get_supported_currencies() {
|
161 |
+
return apply_filters(
|
162 |
+
'wc_stripe_' . static::STRIPE_ID . '_upe_supported_currencies',
|
163 |
+
$this->supported_currencies
|
164 |
+
);
|
165 |
+
}
|
166 |
+
}
|
languages/woocommerce-gateway-stripe.pot
CHANGED
@@ -1,1934 +1,51 @@
|
|
1 |
-
# Copyright (C) 2021 WooCommerce
|
2 |
-
# This file is distributed under the same license as the WooCommerce Stripe Gateway package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: WooCommerce Stripe Gateway 5.4.1\n"
|
6 |
-
"Report-Msgid-Bugs-To: "
|
7 |
-
"https://wordpress.org/support/plugin/woocommerce-gateway-stripe\n"
|
8 |
-
"POT-Creation-Date: 2021-09-01 22:21:55+00:00\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
-
"
|
12 |
-
"PO-Revision-Date: 2021-MO-DA HO:MI+ZONE\n"
|
13 |
-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
-
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
-
"X-Generator: node-wp-i18n 1.2.5\n"
|
16 |
|
17 |
-
#:
|
18 |
-
|
19 |
-
msgid ""
|
20 |
-
"You must add the following webhook endpoint <strong "
|
21 |
-
"style=\"background-color:#ddd;\"> %s </strong> to your <a "
|
22 |
-
"href=\"https://dashboard.stripe.com/account/webhooks\" "
|
23 |
-
"target=\"_blank\">Stripe account settings</a> (if there isn't one already "
|
24 |
-
"enabled). This will enable you to receive notifications on the charge "
|
25 |
-
"statuses."
|
26 |
-
msgstr ""
|
27 |
-
|
28 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:44
|
29 |
-
msgid "Save payment information to my account for future purchases."
|
30 |
-
msgstr ""
|
31 |
-
|
32 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:257
|
33 |
-
#: includes/compat/class-wc-stripe-sepa-subs-compat.php:230
|
34 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:243
|
35 |
-
#. translators: 1) amount (including currency symbol)
|
36 |
-
#. translators: minimum amount
|
37 |
-
msgid "Sorry, the minimum allowed order total is %1$s to use this payment method."
|
38 |
-
msgstr ""
|
39 |
-
|
40 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:348
|
41 |
-
#. translators: 1) blog name 2) order number
|
42 |
-
msgid "%1$s - Order %2$s"
|
43 |
-
msgstr ""
|
44 |
-
|
45 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:389
|
46 |
-
msgid "customer_name"
|
47 |
-
msgstr ""
|
48 |
-
|
49 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:390
|
50 |
-
msgid "customer_email"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:453
|
54 |
-
#. translators: transaction id
|
55 |
-
msgid "Stripe charge awaiting payment: %s."
|
56 |
-
msgstr ""
|
57 |
-
|
58 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:460
|
59 |
-
#: includes/class-wc-stripe-order-handler.php:296
|
60 |
-
#: includes/class-wc-stripe-webhook-handler.php:414
|
61 |
-
#: includes/class-wc-stripe-webhook-handler.php:464
|
62 |
-
#. translators: transaction id
|
63 |
-
msgid "Stripe charge complete (Charge ID: %s)"
|
64 |
-
msgstr ""
|
65 |
-
|
66 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:465
|
67 |
-
#: includes/class-wc-gateway-stripe.php:515
|
68 |
-
#: includes/compat/class-wc-stripe-sepa-subs-compat.php:187
|
69 |
-
msgid "Payment processing failed. Please retry."
|
70 |
-
msgstr ""
|
71 |
-
|
72 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:477
|
73 |
-
#. translators: transaction id
|
74 |
-
msgid ""
|
75 |
-
"Stripe charge authorized (Charge ID: %s). Process order to take payment, or "
|
76 |
-
"cancel to remove the pre-authorization. Attempting to refund the order in "
|
77 |
-
"part or in full will release the authorization and cancel the payment."
|
78 |
-
msgstr ""
|
79 |
-
|
80 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:658
|
81 |
-
msgid "Invalid payment method. Please input a new card number."
|
82 |
-
msgstr ""
|
83 |
-
|
84 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:923
|
85 |
-
#. translators: %1$s is a stripe error message
|
86 |
-
msgid "There was a problem initiating a refund: %1$s"
|
87 |
-
msgstr ""
|
88 |
-
|
89 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:937
|
90 |
-
#. translators: amount (including currency symbol)
|
91 |
-
msgid "Pre-Authorization for %s voided."
|
92 |
-
msgstr ""
|
93 |
-
|
94 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:942
|
95 |
-
msgid ""
|
96 |
-
"The authorization was voided and the order cancelled. Click okay to "
|
97 |
-
"continue, then refresh the page."
|
98 |
-
msgstr ""
|
99 |
-
|
100 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:956
|
101 |
-
#. translators: 1) amount (including currency symbol) 2) transaction id 3)
|
102 |
-
#. refund message
|
103 |
-
msgid "Refunded %1$s - Refund ID: %2$s - Reason: %3$s"
|
104 |
-
msgstr ""
|
105 |
-
|
106 |
-
#: includes/abstracts/abstract-wc-stripe-payment-gateway.php:974
|
107 |
-
msgid "There was a problem adding the payment method."
|
108 |
-
msgstr ""
|
109 |
-
|
110 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:134
|
111 |
-
#. translators: 1) A URL that explains Stripe Radar.
|
112 |
-
msgid ""
|
113 |
-
"WooCommerce Stripe - We see that you had the \"Require 3D secure when "
|
114 |
-
"applicable\" setting turned on. This setting is not available here anymore, "
|
115 |
-
"because it is now replaced by Stripe Radar. You can learn more about it <a "
|
116 |
-
"href=\"%s\" target=\"_blank\">here</a>."
|
117 |
-
msgstr ""
|
118 |
-
|
119 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:141
|
120 |
-
#. translators: 1) int version 2) int version
|
121 |
-
msgid ""
|
122 |
-
"WooCommerce Stripe - We recently made changes to Stripe that may impact the "
|
123 |
-
"appearance of your checkout. If your checkout has changed unexpectedly, "
|
124 |
-
"please follow these <a "
|
125 |
-
"href=\"https://docs.woocommerce.com/document/stripe/#styling\" "
|
126 |
-
"target=\"_blank\">instructions</a> to fix."
|
127 |
-
msgstr ""
|
128 |
-
|
129 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:151
|
130 |
-
#. translators: 1) int version 2) int version
|
131 |
-
msgid ""
|
132 |
-
"WooCommerce Stripe - The minimum PHP version required for this plugin is "
|
133 |
-
"%1$s. You are running %2$s."
|
134 |
-
msgstr ""
|
135 |
-
|
136 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:162
|
137 |
-
#. translators: 1) int version 2) int version
|
138 |
-
msgid ""
|
139 |
-
"WooCommerce Stripe - This is the last version of the plugin compatible with "
|
140 |
-
"WooCommerce %1$s. All furture versions of the plugin will require "
|
141 |
-
"WooCommerce %2$s or greater."
|
142 |
-
msgstr ""
|
143 |
-
|
144 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:169
|
145 |
-
msgid "WooCommerce Stripe - cURL is not installed."
|
146 |
-
msgstr ""
|
147 |
-
|
148 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:179
|
149 |
-
#. translators: 1) link
|
150 |
-
msgid ""
|
151 |
-
"Stripe is almost ready. To get started, <a href=\"%s\">set your Stripe "
|
152 |
-
"account keys</a>."
|
153 |
-
msgstr ""
|
154 |
-
|
155 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:189
|
156 |
-
#. translators: 1) link
|
157 |
-
msgid ""
|
158 |
-
"Stripe is in test mode however your test keys may not be valid. Test keys "
|
159 |
-
"start with pk_test and sk_test or rk_test. Please go to your settings and, "
|
160 |
-
"<a href=\"%s\">set your Stripe account keys</a>."
|
161 |
-
msgstr ""
|
162 |
-
|
163 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:197
|
164 |
-
#. translators: 1) link
|
165 |
-
msgid ""
|
166 |
-
"Stripe is in live mode however your live keys may not be valid. Live keys "
|
167 |
-
"start with pk_live and sk_live or rk_live. Please go to your settings and, "
|
168 |
-
"<a href=\"%s\">set your Stripe account keys</a>."
|
169 |
-
msgstr ""
|
170 |
-
|
171 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:206
|
172 |
-
#. translators: 1) link
|
173 |
-
msgid ""
|
174 |
-
"Stripe is enabled, but a SSL certificate is not detected. Your checkout may "
|
175 |
-
"not be secure! Please ensure your server has a valid <a href=\"%1$s\" "
|
176 |
-
"target=\"_blank\">SSL certificate</a>"
|
177 |
-
msgstr ""
|
178 |
-
|
179 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:212
|
180 |
-
#. translators: %1 is the URL for the link
|
181 |
-
msgid ""
|
182 |
-
"Stripe is now ready for Strong Customer Authentication (SCA) and 3D Secure "
|
183 |
-
"2! <a href=\"%1$s\" target=\"_blank\">Read about SCA</a>"
|
184 |
-
msgstr ""
|
185 |
-
|
186 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:217
|
187 |
-
#. translators: %s is a the URL for the link.
|
188 |
-
msgid ""
|
189 |
-
"The public and/or secret keys for the Stripe gateway have been changed. "
|
190 |
-
"This might cause errors for existing customers and saved payment methods. "
|
191 |
-
"<a href=\"%s\" target=\"_blank\">Click here to learn more</a>."
|
192 |
-
msgstr ""
|
193 |
-
|
194 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:240
|
195 |
-
#. translators: %1$s Payment method, %2$s List of supported currencies
|
196 |
-
msgid "%1$s is enabled - it requires store currency to be set to %2$s"
|
197 |
-
msgstr ""
|
198 |
-
|
199 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:254
|
200 |
-
msgid "Action failed. Please refresh the page and retry."
|
201 |
-
msgstr ""
|
202 |
-
|
203 |
-
#: includes/admin/class-wc-stripe-admin-notices.php:258
|
204 |
-
msgid "Cheatin’ huh?"
|
205 |
-
msgstr ""
|
206 |
-
|
207 |
-
#: includes/admin/class-wc-stripe-inbox-notes.php:40
|
208 |
-
msgid "Boost sales this holiday season with Apple Pay!"
|
209 |
-
msgstr ""
|
210 |
-
|
211 |
-
#: includes/admin/class-wc-stripe-inbox-notes.php:43
|
212 |
-
msgid "Boost sales with Apple Pay!"
|
213 |
-
msgstr ""
|
214 |
-
|
215 |
-
#: includes/admin/class-wc-stripe-inbox-notes.php:122
|
216 |
-
msgid ""
|
217 |
-
"Now that you accept Apple Pay® with Stripe, you can increase conversion "
|
218 |
-
"rates by letting your customers know that Apple Pay is available. Here’s a "
|
219 |
-
"marketing guide to help you get started."
|
220 |
-
msgstr ""
|
221 |
-
|
222 |
-
#: includes/admin/class-wc-stripe-inbox-notes.php:128
|
223 |
-
msgid "See marketing guide"
|
224 |
-
msgstr ""
|
225 |
-
|
226 |
-
#: includes/admin/class-wc-stripe-inbox-notes.php:142
|
227 |
-
msgid "Apple Pay domain verification needed"
|
228 |
-
msgstr ""
|
229 |
-
|
230 |
-
#: includes/admin/class-wc-stripe-inbox-notes.php:143
|
231 |
-
msgid ""
|
232 |
-
"The WooCommerce Stripe Gateway extension attempted to perform domain "
|
233 |
-
"verification on behalf of your store, but was unable to do so. This must be "
|
234 |
-
"resolved before Apple Pay can be offered to your customers."
|
235 |
-
msgstr ""
|
236 |
-
|
237 |
-
#: includes/admin/class-wc-stripe-inbox-notes.php:149
|
238 |
-
msgid "Learn more"
|
239 |
-
msgstr ""
|
240 |
-
|
241 |
-
#: includes/admin/class-wc-stripe-privacy.php:11
|
242 |
-
#: includes/class-wc-gateway-stripe.php:88
|
243 |
-
msgid "Stripe"
|
244 |
-
msgstr ""
|
245 |
-
|
246 |
-
#: includes/admin/class-wc-stripe-privacy.php:13
|
247 |
-
msgid "WooCommerce Stripe Order Data"
|
248 |
-
msgstr ""
|
249 |
-
|
250 |
-
#: includes/admin/class-wc-stripe-privacy.php:16
|
251 |
-
msgid "WooCommerce Stripe Subscriptions Data"
|
252 |
-
msgstr ""
|
253 |
-
|
254 |
-
#: includes/admin/class-wc-stripe-privacy.php:19
|
255 |
-
#: includes/admin/class-wc-stripe-privacy.php:21
|
256 |
-
msgid "WooCommerce Stripe Customer Data"
|
257 |
-
msgstr ""
|
258 |
-
|
259 |
-
#: includes/admin/class-wc-stripe-privacy.php:22
|
260 |
-
msgid "WooCommerce Stripe Data"
|
261 |
-
msgstr ""
|
262 |
-
|
263 |
-
#: includes/admin/class-wc-stripe-privacy.php:36
|
264 |
-
msgid "Retain Stripe Data"
|
265 |
-
msgstr ""
|
266 |
-
|
267 |
-
#: includes/admin/class-wc-stripe-privacy.php:37
|
268 |
-
msgid "Retains any Stripe data such as Stripe customer ID, source ID."
|
269 |
-
msgstr ""
|
270 |
-
|
271 |
-
#: includes/admin/class-wc-stripe-privacy.php:40
|
272 |
-
#: includes/compat/class-wc-stripe-sepa-subs-compat.php:486
|
273 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:598
|
274 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:613
|
275 |
-
msgid "N/A"
|
276 |
-
msgstr ""
|
277 |
-
|
278 |
-
#: includes/admin/class-wc-stripe-privacy.php:93
|
279 |
-
#. translators: %s URL to docs
|
280 |
-
msgid ""
|
281 |
-
"By using this extension, you may be storing personal data or sharing data "
|
282 |
-
"with an external service. <a href=\"%s\" target=\"_blank\">Learn more about "
|
283 |
-
"how this works, including what you may want to include in your privacy "
|
284 |
-
"policy.</a>"
|
285 |
-
msgstr ""
|
286 |
-
|
287 |
-
#: includes/admin/class-wc-stripe-privacy.php:116
|
288 |
-
msgid "Orders"
|
289 |
-
msgstr ""
|
290 |
-
|
291 |
-
#: includes/admin/class-wc-stripe-privacy.php:120
|
292 |
-
#: includes/admin/class-wc-stripe-privacy.php:185
|
293 |
-
#: includes/admin/class-wc-stripe-privacy.php:225
|
294 |
-
msgid "Stripe payment id"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: includes/admin/class-wc-stripe-privacy.php:124
|
298 |
-
#: includes/admin/class-wc-stripe-privacy.php:189
|
299 |
-
#: includes/admin/class-wc-stripe-privacy.php:229
|
300 |
-
msgid "Stripe customer id"
|
301 |
-
msgstr ""
|
302 |
-
|
303 |
-
#: includes/admin/class-wc-stripe-privacy.php:181
|
304 |
-
msgid "Subscriptions"
|
305 |
-
msgstr ""
|
306 |
-
|
307 |
-
#: includes/admin/class-wc-stripe-privacy.php:221
|
308 |
-
msgid "Customer Data"
|
309 |
-
msgstr ""
|
310 |
-
|
311 |
-
#: includes/admin/class-wc-stripe-privacy.php:267
|
312 |
-
msgid "Stripe User Data Erased."
|
313 |
-
msgstr ""
|
314 |
-
|
315 |
-
#: includes/admin/class-wc-stripe-privacy.php:343
|
316 |
-
#: includes/admin/class-wc-stripe-privacy.php:380
|
317 |
-
#. translators: %d Order ID
|
318 |
-
msgid ""
|
319 |
-
"Order ID %d is less than set retention days. Personal data retained. "
|
320 |
-
"(Stripe)"
|
321 |
-
msgstr ""
|
322 |
-
|
323 |
-
#: includes/admin/class-wc-stripe-privacy.php:348
|
324 |
-
#. translators: %d Order ID
|
325 |
-
msgid ""
|
326 |
-
"Order ID %d contains an active Subscription. Personal data retained. "
|
327 |
-
"(Stripe)"
|
328 |
-
msgstr ""
|
329 |
-
|
330 |
-
#: includes/admin/class-wc-stripe-privacy.php:363
|
331 |
-
msgid "Stripe Subscription Data Erased."
|
332 |
-
msgstr ""
|
333 |
-
|
334 |
-
#: includes/admin/class-wc-stripe-privacy.php:391
|
335 |
-
msgid "Stripe personal data erased."
|
336 |
-
msgstr ""
|
337 |
-
|
338 |
-
#: includes/admin/stripe-alipay-settings.php:10
|
339 |
-
msgid "Customer Geography: China"
|
340 |
-
msgstr ""
|
341 |
-
|
342 |
-
#: includes/admin/stripe-alipay-settings.php:14
|
343 |
-
msgid ""
|
344 |
-
"<a href=\"https://stripe.com/payments/payment-methods-guide#alipay\" "
|
345 |
-
"target=\"_blank\">Payment Method Guide</a>"
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: includes/admin/stripe-alipay-settings.php:18
|
349 |
-
#: includes/admin/stripe-bancontact-settings.php:18
|
350 |
-
#: includes/admin/stripe-eps-settings.php:14
|
351 |
-
#: includes/admin/stripe-giropay-settings.php:18
|
352 |
-
#: includes/admin/stripe-ideal-settings.php:18
|
353 |
-
#: includes/admin/stripe-multibanco-settings.php:14
|
354 |
-
#: includes/admin/stripe-p24-settings.php:14
|
355 |
-
#: includes/admin/stripe-sepa-settings.php:18
|
356 |
-
#: includes/admin/stripe-sofort-settings.php:18
|
357 |
-
msgid ""
|
358 |
-
"Must be activated from your Stripe Dashboard Settings <a "
|
359 |
-
"href=\"https://dashboard.stripe.com/account/payments/settings\" "
|
360 |
-
"target=\"_blank\">here</a>"
|
361 |
-
msgstr ""
|
362 |
-
|
363 |
-
#: includes/admin/stripe-alipay-settings.php:22
|
364 |
-
#: includes/admin/stripe-bancontact-settings.php:22
|
365 |
-
#: includes/admin/stripe-eps-settings.php:18
|
366 |
-
#: includes/admin/stripe-giropay-settings.php:22
|
367 |
-
#: includes/admin/stripe-ideal-settings.php:22
|
368 |
-
#: includes/admin/stripe-multibanco-settings.php:18
|
369 |
-
#: includes/admin/stripe-p24-settings.php:18
|
370 |
-
#: includes/admin/stripe-sepa-settings.php:22
|
371 |
-
#: includes/admin/stripe-settings.php:10
|
372 |
-
#: includes/admin/stripe-sofort-settings.php:22
|
373 |
-
msgid "Enable/Disable"
|
374 |
-
msgstr ""
|
375 |
-
|
376 |
-
#: includes/admin/stripe-alipay-settings.php:23
|
377 |
-
msgid "Enable Stripe Alipay"
|
378 |
-
msgstr ""
|
379 |
-
|
380 |
-
#: includes/admin/stripe-alipay-settings.php:29
|
381 |
-
#: includes/admin/stripe-bancontact-settings.php:29
|
382 |
-
#: includes/admin/stripe-eps-settings.php:25
|
383 |
-
#: includes/admin/stripe-giropay-settings.php:29
|
384 |
-
#: includes/admin/stripe-ideal-settings.php:29
|
385 |
-
#: includes/admin/stripe-multibanco-settings.php:25
|
386 |
-
#: includes/admin/stripe-p24-settings.php:25
|
387 |
-
#: includes/admin/stripe-sepa-settings.php:29
|
388 |
-
#: includes/admin/stripe-settings.php:17
|
389 |
-
#: includes/admin/stripe-sofort-settings.php:29
|
390 |
-
msgid "Title"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: includes/admin/stripe-alipay-settings.php:31
|
394 |
-
#: includes/admin/stripe-bancontact-settings.php:31
|
395 |
-
#: includes/admin/stripe-eps-settings.php:27
|
396 |
-
#: includes/admin/stripe-giropay-settings.php:31
|
397 |
-
#: includes/admin/stripe-ideal-settings.php:31
|
398 |
-
#: includes/admin/stripe-multibanco-settings.php:27
|
399 |
-
#: includes/admin/stripe-p24-settings.php:27
|
400 |
-
#: includes/admin/stripe-sepa-settings.php:31
|
401 |
-
#: includes/admin/stripe-settings.php:19
|
402 |
-
#: includes/admin/stripe-sofort-settings.php:31
|
403 |
-
msgid "This controls the title which the user sees during checkout."
|
404 |
-
msgstr ""
|
405 |
-
|
406 |
-
#: includes/admin/stripe-alipay-settings.php:32
|
407 |
-
msgid "Alipay"
|
408 |
-
msgstr ""
|
409 |
-
|
410 |
-
#: includes/admin/stripe-alipay-settings.php:36
|
411 |
-
#: includes/admin/stripe-bancontact-settings.php:36
|
412 |
-
#: includes/admin/stripe-eps-settings.php:32
|
413 |
-
#: includes/admin/stripe-giropay-settings.php:36
|
414 |
-
#: includes/admin/stripe-ideal-settings.php:36
|
415 |
-
#: includes/admin/stripe-multibanco-settings.php:32
|
416 |
-
#: includes/admin/stripe-p24-settings.php:32
|
417 |
-
#: includes/admin/stripe-sepa-settings.php:36
|
418 |
-
#: includes/admin/stripe-settings.php:24
|
419 |
-
#: includes/admin/stripe-sofort-settings.php:36
|
420 |
-
msgid "Description"
|
421 |
-
msgstr ""
|
422 |
-
|
423 |
-
#: includes/admin/stripe-alipay-settings.php:38
|
424 |
-
#: includes/admin/stripe-bancontact-settings.php:38
|
425 |
-
#: includes/admin/stripe-eps-settings.php:34
|
426 |
-
#: includes/admin/stripe-giropay-settings.php:38
|
427 |
-
#: includes/admin/stripe-ideal-settings.php:38
|
428 |
-
#: includes/admin/stripe-multibanco-settings.php:34
|
429 |
-
#: includes/admin/stripe-p24-settings.php:34
|
430 |
-
#: includes/admin/stripe-sepa-settings.php:38
|
431 |
-
#: includes/admin/stripe-settings.php:26
|
432 |
-
#: includes/admin/stripe-sofort-settings.php:38
|
433 |
-
msgid "This controls the description which the user sees during checkout."
|
434 |
-
msgstr ""
|
435 |
-
|
436 |
-
#: includes/admin/stripe-alipay-settings.php:39
|
437 |
-
msgid "You will be redirected to Alipay."
|
438 |
-
msgstr ""
|
439 |
-
|
440 |
-
#: includes/admin/stripe-alipay-settings.php:43
|
441 |
-
#: includes/admin/stripe-bancontact-settings.php:43
|
442 |
-
#: includes/admin/stripe-eps-settings.php:39
|
443 |
-
#: includes/admin/stripe-giropay-settings.php:43
|
444 |
-
#: includes/admin/stripe-ideal-settings.php:43
|
445 |
-
#: includes/admin/stripe-multibanco-settings.php:39
|
446 |
-
#: includes/admin/stripe-p24-settings.php:39
|
447 |
-
#: includes/admin/stripe-sepa-settings.php:43
|
448 |
-
#: includes/admin/stripe-settings.php:71
|
449 |
-
#: includes/admin/stripe-sofort-settings.php:43
|
450 |
-
msgid "Webhook Endpoints"
|
451 |
-
msgstr ""
|
452 |
-
|
453 |
-
#: includes/admin/stripe-bancontact-settings.php:10
|
454 |
-
msgid "Customer Geography: Belgium"
|
455 |
-
msgstr ""
|
456 |
-
|
457 |
-
#: includes/admin/stripe-bancontact-settings.php:14
|
458 |
-
msgid ""
|
459 |
-
"<a href=\"https://stripe.com/payments/payment-methods-guide#bancontact\" "
|
460 |
-
"target=\"_blank\">Payment Method Guide</a>"
|
461 |
-
msgstr ""
|
462 |
-
|
463 |
-
#: includes/admin/stripe-bancontact-settings.php:23
|
464 |
-
msgid "Enable Stripe Bancontact"
|
465 |
-
msgstr ""
|
466 |
-
|
467 |
-
#: includes/admin/stripe-bancontact-settings.php:32
|
468 |
-
msgid "Bancontact"
|
469 |
-
msgstr ""
|
470 |
-
|
471 |
-
#: includes/admin/stripe-bancontact-settings.php:39
|
472 |
-
msgid "You will be redirected to Bancontact."
|
473 |
-
msgstr ""
|
474 |
-
|
475 |
-
#: includes/admin/stripe-eps-settings.php:10
|
476 |
-
msgid "Customer Geography: Austria"
|
477 |
-
msgstr ""
|
478 |
-
|
479 |
-
#: includes/admin/stripe-eps-settings.php:19
|
480 |
-
msgid "Enable Stripe EPS"
|
481 |
-
msgstr ""
|
482 |
-
|
483 |
-
#: includes/admin/stripe-eps-settings.php:28
|
484 |
-
msgid "EPS"
|
485 |
-
msgstr ""
|
486 |
-
|
487 |
-
#: includes/admin/stripe-eps-settings.php:35
|
488 |
-
msgid "You will be redirected to EPS."
|
489 |
-
msgstr ""
|
490 |
-
|
491 |
-
#: includes/admin/stripe-giropay-settings.php:10
|
492 |
-
msgid "Customer Geography: Germany"
|
493 |
-
msgstr ""
|
494 |
-
|
495 |
-
#: includes/admin/stripe-giropay-settings.php:14
|
496 |
-
msgid ""
|
497 |
-
"<a href=\"https://stripe.com/payments/payment-methods-guide#giropay\" "
|
498 |
-
"target=\"_blank\">Payment Method Guide</a>"
|
499 |
-
msgstr ""
|
500 |
-
|
501 |
-
#: includes/admin/stripe-giropay-settings.php:23
|
502 |
-
msgid "Enable Stripe Giropay"
|
503 |
-
msgstr ""
|
504 |
-
|
505 |
-
#: includes/admin/stripe-giropay-settings.php:32
|
506 |
-
msgid "Giropay"
|
507 |
-
msgstr ""
|
508 |
-
|
509 |
-
#: includes/admin/stripe-giropay-settings.php:39
|
510 |
-
msgid "You will be redirected to Giropay."
|
511 |
-
msgstr ""
|
512 |
-
|
513 |
-
#: includes/admin/stripe-ideal-settings.php:10
|
514 |
-
msgid "Customer Geography: The Netherlands"
|
515 |
-
msgstr ""
|
516 |
-
|
517 |
-
#: includes/admin/stripe-ideal-settings.php:14
|
518 |
-
msgid ""
|
519 |
-
"<a href=\"https://stripe.com/payments/payment-methods-guide#ideal\" "
|
520 |
-
"target=\"_blank\">Payment Method Guide</a>"
|
521 |
-
msgstr ""
|
522 |
-
|
523 |
-
#: includes/admin/stripe-ideal-settings.php:23
|
524 |
-
msgid "Enable Stripe iDeal"
|
525 |
-
msgstr ""
|
526 |
-
|
527 |
-
#: includes/admin/stripe-ideal-settings.php:32
|
528 |
-
msgid "iDeal"
|
529 |
-
msgstr ""
|
530 |
-
|
531 |
-
#: includes/admin/stripe-ideal-settings.php:39
|
532 |
-
msgid "You will be redirected to iDeal."
|
533 |
-
msgstr ""
|
534 |
-
|
535 |
-
#: includes/admin/stripe-multibanco-settings.php:10
|
536 |
-
msgid "Customer Geography: Portugal"
|
537 |
-
msgstr ""
|
538 |
-
|
539 |
-
#: includes/admin/stripe-multibanco-settings.php:19
|
540 |
-
msgid "Enable Stripe Multibanco"
|
541 |
-
msgstr ""
|
542 |
-
|
543 |
-
#: includes/admin/stripe-multibanco-settings.php:28
|
544 |
-
msgid "Multibanco"
|
545 |
-
msgstr ""
|
546 |
-
|
547 |
-
#: includes/admin/stripe-multibanco-settings.php:35
|
548 |
-
msgid "You will be redirected to Multibanco."
|
549 |
-
msgstr ""
|
550 |
-
|
551 |
-
#: includes/admin/stripe-p24-settings.php:10
|
552 |
-
msgid "Customer Geography: Poland"
|
553 |
-
msgstr ""
|
554 |
-
|
555 |
-
#: includes/admin/stripe-p24-settings.php:19
|
556 |
-
msgid "Enable Stripe P24"
|
557 |
-
msgstr ""
|
558 |
-
|
559 |
-
#: includes/admin/stripe-p24-settings.php:28
|
560 |
-
msgid "Przelewy24 (P24)"
|
561 |
-
msgstr ""
|
562 |
-
|
563 |
-
#: includes/admin/stripe-p24-settings.php:35
|
564 |
-
msgid "You will be redirected to P24."
|
565 |
-
msgstr ""
|
566 |
-
|
567 |
-
#: includes/admin/stripe-sepa-settings.php:10
|
568 |
-
msgid ""
|
569 |
-
"Customer Geography: France, Germany, Spain, Belgium, Netherlands, "
|
570 |
-
"Luxembourg, Italy, Portugal, Austria, Ireland"
|
571 |
-
msgstr ""
|
572 |
-
|
573 |
-
#: includes/admin/stripe-sepa-settings.php:14
|
574 |
-
msgid ""
|
575 |
-
"<a "
|
576 |
-
"href=\"https://stripe.com/payments/payment-methods-guide#sepa-direct-debit\""
|
577 |
-
" target=\"_blank\">Payment Method Guide</a>"
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/admin/stripe-sepa-settings.php:23
|
581 |
-
msgid "Enable Stripe SEPA Direct Debit"
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: includes/admin/stripe-sepa-settings.php:32
|
585 |
-
msgid "SEPA Direct Debit"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/admin/stripe-sepa-settings.php:39
|
589 |
-
msgid "Mandate Information."
|
590 |
-
msgstr ""
|
591 |
-
|
592 |
-
#: includes/admin/stripe-settings.php:11
|
593 |
-
msgid "Enable Stripe"
|
594 |
-
msgstr ""
|
595 |
-
|
596 |
-
#: includes/admin/stripe-settings.php:20
|
597 |
-
msgid "Credit Card (Stripe)"
|
598 |
-
msgstr ""
|
599 |
-
|
600 |
-
#: includes/admin/stripe-settings.php:27
|
601 |
-
msgid "Pay with your credit card via Stripe."
|
602 |
-
msgstr ""
|
603 |
-
|
604 |
-
#: includes/admin/stripe-settings.php:31
|
605 |
-
msgid "Stripe Account Keys"
|
606 |
-
msgstr ""
|
607 |
-
|
608 |
-
#: includes/admin/stripe-settings.php:35
|
609 |
-
msgid "Test mode"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: includes/admin/stripe-settings.php:36
|
613 |
-
msgid "Enable Test Mode"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: includes/admin/stripe-settings.php:38
|
617 |
-
msgid "Place the payment gateway in test mode using test API keys."
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: includes/admin/stripe-settings.php:43
|
621 |
-
msgid "Test Publishable Key"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: includes/admin/stripe-settings.php:45
|
625 |
-
msgid ""
|
626 |
-
"Get your API keys from your stripe account. Invalid values will be "
|
627 |
-
"rejected. Only values starting with \"pk_test_\" will be saved."
|
628 |
-
msgstr ""
|
629 |
-
|
630 |
-
#: includes/admin/stripe-settings.php:50
|
631 |
-
msgid "Test Secret Key"
|
632 |
-
msgstr ""
|
633 |
-
|
634 |
-
#: includes/admin/stripe-settings.php:52
|
635 |
-
msgid ""
|
636 |
-
"Get your API keys from your stripe account. Invalid values will be "
|
637 |
-
"rejected. Only values starting with \"sk_test_\" or \"rk_test_\" will be "
|
638 |
-
"saved."
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#: includes/admin/stripe-settings.php:57
|
642 |
-
msgid "Live Publishable Key"
|
643 |
-
msgstr ""
|
644 |
-
|
645 |
-
#: includes/admin/stripe-settings.php:59
|
646 |
-
msgid ""
|
647 |
-
"Get your API keys from your stripe account. Invalid values will be "
|
648 |
-
"rejected. Only values starting with \"pk_live_\" will be saved."
|
649 |
-
msgstr ""
|
650 |
-
|
651 |
-
#: includes/admin/stripe-settings.php:64
|
652 |
-
msgid "Live Secret Key"
|
653 |
-
msgstr ""
|
654 |
-
|
655 |
-
#: includes/admin/stripe-settings.php:66
|
656 |
-
msgid ""
|
657 |
-
"Get your API keys from your stripe account. Invalid values will be "
|
658 |
-
"rejected. Only values starting with \"sk_live_\" or \"rk_live_\" will be "
|
659 |
-
"saved."
|
660 |
-
msgstr ""
|
661 |
-
|
662 |
-
#: includes/admin/stripe-settings.php:76
|
663 |
-
msgid "Test Webhook Secret"
|
664 |
-
msgstr ""
|
665 |
-
|
666 |
-
#: includes/admin/stripe-settings.php:78 includes/admin/stripe-settings.php:85
|
667 |
-
msgid ""
|
668 |
-
"Get your webhook signing secret from the webhooks section in your stripe "
|
669 |
-
"account."
|
670 |
-
msgstr ""
|
671 |
-
|
672 |
-
#: includes/admin/stripe-settings.php:83
|
673 |
-
msgid "Webhook Secret"
|
674 |
-
msgstr ""
|
675 |
-
|
676 |
-
#: includes/admin/stripe-settings.php:90
|
677 |
-
msgid "Inline Credit Card Form"
|
678 |
-
msgstr ""
|
679 |
-
|
680 |
-
#: includes/admin/stripe-settings.php:92
|
681 |
-
msgid ""
|
682 |
-
"Choose the style you want to show for your credit card form. When "
|
683 |
-
"unchecked, the credit card form will display separate credit card number "
|
684 |
-
"field, expiry date field and cvc field."
|
685 |
-
msgstr ""
|
686 |
-
|
687 |
-
#: includes/admin/stripe-settings.php:97
|
688 |
-
msgid "Statement Descriptor"
|
689 |
-
msgstr ""
|
690 |
-
|
691 |
-
#: includes/admin/stripe-settings.php:99
|
692 |
-
msgid ""
|
693 |
-
"Statement descriptors are limited to 22 characters, cannot use the special "
|
694 |
-
"characters >, <, \", \\, ', *, /, (, ), {, }, and must not consist solely "
|
695 |
-
"of numbers. This will appear on your customer's statement in capital "
|
696 |
-
"letters."
|
697 |
-
msgstr ""
|
698 |
-
|
699 |
-
#: includes/admin/stripe-settings.php:104
|
700 |
-
msgid "Capture"
|
701 |
-
msgstr ""
|
702 |
-
|
703 |
-
#: includes/admin/stripe-settings.php:105
|
704 |
-
msgid "Capture charge immediately"
|
705 |
-
msgstr ""
|
706 |
-
|
707 |
-
#: includes/admin/stripe-settings.php:107
|
708 |
-
msgid ""
|
709 |
-
"Whether or not to immediately capture the charge. When unchecked, the "
|
710 |
-
"charge issues an authorization and will need to be captured later. "
|
711 |
-
"Uncaptured charges expire in 7 days."
|
712 |
-
msgstr ""
|
713 |
-
|
714 |
-
#: includes/admin/stripe-settings.php:112
|
715 |
-
msgid "Payment Request Buttons"
|
716 |
-
msgstr ""
|
717 |
-
|
718 |
-
#: includes/admin/stripe-settings.php:115
|
719 |
-
#. translators: 1) br tag 2) Stripe anchor tag 3) Apple anchor tag 4) Stripe
|
720 |
-
#. dashboard opening anchor tag 5) Stripe dashboard closing anchor tag
|
721 |
-
msgid ""
|
722 |
-
"Enable Payment Request Buttons. (Apple Pay/Google Pay) %1$sBy using Apple "
|
723 |
-
"Pay, you agree to %2$s and %3$s's terms of service. (Apple Pay domain "
|
724 |
-
"verification is performed automatically in live mode; configuration can be "
|
725 |
-
"found on the %4$sStripe dashboard%5$s.)"
|
726 |
-
msgstr ""
|
727 |
-
|
728 |
-
#: includes/admin/stripe-settings.php:123
|
729 |
-
msgid ""
|
730 |
-
"If enabled, users will be able to pay using Apple Pay or Chrome Payment "
|
731 |
-
"Request if supported by the browser."
|
732 |
-
msgstr ""
|
733 |
-
|
734 |
-
#: includes/admin/stripe-settings.php:128
|
735 |
-
msgid "Payment Request Button Type"
|
736 |
-
msgstr ""
|
737 |
-
|
738 |
-
#: includes/admin/stripe-settings.php:129
|
739 |
-
msgid "Button Type"
|
740 |
-
msgstr ""
|
741 |
-
|
742 |
-
#: includes/admin/stripe-settings.php:131
|
743 |
-
msgid "Select the button type you would like to show."
|
744 |
-
msgstr ""
|
745 |
-
|
746 |
-
#: includes/admin/stripe-settings.php:135
|
747 |
-
msgid "Default"
|
748 |
-
msgstr ""
|
749 |
-
|
750 |
-
#: includes/admin/stripe-settings.php:136
|
751 |
-
msgid "Buy"
|
752 |
-
msgstr ""
|
753 |
-
|
754 |
-
#: includes/admin/stripe-settings.php:137
|
755 |
-
msgid "Donate"
|
756 |
-
msgstr ""
|
757 |
-
|
758 |
-
#: includes/admin/stripe-settings.php:138
|
759 |
-
msgid "Branded"
|
760 |
-
msgstr ""
|
761 |
-
|
762 |
-
#: includes/admin/stripe-settings.php:139
|
763 |
-
msgid "Custom"
|
764 |
-
msgstr ""
|
765 |
-
|
766 |
-
#: includes/admin/stripe-settings.php:143
|
767 |
-
msgid "Payment Request Button Theme"
|
768 |
-
msgstr ""
|
769 |
-
|
770 |
-
#: includes/admin/stripe-settings.php:144
|
771 |
-
msgid "Button Theme"
|
772 |
-
msgstr ""
|
773 |
-
|
774 |
-
#: includes/admin/stripe-settings.php:146
|
775 |
-
msgid "Select the button theme you would like to show."
|
776 |
-
msgstr ""
|
777 |
-
|
778 |
-
#: includes/admin/stripe-settings.php:150
|
779 |
-
msgid "Dark"
|
780 |
-
msgstr ""
|
781 |
-
|
782 |
-
#: includes/admin/stripe-settings.php:151
|
783 |
-
msgid "Light"
|
784 |
-
msgstr ""
|
785 |
-
|
786 |
-
#: includes/admin/stripe-settings.php:152
|
787 |
-
msgid "Light-Outline"
|
788 |
-
msgstr ""
|
789 |
-
|
790 |
-
#: includes/admin/stripe-settings.php:156
|
791 |
-
msgid "Payment Request Button Height"
|
792 |
-
msgstr ""
|
793 |
-
|
794 |
-
#: includes/admin/stripe-settings.php:157
|
795 |
-
msgid "Button Height"
|
796 |
-
msgstr ""
|
797 |
-
|
798 |
-
#: includes/admin/stripe-settings.php:159
|
799 |
-
msgid ""
|
800 |
-
"Enter the height you would like the button to be in pixels. Width will "
|
801 |
-
"always be 100%."
|
802 |
-
msgstr ""
|
803 |
-
|
804 |
-
#: includes/admin/stripe-settings.php:164
|
805 |
-
msgid "Payment Request Button Label"
|
806 |
-
msgstr ""
|
807 |
-
|
808 |
-
#: includes/admin/stripe-settings.php:165
|
809 |
-
msgid "Button Label"
|
810 |
-
msgstr ""
|
811 |
-
|
812 |
-
#: includes/admin/stripe-settings.php:167
|
813 |
-
msgid "Enter the custom text you would like the button to have."
|
814 |
-
msgstr ""
|
815 |
-
|
816 |
-
#: includes/admin/stripe-settings.php:168
|
817 |
-
msgid "Buy now"
|
818 |
-
msgstr ""
|
819 |
-
|
820 |
-
#: includes/admin/stripe-settings.php:172
|
821 |
-
msgid "Payment Request Branded Button Label Format"
|
822 |
-
msgstr ""
|
823 |
-
|
824 |
-
#: includes/admin/stripe-settings.php:173
|
825 |
-
msgid "Branded Button Label Format"
|
826 |
-
msgstr ""
|
827 |
-
|
828 |
-
#: includes/admin/stripe-settings.php:175
|
829 |
-
msgid "Select the branded button label format."
|
830 |
-
msgstr ""
|
831 |
-
|
832 |
-
#: includes/admin/stripe-settings.php:179
|
833 |
-
msgid "Logo only"
|
834 |
-
msgstr ""
|
835 |
-
|
836 |
-
#: includes/admin/stripe-settings.php:180
|
837 |
-
msgid "Text and logo"
|
838 |
-
msgstr ""
|
839 |
-
|
840 |
-
#: includes/admin/stripe-settings.php:184
|
841 |
-
msgid "Saved Cards"
|
842 |
-
msgstr ""
|
843 |
-
|
844 |
-
#: includes/admin/stripe-settings.php:185
|
845 |
-
msgid "Enable Payment via Saved Cards"
|
846 |
-
msgstr ""
|
847 |
-
|
848 |
-
#: includes/admin/stripe-settings.php:187
|
849 |
-
msgid ""
|
850 |
-
"If enabled, users will be able to pay with a saved card during checkout. "
|
851 |
-
"Card details are saved on Stripe servers, not on your store."
|
852 |
-
msgstr ""
|
853 |
-
|
854 |
-
#: includes/admin/stripe-settings.php:192
|
855 |
-
msgid "Logging"
|
856 |
-
msgstr ""
|
857 |
-
|
858 |
-
#: includes/admin/stripe-settings.php:193
|
859 |
-
msgid "Log debug messages"
|
860 |
-
msgstr ""
|
861 |
-
|
862 |
-
#: includes/admin/stripe-settings.php:195
|
863 |
-
msgid "Save debug messages to the WooCommerce System Status log."
|
864 |
-
msgstr ""
|
865 |
-
|
866 |
-
#: includes/admin/stripe-sofort-settings.php:10
|
867 |
-
msgid "Customer Geography: Germany, Austria"
|
868 |
-
msgstr ""
|
869 |
-
|
870 |
-
#: includes/admin/stripe-sofort-settings.php:14
|
871 |
-
msgid ""
|
872 |
-
"<a href=\"https://stripe.com/payments/payment-methods-guide#sofort\" "
|
873 |
-
"target=\"_blank\">Payment Method Guide</a>"
|
874 |
-
msgstr ""
|
875 |
-
|
876 |
-
#: includes/admin/stripe-sofort-settings.php:23
|
877 |
-
msgid "Enable Stripe SOFORT"
|
878 |
-
msgstr ""
|
879 |
-
|
880 |
-
#: includes/admin/stripe-sofort-settings.php:32
|
881 |
-
msgid "SOFORT"
|
882 |
-
msgstr ""
|
883 |
-
|
884 |
-
#: includes/admin/stripe-sofort-settings.php:39
|
885 |
-
msgid "You will be redirected to SOFORT."
|
886 |
-
msgstr ""
|
887 |
-
|
888 |
-
#: includes/class-wc-gateway-stripe.php:90
|
889 |
-
#. translators: 1) link to Stripe register page 2) link to Stripe api keys page
|
890 |
-
msgid ""
|
891 |
-
"Stripe works by adding payment fields on the checkout and then sending the "
|
892 |
-
"details to Stripe for verification."
|
893 |
-
msgstr ""
|
894 |
-
|
895 |
-
#: includes/class-wc-gateway-stripe.php:181
|
896 |
-
#. translators: 1) Opening anchor tag 2) closing anchor tag
|
897 |
-
msgid ""
|
898 |
-
"If your billing address has been changed for saved payment methods, be sure "
|
899 |
-
"to remove any %1$ssaved payment methods%2$s on file and re-add them."
|
900 |
-
msgstr ""
|
901 |
-
|
902 |
-
#: includes/class-wc-gateway-stripe.php:253
|
903 |
-
#. translators: link to Stripe testing page
|
904 |
-
msgid ""
|
905 |
-
"TEST MODE ENABLED. In test mode, you can use the card number "
|
906 |
-
"4242424242424242 with any CVC and a valid expiration date or check the <a "
|
907 |
-
"href=\"%s\" target=\"_blank\">Testing Stripe documentation</a> for more "
|
908 |
-
"card numbers."
|
909 |
-
msgstr ""
|
910 |
-
|
911 |
-
#: includes/class-wc-gateway-stripe.php:292
|
912 |
-
msgid "Credit or debit card"
|
913 |
-
msgstr ""
|
914 |
-
|
915 |
-
#: includes/class-wc-gateway-stripe.php:300
|
916 |
-
msgid "Card Number"
|
917 |
-
msgstr ""
|
918 |
-
|
919 |
-
#: includes/class-wc-gateway-stripe.php:311
|
920 |
-
msgid "Expiry Date"
|
921 |
-
msgstr ""
|
922 |
-
|
923 |
-
#: includes/class-wc-gateway-stripe.php:319
|
924 |
-
msgid "Card Code (CVC)"
|
925 |
-
msgstr ""
|
926 |
-
|
927 |
-
#: includes/class-wc-gateway-stripe.php:354
|
928 |
-
msgid ""
|
929 |
-
"<strong>Warning:</strong> your site's time does not match the time on your "
|
930 |
-
"browser and may be incorrect. Some payment methods depend on webhook "
|
931 |
-
"verification and verifying webhooks with a signing secret depends on your "
|
932 |
-
"site's time being correct, so please check your site's time before setting "
|
933 |
-
"a webhook secret. You may need to contact your site's hosting provider to "
|
934 |
-
"correct the site's time."
|
935 |
-
msgstr ""
|
936 |
-
|
937 |
-
#: includes/class-wc-gateway-stripe.php:373
|
938 |
-
msgid "Please accept the terms and conditions first"
|
939 |
-
msgstr ""
|
940 |
-
|
941 |
-
#: includes/class-wc-gateway-stripe.php:374
|
942 |
-
msgid "Please fill in required checkout fields first"
|
943 |
-
msgstr ""
|
944 |
-
|
945 |
-
#: includes/class-wc-gateway-stripe.php:404
|
946 |
-
#: includes/class-wc-gateway-stripe.php:502
|
947 |
-
msgid ""
|
948 |
-
"Sorry, we're not accepting prepaid cards at this time. Your credit card has "
|
949 |
-
"not been charged. Please try with alternative payment method."
|
950 |
-
msgstr ""
|
951 |
-
|
952 |
-
#: includes/class-wc-gateway-stripe.php:405
|
953 |
-
msgid "Please enter your IBAN account name."
|
954 |
-
msgstr ""
|
955 |
-
|
956 |
-
#: includes/class-wc-gateway-stripe.php:406
|
957 |
-
msgid "Please enter your IBAN account number."
|
958 |
-
msgstr ""
|
959 |
-
|
960 |
-
#: includes/class-wc-gateway-stripe.php:407
|
961 |
-
msgid "We couldn't initiate the payment. Please try again."
|
962 |
-
msgstr ""
|
963 |
-
|
964 |
-
#: includes/class-wc-gateway-stripe.php:418
|
965 |
-
msgid "Billing First Name and Last Name are required."
|
966 |
-
msgstr ""
|
967 |
-
|
968 |
-
#: includes/class-wc-gateway-stripe.php:771
|
969 |
-
#. translators: error message
|
970 |
-
msgid "This represents the fee Stripe collects for the transaction."
|
971 |
-
msgstr ""
|
972 |
-
|
973 |
-
#: includes/class-wc-gateway-stripe.php:772
|
974 |
-
msgid "Stripe Fee:"
|
975 |
-
msgstr ""
|
976 |
-
|
977 |
-
#: includes/class-wc-gateway-stripe.php:808
|
978 |
-
msgid ""
|
979 |
-
"This represents the net total that will be credited to your Stripe bank "
|
980 |
-
"account. This may be in the currency that is set in your Stripe account."
|
981 |
-
msgstr ""
|
982 |
-
|
983 |
-
#: includes/class-wc-gateway-stripe.php:809
|
984 |
-
msgid "Stripe Payout:"
|
985 |
-
msgstr ""
|
986 |
-
|
987 |
-
#: includes/class-wc-gateway-stripe.php:872
|
988 |
-
#: includes/class-wc-stripe-order-handler.php:156
|
989 |
-
#: includes/class-wc-stripe-webhook-handler.php:263
|
990 |
-
#: includes/compat/class-wc-stripe-sepa-subs-compat.php:287
|
991 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:339
|
992 |
-
#: includes/payment-methods/class-wc-gateway-stripe-sepa.php:366
|
993 |
-
msgid ""
|
994 |
-
"Sorry, we are unable to process your payment at this time. Please retry "
|
995 |
-
"later."
|
996 |
-
msgstr ""
|
997 |
-
|
998 |
-
#: includes/class-wc-gateway-stripe.php:925
|
999 |
-
msgid ""
|
1000 |
-
"Almost there!\n"
|
1001 |
-
"\n"
|
1002 |
-
"Your order has already been created, the only thing that still needs to be "
|
1003 |
-
"done is for you to authorize the payment with your bank."
|
1004 |
-
msgstr ""
|
1005 |
-
|
1006 |
-
#: includes/class-wc-gateway-stripe.php:947
|
1007 |
-
#. translators: %s is the order Id
|
1008 |
-
msgid "Payment Intent not found for order #%s"
|
1009 |
-
msgstr ""
|
1010 |
-
|
1011 |
-
#: includes/class-wc-gateway-stripe.php:1183
|
1012 |
-
#: includes/class-wc-stripe-webhook-handler.php:772
|
1013 |
-
#: includes/class-wc-stripe-webhook-handler.php:822
|
1014 |
-
#. translators: 1) The error message that was received from Stripe.
|
1015 |
-
msgid "Stripe SCA authentication failed. Reason: %s"
|
1016 |
-
msgstr ""
|
1017 |
-
|
1018 |
-
#: includes/class-wc-gateway-stripe.php:1184
|
1019 |
-
msgid "Stripe SCA authentication failed."
|
1020 |
-
msgstr ""
|
1021 |
-
|
1022 |
-
#: includes/class-wc-gateway-stripe.php:1241
|
1023 |
-
msgid ""
|
1024 |
-
"The \"Live Publishable Key\" should start with \"pk_live\", enter the "
|
1025 |
-
"correct key."
|
1026 |
-
msgstr ""
|
1027 |
-
|
1028 |
-
#: includes/class-wc-gateway-stripe.php:1249
|
1029 |
-
msgid ""
|
1030 |
-
"The \"Live Secret Key\" should start with \"sk_live\" or \"rk_live\", enter "
|
1031 |
-
"the correct key."
|
1032 |
-
msgstr ""
|
1033 |
-
|
1034 |
-
#: includes/class-wc-gateway-stripe.php:1257
|
1035 |
-
msgid ""
|
1036 |
-
"The \"Test Publishable Key\" should start with \"pk_test\", enter the "
|
1037 |
-
"correct key."
|
1038 |
-
msgstr ""
|
1039 |
-
|
1040 |
-
#: includes/class-wc-gateway-stripe.php:1265
|
1041 |
-
msgid ""
|
1042 |
-
"The \"Test Secret Key\" should start with \"sk_test\" or \"rk_test\", enter "
|
1043 |
-
"the correct key."
|
1044 |
-
msgstr ""
|
1045 |
-
|
1046 |
-
#: includes/class-wc-gateway-stripe.php:1305
|
1047 |
-
#. translators: %1, %2, %3, and %4 are all HTML markup tags
|
1048 |
-
msgid ""
|
1049 |
-
"%1$sClear all Stripe account keys.%2$s %3$sThis will disable any connection "
|
1050 |
-
"to Stripe.%4$s"
|
1051 |
-
msgstr ""
|
1052 |
-
|
1053 |
-
#: includes/class-wc-gateway-stripe.php:1317
|
1054 |
-
#. translators: %1, %2 and %3 are all HTML markup tags
|
1055 |
-
msgid ""
|
1056 |
-
"%1$sSet up or link an existing Stripe account.%2$s By clicking this button "
|
1057 |
-
"you agree to the %3$sTerms of Service%2$s. Or, manually enter Stripe "
|
1058 |
-
"account keys below."
|
1059 |
-
msgstr ""
|
1060 |
-
|
1061 |
-
#: includes/class-wc-gateway-stripe.php:1323
|
1062 |
-
msgid "Manually enter Stripe keys below."
|
1063 |
-
msgstr ""
|
1064 |
-
|
1065 |
-
#: includes/class-wc-stripe-api.php:148 includes/class-wc-stripe-api.php:182
|
1066 |
-
msgid "There was a problem connecting to the Stripe API endpoint."
|
1067 |
-
msgstr ""
|
1068 |
-
|
1069 |
-
#: includes/class-wc-stripe-apple-pay-registration.php:149
|
1070 |
-
msgid "Unable to create domain association folder to domain root."
|
1071 |
-
msgstr ""
|
1072 |
-
|
1073 |
-
#: includes/class-wc-stripe-apple-pay-registration.php:154
|
1074 |
-
msgid "Unable to copy domain association file to domain root."
|
1075 |
-
msgstr ""
|
1076 |
-
|
1077 |
-
#: includes/class-wc-stripe-apple-pay-registration.php:176
|
1078 |
-
#. translators: expected domain association file URL
|
1079 |
-
msgid "To enable Apple Pay, domain association file must be hosted at %s."
|
1080 |
-
msgstr ""
|
1081 |
-
|
1082 |
-
#: includes/class-wc-stripe-apple-pay-registration.php:179
|
1083 |
-
msgid "Domain association file updated."
|
1084 |
-
msgstr ""
|
1085 |
-
|
1086 |
-
#: includes/class-wc-stripe-apple-pay-registration.php:232
|
1087 |
-
msgid "Unable to verify domain - missing secret key."
|
1088 |
-
msgstr ""
|
1089 |
-
|
1090 |
-
#: includes/class-wc-stripe-apple-pay-registration.php:257
|
1091 |
-
#: includes/class-wc-stripe-apple-pay-registration.php:266
|
1092 |
-
#. translators: error message
|
1093 |
-
msgid "Unable to verify domain - %s"
|
1094 |
-
msgstr ""
|
1095 |
-
|
1096 |
-
#: includes/class-wc-stripe-apple-pay-registration.php:394
|
1097 |
-
msgid "Apple Pay domain verification failed."
|
1098 |
-
msgstr ""
|
1099 |
-
|
1100 |
-
#: includes/class-wc-stripe-apple-pay-registration.php:395
|
1101 |
-
msgid "Apple Pay domain verification failed with the following error:"
|
1102 |
-
msgstr ""
|
1103 |
-
|
1104 |
-
#: includes/class-wc-stripe-apple-pay-registration.php:398
|
1105 |
-
#. translators: 1) HTML anchor open tag 2) HTML anchor closing tag
|
1106 |
-
msgid ""
|
1107 |
-
"Please check the %1$slogs%2$s for more details on this issue. Logging must "
|
1108 |
-
"be enabled to see recorded logs."
|
1109 |
-
msgstr ""
|
1110 |
-
|
1111 |
-
#: includes/class-wc-stripe-blocks-support.php:225
|
1112 |
-
msgid "Credit / Debit Card"
|
1113 |
-
msgstr ""
|
1114 |
-
|
1115 |
-
#: includes/class-wc-stripe-blocks-support.php:237
|
1116 |
-
msgid "Visa"
|
1117 |
-
msgstr ""
|
1118 |
-
|
1119 |
-
#: includes/class-wc-stripe-blocks-support.php:241
|
1120 |
-
msgid "American Express"
|
1121 |
-
msgstr ""
|
1122 |
-
|
1123 |
-
#: includes/class-wc-stripe-blocks-support.php:245
|
1124 |
-
msgid "Mastercard"
|
1125 |
-
msgstr ""
|
1126 |
-
|
1127 |
-
#: includes/class-wc-stripe-blocks-support.php:252
|
1128 |
-
msgid "Discover"
|
1129 |
-
msgstr ""
|
1130 |
-
|
1131 |
-
#: includes/class-wc-stripe-blocks-support.php:256
|
1132 |
-
msgid "JCB"
|
1133 |
-
msgstr ""
|
1134 |
-
|
1135 |
-
#: includes/class-wc-stripe-blocks-support.php:260
|
1136 |
-
msgid "Diners"
|
1137 |
-
msgstr ""
|
1138 |
-
|
1139 |
-
#: includes/class-wc-stripe-customer.php:130
|
1140 |
-
#. translators: %1$s First name, %2$s Second name, %3$s Username.
|
1141 |
-
msgid "Name: %1$s %2$s, Username: %3$s"
|
1142 |
-
msgstr ""
|
1143 |
-
|
1144 |
-
#: includes/class-wc-stripe-customer.php:146
|
1145 |
-
#. translators: %1$s First name, %2$s Second name.
|
1146 |
-
msgid "Name: %1$s %2$s, Guest"
|
1147 |
-
msgstr ""
|
1148 |
-
|
1149 |
-
#: includes/class-wc-stripe-customer.php:205
|
1150 |
-
msgid "Attempting to update a Stripe customer without a customer ID."
|
1151 |
-
msgstr ""
|
1152 |
-
|
1153 |
-
#: includes/class-wc-stripe-customer.php:354
|
1154 |
-
msgid "Unable to add payment source."
|
1155 |
-
msgstr ""
|
1156 |
-
|
1157 |
-
#: includes/class-wc-stripe-helper.php:197
|
1158 |
-
msgid "The card number is not a valid credit card number."
|
1159 |
-
msgstr ""
|
1160 |
-
|
1161 |
-
#: includes/class-wc-stripe-helper.php:198
|
1162 |
-
msgid "The card's expiration month is invalid."
|
1163 |
-
msgstr ""
|
1164 |
-
|
1165 |
-
#: includes/class-wc-stripe-helper.php:199
|
1166 |
-
msgid "The card's expiration year is invalid."
|
1167 |
-
msgstr ""
|
1168 |
-
|
1169 |
-
#: includes/class-wc-stripe-helper.php:200
|
1170 |
-
msgid "The card's security code is invalid."
|
1171 |
-
msgstr ""
|
1172 |
-
|
1173 |
-
#: includes/class-wc-stripe-helper.php:201
|
1174 |
-
msgid "The card number is incorrect."
|
1175 |
-
msgstr ""
|
1176 |
-
|
1177 |
-
#: includes/class-wc-stripe-helper.php:202
|
1178 |
-
msgid "The card number is incomplete."
|
1179 |
-
msgstr ""
|
1180 |
-
|
1181 |
-
#: includes/class-wc-stripe-helper.php:203
|
1182 |
-
msgid "The card's security code is incomplete."
|
1183 |
-
msgstr ""
|
1184 |
-
|
1185 |
-
#: includes/class-wc-stripe-helper.php:204
|
1186 |
-
msgid "The card's expiration date is incomplete."
|
1187 |
-
msgstr ""
|
1188 |
-
|
1189 |
-
#: includes/class-wc-stripe-helper.php:205
|
1190 |
-
msgid "The card has expired."
|
1191 |
-
msgstr ""
|
1192 |
-
|
1193 |
-
#: includes/class-wc-stripe-helper.php:206
|
1194 |
-
msgid "The card's security code is incorrect."
|
1195 |
-
msgstr ""
|
1196 |
-
|
1197 |
-
#: includes/class-wc-stripe-helper.php:207
|
1198 |
-
msgid "The card's zip code failed validation."
|
1199 |
-
msgstr ""
|
1200 |
-
|
1201 |
-
#: includes/class-wc-stripe-helper.php:208
|
1202 |
-
msgid "The card's expiration year is in the past"
|
1203 |
-
msgstr ""
|
1204 |
-
|
1205 |
-
#: includes/class-wc-stripe-helper.php:209
|
1206 |
-
msgid "The card was declined."
|
1207 |
-
msgstr ""
|
1208 |
-
|
1209 |
-
#: includes/class-wc-stripe-helper.php:210
|
1210 |
-
msgid "There is no card on a customer that is being charged."
|
1211 |
-
msgstr ""
|
1212 |
-
|
1213 |
-
#: includes/class-wc-stripe-helper.php:211
|
1214 |
-
msgid "An error occurred while processing the card."
|
1215 |
-
msgstr ""
|
1216 |
-
|
1217 |
-
#: includes/class-wc-stripe-helper.php:212
|
1218 |
-
msgid "The billing country is not accepted by SOFORT. Please try another country."
|
1219 |
-
msgstr ""
|
1220 |
-
|
1221 |
-
#: includes/class-wc-stripe-helper.php:213
|
1222 |
-
msgid "Invalid email address, please correct and try again."
|
1223 |
-
msgstr ""
|
1224 |
-
|
1225 |
-
#: includes/class-wc-stripe-helper.php:215
|
1226 |
-
msgid ""
|
1227 |
-
"Unable to save this payment method, please try again or use alternative "
|
1228 |
-
"method."
|
1229 |
-
msgstr ""
|
1230 |
-
|
1231 |
-
#: includes/class-wc-stripe-helper.php:216
|
1232 |
-
#: includes/class-wc-stripe-order-handler.php:96
|
1233 |
-
msgid "Unable to process this payment, please try again or use alternative method."
|
1234 |
-
msgstr ""
|
1235 |
-
|
1236 |
-
#: includes/class-wc-stripe-intent-controller.php:59
|
1237 |
-
msgid "CSRF verification failed."
|
1238 |
-
msgstr ""
|
1239 |
-
|
1240 |
-
#: includes/class-wc-stripe-intent-controller.php:72
|
1241 |
-
msgid "Missing order ID for payment confirmation"
|
1242 |
-
msgstr ""
|
1243 |
-
|
1244 |
-
#: includes/class-wc-stripe-intent-controller.php:92
|
1245 |
-
#. translators: Error message text
|
1246 |
-
msgid "Payment verification error: %s"
|
1247 |
-
msgstr ""
|
1248 |
-
|
1249 |
-
#: includes/class-wc-stripe-intent-controller.php:177
|
1250 |
-
msgid "Unable to verify your request. Please reload the page and try again."
|
1251 |
-
msgstr ""
|
1252 |
-
|
1253 |
-
#: includes/class-wc-stripe-intent-controller.php:217
|
1254 |
-
msgid "Your card could not be set up for future usage."
|
1255 |
-
msgstr ""
|
1256 |
-
|
1257 |
-
#: includes/class-wc-stripe-intent-controller.php:234
|
1258 |
-
msgid "Failed to save payment method."
|
1259 |
-
msgstr ""
|
1260 |
-
|
1261 |
-
#: includes/class-wc-stripe-order-handler.php:138
|
1262 |
-
#: includes/class-wc-stripe-webhook-handler.php:244
|
1263 |
-
#: includes/payment-methods/class-wc-gateway-stripe-sepa.php:346
|
1264 |
-
msgid "This card is no longer available and has been removed."
|
1265 |
-
msgstr ""
|
1266 |
-
|
1267 |
-
#: includes/class-wc-stripe-order-handler.php:188
|
1268 |
-
#. translators: error message
|
1269 |
-
msgid "Stripe payment failed: %s"
|
1270 |
-
msgstr ""
|
1271 |
-
|
1272 |
-
#: includes/class-wc-stripe-order-handler.php:239
|
1273 |
-
#: includes/class-wc-stripe-order-handler.php:254
|
1274 |
-
#: includes/class-wc-stripe-order-handler.php:270
|
1275 |
-
#: includes/class-wc-stripe-order-handler.php:285
|
1276 |
-
#. translators: error message
|
1277 |
-
msgid "Unable to capture charge! %s"
|
1278 |
-
msgstr ""
|
1279 |
-
|
1280 |
-
#: includes/class-wc-stripe-payment-tokens.php:175
|
1281 |
-
msgid "SEPA IBAN"
|
1282 |
-
msgstr ""
|
1283 |
-
|
1284 |
-
#: includes/class-wc-stripe-sepa-payment-token.php:47
|
1285 |
-
#. translators: last 4 digits of IBAN account
|
1286 |
-
msgid "SEPA IBAN ending in %s"
|
1287 |
-
msgstr ""
|
1288 |
-
|
1289 |
-
#: includes/class-wc-stripe-webhook-handler.php:323
|
1290 |
-
#. translators: 1) The URL to the order.
|
1291 |
-
msgid ""
|
1292 |
-
"A dispute was created for this order. Response is needed. Please go to your "
|
1293 |
-
"<a href=\"%s\" title=\"Stripe Dashboard\" target=\"_blank\">Stripe "
|
1294 |
-
"Dashboard</a> to review this dispute."
|
1295 |
-
msgstr ""
|
1296 |
-
|
1297 |
-
#: includes/class-wc-stripe-webhook-handler.php:352
|
1298 |
-
msgid "The dispute was lost or accepted."
|
1299 |
-
msgstr ""
|
1300 |
-
|
1301 |
-
#: includes/class-wc-stripe-webhook-handler.php:354
|
1302 |
-
msgid "The dispute was resolved in your favor."
|
1303 |
-
msgstr ""
|
1304 |
-
|
1305 |
-
#: includes/class-wc-stripe-webhook-handler.php:356
|
1306 |
-
msgid "The inquiry or retrieval was closed."
|
1307 |
-
msgstr ""
|
1308 |
-
|
1309 |
-
#: includes/class-wc-stripe-webhook-handler.php:409
|
1310 |
-
#. translators: partial captured amount
|
1311 |
-
msgid "This charge was partially captured via Stripe Dashboard in the amount of: %s"
|
1312 |
-
msgstr ""
|
1313 |
-
|
1314 |
-
#: includes/class-wc-stripe-webhook-handler.php:491
|
1315 |
-
msgid "This payment failed to clear."
|
1316 |
-
msgstr ""
|
1317 |
-
|
1318 |
-
#: includes/class-wc-stripe-webhook-handler.php:528
|
1319 |
-
msgid "This payment was cancelled."
|
1320 |
-
msgstr ""
|
1321 |
-
|
1322 |
-
#: includes/class-wc-stripe-webhook-handler.php:571
|
1323 |
-
#. translators: amount (including currency symbol)
|
1324 |
-
msgid "Pre-Authorization for %s voided from the Stripe Dashboard."
|
1325 |
-
msgstr ""
|
1326 |
-
|
1327 |
-
#: includes/class-wc-stripe-webhook-handler.php:584
|
1328 |
-
msgid "Refunded via Stripe Dashboard"
|
1329 |
-
msgstr ""
|
1330 |
-
|
1331 |
-
#: includes/class-wc-stripe-webhook-handler.php:606
|
1332 |
-
#. translators: 1) amount (including currency symbol) 2) transaction id 3)
|
1333 |
-
#. refund message
|
1334 |
-
msgid "Refunded %1$s - Refund ID: %2$s - %3$s"
|
1335 |
-
msgstr ""
|
1336 |
-
|
1337 |
-
#: includes/class-wc-stripe-webhook-handler.php:637
|
1338 |
-
#. translators: 1) The URL to the order. 2) The reason type.
|
1339 |
-
msgid ""
|
1340 |
-
"A review has been opened for this order. Action is needed. Please go to "
|
1341 |
-
"your <a href=\"%1$s\" title=\"Stripe Dashboard\" target=\"_blank\">Stripe "
|
1342 |
-
"Dashboard</a> to review the issue. Reason: (%2$s)"
|
1343 |
-
msgstr ""
|
1344 |
-
|
1345 |
-
#: includes/class-wc-stripe-webhook-handler.php:670
|
1346 |
-
#. translators: 1) The reason type.
|
1347 |
-
msgid "The opened review for this order is now closed. Reason: (%s)"
|
1348 |
-
msgstr ""
|
1349 |
-
|
1350 |
-
#: includes/class-wc-stripe-webhook-state.php:135
|
1351 |
-
msgid "No error"
|
1352 |
-
msgstr ""
|
1353 |
-
|
1354 |
-
#: includes/class-wc-stripe-webhook-state.php:139
|
1355 |
-
msgid "The webhook was missing expected headers"
|
1356 |
-
msgstr ""
|
1357 |
-
|
1358 |
-
#: includes/class-wc-stripe-webhook-state.php:143
|
1359 |
-
msgid "The webhook was missing expected body"
|
1360 |
-
msgstr ""
|
1361 |
-
|
1362 |
-
#: includes/class-wc-stripe-webhook-state.php:147
|
1363 |
-
msgid "The webhook received did not come from Stripe"
|
1364 |
-
msgstr ""
|
1365 |
-
|
1366 |
-
#: includes/class-wc-stripe-webhook-state.php:151
|
1367 |
-
msgid "The webhook signature was missing or was incorrectly formatted"
|
1368 |
-
msgstr ""
|
1369 |
-
|
1370 |
-
#: includes/class-wc-stripe-webhook-state.php:155
|
1371 |
-
msgid ""
|
1372 |
-
"The timestamp in the webhook differed more than five minutes from the site "
|
1373 |
-
"time"
|
1374 |
-
msgstr ""
|
1375 |
-
|
1376 |
-
#: includes/class-wc-stripe-webhook-state.php:159
|
1377 |
-
msgid "The webhook was not signed with the expected signing secret"
|
1378 |
-
msgstr ""
|
1379 |
-
|
1380 |
-
#: includes/class-wc-stripe-webhook-state.php:162
|
1381 |
-
msgid "Unknown error."
|
1382 |
-
msgstr ""
|
1383 |
-
|
1384 |
-
#: includes/class-wc-stripe-webhook-state.php:185
|
1385 |
-
#. translators: 1) date and time of last webhook received, e.g. 2020-06-28
|
1386 |
-
#. 10:30:50 UTC
|
1387 |
-
msgid "The most recent test webhook, timestamped %s, was processed successfully."
|
1388 |
-
msgstr ""
|
1389 |
-
|
1390 |
-
#: includes/class-wc-stripe-webhook-state.php:187
|
1391 |
-
#. translators: 1) date and time of last webhook received, e.g. 2020-06-28
|
1392 |
-
#. 10:30:50 UTC
|
1393 |
-
msgid "The most recent live webhook, timestamped %s, was processed successfully."
|
1394 |
-
msgstr ""
|
1395 |
-
|
1396 |
-
#: includes/class-wc-stripe-webhook-state.php:198
|
1397 |
-
#. translators: 1) date and time webhook monitoring began, e.g. 2020-06-28
|
1398 |
-
#. 10:30:50 UTC
|
1399 |
-
msgid "No test webhooks have been received since monitoring began at %s."
|
1400 |
-
msgstr ""
|
1401 |
-
|
1402 |
-
#: includes/class-wc-stripe-webhook-state.php:200
|
1403 |
-
#. translators: 1) date and time webhook monitoring began, e.g. 2020-06-28
|
1404 |
-
#. 10:30:50 UTC
|
1405 |
-
msgid "No live webhooks have been received since monitoring began at %s."
|
1406 |
-
msgstr ""
|
1407 |
-
|
1408 |
-
#: includes/class-wc-stripe-webhook-state.php:215
|
1409 |
-
#. translators: 1) date and time of last failed webhook e.g. 2020-06-28
|
1410 |
-
#. 10:30:50 UTC translators: 2) reason webhook failed translators: 3) date and
|
1411 |
-
#. time of last successful webhook e.g. 2020-05-28 10:30:50 UTC
|
1412 |
-
msgid ""
|
1413 |
-
"Warning: The most recent test webhook, received at %1$s, could not be "
|
1414 |
-
"processed. Reason: %2$s. (The last test webhook to process successfully was "
|
1415 |
-
"timestamped %3$s.)"
|
1416 |
-
msgstr ""
|
1417 |
-
|
1418 |
-
#: includes/class-wc-stripe-webhook-state.php:221
|
1419 |
-
#. translators: 1) date and time of last failed webhook e.g. 2020-06-28
|
1420 |
-
#. 10:30:50 UTC translators: 2) reason webhook failed translators: 3) date and
|
1421 |
-
#. time of last successful webhook e.g. 2020-05-28 10:30:50 UTC
|
1422 |
-
msgid ""
|
1423 |
-
"Warning: The most recent live webhook, received at %1$s, could not be "
|
1424 |
-
"processed. Reason: %2$s. (The last live webhook to process successfully was "
|
1425 |
-
"timestamped %3$s.)"
|
1426 |
-
msgstr ""
|
1427 |
-
|
1428 |
-
#: includes/class-wc-stripe-webhook-state.php:236
|
1429 |
-
#. translators: 1) date and time of last failed webhook e.g. 2020-06-28
|
1430 |
-
#. 10:30:50 UTC translators: 2) reason webhook failed translators: 3) date and
|
1431 |
-
#. time webhook monitoring began e.g. 2020-05-28 10:30:50 UTC
|
1432 |
-
msgid ""
|
1433 |
-
"Warning: The most recent test webhook, received at %1$s, could not be "
|
1434 |
-
"processed. Reason: %2$s. (No test webhooks have been processed successfully "
|
1435 |
-
"since monitoring began at %3$s.)"
|
1436 |
-
msgstr ""
|
1437 |
-
|
1438 |
-
#: includes/class-wc-stripe-webhook-state.php:241
|
1439 |
-
#. translators: 1) date and time of last failed webhook e.g. 2020-06-28
|
1440 |
-
#. 10:30:50 UTC translators: 2) reason webhook failed translators: 3) date and
|
1441 |
-
#. time webhook monitoring began e.g. 2020-05-28 10:30:50 UTC
|
1442 |
-
msgid ""
|
1443 |
-
"Warning: The most recent live webhook, received at %1$s, could not be "
|
1444 |
-
"processed. Reason: %2$s. (No live webhooks have been processed successfully "
|
1445 |
-
"since monitoring began at %3$s.)"
|
1446 |
-
msgstr ""
|
1447 |
-
|
1448 |
-
#: includes/compat/class-wc-stripe-email-failed-authentication-retry.php:29
|
1449 |
-
msgid "Payment Authentication Requested Email"
|
1450 |
-
msgstr ""
|
1451 |
-
|
1452 |
-
#: includes/compat/class-wc-stripe-email-failed-authentication-retry.php:30
|
1453 |
-
msgid ""
|
1454 |
-
"Payment authentication requested emails are sent to chosen recipient(s) "
|
1455 |
-
"when an attempt to automatically process a subscription renewal payment "
|
1456 |
-
"fails because the transaction requires an SCA verification, the customer is "
|
1457 |
-
"requested to authenticate the payment, and a retry rule has been applied to "
|
1458 |
-
"notify the customer again within a certain time period."
|
1459 |
-
msgstr ""
|
1460 |
-
|
1461 |
-
#: includes/compat/class-wc-stripe-email-failed-authentication-retry.php:32
|
1462 |
-
msgid "Automatic renewal payment failed due to authentication required"
|
1463 |
-
msgstr ""
|
1464 |
-
|
1465 |
-
#: includes/compat/class-wc-stripe-email-failed-authentication-retry.php:33
|
1466 |
-
msgid ""
|
1467 |
-
"[{site_title}] Automatic payment failed for {order_number}. Customer asked "
|
1468 |
-
"to authenticate payment and will be notified again {retry_time}"
|
1469 |
-
msgstr ""
|
1470 |
-
|
1471 |
-
#: includes/compat/class-wc-stripe-email-failed-authentication.php:86
|
1472 |
-
msgid "Enable this email notification"
|
1473 |
-
msgstr ""
|
1474 |
-
|
1475 |
-
#: includes/compat/class-wc-stripe-email-failed-preorder-authentication.php:26
|
1476 |
-
msgid "Pre-order Payment Action Needed"
|
1477 |
-
msgstr ""
|
1478 |
-
|
1479 |
-
#: includes/compat/class-wc-stripe-email-failed-preorder-authentication.php:27
|
1480 |
-
msgid ""
|
1481 |
-
"This is an order notification sent to the customer once a pre-order is "
|
1482 |
-
"complete, but additional payment steps are required."
|
1483 |
-
msgstr ""
|
1484 |
-
|
1485 |
-
#: includes/compat/class-wc-stripe-email-failed-preorder-authentication.php:84
|
1486 |
-
#: includes/compat/class-wc-stripe-email-failed-preorder-authentication.php:93
|
1487 |
-
msgid "Payment authorization needed for pre-order {order_number}"
|
1488 |
-
msgstr ""
|
1489 |
-
|
1490 |
-
#: includes/compat/class-wc-stripe-email-failed-renewal-authentication.php:19
|
1491 |
-
msgid "Failed Subscription Renewal SCA Authentication"
|
1492 |
-
msgstr ""
|
1493 |
-
|
1494 |
-
#: includes/compat/class-wc-stripe-email-failed-renewal-authentication.php:20
|
1495 |
-
msgid ""
|
1496 |
-
"Sent to a customer when a renewal fails because the transaction requires an "
|
1497 |
-
"SCA verification. The email contains renewal order information and payment "
|
1498 |
-
"links."
|
1499 |
-
msgstr ""
|
1500 |
-
|
1501 |
-
#: includes/compat/class-wc-stripe-email-failed-renewal-authentication.php:67
|
1502 |
-
msgid ""
|
1503 |
-
"Payment authorization needed for renewal of {site_title} order "
|
1504 |
-
"{order_number}"
|
1505 |
-
msgstr ""
|
1506 |
-
|
1507 |
-
#: includes/compat/class-wc-stripe-email-failed-renewal-authentication.php:76
|
1508 |
-
msgid "Payment authorization needed for renewal of order {order_number}"
|
1509 |
-
msgstr ""
|
1510 |
-
|
1511 |
-
#: includes/compat/class-wc-stripe-pre-orders-compat.php:53
|
1512 |
-
msgid "Unable to store payment details. Please try again."
|
1513 |
-
msgstr ""
|
1514 |
-
|
1515 |
-
#: includes/compat/class-wc-stripe-pre-orders-compat.php:117
|
1516 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:372
|
1517 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:678
|
1518 |
-
#. translators: %s is the charge Id
|
1519 |
-
#. translators: %s is the charge Id
|
1520 |
-
#. translators: %s is the stripe charge Id
|
1521 |
-
msgid "Stripe charge awaiting authentication by user: %s."
|
1522 |
-
msgstr ""
|
1523 |
-
|
1524 |
-
#: includes/compat/class-wc-stripe-pre-orders-compat.php:134
|
1525 |
-
#. translators: error message
|
1526 |
-
msgid "Stripe Transaction Failed (%s)"
|
1527 |
-
msgstr ""
|
1528 |
-
|
1529 |
-
#: includes/compat/class-wc-stripe-sepa-subs-compat.php:84
|
1530 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:94
|
1531 |
-
msgid "Update the Payment Method used for all of my active subscriptions."
|
1532 |
-
msgstr ""
|
1533 |
-
|
1534 |
-
#: includes/compat/class-wc-stripe-sepa-subs-compat.php:248
|
1535 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:298
|
1536 |
-
msgid "Customer not found"
|
1537 |
-
msgstr ""
|
1538 |
-
|
1539 |
-
#: includes/compat/class-wc-stripe-sepa-subs-compat.php:408
|
1540 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:519
|
1541 |
-
#. translators: error message
|
1542 |
-
msgid "A \"Stripe Customer ID\" value is required."
|
1543 |
-
msgstr ""
|
1544 |
-
|
1545 |
-
#: includes/compat/class-wc-stripe-sepa-subs-compat.php:411
|
1546 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:522
|
1547 |
-
msgid ""
|
1548 |
-
"Invalid customer ID. A valid \"Stripe Customer ID\" must begin with "
|
1549 |
-
"\"cus_\"."
|
1550 |
-
msgstr ""
|
1551 |
-
|
1552 |
-
#: includes/compat/class-wc-stripe-sepa-subs-compat.php:420
|
1553 |
-
msgid ""
|
1554 |
-
"Invalid source ID. A valid source \"Stripe Source ID\" must begin with "
|
1555 |
-
"\"src_\" or \"card_\"."
|
1556 |
-
msgstr ""
|
1557 |
-
|
1558 |
-
#: includes/compat/class-wc-stripe-sepa-subs-compat.php:493
|
1559 |
-
#. translators: 1) last 4 digits of SEPA Direct Debit
|
1560 |
-
msgid "Via SEPA Direct Debit ending in %1$s"
|
1561 |
-
msgstr ""
|
1562 |
-
|
1563 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:363
|
1564 |
-
msgid "This transaction requires authentication."
|
1565 |
-
msgstr ""
|
1566 |
-
|
1567 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:532
|
1568 |
-
msgid ""
|
1569 |
-
"Invalid source ID. A valid source \"Stripe Source ID\" must begin with "
|
1570 |
-
"\"src_\", \"pm_\", or \"card_\"."
|
1571 |
-
msgstr ""
|
1572 |
-
|
1573 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:613
|
1574 |
-
#. translators: 1) card brand 2) last 4 digits
|
1575 |
-
msgid "Via %1$s card ending in %2$s"
|
1576 |
-
msgstr ""
|
1577 |
-
|
1578 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:711
|
1579 |
-
msgid "Your early renewal order was successful."
|
1580 |
-
msgstr ""
|
1581 |
-
|
1582 |
-
#: includes/compat/class-wc-stripe-subs-compat.php:724
|
1583 |
-
msgid ""
|
1584 |
-
"Payment authorization for the renewal order was unsuccessful, please try "
|
1585 |
-
"again."
|
1586 |
-
msgstr ""
|
1587 |
-
|
1588 |
-
#: includes/connect/class-wc-stripe-connect-api.php:89
|
1589 |
-
msgid "Unable to send request to WooCommerce Connect server. Body must be an array."
|
1590 |
-
msgstr ""
|
1591 |
-
|
1592 |
-
#: includes/connect/class-wc-stripe-connect-api.php:105
|
1593 |
-
msgid "Unable to encode body for request to WooCommerce Connect server."
|
1594 |
-
msgstr ""
|
1595 |
-
|
1596 |
-
#: includes/connect/class-wc-stripe-connect-api.php:137
|
1597 |
-
#. Translators: HTTP error code.
|
1598 |
-
msgid "Error: The WooCommerce Connect server returned HTTP code: %d"
|
1599 |
-
msgstr ""
|
1600 |
-
|
1601 |
-
#: includes/connect/class-wc-stripe-connect-api.php:146
|
1602 |
-
#. Translators: content-type error code.
|
1603 |
-
msgid "Error: The WooCommerce Connect server returned an invalid content-type: %s."
|
1604 |
-
msgstr ""
|
1605 |
-
|
1606 |
-
#: includes/connect/class-wc-stripe-connect-api.php:164
|
1607 |
-
#. Translators: HTTP error code.
|
1608 |
-
msgid ""
|
1609 |
-
"Error: The WooCommerce Connect server returned ( %d ) and an empty response "
|
1610 |
-
"body."
|
1611 |
-
msgstr ""
|
1612 |
-
|
1613 |
-
#: includes/connect/class-wc-stripe-connect-api.php:178
|
1614 |
-
#. translators: %1$s: error code, %2$s: error message, %3$d: HTTP response code
|
1615 |
-
msgid "Error: The WooCommerce Connect server returned: %1$s %2$s ( %3$d )"
|
1616 |
-
msgstr ""
|
1617 |
-
|
1618 |
-
#: includes/connect/class-wc-stripe-connect.php:47
|
1619 |
-
msgid ""
|
1620 |
-
"Your site must be served over HTTPS in order to connect your Stripe account "
|
1621 |
-
"automatically."
|
1622 |
-
msgstr ""
|
1623 |
-
|
1624 |
-
#: includes/connect/class-wc-stripe-connect.php:97
|
1625 |
-
msgid "You are not authorized to clear Stripe account keys."
|
1626 |
-
msgstr ""
|
1627 |
-
|
1628 |
-
#: includes/payment-methods/class-wc-gateway-stripe-alipay.php:61
|
1629 |
-
#: woocommerce-gateway-stripe.php:315
|
1630 |
-
msgid "Stripe Alipay"
|
1631 |
-
msgstr ""
|
1632 |
-
|
1633 |
-
#: includes/payment-methods/class-wc-gateway-stripe-alipay.php:63
|
1634 |
-
#: includes/payment-methods/class-wc-gateway-stripe-bancontact.php:63
|
1635 |
-
#: includes/payment-methods/class-wc-gateway-stripe-eps.php:63
|
1636 |
-
#: includes/payment-methods/class-wc-gateway-stripe-giropay.php:63
|
1637 |
-
#: includes/payment-methods/class-wc-gateway-stripe-ideal.php:63
|
1638 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:63
|
1639 |
-
#: includes/payment-methods/class-wc-gateway-stripe-p24.php:63
|
1640 |
-
#: includes/payment-methods/class-wc-gateway-stripe-sepa.php:78
|
1641 |
-
#: includes/payment-methods/class-wc-gateway-stripe-sofort.php:63
|
1642 |
-
#. translators: link
|
1643 |
-
msgid "All other general Stripe settings can be adjusted <a href=\"%s\">here</a>."
|
1644 |
-
msgstr ""
|
1645 |
-
|
1646 |
-
#: includes/payment-methods/class-wc-gateway-stripe-alipay.php:189
|
1647 |
-
#: includes/payment-methods/class-wc-gateway-stripe-bancontact.php:177
|
1648 |
-
#: includes/payment-methods/class-wc-gateway-stripe-eps.php:177
|
1649 |
-
#: includes/payment-methods/class-wc-gateway-stripe-giropay.php:177
|
1650 |
-
#: includes/payment-methods/class-wc-gateway-stripe-ideal.php:177
|
1651 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:181
|
1652 |
-
#: includes/payment-methods/class-wc-gateway-stripe-p24.php:178
|
1653 |
-
#: includes/payment-methods/class-wc-gateway-stripe-sofort.php:177
|
1654 |
-
msgid "Add Payment"
|
1655 |
-
msgstr ""
|
1656 |
-
|
1657 |
-
#: includes/payment-methods/class-wc-gateway-stripe-bancontact.php:61
|
1658 |
-
#: woocommerce-gateway-stripe.php:309
|
1659 |
-
msgid "Stripe Bancontact"
|
1660 |
-
msgstr ""
|
1661 |
-
|
1662 |
-
#: includes/payment-methods/class-wc-gateway-stripe-eps.php:61
|
1663 |
-
#: woocommerce-gateway-stripe.php:312
|
1664 |
-
msgid "Stripe EPS"
|
1665 |
-
msgstr ""
|
1666 |
-
|
1667 |
-
#: includes/payment-methods/class-wc-gateway-stripe-giropay.php:61
|
1668 |
-
#: woocommerce-gateway-stripe.php:311
|
1669 |
-
msgid "Stripe Giropay"
|
1670 |
-
msgstr ""
|
1671 |
-
|
1672 |
-
#: includes/payment-methods/class-wc-gateway-stripe-ideal.php:61
|
1673 |
-
#: woocommerce-gateway-stripe.php:313
|
1674 |
-
msgid "Stripe iDeal"
|
1675 |
-
msgstr ""
|
1676 |
-
|
1677 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:61
|
1678 |
-
#: woocommerce-gateway-stripe.php:317
|
1679 |
-
msgid "Stripe Multibanco"
|
1680 |
-
msgstr ""
|
1681 |
-
|
1682 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:240
|
1683 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:252
|
1684 |
-
msgid "MULTIBANCO INFORMAÇÕES DE ENCOMENDA:"
|
1685 |
-
msgstr ""
|
1686 |
-
|
1687 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:242
|
1688 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:255
|
1689 |
-
msgid "Montante:"
|
1690 |
-
msgstr ""
|
1691 |
-
|
1692 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:245
|
1693 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:259
|
1694 |
-
msgid "Entidade:"
|
1695 |
-
msgstr ""
|
1696 |
-
|
1697 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:248
|
1698 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:263
|
1699 |
-
msgid "Referencia:"
|
1700 |
-
msgstr ""
|
1701 |
-
|
1702 |
-
#: includes/payment-methods/class-wc-gateway-stripe-multibanco.php:359
|
1703 |
-
msgid "Awaiting Multibanco payment"
|
1704 |
-
msgstr ""
|
1705 |
-
|
1706 |
-
#: includes/payment-methods/class-wc-gateway-stripe-p24.php:61
|
1707 |
-
#: woocommerce-gateway-stripe.php:314
|
1708 |
-
msgid "Stripe P24"
|
1709 |
-
msgstr ""
|
1710 |
-
|
1711 |
-
#: includes/payment-methods/class-wc-gateway-stripe-sepa.php:76
|
1712 |
-
#: woocommerce-gateway-stripe.php:316
|
1713 |
-
msgid "Stripe SEPA Direct Debit"
|
1714 |
-
msgstr ""
|
1715 |
-
|
1716 |
-
#: includes/payment-methods/class-wc-gateway-stripe-sepa.php:209
|
1717 |
-
#. translators: statement descriptor
|
1718 |
-
msgid ""
|
1719 |
-
"By providing your IBAN and confirming this payment, you are authorizing %s "
|
1720 |
-
"and Stripe, our payment service provider, to send instructions to your bank "
|
1721 |
-
"to debit your account and your bank to debit your account in accordance "
|
1722 |
-
"with those instructions. You are entitled to a refund from your bank under "
|
1723 |
-
"the terms and conditions of your agreement with your bank. A refund must be "
|
1724 |
-
"claimed within 8 weeks starting from the date on which your account was "
|
1725 |
-
"debited."
|
1726 |
-
msgstr ""
|
1727 |
-
|
1728 |
-
#: includes/payment-methods/class-wc-gateway-stripe-sepa.php:225
|
1729 |
-
msgid "IBAN."
|
1730 |
-
msgstr ""
|
1731 |
-
|
1732 |
-
#: includes/payment-methods/class-wc-gateway-stripe-sepa.php:267
|
1733 |
-
msgid ""
|
1734 |
-
"TEST MODE ENABLED. In test mode, you can use IBAN number "
|
1735 |
-
"DE89370400440532013000."
|
1736 |
-
msgstr ""
|
1737 |
-
|
1738 |
-
#: includes/payment-methods/class-wc-gateway-stripe-sofort.php:61
|
1739 |
-
#: woocommerce-gateway-stripe.php:310
|
1740 |
-
msgid "Stripe SOFORT"
|
1741 |
-
msgstr ""
|
1742 |
-
|
1743 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:392
|
1744 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1207
|
1745 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1637
|
1746 |
-
msgid "Tax"
|
1747 |
-
msgstr ""
|
1748 |
-
|
1749 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:400
|
1750 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1215
|
1751 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1644
|
1752 |
-
msgid "Shipping"
|
1753 |
-
msgstr ""
|
1754 |
-
|
1755 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:407
|
1756 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1222
|
1757 |
-
msgid "Pending"
|
1758 |
-
msgstr ""
|
1759 |
-
|
1760 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:694
|
1761 |
-
msgid "Sorry, we're not accepting prepaid cards at this time."
|
1762 |
-
msgstr ""
|
1763 |
-
|
1764 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:696
|
1765 |
-
#. translators: Do not translate the [option] placeholder
|
1766 |
-
msgid "Unknown shipping option \"[option]\"."
|
1767 |
-
msgstr ""
|
1768 |
-
|
1769 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:837
|
1770 |
-
msgid "OR"
|
1771 |
-
msgstr ""
|
1772 |
-
|
1773 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1050
|
1774 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1069
|
1775 |
-
msgid "Unable to find shipping method for address."
|
1776 |
-
msgstr ""
|
1777 |
-
|
1778 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1057
|
1779 |
-
msgid "Unable to provide shipping options for Payment Requests."
|
1780 |
-
msgstr ""
|
1781 |
-
|
1782 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1169
|
1783 |
-
#. translators: %d is the product Id
|
1784 |
-
msgid "Product with the ID (%d) cannot be found."
|
1785 |
-
msgstr ""
|
1786 |
-
|
1787 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1190
|
1788 |
-
#. translators: 1: product name 2: quantity in stock
|
1789 |
-
msgid ""
|
1790 |
-
"You cannot add that amount of \"%1$s\"; to the cart because there is not "
|
1791 |
-
"enough stock (%2$s remaining)."
|
1792 |
-
msgstr ""
|
1793 |
-
|
1794 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1462
|
1795 |
-
#. translators: %s: country.
|
1796 |
-
msgid ""
|
1797 |
-
"The Payment Request button is not supported in %s because some required "
|
1798 |
-
"fields couldn't be verified. Please proceed to the checkout page and try "
|
1799 |
-
"again."
|
1800 |
-
msgstr ""
|
1801 |
-
|
1802 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1478
|
1803 |
-
msgid "Empty cart"
|
1804 |
-
msgstr ""
|
1805 |
-
|
1806 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1651
|
1807 |
-
msgid "Discount"
|
1808 |
-
msgstr ""
|
1809 |
-
|
1810 |
-
#: includes/payment-methods/class-wc-stripe-payment-request.php:1694
|
1811 |
-
#. translators: The text encapsulated in `**` can be replaced with "Apple Pay"
|
1812 |
-
#. or "Google Pay". Please translate this text, but don't remove the `**`.
|
1813 |
-
msgid ""
|
1814 |
-
"To complete your transaction with **the selected payment method**, you must "
|
1815 |
-
"log in or create an account with our site."
|
1816 |
-
msgstr ""
|
1817 |
-
|
1818 |
-
#: templates/emails/failed-preorder-authentication.php:20
|
1819 |
-
msgid "Authorize the payment now »"
|
1820 |
-
msgstr ""
|
1821 |
-
|
1822 |
-
#: templates/emails/failed-preorder-authentication.php:57
|
1823 |
-
msgid "Thanks for shopping with us."
|
1824 |
-
msgstr ""
|
1825 |
-
|
1826 |
-
#: templates/emails/failed-renewal-authentication-requested.php:35
|
1827 |
-
#: templates/emails/plain/failed-renewal-authentication-requested.php:26
|
1828 |
-
msgid "The renewal order is as follows:"
|
1829 |
-
msgstr ""
|
1830 |
-
|
1831 |
-
#: templates/emails/failed-renewal-authentication.php:12
|
1832 |
-
msgid "Authorize the payment »"
|
1833 |
-
msgstr ""
|
1834 |
-
|
1835 |
-
#: templates/emails/plain/failed-preorder-authentication.php:10
|
1836 |
-
#. translators: %s is a link to the payment re-authentication URL.
|
1837 |
-
msgid ""
|
1838 |
-
"Your pre-order is now available, but payment cannot be completed "
|
1839 |
-
"automatically. Please complete the payment now: %s"
|
1840 |
-
msgstr ""
|
1841 |
-
|
1842 |
-
#: woocommerce-gateway-stripe.php:41
|
1843 |
-
#. translators: 1. URL link.
|
1844 |
-
msgid ""
|
1845 |
-
"Stripe requires WooCommerce to be installed and active. You can download %s "
|
1846 |
-
"here."
|
1847 |
-
msgstr ""
|
1848 |
-
|
1849 |
-
#: woocommerce-gateway-stripe.php:51
|
1850 |
-
#. translators: $1. Minimum WooCommerce version. $2. Current WooCommerce
|
1851 |
-
#. version.
|
1852 |
-
msgid ""
|
1853 |
-
"Stripe requires WooCommerce %1$s or greater to be installed and active. "
|
1854 |
-
"WooCommerce %2$s is no longer supported."
|
1855 |
-
msgstr ""
|
1856 |
-
|
1857 |
-
#: woocommerce-gateway-stripe.php:239
|
1858 |
-
msgid "Settings"
|
1859 |
-
msgstr ""
|
1860 |
-
|
1861 |
-
#: woocommerce-gateway-stripe.php:255
|
1862 |
-
msgid "View Documentation"
|
1863 |
-
msgstr ""
|
1864 |
-
|
1865 |
-
#: woocommerce-gateway-stripe.php:255
|
1866 |
-
msgid "Docs"
|
1867 |
-
msgstr ""
|
1868 |
-
|
1869 |
-
#: woocommerce-gateway-stripe.php:256
|
1870 |
-
msgid "Open a support request at WooCommerce.com"
|
1871 |
msgstr ""
|
1872 |
|
1873 |
-
#:
|
1874 |
-
msgid "
|
1875 |
msgstr ""
|
1876 |
|
1877 |
-
|
1878 |
-
msgid "
|
1879 |
msgstr ""
|
1880 |
|
1881 |
-
|
1882 |
-
msgid "
|
1883 |
msgstr ""
|
1884 |
|
1885 |
-
|
1886 |
-
msgid "
|
1887 |
msgstr ""
|
1888 |
|
1889 |
-
|
1890 |
-
msgid "
|
1891 |
msgstr ""
|
1892 |
|
1893 |
-
|
1894 |
-
msgid "
|
1895 |
msgstr ""
|
1896 |
|
1897 |
-
#:
|
1898 |
-
|
1899 |
-
msgid "Enable/Disable"
|
1900 |
msgstr ""
|
1901 |
|
1902 |
-
#:
|
1903 |
-
|
1904 |
-
msgctxt "In failed SCA authentication for a pre-order."
|
1905 |
-
msgid ""
|
1906 |
-
"Your pre-order is now available, but payment cannot be completed "
|
1907 |
-
"automatically. %s"
|
1908 |
msgstr ""
|
1909 |
|
1910 |
-
#:
|
1911 |
-
#: templates/emails/plain/failed-renewal-authentication-requested.php:17
|
1912 |
-
#. translators: %1$s: an order number, %2$s: the customer's full name, %3$s:
|
1913 |
-
#. lowercase human time diff in the form returned by wcs_get_human_time_diff(),
|
1914 |
-
#. e.g. 'in 12 hours'.
|
1915 |
-
msgctxt "In admin renewal failed email"
|
1916 |
msgid ""
|
1917 |
-
"
|
1918 |
-
"
|
1919 |
-
"
|
1920 |
-
"again %3$s."
|
1921 |
msgstr ""
|
1922 |
|
1923 |
-
#:
|
1924 |
-
|
1925 |
-
#. translators: %1$s: name of the blog, %2$s: link to payment re-authentication
|
1926 |
-
#. URL, note: no full stop due to url at the end
|
1927 |
-
#. translators: %1$s: name of the blog, %2$s: link to checkout payment url,
|
1928 |
-
#. note: no full stop due to url at the end
|
1929 |
-
msgctxt "In failed renewal authentication email"
|
1930 |
-
msgid ""
|
1931 |
-
"The automatic payment to renew your subscription with %1$s has failed. To "
|
1932 |
-
"reactivate the subscription, please login and authorize the renewal from "
|
1933 |
-
"your account page: %2$s"
|
1934 |
msgstr ""
|
|
|
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
3 |
"Content-Type: text/plain; charset=utf-8\n"
|
4 |
+
"X-Generator: babel-plugin-makepot\n"
|
|
|
|
|
|
|
|
|
5 |
|
6 |
+
#: client/blocks/credit-card/index.js:42
|
7 |
+
msgid "Credit / Debit Card"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
msgstr ""
|
9 |
|
10 |
+
#: client/blocks/credit-card/index.js:58
|
11 |
+
msgid "Stripe Credit Card payment method"
|
12 |
msgstr ""
|
13 |
|
14 |
+
#: client/blocks/payment-request/custom-button.js:15
|
15 |
+
msgid "Buy now"
|
16 |
msgstr ""
|
17 |
|
18 |
+
#: client/settings/payment-request-section/index.js:109
|
19 |
+
msgid "Show express checkouts on"
|
20 |
msgstr ""
|
21 |
|
22 |
+
#: client/settings/payment-request-section/index.js:127
|
23 |
+
msgid "Checkout"
|
24 |
msgstr ""
|
25 |
|
26 |
+
#: client/settings/payment-request-section/index.js:145
|
27 |
+
msgid "Product page"
|
28 |
msgstr ""
|
29 |
|
30 |
+
#: client/settings/payment-request-section/index.js:159
|
31 |
+
msgid "Cart"
|
32 |
msgstr ""
|
33 |
|
34 |
+
#: client/settings/payment-request-section/index.js:171
|
35 |
+
msgid "Customize appearance"
|
|
|
36 |
msgstr ""
|
37 |
|
38 |
+
#: client/settings/payment-request-section/index.js:68
|
39 |
+
msgid "Enable express checkouts"
|
|
|
|
|
|
|
|
|
40 |
msgstr ""
|
41 |
|
42 |
+
#: client/settings/payment-request-section/index.js:74
|
|
|
|
|
|
|
|
|
|
|
43 |
msgid ""
|
44 |
+
"By enabling this feature, you agree to {{stripeLink}}Stripe{{/stripeLink}}, "
|
45 |
+
"{{appleLink}}Apple{{/appleLink}}, and {{googleLink}}Google{{/googleLink}}'s "
|
46 |
+
"terms of use."
|
|
|
47 |
msgstr ""
|
48 |
|
49 |
+
#: client/settings/save-settings-section/index.js:25
|
50 |
+
msgid "Save changes"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
msgstr ""
|
readme.txt
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
Contributors: woocommerce, automattic, royho, akeda, mattyza, bor0, woothemes
|
3 |
Tags: credit card, stripe, apple pay, payment request, google pay, sepa, sofort, bancontact, alipay, giropay, ideal, p24, woocommerce, automattic
|
4 |
Requires at least: 4.6
|
5 |
-
Tested up to: 5.
|
6 |
Requires PHP: 5.6
|
7 |
-
Stable tag: 5.
|
8 |
License: GPLv3
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
10 |
Attributions: thorsten-stripe
|
@@ -126,7 +126,12 @@ If you get stuck, you can ask for help in the Plugin Forum.
|
|
126 |
|
127 |
== Changelog ==
|
128 |
|
129 |
-
= 5.
|
130 |
-
*
|
|
|
|
|
|
|
|
|
|
|
131 |
|
132 |
[See changelog for all versions](https://raw.githubusercontent.com/woocommerce/woocommerce-gateway-stripe/trunk/changelog.txt).
|
2 |
Contributors: woocommerce, automattic, royho, akeda, mattyza, bor0, woothemes
|
3 |
Tags: credit card, stripe, apple pay, payment request, google pay, sepa, sofort, bancontact, alipay, giropay, ideal, p24, woocommerce, automattic
|
4 |
Requires at least: 4.6
|
5 |
+
Tested up to: 5.8
|
6 |
Requires PHP: 5.6
|
7 |
+
Stable tag: 5.5.0
|
8 |
License: GPLv3
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
10 |
Attributions: thorsten-stripe
|
126 |
|
127 |
== Changelog ==
|
128 |
|
129 |
+
= 5.5.0 - 2021-09-15 =
|
130 |
+
* Tweak - Moved the `WC_Gateway_Stripe::admin_scripts` method to `WC_Stripe_Settings_Controller::admin_scripts`.
|
131 |
+
* Fix - Save payment method during 3D Secure flow for Block-based checkout.
|
132 |
+
* Fix - Show subtotal on Payment Request dialog.
|
133 |
+
* Add - Settings to control Payment Request Button locations in the Stripe plugin settings. Persists changes made through pre-existing filters, or defaults to the Cart and Product pages if no filters are in use.
|
134 |
+
* Tweak - Deprecated the 'wc_stripe_hide_payment_request_on_product_page', 'wc_stripe_show_payment_request_on_checkout', and 'wc_stripe_show_payment_request_on_cart' filters in favor of the UI-driven approach in the plugin settings.
|
135 |
+
* Add - Notice for WP & WC version compatibility check.
|
136 |
|
137 |
[See changelog for all versions](https://raw.githubusercontent.com/woocommerce/woocommerce-gateway-stripe/trunk/changelog.txt).
|
woocommerce-gateway-stripe.php
CHANGED
@@ -5,11 +5,11 @@
|
|
5 |
* Description: Take credit card payments on your store using Stripe.
|
6 |
* Author: WooCommerce
|
7 |
* Author URI: https://woocommerce.com/
|
8 |
-
* Version: 5.
|
9 |
* Requires at least: 4.6
|
10 |
-
* Tested up to: 5.
|
11 |
* WC requires at least: 3.3
|
12 |
-
* WC tested up to: 5.
|
13 |
* Text Domain: woocommerce-gateway-stripe
|
14 |
* Domain Path: /languages
|
15 |
*/
|
@@ -21,7 +21,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
21 |
/**
|
22 |
* Required minimums and constants
|
23 |
*/
|
24 |
-
define( 'WC_STRIPE_VERSION', '5.
|
25 |
define( 'WC_STRIPE_MIN_PHP_VER', '5.6.0' );
|
26 |
define( 'WC_STRIPE_MIN_WC_VER', '3.0' );
|
27 |
define( 'WC_STRIPE_FUTURE_MIN_WC_VER', '3.3' );
|
@@ -128,7 +128,7 @@ function woocommerce_gateway_stripe() {
|
|
128 |
$this->connect = new WC_Stripe_Connect( $this->api );
|
129 |
$this->payment_request_configuration = new WC_Stripe_Payment_Request();
|
130 |
|
131 |
-
add_action( 'rest_api_init', [ $this, '
|
132 |
}
|
133 |
|
134 |
/**
|
@@ -153,6 +153,14 @@ function woocommerce_gateway_stripe() {
|
|
153 |
require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-apple-pay-registration.php';
|
154 |
require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-pre-orders-compat.php';
|
155 |
require_once dirname( __FILE__ ) . '/includes/class-wc-gateway-stripe.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-bancontact.php';
|
157 |
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-sofort.php';
|
158 |
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-giropay.php';
|
@@ -173,9 +181,19 @@ function woocommerce_gateway_stripe() {
|
|
173 |
require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-customer.php';
|
174 |
require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-intent-controller.php';
|
175 |
require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-inbox-notes.php';
|
|
|
|
|
176 |
|
177 |
if ( is_admin() ) {
|
178 |
require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-admin-notices.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
}
|
180 |
|
181 |
// REMOVE IN THE FUTURE.
|
@@ -192,6 +210,8 @@ function woocommerce_gateway_stripe() {
|
|
192 |
if ( version_compare( WC_VERSION, '3.4', '<' ) ) {
|
193 |
add_filter( 'woocommerce_get_sections_checkout', [ $this, 'filter_gateway_order_admin' ] );
|
194 |
}
|
|
|
|
|
195 |
}
|
196 |
|
197 |
/**
|
@@ -225,6 +245,52 @@ function woocommerce_gateway_stripe() {
|
|
225 |
|
226 |
add_woocommerce_inbox_variant();
|
227 |
$this->update_plugin_version();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
}
|
229 |
}
|
230 |
|
@@ -267,22 +333,37 @@ function woocommerce_gateway_stripe() {
|
|
267 |
* @version 4.0.0
|
268 |
*/
|
269 |
public function add_gateways( $methods ) {
|
270 |
-
if (
|
271 |
-
$methods[] = 'WC_Stripe_Subs_Compat
|
272 |
-
$methods[] = 'WC_Stripe_Sepa_Subs_Compat
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
273 |
} else {
|
274 |
-
|
275 |
-
$methods[] = '
|
|
|
|
|
|
|
|
|
276 |
}
|
277 |
|
278 |
-
|
279 |
-
$methods[] = '
|
280 |
-
$methods[] =
|
281 |
-
$methods[] =
|
282 |
-
$methods[] =
|
283 |
-
$methods[] =
|
284 |
-
$methods[] = 'WC_Gateway_Stripe_Alipay';
|
285 |
-
$methods[] = 'WC_Gateway_Stripe_Multibanco';
|
286 |
|
287 |
return $methods;
|
288 |
}
|
@@ -295,6 +376,9 @@ function woocommerce_gateway_stripe() {
|
|
295 |
*/
|
296 |
public function filter_gateway_order_admin( $sections ) {
|
297 |
unset( $sections['stripe'] );
|
|
|
|
|
|
|
298 |
unset( $sections['stripe_bancontact'] );
|
299 |
unset( $sections['stripe_sofort'] );
|
300 |
unset( $sections['stripe_giropay'] );
|
@@ -305,7 +389,10 @@ function woocommerce_gateway_stripe() {
|
|
305 |
unset( $sections['stripe_sepa'] );
|
306 |
unset( $sections['stripe_multibanco'] );
|
307 |
|
308 |
-
$sections['stripe']
|
|
|
|
|
|
|
309 |
$sections['stripe_bancontact'] = __( 'Stripe Bancontact', 'woocommerce-gateway-stripe' );
|
310 |
$sections['stripe_sofort'] = __( 'Stripe SOFORT', 'woocommerce-gateway-stripe' );
|
311 |
$sections['stripe_giropay'] = __( 'Stripe Giropay', 'woocommerce-gateway-stripe' );
|
@@ -331,11 +418,110 @@ function woocommerce_gateway_stripe() {
|
|
331 |
*/
|
332 |
public function gateway_settings_update( $settings, $old_settings ) {
|
333 |
if ( false === $old_settings ) {
|
334 |
-
$gateway
|
335 |
-
$fields
|
336 |
-
$
|
337 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
339 |
return $settings;
|
340 |
}
|
341 |
|
@@ -360,10 +546,12 @@ function woocommerce_gateway_stripe() {
|
|
360 |
}
|
361 |
|
362 |
/**
|
363 |
-
* Register
|
|
|
|
|
364 |
*/
|
365 |
-
public function
|
366 |
-
|
367 |
require_once WC_STRIPE_PLUGIN_PATH . '/includes/abstracts/abstract-wc-stripe-connect-rest-controller.php';
|
368 |
require_once WC_STRIPE_PLUGIN_PATH . '/includes/connect/class-wc-stripe-connect-rest-oauth-init-controller.php';
|
369 |
require_once WC_STRIPE_PLUGIN_PATH . '/includes/connect/class-wc-stripe-connect-rest-oauth-connect-controller.php';
|
@@ -373,6 +561,12 @@ function woocommerce_gateway_stripe() {
|
|
373 |
|
374 |
$oauth_init->register_routes();
|
375 |
$oauth_connect->register_routes();
|
|
|
|
|
|
|
|
|
|
|
|
|
376 |
}
|
377 |
}
|
378 |
|
@@ -416,6 +610,17 @@ if ( ! function_exists( 'add_woocommerce_inbox_variant' ) ) {
|
|
416 |
}
|
417 |
register_activation_hook( __FILE__, 'add_woocommerce_inbox_variant' );
|
418 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
419 |
// Hook in Blocks integration. This action is called in a callback on plugins loaded, so current Stripe plugin class
|
420 |
// implementation is too late.
|
421 |
add_action( 'woocommerce_blocks_loaded', 'woocommerce_gateway_stripe_woocommerce_block_support' );
|
@@ -430,6 +635,11 @@ function woocommerce_gateway_stripe_woocommerce_block_support() {
|
|
430 |
add_action(
|
431 |
'woocommerce_blocks_payment_method_type_registration',
|
432 |
function( Automattic\WooCommerce\Blocks\Payments\PaymentMethodRegistry $payment_method_registry ) {
|
|
|
|
|
|
|
|
|
|
|
433 |
$container = Automattic\WooCommerce\Blocks\Package::container();
|
434 |
// registers as shared instance.
|
435 |
$container->register(
|
5 |
* Description: Take credit card payments on your store using Stripe.
|
6 |
* Author: WooCommerce
|
7 |
* Author URI: https://woocommerce.com/
|
8 |
+
* Version: 5.5.0
|
9 |
* Requires at least: 4.6
|
10 |
+
* Tested up to: 5.8
|
11 |
* WC requires at least: 3.3
|
12 |
+
* WC tested up to: 5.6
|
13 |
* Text Domain: woocommerce-gateway-stripe
|
14 |
* Domain Path: /languages
|
15 |
*/
|
21 |
/**
|
22 |
* Required minimums and constants
|
23 |
*/
|
24 |
+
define( 'WC_STRIPE_VERSION', '5.5.0' ); // WRCS: DEFINED_VERSION.
|
25 |
define( 'WC_STRIPE_MIN_PHP_VER', '5.6.0' );
|
26 |
define( 'WC_STRIPE_MIN_WC_VER', '3.0' );
|
27 |
define( 'WC_STRIPE_FUTURE_MIN_WC_VER', '3.3' );
|
128 |
$this->connect = new WC_Stripe_Connect( $this->api );
|
129 |
$this->payment_request_configuration = new WC_Stripe_Payment_Request();
|
130 |
|
131 |
+
add_action( 'rest_api_init', [ $this, 'register_routes' ] );
|
132 |
}
|
133 |
|
134 |
/**
|
153 |
require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-apple-pay-registration.php';
|
154 |
require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-pre-orders-compat.php';
|
155 |
require_once dirname( __FILE__ ) . '/includes/class-wc-gateway-stripe.php';
|
156 |
+
require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-feature-flags.php';
|
157 |
+
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-upe-payment-gateway.php';
|
158 |
+
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-upe-payment-method.php';
|
159 |
+
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-upe-payment-method-cc.php';
|
160 |
+
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-upe-payment-method-giropay.php';
|
161 |
+
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-upe-payment-method-ideal.php';
|
162 |
+
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-upe-payment-method-bancontact.php';
|
163 |
+
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-upe-payment-method-eps.php';
|
164 |
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-bancontact.php';
|
165 |
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-sofort.php';
|
166 |
require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-giropay.php';
|
181 |
require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-customer.php';
|
182 |
require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-intent-controller.php';
|
183 |
require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-inbox-notes.php';
|
184 |
+
require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-upe-compatibility.php';
|
185 |
+
require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-upe-compatibility-controller.php';
|
186 |
|
187 |
if ( is_admin() ) {
|
188 |
require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-admin-notices.php';
|
189 |
+
require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-settings-controller.php';
|
190 |
+
|
191 |
+
new WC_Stripe_Settings_Controller();
|
192 |
+
|
193 |
+
if ( WC_Stripe_Feature_Flags::is_upe_settings_redesign_enabled() ) {
|
194 |
+
require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-onboarding-controller.php';
|
195 |
+
new WC_Stripe_Onboarding_Controller();
|
196 |
+
}
|
197 |
}
|
198 |
|
199 |
// REMOVE IN THE FUTURE.
|
210 |
if ( version_compare( WC_VERSION, '3.4', '<' ) ) {
|
211 |
add_filter( 'woocommerce_get_sections_checkout', [ $this, 'filter_gateway_order_admin' ] );
|
212 |
}
|
213 |
+
|
214 |
+
new WC_Stripe_UPE_Compatibility_Controller();
|
215 |
}
|
216 |
|
217 |
/**
|
245 |
|
246 |
add_woocommerce_inbox_variant();
|
247 |
$this->update_plugin_version();
|
248 |
+
|
249 |
+
// TODO: Remove this when we're reasonably sure most merchants have had their
|
250 |
+
// settings updated like this. ~80% of merchants is a good threshold.
|
251 |
+
// - @reykjalin
|
252 |
+
$this->update_prb_location_settings();
|
253 |
+
}
|
254 |
+
}
|
255 |
+
|
256 |
+
/**
|
257 |
+
* Updates the PRB location settings based on deprecated filters.
|
258 |
+
*
|
259 |
+
* The filters were removed in favor of plugin settings. This function can, and should,
|
260 |
+
* be removed when we're reasonably sure most merchants have had their settings updated
|
261 |
+
* through this function. Maybe ~80% of merchants is a good threshold?
|
262 |
+
*
|
263 |
+
* @since 5.5.0
|
264 |
+
* @version 5.5.0
|
265 |
+
*/
|
266 |
+
public function update_prb_location_settings() {
|
267 |
+
$stripe_settings = get_option( 'woocommerce_stripe_settings', [] );
|
268 |
+
$prb_locations = isset( $stripe_settings['payment_request_button_locations'] )
|
269 |
+
? $stripe_settings['payment_request_button_locations']
|
270 |
+
: [];
|
271 |
+
if ( ! empty( $stripe_settings ) && empty( $prb_locations ) ) {
|
272 |
+
global $post;
|
273 |
+
|
274 |
+
$should_show_on_product_page = ! apply_filters( 'wc_stripe_hide_payment_request_on_product_page', false, $post );
|
275 |
+
$should_show_on_cart_page = apply_filters( 'wc_stripe_show_payment_request_on_cart', true );
|
276 |
+
$should_show_on_checkout_page = apply_filters( 'wc_stripe_show_payment_request_on_checkout', false, $post );
|
277 |
+
|
278 |
+
$new_prb_locations = [];
|
279 |
+
|
280 |
+
if ( $should_show_on_product_page ) {
|
281 |
+
$new_prb_locations[] = 'product';
|
282 |
+
}
|
283 |
+
|
284 |
+
if ( $should_show_on_cart_page ) {
|
285 |
+
$new_prb_locations[] = 'cart';
|
286 |
+
}
|
287 |
+
|
288 |
+
if ( $should_show_on_checkout_page ) {
|
289 |
+
$new_prb_locations[] = 'checkout';
|
290 |
+
}
|
291 |
+
|
292 |
+
$stripe_settings['payment_request_button_locations'] = $new_prb_locations;
|
293 |
+
update_option( 'woocommerce_stripe_settings', $stripe_settings );
|
294 |
}
|
295 |
}
|
296 |
|
333 |
* @version 4.0.0
|
334 |
*/
|
335 |
public function add_gateways( $methods ) {
|
336 |
+
if ( ! WC_Stripe_Feature_Flags::is_upe_preview_enabled() ) {
|
337 |
+
$methods[] = ( class_exists( 'WC_Subscriptions_Order' ) && function_exists( 'wcs_create_renewal_order' ) ) ? WC_Stripe_Subs_Compat::class : WC_Gateway_Stripe::class;
|
338 |
+
$methods[] = ( class_exists( 'WC_Subscriptions_Order' ) && function_exists( 'wcs_create_renewal_order' ) ) ? WC_Stripe_Sepa_Subs_Compat::class : WC_Gateway_Stripe_Sepa::class;
|
339 |
+
$methods[] = WC_Gateway_Stripe_Bancontact::class;
|
340 |
+
$methods[] = WC_Gateway_Stripe_Sofort::class;
|
341 |
+
$methods[] = WC_Gateway_Stripe_Giropay::class;
|
342 |
+
$methods[] = WC_Gateway_Stripe_Eps::class;
|
343 |
+
$methods[] = WC_Gateway_Stripe_Ideal::class;
|
344 |
+
$methods[] = WC_Gateway_Stripe_P24::class;
|
345 |
+
$methods[] = WC_Gateway_Stripe_Alipay::class;
|
346 |
+
$methods[] = WC_Gateway_Stripe_Multibanco::class;
|
347 |
+
return $methods;
|
348 |
+
}
|
349 |
+
|
350 |
+
if ( WC_Stripe_Feature_Flags::is_upe_checkout_enabled() ) {
|
351 |
+
$methods[] = WC_Stripe_UPE_Payment_Gateway::class;
|
352 |
} else {
|
353 |
+
// These payment gateways will be hidden when UPE is enabled:
|
354 |
+
$methods[] = ( class_exists( 'WC_Subscriptions_Order' ) && function_exists( 'wcs_create_renewal_order' ) ) ? WC_Stripe_Subs_Compat::class : WC_Gateway_Stripe::class;
|
355 |
+
$methods[] = WC_Gateway_Stripe_Giropay::class;
|
356 |
+
$methods[] = WC_Gateway_Stripe_Ideal::class;
|
357 |
+
$methods[] = WC_Gateway_Stripe_Bancontact::class;
|
358 |
+
$methods[] = WC_Gateway_Stripe_Eps::class;
|
359 |
}
|
360 |
|
361 |
+
// These payment gateways will always be visible, regardless if UPE is enabled or disabled:
|
362 |
+
$methods[] = ( class_exists( 'WC_Subscriptions_Order' ) && function_exists( 'wcs_create_renewal_order' ) ) ? WC_Stripe_Sepa_Subs_Compat::class : WC_Gateway_Stripe_Sepa::class;
|
363 |
+
$methods[] = WC_Gateway_Stripe_Sofort::class;
|
364 |
+
$methods[] = WC_Gateway_Stripe_P24::class;
|
365 |
+
$methods[] = WC_Gateway_Stripe_Alipay::class;
|
366 |
+
$methods[] = WC_Gateway_Stripe_Multibanco::class;
|
|
|
|
|
367 |
|
368 |
return $methods;
|
369 |
}
|
376 |
*/
|
377 |
public function filter_gateway_order_admin( $sections ) {
|
378 |
unset( $sections['stripe'] );
|
379 |
+
if ( WC_Stripe_Feature_Flags::is_upe_preview_enabled() ) {
|
380 |
+
unset( $sections['stripe_upe'] );
|
381 |
+
}
|
382 |
unset( $sections['stripe_bancontact'] );
|
383 |
unset( $sections['stripe_sofort'] );
|
384 |
unset( $sections['stripe_giropay'] );
|
389 |
unset( $sections['stripe_sepa'] );
|
390 |
unset( $sections['stripe_multibanco'] );
|
391 |
|
392 |
+
$sections['stripe'] = 'Stripe';
|
393 |
+
if ( WC_Stripe_Feature_Flags::is_upe_preview_enabled() ) {
|
394 |
+
$sections['stripe_upe'] = 'Stripe checkout experience';
|
395 |
+
}
|
396 |
$sections['stripe_bancontact'] = __( 'Stripe Bancontact', 'woocommerce-gateway-stripe' );
|
397 |
$sections['stripe_sofort'] = __( 'Stripe SOFORT', 'woocommerce-gateway-stripe' );
|
398 |
$sections['stripe_giropay'] = __( 'Stripe Giropay', 'woocommerce-gateway-stripe' );
|
418 |
*/
|
419 |
public function gateway_settings_update( $settings, $old_settings ) {
|
420 |
if ( false === $old_settings ) {
|
421 |
+
$gateway = new WC_Gateway_Stripe();
|
422 |
+
$fields = $gateway->get_form_fields();
|
423 |
+
$old_settings = array_merge( array_fill_keys( array_keys( $fields ), '' ), wp_list_pluck( $fields, 'default' ) );
|
424 |
+
$settings = array_merge( $old_settings, $settings );
|
425 |
+
}
|
426 |
+
|
427 |
+
if ( ! WC_Stripe_Feature_Flags::is_upe_preview_enabled() ) {
|
428 |
+
return $settings;
|
429 |
+
}
|
430 |
+
|
431 |
+
return $this->toggle_upe( $settings, $old_settings );
|
432 |
+
}
|
433 |
+
|
434 |
+
/**
|
435 |
+
* Enable or disable UPE.
|
436 |
+
*
|
437 |
+
* When enabling UPE: For each currently enabled Stripe LPM, the corresponding UPE method is enabled.
|
438 |
+
*
|
439 |
+
* When disabling UPE: For each currently enabled UPE method, the corresponding LPM is enabled.
|
440 |
+
*
|
441 |
+
* @param array $settings New settings to save.
|
442 |
+
* @param array|bool $old_settings Existing settings, if any.
|
443 |
+
* @return array New value but with defaults initially filled in for missing settings.
|
444 |
+
*/
|
445 |
+
protected function toggle_upe( $settings, $old_settings ) {
|
446 |
+
if ( false === $old_settings ) {
|
447 |
+
$old_settings = [ WC_Stripe_Feature_Flags::UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME => 'no' ];
|
448 |
+
}
|
449 |
+
if ( ! isset( $settings[ WC_Stripe_Feature_Flags::UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME ] ) || $settings[ WC_Stripe_Feature_Flags::UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME ] === $old_settings[ WC_Stripe_Feature_Flags::UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME ] ) {
|
450 |
+
return $settings;
|
451 |
}
|
452 |
+
|
453 |
+
if ( 'no' === $old_settings[ WC_Stripe_Feature_Flags::UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME ] && 'yes' === $settings[ WC_Stripe_Feature_Flags::UPE_CHECKOUT_FEATURE_ATTRIBUTE_NAME ] ) {
|
454 |
+
return $this->enable_upe( $settings );
|
455 |
+
}
|
456 |
+
|
457 |
+
return $this->disable_upe( $settings );
|
458 |
+
}
|
459 |
+
|
460 |
+
protected function enable_upe( $settings ) {
|
461 |
+
$payment_gateways = WC()->payment_gateways->payment_gateways();
|
462 |
+
foreach ( WC_Stripe_UPE_Payment_Gateway::UPE_AVAILABLE_METHODS as $method_class ) {
|
463 |
+
$lpm_gateway_id = constant( $method_class::LPM_GATEWAY_CLASS . '::ID' );
|
464 |
+
if ( isset( $payment_gateways[ $lpm_gateway_id ] ) && 'yes' === $payment_gateways[ $lpm_gateway_id ]->enabled ) {
|
465 |
+
// DISABLE LPM
|
466 |
+
if ( 'stripe' !== $lpm_gateway_id ) {
|
467 |
+
/**
|
468 |
+
* TODO: This can be replaced with:
|
469 |
+
*
|
470 |
+
* $payment_gateways[ $lpm_gateway_id ]->update_option( 'enabled', 'no' );
|
471 |
+
* $payment_gateways[ $lpm_gateway_id ]->enabled = 'no';
|
472 |
+
*
|
473 |
+
* ...once the minimum WC version is 3.4.0.
|
474 |
+
*/
|
475 |
+
$payment_gateways[ $lpm_gateway_id ]->settings['enabled'] = 'no';
|
476 |
+
update_option(
|
477 |
+
$payment_gateways[ $lpm_gateway_id ]->get_option_key(),
|
478 |
+
apply_filters( 'woocommerce_settings_api_sanitized_fields_' . $payment_gateways[ $lpm_gateway_id ]::ID, $payment_gateways[ $lpm_gateway_id ]->settings ),
|
479 |
+
'yes'
|
480 |
+
);
|
481 |
+
}
|
482 |
+
// ENABLE UPE METHOD
|
483 |
+
if ( ! isset( $settings['upe_checkout_experience_accepted_payments'] ) ) {
|
484 |
+
$settings['upe_checkout_experience_accepted_payments'] = [];
|
485 |
+
}
|
486 |
+
$settings['upe_checkout_experience_accepted_payments'][] = $method_class::STRIPE_ID;
|
487 |
+
}
|
488 |
+
}
|
489 |
+
if ( empty( $settings['upe_checkout_experience_accepted_payments'] ) ) {
|
490 |
+
$settings['upe_checkout_experience_accepted_payments'] = [ 'card' ];
|
491 |
+
} else {
|
492 |
+
// The 'stripe' gateway must be enabled for UPE if any LPMs were enabled.
|
493 |
+
$settings['enabled'] = 'yes';
|
494 |
+
}
|
495 |
+
|
496 |
+
return $settings;
|
497 |
+
}
|
498 |
+
|
499 |
+
protected function disable_upe( $settings ) {
|
500 |
+
$upe_gateway = new WC_Stripe_UPE_Payment_Gateway();
|
501 |
+
$upe_enabled_method_ids = $upe_gateway->get_upe_enabled_payment_method_ids();
|
502 |
+
foreach ( WC_Stripe_UPE_Payment_Gateway::UPE_AVAILABLE_METHODS as $method_class ) {
|
503 |
+
if ( ! defined( "$method_class::LPM_GATEWAY_CLASS" ) || ! in_array( $method_class::STRIPE_ID, $upe_enabled_method_ids, true ) ) {
|
504 |
+
continue;
|
505 |
+
}
|
506 |
+
// ENABLE LPM
|
507 |
+
$gateway_class = $method_class::LPM_GATEWAY_CLASS;
|
508 |
+
$gateway = new $gateway_class();
|
509 |
+
/**
|
510 |
+
* TODO: This can be replaced with:
|
511 |
+
*
|
512 |
+
* $gateway->update_option( 'enabled', 'yes' );
|
513 |
+
*
|
514 |
+
* ...once the minimum WC version is 3.4.0.
|
515 |
+
*/
|
516 |
+
$gateway->settings['enabled'] = 'yes';
|
517 |
+
update_option( $gateway->get_option_key(), apply_filters( 'woocommerce_settings_api_sanitized_fields_' . $gateway::ID, $gateway->settings ), 'yes' );
|
518 |
+
}
|
519 |
+
// Disable main Stripe/card LPM if 'card' UPE method wasn't enabled.
|
520 |
+
if ( ! in_array( 'card', $upe_enabled_method_ids, true ) ) {
|
521 |
+
$settings['enabled'] = 'no';
|
522 |
+
}
|
523 |
+
// DISABLE ALL UPE METHODS
|
524 |
+
$settings['upe_checkout_experience_accepted_payments'] = [];
|
525 |
return $settings;
|
526 |
}
|
527 |
|
546 |
}
|
547 |
|
548 |
/**
|
549 |
+
* Register REST API routes.
|
550 |
+
*
|
551 |
+
* New endpoints/controllers can be added here.
|
552 |
*/
|
553 |
+
public function register_routes() {
|
554 |
+
/** API includes */
|
555 |
require_once WC_STRIPE_PLUGIN_PATH . '/includes/abstracts/abstract-wc-stripe-connect-rest-controller.php';
|
556 |
require_once WC_STRIPE_PLUGIN_PATH . '/includes/connect/class-wc-stripe-connect-rest-oauth-init-controller.php';
|
557 |
require_once WC_STRIPE_PLUGIN_PATH . '/includes/connect/class-wc-stripe-connect-rest-oauth-connect-controller.php';
|
561 |
|
562 |
$oauth_init->register_routes();
|
563 |
$oauth_connect->register_routes();
|
564 |
+
|
565 |
+
if ( WC_Stripe_Feature_Flags::is_upe_preview_enabled() ) {
|
566 |
+
require_once WC_STRIPE_PLUGIN_PATH . '/includes/admin/class-wc-rest-upe-flag-toggle-controller.php';
|
567 |
+
$upe_flag_toggle_controller = new WC_REST_UPE_Flag_Toggle_Controller();
|
568 |
+
$upe_flag_toggle_controller->register_routes();
|
569 |
+
}
|
570 |
}
|
571 |
}
|
572 |
|
610 |
}
|
611 |
register_activation_hook( __FILE__, 'add_woocommerce_inbox_variant' );
|
612 |
|
613 |
+
function wcstripe_deactivated() {
|
614 |
+
// admin notes are not supported on older versions of WooCommerce.
|
615 |
+
if ( version_compare( WC_VERSION, '4.4.0', '>=' ) ) {
|
616 |
+
require_once WC_STRIPE_PLUGIN_PATH . '/includes/class-wc-stripe-feature-flags.php';
|
617 |
+
require_once WC_STRIPE_PLUGIN_PATH . '/includes/class-wc-stripe-upe-compatibility.php';
|
618 |
+
require_once WC_STRIPE_PLUGIN_PATH . '/includes/notes/class-wc-stripe-upe-compatibility-note.php';
|
619 |
+
WC_Stripe_UPE_Compatibility_Note::possibly_delete_note();
|
620 |
+
}
|
621 |
+
}
|
622 |
+
register_deactivation_hook( __FILE__, 'wcstripe_deactivated' );
|
623 |
+
|
624 |
// Hook in Blocks integration. This action is called in a callback on plugins loaded, so current Stripe plugin class
|
625 |
// implementation is too late.
|
626 |
add_action( 'woocommerce_blocks_loaded', 'woocommerce_gateway_stripe_woocommerce_block_support' );
|
635 |
add_action(
|
636 |
'woocommerce_blocks_payment_method_type_registration',
|
637 |
function( Automattic\WooCommerce\Blocks\Payments\PaymentMethodRegistry $payment_method_registry ) {
|
638 |
+
// I noticed some incompatibility with WP 5.x and WC 5.3 when `_wcstripe_feature_upe_settings` is enabled.
|
639 |
+
if ( ! class_exists( 'WC_Stripe_Payment_Request' ) ) {
|
640 |
+
return;
|
641 |
+
}
|
642 |
+
|
643 |
$container = Automattic\WooCommerce\Blocks\Package::container();
|
644 |
// registers as shared instance.
|
645 |
$container->register(
|