Payment Plugins for Stripe WooCommerce - Version 3.3.21

Version Description

  • 6/4/22 =
  • Fixed - Error on checkout page when Payment Element is active and saved card used for payment
  • Fixed - Don't hide "save card" checkbox when Link is active on checkout page
  • Updated - Improved Payment Element integration with WooCommerce Blocks
Download this release

Release Info

Developer mr.clayton
Plugin Icon wp plugin Payment Plugins for Stripe WooCommerce
Version 3.3.21
Comparing to
See all releases

Code changes from version 3.3.20 to 3.3.21

assets/build/link-checkout.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'ab4aff3a00142b782605e7e6535685db');
1
+ <?php return array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'ba080fe231b1f5fcfe9853ab16c413e0');
assets/build/link-checkout.js CHANGED
@@ -1,2 +1,2 @@
1
- (()=>{var e={713:e=>{e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},567:e=>{"use strict";e.exports=window.jQuery}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}(()=>{var e=r(318),t=e(r(713)),n=e(r(567));function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?i(Object(n),!0).forEach((function(r){(0,t.default)(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}(0,n.default)((function(){if("undefined"===wcStripeLinkParams)return!1;try{var e=wc_stripe.credit_card,t=e.stripe.linkAutofillModal(e.elements);(0,n.default)(document.body).on("keyup",'[name="billing_email"]',(function(e){t.launch({email:e.currentTarget.value})})),wcStripeLinkParams.launchLink&&t.launch({email:(0,n.default)('[name="billing_email"]').val()}),t.on("autofill",(function(t){var r=t.value,i=r.shippingAddress,o=void 0===i?null:i,l=r.billingAddress;if(o){var s=a({name:o.name},o.address);e.populate_shipping_fields(s)}if(l){var u=a({name:l.name},l.address);e.populate_billing_fields(u)}e.fields.toFormFields(),e.set_payment_method(e.gateway_id),e.show_new_payment_method(),e.hide_save_card(),o&&e.maybe_set_ship_to_different(),(0,n.default)('[name="terms"]').prop("checked",!0),e.fields.isEmpty("billing_phone")||e.get_form().trigger("submit")}))}catch(e){console.log(e)}}))})()})();
2
  //# sourceMappingURL=link-checkout.js.map
1
+ (()=>{var e={713:e=>{e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},567:e=>{"use strict";e.exports=window.jQuery}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}(()=>{var e=r(318),t=e(r(713)),n=e(r(567));function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?i(Object(n),!0).forEach((function(r){(0,t.default)(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}(0,n.default)((function(){if("undefined"===wcStripeLinkParams)return!1;try{var e=wc_stripe.credit_card,t=e.stripe.linkAutofillModal(e.elements);(0,n.default)(document.body).on("keyup",'[name="billing_email"]',(function(e){t.launch({email:e.currentTarget.value})})),wcStripeLinkParams.launchLink&&t.launch({email:(0,n.default)('[name="billing_email"]').val()}),t.on("autofill",(function(t){var r=t.value,i=r.shippingAddress,o=void 0===i?null:i,l=r.billingAddress;if(o){var s=a({name:o.name},o.address);e.populate_shipping_fields(s)}if(l){var u=a({name:l.name},l.address);e.populate_billing_fields(u)}e.fields.toFormFields(),e.set_payment_method(e.gateway_id),e.show_new_payment_method(),e.hide_save_card(),o&&e.maybe_set_ship_to_different(),(0,n.default)('[name="terms"]').prop("checked",!0),e.fields.required("billing_phone")&&e.fields.isEmpty("billing_phone")||e.get_form().trigger("submit")}))}catch(e){console.log(e)}}))})()})();
2
  //# sourceMappingURL=link-checkout.js.map
assets/build/link-checkout.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"link-checkout.js","mappings":"qBAeAA,EAAOC,QAfP,SAAyBC,EAAKC,EAAKC,GAYjC,OAXID,KAAOD,EACTG,OAAOC,eAAeJ,EAAKC,EAAK,CAC9BC,MAAOA,EACPG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZP,EAAIC,GAAOC,EAGNF,I,QCNTF,EAAOC,QANP,SAAgCC,GAC9B,OAAOA,GAAOA,EAAIQ,WAAaR,EAAM,CACnC,QAAWA,K,qBCFfF,EAAOC,QAAUU,OAAe,SCC5BC,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAad,QAGrB,IAAID,EAASY,EAAyBE,GAAY,CAGjDb,QAAS,IAOV,OAHAgB,EAAoBH,GAAUd,EAAQA,EAAOC,QAASY,GAG/Cb,EAAOC,Q,+BCrBf,Y,4kBAEA,cAAE,WACE,GAA2B,cAAvBiB,mBACA,OAAO,EAEX,IACI,IAAMC,EAAaC,UAAUC,YAEvBC,EADSH,EAAWI,OACNC,kBAAkBL,EAAWM,WAEjD,aAAEC,SAASC,MAAMC,GAAG,QAAS,0BAA0B,SAACC,GACpDP,EAAKQ,OAAO,CAACC,MAAOF,EAAEG,cAAc5B,WAGpCc,mBAAmBe,YACnBX,EAAKQ,OAAO,CAACC,OAAO,aAAE,0BAA0BG,QAGpDZ,EAAKM,GAAG,YAAY,SAACO,GAAU,MACsBA,EAAM/B,MAD5B,IACpBgC,gBAAAA,OADoB,MACF,KADE,EACIC,EADJ,EACIA,eAE/B,GAAID,EAAiB,CACjB,IAAME,EAAU,EAAH,CAAIC,KAAMH,EAAgBG,MAASH,EAAgBE,SAChEnB,EAAWqB,yBAAyBF,GAExC,GAAID,EAAgB,CAChB,IAAMC,EAAU,EAAH,CAAIC,KAAMF,EAAeE,MAASF,EAAeC,SAC9DnB,EAAWsB,wBAAwBH,GAEvCnB,EAAWuB,OAAOC,eAClBxB,EAAWyB,mBAAmBzB,EAAW0B,YACzC1B,EAAW2B,0BACX3B,EAAW4B,iBACPX,GACAjB,EAAW6B,+BAEf,aAAE,kBAAkBC,KAAK,WAAW,GAC/B9B,EAAWuB,OAAOQ,QAAQ,kBAC3B/B,EAAWgC,WAAWC,QAAQ,aAGxC,MAAOC,GACLC,QAAQC,IAAIF,Q","sources":["webpack://woo-stripe-payment/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://woo-stripe-payment/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://woo-stripe-payment/external window \"jQuery\"","webpack://woo-stripe-payment/webpack/bootstrap","webpack://woo-stripe-payment/./assets/js/frontend/link-checkout.js"],"sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","module.exports = window[\"jQuery\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","import $ from 'jquery';\r\n\r\n$(() => {\r\n if (wcStripeLinkParams === 'undefined') {\r\n return false;\r\n }\r\n try {\r\n const creditCard = wc_stripe.credit_card;\r\n const stripe = creditCard.stripe;\r\n const link = stripe.linkAutofillModal(creditCard.elements);\r\n\r\n $(document.body).on('keyup', '[name=\"billing_email\"]', (e) => {\r\n link.launch({email: e.currentTarget.value});\r\n });\r\n\r\n if (wcStripeLinkParams.launchLink) {\r\n link.launch({email: $('[name=\"billing_email\"]').val()});\r\n }\r\n\r\n link.on('autofill', (event) => {\r\n const {shippingAddress = null, billingAddress} = event.value;\r\n // populate the address fields\r\n if (shippingAddress) {\r\n const address = {name: shippingAddress.name, ...shippingAddress.address};\r\n creditCard.populate_shipping_fields(address);\r\n }\r\n if (billingAddress) {\r\n const address = {name: billingAddress.name, ...billingAddress.address};\r\n creditCard.populate_billing_fields(address);\r\n }\r\n creditCard.fields.toFormFields();\r\n creditCard.set_payment_method(creditCard.gateway_id);\r\n creditCard.show_new_payment_method();\r\n creditCard.hide_save_card();\r\n if (shippingAddress) {\r\n creditCard.maybe_set_ship_to_different();\r\n }\r\n $('[name=\"terms\"]').prop('checked', true);\r\n if (!creditCard.fields.isEmpty('billing_phone')) {\r\n creditCard.get_form().trigger('submit');\r\n }\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n});"],"names":["module","exports","obj","key","value","Object","defineProperty","enumerable","configurable","writable","__esModule","window","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","wcStripeLinkParams","creditCard","wc_stripe","credit_card","link","stripe","linkAutofillModal","elements","document","body","on","e","launch","email","currentTarget","launchLink","val","event","shippingAddress","billingAddress","address","name","populate_shipping_fields","populate_billing_fields","fields","toFormFields","set_payment_method","gateway_id","show_new_payment_method","hide_save_card","maybe_set_ship_to_different","prop","isEmpty","get_form","trigger","error","console","log"],"sourceRoot":""}
1
+ {"version":3,"file":"link-checkout.js","mappings":"qBAeAA,EAAOC,QAfP,SAAyBC,EAAKC,EAAKC,GAYjC,OAXID,KAAOD,EACTG,OAAOC,eAAeJ,EAAKC,EAAK,CAC9BC,MAAOA,EACPG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZP,EAAIC,GAAOC,EAGNF,I,QCNTF,EAAOC,QANP,SAAgCC,GAC9B,OAAOA,GAAOA,EAAIQ,WAAaR,EAAM,CACnC,QAAWA,K,qBCFfF,EAAOC,QAAUU,OAAe,SCC5BC,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAad,QAGrB,IAAID,EAASY,EAAyBE,GAAY,CAGjDb,QAAS,IAOV,OAHAgB,EAAoBH,GAAUd,EAAQA,EAAOC,QAASY,GAG/Cb,EAAOC,Q,+BCrBf,Y,4kBAEA,cAAE,WACE,GAA2B,cAAvBiB,mBACA,OAAO,EAEX,IACI,IAAMC,EAAaC,UAAUC,YAEvBC,EADSH,EAAWI,OACNC,kBAAkBL,EAAWM,WAEjD,aAAEC,SAASC,MAAMC,GAAG,QAAS,0BAA0B,SAACC,GACpDP,EAAKQ,OAAO,CAACC,MAAOF,EAAEG,cAAc5B,WAGpCc,mBAAmBe,YACnBX,EAAKQ,OAAO,CAACC,OAAO,aAAE,0BAA0BG,QAGpDZ,EAAKM,GAAG,YAAY,SAACO,GAAU,MACsBA,EAAM/B,MAD5B,IACpBgC,gBAAAA,OADoB,MACF,KADE,EACIC,EADJ,EACIA,eAE/B,GAAID,EAAiB,CACjB,IAAME,EAAU,EAAH,CAAIC,KAAMH,EAAgBG,MAASH,EAAgBE,SAChEnB,EAAWqB,yBAAyBF,GAExC,GAAID,EAAgB,CAChB,IAAMC,EAAU,EAAH,CAAIC,KAAMF,EAAeE,MAASF,EAAeC,SAC9DnB,EAAWsB,wBAAwBH,GAEvCnB,EAAWuB,OAAOC,eAClBxB,EAAWyB,mBAAmBzB,EAAW0B,YACzC1B,EAAW2B,0BACX3B,EAAW4B,iBACPX,GACAjB,EAAW6B,+BAEf,aAAE,kBAAkBC,KAAK,WAAW,GAC/B9B,EAAWuB,OAAOQ,SAAS,kBAAqB/B,EAAWuB,OAAOS,QAAQ,kBAC3EhC,EAAWiC,WAAWC,QAAQ,aAGxC,MAAOC,GACLC,QAAQC,IAAIF,Q","sources":["webpack://woo-stripe-payment/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://woo-stripe-payment/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://woo-stripe-payment/external window \"jQuery\"","webpack://woo-stripe-payment/webpack/bootstrap","webpack://woo-stripe-payment/./assets/js/frontend/link-checkout.js"],"sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","module.exports = window[\"jQuery\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","import $ from 'jquery';\r\n\r\n$(() => {\r\n if (wcStripeLinkParams === 'undefined') {\r\n return false;\r\n }\r\n try {\r\n const creditCard = wc_stripe.credit_card;\r\n const stripe = creditCard.stripe;\r\n const link = stripe.linkAutofillModal(creditCard.elements);\r\n\r\n $(document.body).on('keyup', '[name=\"billing_email\"]', (e) => {\r\n link.launch({email: e.currentTarget.value});\r\n });\r\n\r\n if (wcStripeLinkParams.launchLink) {\r\n link.launch({email: $('[name=\"billing_email\"]').val()});\r\n }\r\n\r\n link.on('autofill', (event) => {\r\n const {shippingAddress = null, billingAddress} = event.value;\r\n // populate the address fields\r\n if (shippingAddress) {\r\n const address = {name: shippingAddress.name, ...shippingAddress.address};\r\n creditCard.populate_shipping_fields(address);\r\n }\r\n if (billingAddress) {\r\n const address = {name: billingAddress.name, ...billingAddress.address};\r\n creditCard.populate_billing_fields(address);\r\n }\r\n creditCard.fields.toFormFields();\r\n creditCard.set_payment_method(creditCard.gateway_id);\r\n creditCard.show_new_payment_method();\r\n creditCard.hide_save_card();\r\n if (shippingAddress) {\r\n creditCard.maybe_set_ship_to_different();\r\n }\r\n $('[name=\"terms\"]').prop('checked', true);\r\n if (!creditCard.fields.required('billing_phone') || !creditCard.fields.isEmpty('billing_phone')) {\r\n creditCard.get_form().trigger('submit');\r\n }\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n});"],"names":["module","exports","obj","key","value","Object","defineProperty","enumerable","configurable","writable","__esModule","window","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","wcStripeLinkParams","creditCard","wc_stripe","credit_card","link","stripe","linkAutofillModal","elements","document","body","on","e","launch","email","currentTarget","launchLink","val","event","shippingAddress","billingAddress","address","name","populate_shipping_fields","populate_billing_fields","fields","toFormFields","set_payment_method","gateway_id","show_new_payment_method","hide_save_card","maybe_set_ship_to_different","prop","required","isEmpty","get_form","trigger","error","console","log"],"sourceRoot":""}
assets/js/frontend/credit-card.js CHANGED
@@ -47,6 +47,9 @@
47
  if (this.can_create_setup_intent() && !this.is_payment_element_enabled()) {
48
  this.create_setup_intent();
49
  }
 
 
 
50
  this.maybe_initialize_installments();
51
  }
52
 
@@ -506,19 +509,6 @@
506
 
507
  CC.prototype.on_card_element_change = function (event) {
508
  this.update_element_status(event);
509
- if (this.is_payment_element_enabled()) {
510
- if (event.empty && !event.complete) {
511
- this.linkPaymentEnabled = false;
512
- if (this.is_user_logged_in()) {
513
- this.show_save_card();
514
- } else {
515
- this.handle_create_account_change();
516
- }
517
- } else {
518
- this.linkPaymentEnabled = true;
519
- this.hide_save_card();
520
- }
521
- }
522
  if (this.is_current_page(['checkout', 'order_pay']) && this.is_card_form_complete() && this.is_installments_available()) {
523
  this.initialize_installments();
524
  }
@@ -642,34 +632,6 @@
642
  return this.params.cardFormType === 'payment'
643
  }
644
 
645
- CC.prototype.handle_next_action = function (obj) {
646
- if (this.is_payment_element_enabled()) {
647
- this.stripe.confirmPayment({
648
- elements: this.elements,
649
- confirmParams: {
650
- payment_method_data: {
651
- billing_details: this.get_billing_details()
652
- }
653
- },
654
- redirect: 'if_required'
655
- }).then(function (result) {
656
- if (result.error) {
657
- this.unblock();
658
- this.payment_token_received = false;
659
- this.submit_error(result.error);
660
- } else {
661
- if (this.is_current_page('order_pay')) {
662
- this.get_form().trigger('submit');
663
- } else {
664
- this.process_payment(obj.order_id, obj.order_key);
665
- }
666
- }
667
- }.bind(this));
668
- } else {
669
- wc_stripe.BaseGateway.prototype.handle_next_action.apply(this, arguments);
670
- }
671
- }
672
-
673
  CC.prototype.handle_payment_method_setup = function (obj) {
674
  if (this.is_payment_element_enabled()) {
675
  this.stripe.confirmSetup({
47
  if (this.can_create_setup_intent() && !this.is_payment_element_enabled()) {
48
  this.create_setup_intent();
49
  }
50
+ if (this.is_payment_element_enabled()) {
51
+ this.handleActionMethod = 'confirmCardPayment';
52
+ }
53
  this.maybe_initialize_installments();
54
  }
55
 
509
 
510
  CC.prototype.on_card_element_change = function (event) {
511
  this.update_element_status(event);
 
 
 
 
 
 
 
 
 
 
 
 
 
512
  if (this.is_current_page(['checkout', 'order_pay']) && this.is_card_form_complete() && this.is_installments_available()) {
513
  this.initialize_installments();
514
  }
632
  return this.params.cardFormType === 'payment'
633
  }
634
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
635
  CC.prototype.handle_payment_method_setup = function (obj) {
636
  if (this.is_payment_element_enabled()) {
637
  this.stripe.confirmSetup({
assets/js/frontend/credit-card.min.js CHANGED
@@ -1 +1 @@
1
- !function(a,i){function t(){this.elementStatus={},i.BaseGateway.call(this,wc_stripe_credit_card_params),i.CheckoutGateway.call(this),this.message_container=this.params.notice_selector,window.addEventListener("hashchange",this.hashchange.bind(this)),(i.credit_card=this).confirmedSetupIntent=!1,this.has3DSecureParams(),this.handle_create_account_change(),a(document.body).on("change",'[name="stripe_cc_saved_method_key"]',this.maybe_initialize_installments.bind(this)),a(document.body).on("wc_stripe_saved_method_"+this.gateway_id,this.maybe_initialize_installments.bind(this))}var s={focus:"focused",empty:"empty",invalid:"invalid"};(t.prototype=a.extend({},i.BaseGateway.prototype,i.CheckoutGateway.prototype)).mappings={cardNumber:"#stripe-card-number",cardExpiry:"#stripe-exp",cardCvc:"#stripe-cvv"},t.prototype.handleActionMethod="handleCardAction",t.prototype.setupActionMethod="confirmCardSetup",t.prototype.initialize=function(){a(document.body).on("click","#place_order",this.place_order.bind(this)),a(document.body).on("change","#createaccount",this.handle_create_account_change.bind(this)),this.setup_card(),this.can_create_setup_intent()&&!this.is_payment_element_enabled()&&this.create_setup_intent(),this.maybe_initialize_installments()},t.prototype.setup_card=function(){var e;this.is_custom_form()?(e=a.extend(!0,{classes:s},this.params.cardOptions),["cardNumber","cardExpiry","cardCvc"].forEach(function(t){this[t]=this.elements.create(t,a.extend(!0,{},e,this.params.customFieldOptions[t])),this.elementStatus[t]={},this[t].on("change",this.on_card_element_change.bind(this))}.bind(this)),this.cardNumber.on("change",this.card_number_change.bind(this)),this.cardNumber.on("change",this.on_input_change.bind(this)),this.cardExpiry.on("change",this.on_input_change.bind(this)),this.cardCvc.on("change",this.on_input_change.bind(this)),this.fields.required("billing_postcode")&&""!==this.fields.get("billing_postcode")&&0<a("#stripe-postal-code").length&&(a("#stripe-postal-code").val(this.fields.get("billing_postcode")),this.validate_postal_field()),a(document.body).on("change","#billing_postcode",function(t){var e=a("#billing_postcode").val();a("#stripe-postal-code").val(e).trigger("keyup")}.bind(this))):(this.is_payment_element_enabled()?(this.card=this.elements.create("payment",{fields:{billingDetails:this.is_current_page("checkout")?"never":"auto"},wallets:{applePay:"never",googlePay:"never"}}),this.elementStatus.payment={}):(this.card=this.elements.create("card",a.extend(!0,{},{value:{postalCode:this.fields.get("billing_postcode","")},hidePostalCode:this.fields.required("billing_postcode"),iconStyle:"default"},this.params.cardOptions)),a(document.body).on("change","#billing_postcode",function(t){this.card&&this.card.update({value:a("#billing_postcode").val()})}.bind(this)),this.elementStatus.card={}),this.card.on("change",this.on_card_element_change.bind(this))),setInterval(this.create_card_element.bind(this),2e3)},t.prototype.validate_postal_field=function(){var t,e;a("#billing_postcode").length&&a("#stripe-postal-code").length?this.params.postal_regex[this.fields.get("billing_country")]?(e=this.params.postal_regex[this.fields.get("billing_country")],t=a("#stripe-postal-code").val(),e=new RegExp(e,"i"),""!==t?null!==e.exec(t)?a("#stripe-postal-code").addClass("StripeElement--complete").removeClass("invalid"):a("#stripe-postal-code").removeClass("StripeElement--complete").addClass("invalid"):a("#stripe-postal-code").removeClass("StripeElement--complete").removeClass("invalid")):0!=a("#stripe-postal-code").val()?a("#stripe-postal-code").addClass("StripeElement--complete"):a("#stripe-postal-code").removeClass("StripeElement--complete"):a("#stripe-postal-code").length&&(""!=a("#stripe-postal-code").val()?a("#stripe-postal-code").addClass("StripeElement--complete"):a("#stripe-postal-code").removeClass("StripeElement--complete"))},t.prototype.create_card_element=function(){this.is_custom_form()?a("#wc-stripe-cc-custom-form").length&&0==a("#wc-stripe-cc-custom-form").find("iframe").length&&(a(this.mappings.cardNumber).length&&(this.cardNumber.mount(this.mappings.cardNumber),a(this.mappings.cardNumber).prepend(this.params.html.card_brand)),a(this.mappings.cardExpiry).length&&this.cardExpiry.mount(this.mappings.cardExpiry),a(this.mappings.cardCvc).length&&this.cardCvc.mount(this.mappings.cardCvc),a("#stripe-postal-code").length&&(a("#stripe-postal-code, .postalCode").on("focus",function(t){a("#stripe-postal-code").addClass("focused")}.bind(this)),a("#stripe-postal-code, .postalCode").on("blur",function(t){a("#stripe-postal-code").removeClass("focused").trigger("keyup")}.bind(this)),a("#stripe-postal-code").on("keyup",function(t){0==a("#stripe-postal-code").val()?a("#stripe-postal-code").addClass("empty"):a("#stripe-postal-code").removeClass("empty")}.bind(this)),a("#stripe-postal-code").on("change",this.validate_postal_field.bind(this)),a("#stripe-postal-code").trigger("change"))):a("#wc-stripe-card-element").length&&0==a("#wc-stripe-card-element").find("iframe").length&&(this.card.unmount(),this.card.mount("#wc-stripe-card-element"),this.is_payment_element_enabled()||this.card.update({value:{postalCode:this.fields.get("billing_postcode","")},hidePostalCode:this.fields.required("billing_postcode")})),a(this.container).outerWidth(!0)<450?a(this.container).addClass("stripe-small-container"):a(this.container).removeClass("stripe-small-container")},t.prototype.place_order=function(t){if(this.fields.syncCheckoutFieldsWithDOM(),this.is_gateway_selected())if(this.can_create_setup_intent()&&!this.is_saved_method_selected()&&this.checkout_fields_valid()){if(t.preventDefault(),this.confirmedSetupIntent)return this.on_setup_intent_received(this.confirmedSetupIntent);this.is_payment_element_enabled()?this.stripe.confirmSetup({elements:this.elements,confirmParams:function(){var t={return_url:""};return this.is_current_page("checkout")&&(t.payment_method_data={billing_details:this.get_billing_details()}),t}.bind(this)(),redirect:"if_required"}).then(function(t){if(t.error)return this.submit_card_error(t.error);this.confirmedSetupIntent=t.setupIntent,this.on_setup_intent_received(t.setupIntent)}.bind(this)):this.stripe.confirmCardSetup(this.client_secret,{payment_method:{card:this.is_custom_form()?this.cardNumber:this.card,billing_details:function(){return this.is_current_page("checkout")?this.get_billing_details():a.extend({},this.is_custom_form()?{address:{postal_code:a("#stripe-postal-code").val()}}:{})}.bind(this)()}}).then(function(t){t.error?this.submit_card_error(t.error):(this.confirmedSetupIntent=t.setupIntent,this.on_setup_intent_received(t.setupIntent))}.bind(this))}else this.payment_token_received||this.is_saved_method_selected()||(t.preventDefault(),this.checkout_fields_valid()&&(this.is_payment_element_enabled()?this.is_current_page("order_pay")?this.process_order_pay():this.stripe.updatePaymentIntent({elements:this.elements,params:{payment_method_data:{billing_details:this.get_billing_details()}}}).then(function(t){if(t.error)return this.submit_card_error(t.error);this.on_token_received(t.paymentIntent.payment_method)}.bind(this))["catch"](function(t){return this.submit_card_error(t)}.bind(this)):this.stripe.createPaymentMethod({type:"card",card:this.is_custom_form()?this.cardNumber:this.card,billing_details:this.get_billing_details()}).then(function(t){if(t.error)return this.submit_card_error(t.error);this.is_current_page("order_pay")?(this.set_nonce(t.paymentMethod.id),this.process_order_pay()):this.on_token_received(t.paymentMethod)}.bind(this))))},t.prototype.checkout_place_order=function(){return this.is_saved_method_selected()||this.payment_token_received?i.CheckoutGateway.prototype.checkout_place_order.apply(this,arguments):(this.place_order.apply(this,arguments),!1)},t.prototype.on_token_received=function(t){this.payment_token_received=!0,t.hasOwnProperty("id")?this.set_nonce(t.id):this.set_nonce(t),this.get_form().trigger("submit")},t.prototype.on_setup_intent_received=function(t){this.payment_token_received=!0,this.set_nonce(t.payment_method),this.set_intent(t.id),this.get_form().trigger("submit")},t.prototype.updated_checkout=function(t,e){void 0!==e&&e.fragments&&e.fragments.hasOwnProperty(".wc-stripe-intent-secret")&&this.params.elementOptions.clientSecret!==e.fragments[".wc-stripe-intent-secret"]&&(this.params.elementOptions.clientSecret=e.fragments[".wc-stripe-intent-secret"],this.params.cardFormType="payment",this.elements=this.create_stripe_elements(),this.setup_card()),this.create_card_element(),this.handle_create_account_change(),!this.can_create_setup_intent()||this.client_secret||this.is_payment_element_enabled()||this.create_setup_intent()},t.prototype.update_checkout=function(){this.clear_card_elements()},t.prototype.show_payment_button=function(){i.CheckoutGateway.prototype.show_place_order.apply(this,arguments)},t.prototype.hide_place_order=function(){},t.prototype.is_custom_form=function(){return"1"===this.params.custom_form},t.prototype.get_postal_code=function(){return this.is_custom_form()&&0<a("#stripe-postal-code").length?a("#stripe-postal-code").val():this.fields.get(this.get_billing_prefix()+"_postcode",null)},t.prototype.card_number_change=function(t){"unknown"===t.brand?a("#wc-stripe-card").removeClass("active"):a("#wc-stripe-card").addClass("active"),a("#wc-stripe-card").attr("src",this.params.cards[t.brand])},t.prototype.on_input_change=function(t){if(t.complete){var e=a("#wc-stripe-cc-custom-form").find(".StripeElement, #stripe-postal-code"),i=[];e.each(function(t,e){i.push("#"+a(e).attr("id"))}.bind(this));var t=this.mappings[t.elementType],s=i.indexOf(t);if("undefined"!=typeof i[s+1])if("#stripe-postal-code"===i[s+1])document.getElementById("stripe-postal-code").focus();else for(var n in this.mappings)this.mappings[n]===i[s+1]&&this[n].focus()}},t.prototype.clear_card_elements=function(){for(var t=["cardNumber","cardExpiry","cardCvc"],e=0;e<t.length;e++)this[t[e]]&&this[t[e]].clear()},t.prototype.checkout_error=function(){this.is_gateway_selected()&&(this.payment_token_received=!1),i.CheckoutGateway.prototype.checkout_error.call(this)},t.prototype.get_billing_details=function(){var t=i.BaseGateway.prototype.get_billing_details.call(this);return t.address.postal_code=this.get_postal_code(),t},t.prototype.can_create_setup_intent=function(){return this.is_add_payment_method_page()||this.is_change_payment_method()||this.is_current_page("checkout")&&this.cart_contains_subscription()&&this.get_gateway_data()&&0==this.get_total_price_cents()||this.is_current_page(["checkout","product"])&&"undefined"!=typeof wc_stripe_preorder_exists||this.is_current_page("order_pay")&&"pre_order"in this.get_gateway_data()&&!0===this.get_gateway_data().pre_order||this.is_current_page("product")&&0==this.get_total_price_cents()},t.prototype.handle_create_account_change=function(){a("#createaccount").length&&(a("#createaccount").is(":checked")&&!this.linkPaymentEnabled?this.show_save_card():this.hide_save_card())},t.prototype.hide_save_card=function(){a(".wc-stripe-save-source").hide()},t.prototype.show_save_card=function(){a(".wc-stripe-save-source").show()},t.prototype.submit_card_error=function(t){"bcf"===this.params.notice_location&&(a(".wc-stripe-card-notice").remove(),a(".wc-stripe_cc-new-method-container").append('<div class="wc-stripe-card-notice"></div>')),i.BaseGateway.prototype.submit_error.call(this,t,!0)},t.prototype.container_styles=function(){i.CheckoutGateway.prototype.container_styles.apply(this,arguments),this.is_custom_form()&&a(this.container).find(".payment_box").addClass("custom-form__"+this.params.custom_form_name)},t.prototype.checkout_fields_valid=function(){var t=this.is_valid_checkout();return t||this.submit_error(this.params.messages.terms),t},t.prototype.is_installments_available=function(){var t=this.get_gateway_data();return!!t&&!!t.installments.enabled},t.prototype.update_element_status=function(t){this.elementStatus[t.elementType]=t},t.prototype.is_card_form_complete=function(){return Object.keys(this.elementStatus).filter(function(t){return!!this.elementStatus[t].complete}.bind(this)).length==Object.keys(this.elementStatus).length},t.prototype.on_card_element_change=function(t){this.update_element_status(t),this.is_payment_element_enabled()&&(t.empty&&!t.complete?(this.linkPaymentEnabled=!1,this.is_user_logged_in()?this.show_save_card():this.handle_create_account_change()):(this.linkPaymentEnabled=!0,this.hide_save_card())),this.is_current_page(["checkout","order_pay"])&&this.is_card_form_complete()&&this.is_installments_available()&&this.initialize_installments()},t.prototype.initialize_installments=function(t){this.installmentTimeoutId&&clearTimeout(this.installmentTimeoutId),this.installmentTimeoutId=setTimeout(function(t){t?(this.show_installment_loader(),this.fetch_installment_plans(t)["finally"](function(){this.hide_installment_loader()}.bind(this))):(this.is_payment_element_enabled()?this.stripe.updatePaymentIntent({elements:this.elements,params:{payment_method_data:{billing_details:this.get_billing_details()}}}).then(function(t){t.error?this.hide_installment_loader():(this.show_installment_loader(),this.fetch_installment_plans(t.paymentIntent.payment_method)["finally"](function(){this.hide_installment_loader()}.bind(this)))}.bind(this)):this.stripe.createPaymentMethod({type:"card",card:this.is_custom_form()?this.cardNumber:this.card,billing_details:this.get_billing_details()}).then(function(t){t.error?this.hide_installment_loader():(this.show_installment_loader(),this.fetch_installment_plans(t.paymentMethod.id)["finally"](function(){this.hide_installment_loader()}.bind(this)))}.bind(this)))["catch"](this.hide_installment_loader.bind(this))}.bind(this,t),250)},t.prototype.fetch_installment_plans=function(t){return this.fetch_payment_intent(t).then(function(t){t.installments_html&&a(".wc-stripe-installment-container").replaceWith(t.installments_html)}.bind(this))["catch"](function(t){return this.submit_card_error(t)}.bind(this))["finally"](function(){}.bind(this))},t.prototype.fetch_payment_intent=function(n){return new Promise(function(e,i){var t=this.params.routes.create_payment_intent,s=!1;this.is_current_page("order_pay")&&(t=this.params.routes.order_create_payment_intent,s=!0),a.ajax({url:t,method:"POST",dataType:"json",data:s?{payment_method_id:n,payment_method:this.gateway_id,order_id:this.get_gateway_data().order.id,order_key:this.get_gateway_data().order.key}:a.extend({},this.serialize_fields(),{payment_method_id:n,payment_method:this.gateway_id,page_id:this.get_page()}),beforeSend:this.ajax_before_send.bind(this)}).done(function(t){(t.code?i:e)(t)}.bind(this)).fail(function(t){i()}.bind(this))}.bind(this))},t.prototype.show_installment_loader=function(){a(".wc-stripe-installment-options").addClass("loading-installments"),a('[name="_stripe_installment_plan"] option:selected').eq(0).text(this.params.installments.loading),a(".wc-stripe-installment-loader").show()},t.prototype.hide_installment_loader=function(t){a(".wc-stripe-installment-options").removeClass("loading-installments"),a(".wc-stripe-installment-loader").hide()},t.prototype.maybe_initialize_installments=function(){this.is_installments_available()&&this.is_saved_method_selected()&&this.initialize_installments(this.get_selected_payment_method())},t.prototype.is_payment_element_enabled=function(){return"payment"===this.params.cardFormType},t.prototype.handle_next_action=function(e){this.is_payment_element_enabled()?this.stripe.confirmPayment({elements:this.elements,confirmParams:{payment_method_data:{billing_details:this.get_billing_details()}},redirect:"if_required"}).then(function(t){t.error?(this.unblock(),this.payment_token_received=!1,this.submit_error(t.error)):this.is_current_page("order_pay")?this.get_form().trigger("submit"):this.process_payment(e.order_id,e.order_key)}.bind(this)):i.BaseGateway.prototype.handle_next_action.apply(this,arguments)},t.prototype.handle_payment_method_setup=function(e){this.is_payment_element_enabled()?this.stripe.confirmSetup({elements:this.elements,confirmParams:{payment_method_data:{billing_details:this.get_billing_details()}},redirect:"if_required"}).then(function(t){t.error?(this.unblock(),this.payment_token_received=!1,this.submit_error(t.error)):this.is_current_page("order_pay")?this.get_form().trigger("submit"):(this.set_nonce(t.setupIntent.payment_method),this.set_intent(t.setupIntent.id),this.process_payment(e.order_id,e.order_key))}.bind(this)):i.BaseGateway.prototype.handle_payment_method_setup.apply(this,arguments)},new t}(jQuery,window.wc_stripe);
1
+ !function(a,i){function t(){this.elementStatus={},i.BaseGateway.call(this,wc_stripe_credit_card_params),i.CheckoutGateway.call(this),this.message_container=this.params.notice_selector,window.addEventListener("hashchange",this.hashchange.bind(this)),(i.credit_card=this).confirmedSetupIntent=!1,this.has3DSecureParams(),this.handle_create_account_change(),a(document.body).on("change",'[name="stripe_cc_saved_method_key"]',this.maybe_initialize_installments.bind(this)),a(document.body).on("wc_stripe_saved_method_"+this.gateway_id,this.maybe_initialize_installments.bind(this))}var s={focus:"focused",empty:"empty",invalid:"invalid"};(t.prototype=a.extend({},i.BaseGateway.prototype,i.CheckoutGateway.prototype)).mappings={cardNumber:"#stripe-card-number",cardExpiry:"#stripe-exp",cardCvc:"#stripe-cvv"},t.prototype.handleActionMethod="handleCardAction",t.prototype.setupActionMethod="confirmCardSetup",t.prototype.initialize=function(){a(document.body).on("click","#place_order",this.place_order.bind(this)),a(document.body).on("change","#createaccount",this.handle_create_account_change.bind(this)),this.setup_card(),this.can_create_setup_intent()&&!this.is_payment_element_enabled()&&this.create_setup_intent(),this.is_payment_element_enabled()&&(this.handleActionMethod="confirmCardPayment"),this.maybe_initialize_installments()},t.prototype.setup_card=function(){var e;this.is_custom_form()?(e=a.extend(!0,{classes:s},this.params.cardOptions),["cardNumber","cardExpiry","cardCvc"].forEach(function(t){this[t]=this.elements.create(t,a.extend(!0,{},e,this.params.customFieldOptions[t])),this.elementStatus[t]={},this[t].on("change",this.on_card_element_change.bind(this))}.bind(this)),this.cardNumber.on("change",this.card_number_change.bind(this)),this.cardNumber.on("change",this.on_input_change.bind(this)),this.cardExpiry.on("change",this.on_input_change.bind(this)),this.cardCvc.on("change",this.on_input_change.bind(this)),this.fields.required("billing_postcode")&&""!==this.fields.get("billing_postcode")&&0<a("#stripe-postal-code").length&&(a("#stripe-postal-code").val(this.fields.get("billing_postcode")),this.validate_postal_field()),a(document.body).on("change","#billing_postcode",function(t){var e=a("#billing_postcode").val();a("#stripe-postal-code").val(e).trigger("keyup")}.bind(this))):(this.is_payment_element_enabled()?(this.card=this.elements.create("payment",{fields:{billingDetails:this.is_current_page("checkout")?"never":"auto"},wallets:{applePay:"never",googlePay:"never"}}),this.elementStatus.payment={}):(this.card=this.elements.create("card",a.extend(!0,{},{value:{postalCode:this.fields.get("billing_postcode","")},hidePostalCode:this.fields.required("billing_postcode"),iconStyle:"default"},this.params.cardOptions)),a(document.body).on("change","#billing_postcode",function(t){this.card&&this.card.update({value:a("#billing_postcode").val()})}.bind(this)),this.elementStatus.card={}),this.card.on("change",this.on_card_element_change.bind(this))),setInterval(this.create_card_element.bind(this),2e3)},t.prototype.validate_postal_field=function(){var t,e;a("#billing_postcode").length&&a("#stripe-postal-code").length?this.params.postal_regex[this.fields.get("billing_country")]?(e=this.params.postal_regex[this.fields.get("billing_country")],t=a("#stripe-postal-code").val(),e=new RegExp(e,"i"),""!==t?null!==e.exec(t)?a("#stripe-postal-code").addClass("StripeElement--complete").removeClass("invalid"):a("#stripe-postal-code").removeClass("StripeElement--complete").addClass("invalid"):a("#stripe-postal-code").removeClass("StripeElement--complete").removeClass("invalid")):0!=a("#stripe-postal-code").val()?a("#stripe-postal-code").addClass("StripeElement--complete"):a("#stripe-postal-code").removeClass("StripeElement--complete"):a("#stripe-postal-code").length&&(""!=a("#stripe-postal-code").val()?a("#stripe-postal-code").addClass("StripeElement--complete"):a("#stripe-postal-code").removeClass("StripeElement--complete"))},t.prototype.create_card_element=function(){this.is_custom_form()?a("#wc-stripe-cc-custom-form").length&&0==a("#wc-stripe-cc-custom-form").find("iframe").length&&(a(this.mappings.cardNumber).length&&(this.cardNumber.mount(this.mappings.cardNumber),a(this.mappings.cardNumber).prepend(this.params.html.card_brand)),a(this.mappings.cardExpiry).length&&this.cardExpiry.mount(this.mappings.cardExpiry),a(this.mappings.cardCvc).length&&this.cardCvc.mount(this.mappings.cardCvc),a("#stripe-postal-code").length&&(a("#stripe-postal-code, .postalCode").on("focus",function(t){a("#stripe-postal-code").addClass("focused")}.bind(this)),a("#stripe-postal-code, .postalCode").on("blur",function(t){a("#stripe-postal-code").removeClass("focused").trigger("keyup")}.bind(this)),a("#stripe-postal-code").on("keyup",function(t){0==a("#stripe-postal-code").val()?a("#stripe-postal-code").addClass("empty"):a("#stripe-postal-code").removeClass("empty")}.bind(this)),a("#stripe-postal-code").on("change",this.validate_postal_field.bind(this)),a("#stripe-postal-code").trigger("change"))):a("#wc-stripe-card-element").length&&0==a("#wc-stripe-card-element").find("iframe").length&&(this.card.unmount(),this.card.mount("#wc-stripe-card-element"),this.is_payment_element_enabled()||this.card.update({value:{postalCode:this.fields.get("billing_postcode","")},hidePostalCode:this.fields.required("billing_postcode")})),a(this.container).outerWidth(!0)<450?a(this.container).addClass("stripe-small-container"):a(this.container).removeClass("stripe-small-container")},t.prototype.place_order=function(t){if(this.fields.syncCheckoutFieldsWithDOM(),this.is_gateway_selected())if(this.can_create_setup_intent()&&!this.is_saved_method_selected()&&this.checkout_fields_valid()){if(t.preventDefault(),this.confirmedSetupIntent)return this.on_setup_intent_received(this.confirmedSetupIntent);this.is_payment_element_enabled()?this.stripe.confirmSetup({elements:this.elements,confirmParams:function(){var t={return_url:""};return this.is_current_page("checkout")&&(t.payment_method_data={billing_details:this.get_billing_details()}),t}.bind(this)(),redirect:"if_required"}).then(function(t){if(t.error)return this.submit_card_error(t.error);this.confirmedSetupIntent=t.setupIntent,this.on_setup_intent_received(t.setupIntent)}.bind(this)):this.stripe.confirmCardSetup(this.client_secret,{payment_method:{card:this.is_custom_form()?this.cardNumber:this.card,billing_details:function(){return this.is_current_page("checkout")?this.get_billing_details():a.extend({},this.is_custom_form()?{address:{postal_code:a("#stripe-postal-code").val()}}:{})}.bind(this)()}}).then(function(t){t.error?this.submit_card_error(t.error):(this.confirmedSetupIntent=t.setupIntent,this.on_setup_intent_received(t.setupIntent))}.bind(this))}else this.payment_token_received||this.is_saved_method_selected()||(t.preventDefault(),this.checkout_fields_valid()&&(this.is_payment_element_enabled()?this.is_current_page("order_pay")?this.process_order_pay():this.stripe.updatePaymentIntent({elements:this.elements,params:{payment_method_data:{billing_details:this.get_billing_details()}}}).then(function(t){if(t.error)return this.submit_card_error(t.error);this.on_token_received(t.paymentIntent.payment_method)}.bind(this))["catch"](function(t){return this.submit_card_error(t)}.bind(this)):this.stripe.createPaymentMethod({type:"card",card:this.is_custom_form()?this.cardNumber:this.card,billing_details:this.get_billing_details()}).then(function(t){if(t.error)return this.submit_card_error(t.error);this.is_current_page("order_pay")?(this.set_nonce(t.paymentMethod.id),this.process_order_pay()):this.on_token_received(t.paymentMethod)}.bind(this))))},t.prototype.checkout_place_order=function(){return this.is_saved_method_selected()||this.payment_token_received?i.CheckoutGateway.prototype.checkout_place_order.apply(this,arguments):(this.place_order.apply(this,arguments),!1)},t.prototype.on_token_received=function(t){this.payment_token_received=!0,t.hasOwnProperty("id")?this.set_nonce(t.id):this.set_nonce(t),this.get_form().trigger("submit")},t.prototype.on_setup_intent_received=function(t){this.payment_token_received=!0,this.set_nonce(t.payment_method),this.set_intent(t.id),this.get_form().trigger("submit")},t.prototype.updated_checkout=function(t,e){void 0!==e&&e.fragments&&e.fragments.hasOwnProperty(".wc-stripe-intent-secret")&&this.params.elementOptions.clientSecret!==e.fragments[".wc-stripe-intent-secret"]&&(this.params.elementOptions.clientSecret=e.fragments[".wc-stripe-intent-secret"],this.params.cardFormType="payment",this.elements=this.create_stripe_elements(),this.setup_card()),this.create_card_element(),this.handle_create_account_change(),!this.can_create_setup_intent()||this.client_secret||this.is_payment_element_enabled()||this.create_setup_intent()},t.prototype.update_checkout=function(){this.clear_card_elements()},t.prototype.show_payment_button=function(){i.CheckoutGateway.prototype.show_place_order.apply(this,arguments)},t.prototype.hide_place_order=function(){},t.prototype.is_custom_form=function(){return"1"===this.params.custom_form},t.prototype.get_postal_code=function(){return this.is_custom_form()&&0<a("#stripe-postal-code").length?a("#stripe-postal-code").val():this.fields.get(this.get_billing_prefix()+"_postcode",null)},t.prototype.card_number_change=function(t){"unknown"===t.brand?a("#wc-stripe-card").removeClass("active"):a("#wc-stripe-card").addClass("active"),a("#wc-stripe-card").attr("src",this.params.cards[t.brand])},t.prototype.on_input_change=function(t){if(t.complete){var e=a("#wc-stripe-cc-custom-form").find(".StripeElement, #stripe-postal-code"),i=[];e.each(function(t,e){i.push("#"+a(e).attr("id"))}.bind(this));var t=this.mappings[t.elementType],s=i.indexOf(t);if("undefined"!=typeof i[s+1])if("#stripe-postal-code"===i[s+1])document.getElementById("stripe-postal-code").focus();else for(var n in this.mappings)this.mappings[n]===i[s+1]&&this[n].focus()}},t.prototype.clear_card_elements=function(){for(var t=["cardNumber","cardExpiry","cardCvc"],e=0;e<t.length;e++)this[t[e]]&&this[t[e]].clear()},t.prototype.checkout_error=function(){this.is_gateway_selected()&&(this.payment_token_received=!1),i.CheckoutGateway.prototype.checkout_error.call(this)},t.prototype.get_billing_details=function(){var t=i.BaseGateway.prototype.get_billing_details.call(this);return t.address.postal_code=this.get_postal_code(),t},t.prototype.can_create_setup_intent=function(){return this.is_add_payment_method_page()||this.is_change_payment_method()||this.is_current_page("checkout")&&this.cart_contains_subscription()&&this.get_gateway_data()&&0==this.get_total_price_cents()||this.is_current_page(["checkout","product"])&&"undefined"!=typeof wc_stripe_preorder_exists||this.is_current_page("order_pay")&&"pre_order"in this.get_gateway_data()&&!0===this.get_gateway_data().pre_order||this.is_current_page("product")&&0==this.get_total_price_cents()},t.prototype.handle_create_account_change=function(){a("#createaccount").length&&(a("#createaccount").is(":checked")&&!this.linkPaymentEnabled?this.show_save_card():this.hide_save_card())},t.prototype.hide_save_card=function(){a(".wc-stripe-save-source").hide()},t.prototype.show_save_card=function(){a(".wc-stripe-save-source").show()},t.prototype.submit_card_error=function(t){"bcf"===this.params.notice_location&&(a(".wc-stripe-card-notice").remove(),a(".wc-stripe_cc-new-method-container").append('<div class="wc-stripe-card-notice"></div>')),i.BaseGateway.prototype.submit_error.call(this,t,!0)},t.prototype.container_styles=function(){i.CheckoutGateway.prototype.container_styles.apply(this,arguments),this.is_custom_form()&&a(this.container).find(".payment_box").addClass("custom-form__"+this.params.custom_form_name)},t.prototype.checkout_fields_valid=function(){var t=this.is_valid_checkout();return t||this.submit_error(this.params.messages.terms),t},t.prototype.is_installments_available=function(){var t=this.get_gateway_data();return!!t&&!!t.installments.enabled},t.prototype.update_element_status=function(t){this.elementStatus[t.elementType]=t},t.prototype.is_card_form_complete=function(){return Object.keys(this.elementStatus).filter(function(t){return!!this.elementStatus[t].complete}.bind(this)).length==Object.keys(this.elementStatus).length},t.prototype.on_card_element_change=function(t){this.update_element_status(t),this.is_current_page(["checkout","order_pay"])&&this.is_card_form_complete()&&this.is_installments_available()&&this.initialize_installments()},t.prototype.initialize_installments=function(t){this.installmentTimeoutId&&clearTimeout(this.installmentTimeoutId),this.installmentTimeoutId=setTimeout(function(t){t?(this.show_installment_loader(),this.fetch_installment_plans(t)["finally"](function(){this.hide_installment_loader()}.bind(this))):(this.is_payment_element_enabled()?this.stripe.updatePaymentIntent({elements:this.elements,params:{payment_method_data:{billing_details:this.get_billing_details()}}}).then(function(t){t.error?this.hide_installment_loader():(this.show_installment_loader(),this.fetch_installment_plans(t.paymentIntent.payment_method)["finally"](function(){this.hide_installment_loader()}.bind(this)))}.bind(this)):this.stripe.createPaymentMethod({type:"card",card:this.is_custom_form()?this.cardNumber:this.card,billing_details:this.get_billing_details()}).then(function(t){t.error?this.hide_installment_loader():(this.show_installment_loader(),this.fetch_installment_plans(t.paymentMethod.id)["finally"](function(){this.hide_installment_loader()}.bind(this)))}.bind(this)))["catch"](this.hide_installment_loader.bind(this))}.bind(this,t),250)},t.prototype.fetch_installment_plans=function(t){return this.fetch_payment_intent(t).then(function(t){t.installments_html&&a(".wc-stripe-installment-container").replaceWith(t.installments_html)}.bind(this))["catch"](function(t){return this.submit_card_error(t)}.bind(this))["finally"](function(){}.bind(this))},t.prototype.fetch_payment_intent=function(n){return new Promise(function(e,i){var t=this.params.routes.create_payment_intent,s=!1;this.is_current_page("order_pay")&&(t=this.params.routes.order_create_payment_intent,s=!0),a.ajax({url:t,method:"POST",dataType:"json",data:s?{payment_method_id:n,payment_method:this.gateway_id,order_id:this.get_gateway_data().order.id,order_key:this.get_gateway_data().order.key}:a.extend({},this.serialize_fields(),{payment_method_id:n,payment_method:this.gateway_id,page_id:this.get_page()}),beforeSend:this.ajax_before_send.bind(this)}).done(function(t){(t.code?i:e)(t)}.bind(this)).fail(function(t){i()}.bind(this))}.bind(this))},t.prototype.show_installment_loader=function(){a(".wc-stripe-installment-options").addClass("loading-installments"),a('[name="_stripe_installment_plan"] option:selected').eq(0).text(this.params.installments.loading),a(".wc-stripe-installment-loader").show()},t.prototype.hide_installment_loader=function(t){a(".wc-stripe-installment-options").removeClass("loading-installments"),a(".wc-stripe-installment-loader").hide()},t.prototype.maybe_initialize_installments=function(){this.is_installments_available()&&this.is_saved_method_selected()&&this.initialize_installments(this.get_selected_payment_method())},t.prototype.is_payment_element_enabled=function(){return"payment"===this.params.cardFormType},t.prototype.handle_payment_method_setup=function(e){this.is_payment_element_enabled()?this.stripe.confirmSetup({elements:this.elements,confirmParams:{payment_method_data:{billing_details:this.get_billing_details()}},redirect:"if_required"}).then(function(t){t.error?(this.unblock(),this.payment_token_received=!1,this.submit_error(t.error)):this.is_current_page("order_pay")?this.get_form().trigger("submit"):(this.set_nonce(t.setupIntent.payment_method),this.set_intent(t.setupIntent.id),this.process_payment(e.order_id,e.order_key))}.bind(this)):i.BaseGateway.prototype.handle_payment_method_setup.apply(this,arguments)},new t}(jQuery,window.wc_stripe);
assets/js/frontend/link-checkout.js CHANGED
@@ -36,7 +36,7 @@ $(() => {
36
  creditCard.maybe_set_ship_to_different();
37
  }
38
  $('[name="terms"]').prop('checked', true);
39
- if (!creditCard.fields.isEmpty('billing_phone')) {
40
  creditCard.get_form().trigger('submit');
41
  }
42
  });
36
  creditCard.maybe_set_ship_to_different();
37
  }
38
  $('[name="terms"]').prop('checked', true);
39
+ if (!creditCard.fields.required('billing_phone') || !creditCard.fields.isEmpty('billing_phone')) {
40
  creditCard.get_form().trigger('submit');
41
  }
42
  });
assets/js/frontend/wc-stripe.js CHANGED
@@ -102,6 +102,8 @@
102
  if (message.hasOwnProperty('message')) {
103
  if (message.message.indexOf('server_side_confirmation_beta=v1') > -1) {
104
  message.code = 'server_side_confirmation_beta';
 
 
105
  }
106
  }
107
  if (message.code && wc_stripe_messages[message.code]) {
@@ -611,12 +613,9 @@
611
  try {
612
  this.stripe[this.handleActionMethod](obj.client_secret).then(function (result) {
613
  if (result.error) {
 
614
  this.payment_token_received = false;
615
- this.submit_error(result.error);
616
- this.sync_payment_intent(obj.order_id, obj.client_secret).catch(function (response) {
617
- this.submit_error(response.message);
618
- }.bind(this));
619
- return;
620
  }
621
  if (this.is_current_page('order_pay')) {
622
  this.get_form().trigger('submit');
102
  if (message.hasOwnProperty('message')) {
103
  if (message.message.indexOf('server_side_confirmation_beta=v1') > -1) {
104
  message.code = 'server_side_confirmation_beta';
105
+ } else if (message.message.indexOf('params.payment_method_data.billing_details.phone') > -1) {
106
+ message.code = 'phone_required';
107
  }
108
  }
109
  if (message.code && wc_stripe_messages[message.code]) {
613
  try {
614
  this.stripe[this.handleActionMethod](obj.client_secret).then(function (result) {
615
  if (result.error) {
616
+ this.unblock();
617
  this.payment_token_received = false;
618
+ return this.submit_error(result.error);
 
 
 
 
619
  }
620
  if (this.is_current_page('order_pay')) {
621
  this.get_form().trigger('submit');
assets/js/frontend/wc-stripe.min.js CHANGED
@@ -1 +1 @@
1
- !function(a,o){a.wc_stripe={};var i=null;"undefined"==typeof wc_stripe_checkout_fields&&(a.wc_stripe_checkout_fields=[]),wc_stripe.BaseGateway=function(t,e){this.params=t,this.gateway_id=this.params.gateway_id,this.container=void 0===e?"li.payment_method_".concat(this.gateway_id):e,o(this.container).length||(this.container=".payment_method_".concat(this.gateway_id)),this.token_selector=this.params.token_selector,this.saved_method_selector=this.params.saved_method_selector,this.payment_token_received=!1,this.stripe=i,this.fields=r,this.elements=this.create_stripe_elements(),this.initialize()},wc_stripe.BaseGateway.prototype.create_stripe_elements=function(){return i.elements(o.extend({},{locale:"auto"},this.get_element_options()))},wc_stripe.BaseGateway.prototype.is_user_logged_in=function(){return 0<this.params.user_id},wc_stripe.BaseGateway.prototype.get_page=function(){var t=wc_stripe_params_v3.page;return"cart"===t&&o(document.body).is(".woocommerce-checkout")&&(t="checkout"),t},wc_stripe.BaseGateway.prototype.set_nonce=function(t){this.fields.set(this.gateway_id+"_token_key",t),o(this.token_selector).val(t)},wc_stripe.BaseGateway.prototype.set_intent=function(t){this.fields.set(this.gateway_id+"_payment_intent_key",t),o("#"+this.gateway_id+"_payment_intent_key").val(t)},wc_stripe.BaseGateway.prototype.get_element_options=function(){return this.params.elementOptions},wc_stripe.BaseGateway.prototype.initialize=function(){},wc_stripe.BaseGateway.prototype.create_button=function(){},wc_stripe.BaseGateway.prototype.is_gateway_selected=function(){return o('[name="payment_method"]:checked').val()===this.gateway_id},wc_stripe.BaseGateway.prototype.is_saved_method_selected=function(){return this.is_gateway_selected()&&"saved"===o('[name="'+this.gateway_id+'_payment_type_key"]:checked').val()},wc_stripe.BaseGateway.prototype.has_checkout_error=function(){return 0<o("#wc_stripe_checkout_error").length&&this.is_gateway_selected()},wc_stripe.BaseGateway.prototype.submit_error=function(t,e){var i=this.get_error_message(t);i.indexOf("</ul>")<0&&(i='<div class="'+function(){var t="woocommerce-NoticeGroup";return this.is_current_page("checkout")&&(t+=" woocommerce-NoticeGroup-checkout"),t}.bind(this)()+'"><ul class="woocommerce-error"><li>'+i+"</li></ul></div>");t=o(document.body).triggerHandler("wc_stripe_submit_error",[i,t,this]);i=void 0===t?i:t,this.submit_message(i,e)},wc_stripe.BaseGateway.prototype.submit_error_code=function(t){console.log(t)},wc_stripe.BaseGateway.prototype.get_error_message=function(t){return"object"==typeof t&&(t.hasOwnProperty("message")&&-1<t.message.indexOf("server_side_confirmation_beta=v1")&&(t.code="server_side_confirmation_beta"),t=t.code&&wc_stripe_messages[t.code]?wc_stripe_messages[t.code]:t.message),t},wc_stripe.BaseGateway.prototype.submit_message=function(t,e){o(".woocommerce-NoticeGroup-checkout, .woocommerce-error, .woocommerce-message").remove();var i=o(this.message_container);i.length&&(e||!i.closest("form").length)||(i.length||(i=o(this.container)),i=i.closest("form")),i.prepend(t),i.removeClass("processing").unblock(),i.find(".input-text, select, input:checkbox").trigger("blur"),o.scroll_to_notices?o.scroll_to_notices(i):o("html, body").animate({scrollTop:i.offset().top-100},1e3)},wc_stripe.BaseGateway.prototype.get_billing_details=function(){var t=this.get_billing_prefix(),t={name:this.get_customer_name(t),address:{city:this.fields.get(t+"_city",null),country:this.fields.get(t+"_country",null),line1:this.fields.get(t+"_address_1",null),line2:this.fields.get(t+"_address_2",null),postal_code:this.fields.get(t+"_postcode",null),state:this.fields.get(t+"_state",null)}};return t.name&&" "!==t.name||delete t.name,""!=this.fields.get("billing_email")&&(t.email=this.fields.get("billing_email")),""!=this.fields.get("billing_phone")&&(t.phone=this.fields.get("billing_phone")),t},wc_stripe.BaseGateway.prototype.get_first_name=function(t){return o("#"+t+"_first_name").val()},wc_stripe.BaseGateway.prototype.get_last_name=function(t){return o("#"+t+"_last_name").val()},wc_stripe.BaseGateway.prototype.get_shipping_prefix=function(){return this.needs_shipping()&&0<o('[name="ship_to_different_address"]').length&&o('[name="ship_to_different_address"]').is(":checked")?"shipping":"billing"},wc_stripe.BaseGateway.prototype.get_billing_prefix=function(){var t="billing";o('[name="billing_same_as_shipping"]').length&&o('[name="billing_same_as_shipping"]').is(":checked")&&(t="shipping"),o('[name="bill_to_different_address"]').length&&(1<o('[name="bill_to_different_address"]').length?"same_as_shipping"===o('[name="bill_to_different_address"]:checked').val()&&(t="shipping"):o('[name="bill_to_different_address"]').is(":checked")||(t="shipping"));var e=o(document.body).triggerHandler("wc_stripe_get_billing_prefix",[t]);return void 0===e?t:e},wc_stripe.BaseGateway.prototype.should_save_method=function(){return o("#"+this.gateway_id+"_save_source_key").is(":checked")},wc_stripe.BaseGateway.prototype.is_add_payment_method_page=function(){return"add_payment_method"===this.get_page()||o(document.body).hasClass("woocommerce-add-payment-method")},wc_stripe.BaseGateway.prototype.is_change_payment_method=function(){return"change_payment_method"===this.get_page()},wc_stripe.BaseGateway.prototype.get_selected_payment_method=function(){return o(this.saved_method_selector).val()},wc_stripe.BaseGateway.prototype.needs_shipping=function(){return this.get_gateway_data().needs_shipping},wc_stripe.BaseGateway.prototype.get_currency=function(){return this.get_gateway_data().currency},wc_stripe.BaseGateway.prototype.get_gateway_data=function(){var t=o(this.container).find(".woocommerce_".concat(this.gateway_id,"_gateway_data")).data("gateway");return void 0===t&&this.is_current_page("checkout")&&void 0===(t=o("form.checkout").find(".woocommerce_".concat(this.gateway_id,"_gateway_data")).data("gateway"))&&(t=o(".woocommerce_"+this.gateway_id+"_gateway_data").data("gateway")),t},wc_stripe.BaseGateway.prototype.set_gateway_data=function(t){o(this.container).find(".woocommerce_".concat(this.gateway_id,"_gateway_data")).data("gateway",t)},wc_stripe.BaseGateway.prototype.has_gateway_data=function(){return void 0!==this.get_gateway_data()},wc_stripe.BaseGateway.prototype.get_customer_name=function(t){return this.fields.get(t+"_first_name")+" "+this.fields.get(t+"_last_name")},wc_stripe.BaseGateway.prototype.get_customer_email=function(){return this.fields.get("billing_email")},wc_stripe.BaseGateway.prototype.get_address_field_hash=function(t){for(var e=["_first_name","_last_name","_address_1","_address_2","_postcode","_city","_state","_country"],i="",s=0;s<e.length;s++)i+=this.fields.get(t+e[s])+"_";return i},wc_stripe.BaseGateway.prototype.block=function(){o().block&&o.blockUI({message:null,overlayCSS:{background:"#fff",opacity:.6}})},wc_stripe.BaseGateway.prototype.unblock=function(){o().block&&o.unblockUI()},wc_stripe.BaseGateway.prototype.get_form=function(){return o(this.token_selector).closest("form")},wc_stripe.BaseGateway.prototype.get_total_price=function(){return this.get_gateway_data().total},wc_stripe.BaseGateway.prototype.get_total_price_cents=function(){return this.get_gateway_data().total_cents},wc_stripe.BaseGateway.prototype.set_total_price=function(t){var e=this.get_gateway_data();e.total=t,this.set_gateway_data(e)},wc_stripe.BaseGateway.prototype.set_total_price_cents=function(t){var e=this.get_gateway_data();e.total_cents=t,this.set_gateway_data(e)},wc_stripe.BaseGateway.prototype.set_payment_method=function(t){o('[name="payment_method"][value="'+t+'"]').prop("checked",!0).trigger("click")},wc_stripe.BaseGateway.prototype.set_selected_shipping_methods=function(t){if(this.fields.set("shipping_method",t),t&&o('[name^="shipping_method"]').length)for(var e in t){var i=t[e];o('[name="shipping_method['+e+']"][value="'+i+'"]').prop("checked",!0).trigger("change")}},wc_stripe.BaseGateway.prototype.on_token_received=function(t){this.payment_token_received=!0,this.set_nonce(t.id),this.process_checkout()},wc_stripe.BaseGateway.prototype.createPaymentRequest=function(){try{this.payment_request_options=this.get_payment_request_options(),this.paymentRequest=i.paymentRequest(this.payment_request_options),this.payment_request_options.requestShipping&&(this.paymentRequest.on("shippingaddresschange",this.update_shipping_address.bind(this)),this.paymentRequest.on("shippingoptionchange",this.update_shipping_method.bind(this))),this.paymentRequest.on("paymentmethod",this.on_payment_method_received.bind(this))}catch(t){return void this.submit_error(t.message)}},wc_stripe.BaseGateway.prototype.get_payment_request_options=function(){var t={country:this.params.country_code,currency:this.get_currency().toLowerCase(),total:{amount:this.get_total_price_cents(),label:this.params.total_label,pending:!0},requestPayerName:function(){return!this.is_current_page("checkout")||!this.is_valid_address(this.get_address_object("billing"),"billing",["email","phone"])}.bind(this)(),requestPayerEmail:this.fields.requestFieldInWallet("billing_email"),requestPayerPhone:this.fields.requestFieldInWallet("billing_phone"),requestShipping:function(){if(this.needs_shipping()){var t=this.get_shipping_prefix();if(this.is_current_page("checkout")&&!this.is_valid_address(this.get_address_object(t),t,["email","phone"])||!this.is_current_page("checkout"))return!0}return!1}.bind(this)()},e=this.get_display_items(),i=this.get_shipping_options();return e&&(t.displayItems=e),t.requestShipping&&i&&(t.shippingOptions=i),t},wc_stripe.BaseGateway.prototype.get_payment_request_update=function(t){var e={currency:this.get_currency().toLowerCase(),total:{amount:parseInt(this.get_total_price_cents()),label:this.params.total_label,pending:!0}},i=this.get_display_items(),s=this.get_shipping_options();return i&&(e.displayItems=i),this.payment_request_options.requestShipping&&s&&(e.shippingOptions=s),t&&(e=o.extend(!0,{},e,t)),e},wc_stripe.BaseGateway.prototype.get_display_items=function(){return this.get_gateway_data().items},wc_stripe.BaseGateway.prototype.set_display_items=function(t){var e=this.get_gateway_data();e.items=t,this.set_gateway_data(e)},wc_stripe.BaseGateway.prototype.get_shipping_options=function(){return this.get_gateway_data().shipping_options},wc_stripe.BaseGateway.prototype.set_shipping_options=function(t){var e=this.get_gateway_data();e.shipping_options=t,this.set_gateway_data(e)},wc_stripe.BaseGateway.prototype.map_address=function(t){return{city:t.city,postcode:t.postalCode,state:t.region,country:t.country}},wc_stripe.BaseGateway.prototype.on_payment_method_received=function(t){try{this.payment_response=t,this.populate_checkout_fields(t),t.complete("success"),this.on_token_received(t.paymentMethod)}catch(e){a.alert(e)}},wc_stripe.BaseGateway.prototype.populate_checkout_fields=function(t){this.set_nonce(t.paymentMethod.id),this.update_addresses(t)},wc_stripe.BaseGateway.prototype.update_addresses=function(t){t.payerName&&this.fields.set("name",t.payerName,"billing"),t.payerEmail&&this.fields.set("email",t.payerEmail,"billing"),t.payerPhone&&(this.fields.set("phone",t.payerPhone,"billing"),this.fields.exists("shipping_phone")&&this.fields.isEmpty("shipping_phone")&&this.fields.set("shipping_phone",t.payerPhone)),t.shippingAddress&&this.populate_shipping_fields(t.shippingAddress),t.paymentMethod.billing_details.address&&this.populate_billing_fields(t.paymentMethod.billing_details.address)},wc_stripe.BaseGateway.prototype.populate_address_fields=function(t,e){for(var i in t)null!==t[i]&&this.fields.set(i,t[i],e)},wc_stripe.BaseGateway.prototype.populate_billing_fields=function(t){this.populate_address_fields(t,"billing")},wc_stripe.BaseGateway.prototype.populate_shipping_fields=function(t){this.populate_address_fields(t,"shipping")},wc_stripe.BaseGateway.prototype.get_address_fields=function(){return["first_name","last_name","country","address_1","address_2","city","state","postcode","phone","email"]},wc_stripe.BaseGateway.prototype.get_address_object=function(e){var i={};return this.get_address_fields().forEach(function(t){i[t]=this.fields.get(t,e)}.bind(this)),i},wc_stripe.BaseGateway.prototype.is_current_page=function(t){return Array.isArray(t)?-1<t.indexOf(this.get_page()):this.get_page()===t},wc_stripe.BaseGateway.prototype.is_valid_address=function(t,e,i){if(o.isEmptyObject(t))return!1;var s=this.get_address_fields();void 0!==i&&i.forEach(function(t){-1<s.indexOf(t)&&s.splice(s.indexOf(t),1)});for(var a=0;a<s.length;a++){var n=s[a];if(this.fields.required(e+"_"+n)&&(!t[n]||"undefined"==typeof t[n]||!this.fields.isValid(n,t[n],t)))return!1}return!0},wc_stripe.BaseGateway.prototype.ajax_before_send=function(t){this.is_user_logged_in()&&t.setRequestHeader("X-WP-Nonce",this.params.rest_nonce)},wc_stripe.BaseGateway.prototype.process_checkout=function(){return new Promise(function(){this.block(),o.ajax({url:this.params.routes.checkout,method:"POST",dataType:"json",data:o.extend({},this.serialize_fields(),{payment_method:this.gateway_id,page_id:this.get_page(),currency:this.get_currency()}),beforeSend:this.ajax_before_send.bind(this)}).done(function(t){t.reload?a.location.reload():"success"===t.result?a.location=t.redirect:(t.messages&&this.submit_error(t.messages),this.unblock())}.bind(this)).fail(function(t,e,i){this.unblock(),this.submit_error(i)}.bind(this))}.bind(this))},wc_stripe.BaseGateway.prototype.process_payment=function(t,e){o.ajax({method:"POST",url:this.params.routes.checkout_payment,dataType:"json",data:o.extend({},this.fields.toJson(),{order_id:t,order_key:e}),beforeSend:this.ajax_before_send.bind(this)}).done(function(t){if(t.result&&"success"===t.result)a.location=t.redirect;else{if(t.reload)return a.location.reload();t.messages?(this.payment_token_received=!1,this.submit_error(t.messages)):this.submit_error(wc_checkout_params.i18n_checkout_error)}}.bind(this)).fail(function(){}.bind(this))},wc_stripe.BaseGateway.prototype.handle_next_action=function(e){try{return this.stripe[this.handleActionMethod](e.client_secret).then(function(t){if(t.error)return this.payment_token_received=!1,this.submit_error(t.error),void this.sync_payment_intent(e.order_id,e.client_secret)["catch"](function(t){this.submit_error(t.message)}.bind(this));this.is_current_page("order_pay")?this.get_form().trigger("submit"):this.process_payment(e.order_id,e.order_key)}.bind(this))["catch"](function(t){this.submit_error(t.message)}.bind(this)),!1}catch(t){}},wc_stripe.BaseGateway.prototype.handle_payment_method_setup=function(e){try{return this.stripe[this.setupActionMethod](e.client_secret).then(function(t){if(t.error)return this.payment_token_received=!1,this.submit_error(t.error);this.is_current_page("order_pay")?this.get_form().trigger("submit"):this.process_payment(e.order_id,e.order_key)}.bind(this))["catch"](function(t){this.submit_error(t.message)}.bind(this)),!1}catch(t){}},wc_stripe.BaseGateway.prototype.hashchange=function(t){var e=a.location.hash.match(/response=(.*)/);if(e)try{var i=JSON.parse(a.atob(decodeURIComponent(e[1])));i&&i.hasOwnProperty("client_secret")&&i.gateway_id===this.gateway_id&&(history.pushState({},"",a.location.pathname),"intent"===i.type?this.handle_next_action(i):this.handle_payment_method_setup(i))}catch(s){}return!0},wc_stripe.BaseGateway.prototype.sync_payment_intent=function(t,s){return new Promise(function(e,i){o.ajax({method:"POST",dataType:"json",url:this.params.routes.sync_intent,data:{order_id:t,client_secret:s},beforeSend:this.ajax_before_send.bind(this)}).done(function(t){(t.code?i:e)(t)}).fail(function(t,e,i){this.submit_error(i)}.bind(this))}.bind(this))},wc_stripe.BaseGateway.prototype.create_setup_intent=function(){return new Promise(function(e,i){o.ajax({method:"POST",dataType:"json",data:{payment_method:this.gateway_id},url:this.params.routes.setup_intent,beforeSend:this.ajax_before_send.bind(this)}).done(function(t){t.code?i(t.message):(this.client_secret=t.intent.client_secret,e(t))}.bind(this)).fail(function(t,e,i){this.submit_error(i)}.bind(this))}.bind(this))},wc_stripe.BaseGateway.prototype.serialize_form=function(t){var e,i=t.find("input").filter(function(t,e){return!o(e).is('[name^="add-to-cart"]')}.bind(this)).serializeArray(),s={};for(e in i){var a=i[e];s[a.name]=a.value}return s.payment_method=this.gateway_id,s},wc_stripe.BaseGateway.prototype.serialize_fields=function(){return o.extend({},this.fields.toJson(),o(document.body).triggerHandler("wc_stripe_process_checkout_data",[this,this.fields]))},wc_stripe.BaseGateway.prototype.map_shipping_methods=function(t){var e={};return"default"===t||1<(t=t.match(/^([\w+]):(.+)$/)).length&&(e[t[1]]=t[2]),e},wc_stripe.BaseGateway.prototype.maybe_set_ship_to_different=function(){o('[name="ship_to_different_address"]').length&&o('[name="ship_to_different_address"]').prop("checked",this.get_address_field_hash("billing")!==this.get_address_field_hash("shipping")).trigger("change")},wc_stripe.BaseGateway.prototype.update_shipping_address=function(s){return new Promise(function(e,i){o.ajax({url:this.params.routes.shipping_address,method:"POST",dataType:"json",data:{address:this.map_address(s.shippingAddress),payment_method:this.gateway_id,page_id:this.get_page(),currency:this.get_currency()},beforeSend:this.ajax_before_send.bind(this)}).done(function(t){t.code?(s.updateWith(t.data.newData),i(t.data)):(s.updateWith(t.data.newData),this.fields.set("shipping_method",t.data.shipping_method),e(t.data))}.bind(this)).fail(function(){}.bind(this))}.bind(this))},wc_stripe.BaseGateway.prototype.update_shipping_method=function(s){return new Promise(function(e,i){o.ajax({url:this.params.routes.shipping_method,method:"POST",dataType:"json",data:{shipping_method:s.shippingOption.id,payment_method:this.gateway_id,currency:this.get_currency(),page_id:this.get_page()},beforeSend:this.ajax_before_send.bind(this)}).done(function(t){t.code?(s.updateWith(t.data.newData),i(t.data)):(this.set_selected_shipping_methods(t.data.shipping_methods),s.updateWith(t.data.newData),e(t.data))}.bind(this)).fail(function(t,e,i){this.submit_error(i)}.bind(this))}.bind(this))},wc_stripe.CheckoutGateway=function(){this.message_container="li.payment_method_"+this.gateway_id,this.banner_container="li.banner_payment_method_"+this.gateway_id,o(document.body).on("update_checkout",this.update_checkout.bind(this)),o(document.body).on("updated_checkout",this.updated_checkout.bind(this)),o(document.body).on("updated_checkout",this.container_styles.bind(this)),o(document.body).on("checkout_error",this.checkout_error.bind(this)),o(this.token_selector).closest("form").on("checkout_place_order_"+this.gateway_id,this.checkout_place_order.bind(this)),o(document.body).on("wc_stripe_new_method_"+this.gateway_id,this.on_show_new_methods.bind(this)),o(document.body).on("wc_stripe_saved_method_"+this.gateway_id,this.on_show_saved_methods.bind(this)),o(document.body).on("wc_stripe_payment_method_selected",this.on_payment_method_selected.bind(this)),this.banner_enabled()&&o(".woocommerce-billing-fields").length&&o(".wc-stripe-banner-checkout").css("max-width",o(".woocommerce-billing-fields").outerWidth(!0)),this.container_styles(),this.hasOrderReviewParams()},wc_stripe.CheckoutGateway.prototype.container_styles=function(){this.params.description||o(this.container).addClass("wc-stripe-no-desc"),o(this.container).find(".wc-stripe-saved-methods").length||o(this.container).find(".payment_box").addClass("wc-stripe-no-methods")},wc_stripe.CheckoutGateway.prototype.hasOrderReviewParams=function(){var t=a.location.search.match(/_stripe_order_review=(.+)/);if(t&&1<t.length)try{var e=JSON.parse(a.atob(decodeURIComponent(t[1])));this.gateway_id===e.payment_method&&(o(function(){this.payment_token_received=!0,this.set_nonce(e.payment_nonce),this.set_use_new_option(!0)}.bind(this)),history.pushState({},"",a.location.pathname))}catch(i){}},wc_stripe.CheckoutGateway.prototype.has3DSecureParams=function(){if((this.is_current_page("order_pay")||this.is_current_page("checkout")||this.is_change_payment_method())&&a.location.hash&&"string"==typeof a.location.hash){var t=a.location.hash.match(/response=(.*)/);if(t)try{var e=JSON.parse(a.atob(decodeURIComponent(t[1])));e&&e.hasOwnProperty("client_secret")&&e.gateway_id===this.gateway_id&&(o(function(){this.set_payment_method(this.gateway_id),this.set_use_new_option(!0),this.set_nonce(e.pm),!0===e.save_method&&this.set_save_payment_method(!0),o('[name="terms"]').prop("checked",!0)}.bind(this)),history.pushState({},"",a.location.pathname+a.location.search),this.handle_next_action(e))}catch(i){}}},wc_stripe.CheckoutGateway.prototype.update_shipping_address=function(){return wc_stripe.BaseGateway.prototype.update_shipping_address.apply(this,arguments).then(function(t){this.populate_address_fields(t.address,this.get_shipping_prefix()),this.fields.toFormFields({update_shipping_method:!1})}.bind(this))},wc_stripe.CheckoutGateway.prototype.updated_checkout=function(){},wc_stripe.CheckoutGateway.prototype.update_checkout=function(){},wc_stripe.CheckoutGateway.prototype.checkout_error=function(){this.has_checkout_error()&&(this.payment_token_received=!1,this.payment_response=null,this.show_payment_button(),this.hide_place_order())},wc_stripe.CheckoutGateway.prototype.is_valid_checkout=function(){return!(o('[name="terms"]').length&&o('[name="terms"]').is(":visible")&&!o('[name="terms"]').is(":checked"))},wc_stripe.CheckoutGateway.prototype.get_payment_method=function(){return o('[name="payment_method"]:checked').val()},wc_stripe.CheckoutGateway.prototype.set_use_new_option=function(t){o("#"+this.gateway_id+"_use_new").prop("checked",t).trigger("change")},wc_stripe.CheckoutGateway.prototype.checkout_place_order=function(){return this.is_valid_checkout()?!!this.is_saved_method_selected()||this.payment_token_received:(this.submit_error(this.params.messages.terms),!1)},wc_stripe.CheckoutGateway.prototype.on_token_received=function(t){this.payment_token_received=!0,this.set_nonce(t.id),this.hide_payment_button(),this.show_place_order()},wc_stripe.CheckoutGateway.prototype.block=function(){o().block&&this.get_form().block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},wc_stripe.CheckoutGateway.prototype.unblock=function(){o().block&&this.get_form().unblock()},wc_stripe.CheckoutGateway.prototype.hide_place_order=function(){o("#place_order").addClass("wc-stripe-hide")},wc_stripe.CheckoutGateway.prototype.show_place_order=function(){o("#place_order").removeClass("wc-stripe-hide")},wc_stripe.CheckoutGateway.prototype.on_show_new_methods=function(){this.payment_token_received?(this.show_place_order(),this.hide_payment_button()):(this.hide_place_order(),this.show_payment_button())},wc_stripe.CheckoutGateway.prototype.on_show_saved_methods=function(){this.hide_payment_button(),this.show_place_order()},wc_stripe.CheckoutGateway.prototype.show_payment_button=function(){this.$button&&this.$button.show()},wc_stripe.CheckoutGateway.prototype.hide_payment_button=function(){this.$button&&this.$button.hide()},wc_stripe.CheckoutGateway.prototype.trigger_payment_method_selected=function(){this.on_payment_method_selected(null,o('[name="payment_method"]:checked').val())},wc_stripe.CheckoutGateway.prototype.show_new_payment_method=function(){o('[name="'+this.gateway_id+'_payment_type_key"][value="new"').trigger("click")},wc_stripe.CheckoutGateway.prototype.on_payment_method_selected=function(t,e){e===this.gateway_id?this.payment_token_received||this.is_saved_method_selected()?(this.hide_payment_button(),this.show_place_order()):(this.show_payment_button(),this.hide_place_order()):(this.hide_payment_button(),e&&e.indexOf("stripe_")<0&&this.show_place_order())},wc_stripe.CheckoutGateway.prototype.banner_enabled=function(){return"1"===this.params.banner_enabled},wc_stripe.CheckoutGateway.prototype.checkout_fields_valid=function(){if(["checkout","order_pay"].indexOf(this.get_page())<0)return!0;var t=!0;return(t=this.fields.validateFields("billing"))?this.needs_shipping()&&o("#ship-to-different-address-checkbox").is(":checked")?(t=this.fields.validateFields("shipping"))||this.submit_error(this.params.messages.required_field):(t=this.is_valid_checkout())||this.submit_error(this.params.messages.terms):this.submit_error(this.params.messages.required_field),t},wc_stripe.CheckoutGateway.prototype.cart_contains_subscription=function(){return"undefined"!=typeof wc_stripe_cart_contains_subscription&&!0===wc_stripe_cart_contains_subscription},wc_stripe.CheckoutGateway.prototype.set_save_payment_method=function(t){o('[name="'+this.gateway_id+'_save_source_key"]').prop("checked",t)},wc_stripe.CheckoutGateway.prototype.process_order_pay=function(){var t=this.get_form().serializeArray();t.push({name:"_wpnonce",value:this.params.rest_nonce}),t.push({name:"order_id",value:this.params.order_id}),t.push({name:"order_key",value:this.params.order_key}),this.block(),o.ajax({url:this.params.routes.order_pay,method:"POST",dataType:"json",data:o.param(t)}).done(function(t){t.success?t.needs_confirmation?t.data?this.handle_next_action(t.data):a.location.href=t.redirect:this.get_form().trigger("submit"):this.submit_error(t.message)}.bind(this)).fail(function(t,e,i){this.unblock(),this.submit_error(i)}.bind(this))},wc_stripe.ProductGateway=function(){this.message_container="div.product",o("form.cart").on("found_variation",this.found_variation.bind(this)),o("form.cart").on("reset_data",this.reset_variation_data.bind(this)),this.buttonWidth=o("form.cart div.quantity").outerWidth(!0)+o(".single_add_to_cart_button").outerWidth();var t=o(".single_add_to_cart_button").css("marginLeft");t&&(this.buttonWidth+=parseInt(t.replace("px",""))),o(this.container).css("max-width",this.buttonWidth+"px")},wc_stripe.ProductGateway.prototype.get_quantity=function(){return parseInt(o('[name="quantity"]').val())},wc_stripe.ProductGateway.prototype.set_rest_nonce=function(t,e){this.params.rest_nonce=e},wc_stripe.ProductGateway.prototype.found_variation=function(t,e){var i=this.get_gateway_data();i.product.price=e.display_price,i.needs_shipping=!e.is_virtual,i.product.variation=e,this.set_gateway_data(i)},wc_stripe.ProductGateway.prototype.reset_variation_data=function(){var t=this.get_product_data();t.variation=!1,this.set_product_data(t),this.disable_payment_button()},wc_stripe.ProductGateway.prototype.disable_payment_button=function(){this.$button&&this.get_button().prop("disabled",!0).addClass("disabled")},wc_stripe.ProductGateway.prototype.enable_payment_button=function(){this.$button&&this.get_button().prop("disabled",!1).removeClass("disabled")},wc_stripe.ProductGateway.prototype.get_button=function(){return this.$button},wc_stripe.ProductGateway.prototype.is_variable_product=function(){return!!this.get_product_data().variation||0<o('[name="variation_id"]').length},wc_stripe.ProductGateway.prototype.variable_product_selected=function(){var t=this.get_product_data().variation,e=o('input[name="variation_id"]').val();return!!t||!!e&&"0"!=e},wc_stripe.ProductGateway.prototype.get_product_data=function(){return this.get_gateway_data().product},wc_stripe.ProductGateway.prototype.set_product_data=function(t){var e=this.get_gateway_data();e.product=t,this.set_gateway_data(e)},wc_stripe.ProductGateway.prototype.get_form=function(){return o(this.container).closest("form")},wc_stripe.ProductGateway.prototype.add_to_cart=function(){return new Promise(function(e,i){this.block();var t={product_id:this.get_product_data().id,variation_id:this.is_variable_product()?o('[name="variation_id"]').val():0,qty:o('[name="quantity"]').val(),payment_method:this.gateway_id,currency:this.get_currency(),page_id:this.get_page()},s=this.get_form().find(':not([name="add-to-cart"],[name="quantity"],[name^="attribute_"],[name="variation_id"])').serializeArray();if(s)for(var a in s)t[s[a].name]=s[a].value;o.ajax({url:this.params.routes.add_to_cart,method:"POST",dataType:"json",data:o.extend({},t,this.get_product_variations()),beforeSend:this.ajax_before_send.bind(this)}).done(function(t){this.unblock(),t.code?(this.submit_error(t.message),i(t)):(this.set_total_price(t.data.total),this.set_total_price_cents(t.data.totalCents),this.set_display_items(t.data.displayItems),e(t.data))}.bind(this)).fail(function(t,e,i){this.unblock(),this.submit_error(i)}.bind(this))}.bind(this))},wc_stripe.ProductGateway.prototype.cart_calculation=function(t){return new Promise(function(e,i){this.processing_calculation=!0,o.ajax({url:this.params.routes.cart_calculation,method:"POST",dataType:"json",data:o.extend({},{product_id:this.get_product_data().id,variation_id:this.is_variable_product()&&t?t:0,qty:o('[name="quantity"]').val(),currency:this.get_currency(),payment_method:this.gateway_id},this.get_product_variations()),beforeSend:this.ajax_before_send.bind(this)}).done(function(t){this.processing_calculation=!1,t.code?(this.cart_calculation_error=!0,i(t)):(this.set_total_price(t.data.total),this.set_total_price_cents(t.data.totalCents),this.set_display_items(t.data.displayItems),e(t.data))}.bind(this)).fail(function(){this.processing_calculation=!1}.bind(this))}.bind(this))},wc_stripe.ProductGateway.prototype.get_product_variations=function(){var s={};return this.is_variable_product()&&o('.variations [name^="attribute_"]').each(function(t,e){var i=o(e),e=i.data("attribute_name")||i.attr("name");s[e]=i.val()}),s},wc_stripe.CartGateway=function(){this.message_container="div.woocommerce",o(document.body).on("updated_wc_div",this.updated_html.bind(this)),o(document.body).on("updated_cart_totals",this.updated_html.bind(this)),o(document.body).on("wc_cart_emptied",this.cart_emptied.bind(this))},wc_stripe.CartGateway.prototype.submit_error=function(t){this.submit_message(this.get_error_message(t))},wc_stripe.CartGateway.prototype.updated_html=function(t){},wc_stripe.CartGateway.prototype.cart_emptied=function(t){},wc_stripe.CartGateway.prototype.add_cart_totals_class=function(){o(".cart_totals").addClass("stripe_cart_gateway_active")},wc_stripe.GooglePay=function(){},wc_stripe.GooglePay.prototype.handleActionMethod="handleCardAction",wc_stripe.GooglePay.prototype.setupActionMethod="confirmCardSetup";var s={apiVersion:2,apiVersionMinor:0},n={type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],assuranceDetailsRequired:!0}};wc_stripe.GooglePay.prototype.update_addresses=function(t){var e;t.paymentMethodData.info.billingAddress&&(e=t.paymentMethodData.info.billingAddress,this.is_current_page("checkout")&&this.is_valid_address(this.billing_address_object,"billing",["phone","email"])&&(e={phoneNumber:e.phoneNumber}),this.populate_billing_fields(e),e.phoneNumber&&this.fields.exists("shipping_phone")&&this.fields.isEmpty("shipping_phone")&&this.fields.set("shipping_phone",e.phoneNumber)),t.shippingAddress&&this.populate_shipping_fields(t.shippingAddress),t.email&&this.fields.set("email",t.email,"billing")},wc_stripe.GooglePay.prototype.map_address=function(t){return{city:t.locality,postcode:t.postalCode,state:t.administrativeArea,country:t.countryCode}},wc_stripe.GooglePay.prototype.update_payment_data=function(s){return new Promise(function(e,i){var t="default"==s.shippingOptionData.id?null:s.shippingOptionData.id;o.when(o.ajax({url:this.params.routes.payment_data,dataType:"json",method:"POST",data:{address:this.map_address(s.shippingAddress),shipping_method:t,page_id:this.get_page(),currency:this.get_currency()},beforeSend:this.ajax_before_send.bind(this)})).done(function(t){t.code?i(t.data.data):e(t.data)}.bind(this)).fail(function(){i()}.bind(this))}.bind(this))},wc_stripe.GooglePay.prototype.on_payment_data_changed=function(i){return new Promise(function(e){this.update_payment_data(i).then(function(t){e(t.paymentRequestUpdate),this.set_selected_shipping_methods(t.shipping_methods),this.payment_data_updated(t,i)}.bind(this))["catch"](function(t){e(t)}.bind(this))}.bind(this))},wc_stripe.GooglePay.prototype.payment_data_updated=function(t){},wc_stripe.GooglePay.prototype.get_merchant_info=function(){var t={merchantId:this.params.merchant_id,merchantName:this.params.merchant_name};return"TEST"===this.params.environment&&delete t.merchantId,t},wc_stripe.GooglePay.prototype.get_payment_options=function(){var t,e={environment:this.params.environment,merchantInfo:this.get_merchant_info(),paymentDataCallbacks:{onPaymentAuthorized:function(){return new Promise(function(t){t({transactionState:"SUCCESS"})}.bind(this))}}};return this.needs_shipping()&&(t=this.get_shipping_prefix(),(!this.is_current_page("checkout")||this.is_valid_address(this.get_address_object(t),t,["email","phone"]))&&this.is_current_page("checkout")||(e.paymentDataCallbacks.onPaymentDataChanged=this.on_payment_data_changed.bind(this))),e},wc_stripe.GooglePay.prototype.build_payment_request=function(){var t=o.extend({},s,{emailRequired:this.fields.requestFieldInWallet("billing_email"),merchantInfo:this.get_merchant_info(),allowedPaymentMethods:[o.extend({type:"CARD",tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"stripe","stripe:version":"2018-10-31","stripe:publishableKey":this.params.api_key}}},n)],shippingAddressRequired:function(){if(this.needs_shipping()){var t=this.get_shipping_prefix();if(this.is_current_page("checkout")&&!this.is_valid_address(this.get_address_object(t),t,["email","phone"])||!this.is_current_page("checkout"))return!0}return!1}.bind(this)(),transactionInfo:{countryCode:this.params.processing_country,currencyCode:this.get_currency(),totalPriceStatus:"ESTIMATED",totalPrice:this.get_total_price().toString(),displayItems:this.get_display_items(),totalPriceLabel:this.params.total_price_label}});return t.allowedPaymentMethods[0].parameters.billingAddressRequired=function(){if(this.is_current_page("checkout")){var t=this.billing_address_object=this.get_address_object("billing");return this.fields.requestFieldInWallet("billing_phone")||!this.is_valid_address(t,"billing",["email"])?!0:!1}return!0}.bind(this)(),t.allowedPaymentMethods[0].parameters.billingAddressRequired&&(t.allowedPaymentMethods[0].parameters.billingAddressParameters={format:"FULL",phoneNumberRequired:this.fields.requestFieldInWallet("billing_phone")}),t.shippingAddressRequired?(t.shippingAddressParameters={},t.shippingOptionRequired=!0,t.shippingOptionParameters={shippingOptions:this.get_shipping_options()},t.callbackIntents=["SHIPPING_ADDRESS","SHIPPING_OPTION","PAYMENT_AUTHORIZATION"]):t.callbackIntents=["PAYMENT_AUTHORIZATION"],this.payment_request_options=t},wc_stripe.GooglePay.prototype.createPaymentsClient=function(){this.paymentsClient=new google.payments.api.PaymentsClient(this.get_payment_options())},wc_stripe.GooglePay.prototype.isReadyToPay=function(){return new Promise(function(t){var e=o.extend({},s);e.allowedPaymentMethods=[n],this.paymentsClient.isReadyToPay(e).then(function(){this.can_pay=!0,this.create_button(),t()}.bind(this))["catch"](function(t){t&&t.message&&-1<t.message.indexOf("ShadowRoot")?console.log("GPay is not supported on this browser."):this.submit_error(t)}.bind(this))}.bind(this))},wc_stripe.GooglePay.prototype.create_button=function(){this.$button&&this.$button.remove(),this.$button=o(this.paymentsClient.createButton(this.get_button_options())),this.$button.addClass("gpay-button-container")},wc_stripe.GooglePay.prototype.get_button_options=function(){var t={onClick:this.start.bind(this),buttonColor:this.params.button_color,buttonType:this.params.button_style,buttonSizeMode:this.params.button_size_mode};return null!==this.params.button_locale&&(t.buttonLocale=this.params.button_locale),t},wc_stripe.GooglePay.prototype.start=function(){this.createPaymentsClient(),this.paymentsClient.loadPaymentData(this.build_payment_request()).then(function(t){var e=JSON.parse(t.paymentMethodData.tokenizationData.token);this.update_addresses(t),this.stripe.createPaymentMethod({type:"card",card:{token:e.id},billing_details:this.get_billing_details()}).then(function(t){if(t.error)return this.submit_error(t.error);this.on_token_received(t.paymentMethod)}.bind(this))}.bind(this))["catch"](function(t){"CANCELED"!==t.statusCode&&(t.statusMessage&&-1<t.statusMessage.indexOf("paymentDataRequest.callbackIntent")?this.submit_error_code("DEVELOPER_ERROR_WHITELIST"):this.submit_error(t.statusMessage))}.bind(this))},wc_stripe.ApplePay=function(){},wc_stripe.ApplePay.prototype.handleActionMethod="handleCardAction",wc_stripe.ApplePay.prototype.setupActionMethod="confirmCardSetup",wc_stripe.ApplePay.prototype.initialize=function(){this.createPaymentRequest(),this.canMakePayment()},wc_stripe.ApplePay.prototype.get_payment_request_options=function(){return o.extend({},wc_stripe.BaseGateway.prototype.get_payment_request_options.apply(this,arguments),{disableWallets:["googlePay"]})},wc_stripe.ApplePay.prototype.create_button=function(){this.$button&&this.$button.remove(),this.$button=o(this.params.button),this.$button.on("click",this.start.bind(this)),this.append_button()},wc_stripe.ApplePay.prototype.canMakePayment=function(){return new Promise(function(e){this.paymentRequest.canMakePayment().then(function(t){t&&t.applePay&&(this.can_pay=!0,this.create_button(),o(this.container).show(),e(t))}.bind(this))}.bind(this))},wc_stripe.ApplePay.prototype.start=function(t){t.preventDefault(),this.paymentRequest.update(this.get_payment_request_update({total:{pending:!1}})),this.paymentRequest.show()},wc_stripe.PaymentRequest=function(){},wc_stripe.PaymentRequest.prototype.handleActionMethod="handleCardAction",wc_stripe.PaymentRequest.prototype.setupActionMethod="confirmCardSetup",wc_stripe.PaymentRequest.prototype.initialize=function(){this.createPaymentRequest(),this.createPaymentRequestButton(),this.canMakePayment(),this.paymentRequestButton.on("click",this.button_click.bind(this))},wc_stripe.PaymentRequest.prototype.button_click=function(t){},wc_stripe.PaymentRequest.prototype.createPaymentRequestButton=function(){this.paymentRequestButton&&this.paymentRequestButton.destroy(),this.paymentRequestButton=this.elements.create("paymentRequestButton",{paymentRequest:this.paymentRequest,style:{paymentRequestButton:{type:this.params.button.type,theme:this.params.button.theme,height:this.params.button.height}}})},wc_stripe.PaymentRequest.prototype.canMakePayment=function(){return new Promise(function(e){var i=this.paymentRequest;this.paymentRequest.canMakePayment().then(function(t){t&&!t.applePay&&i===this.paymentRequest&&(this.can_pay=!0,this.create_button(),o(this.container).show(),e(t))}.bind(this))}.bind(this))},wc_stripe.PaymentRequest.prototype.create_button=function(){this.paymentRequestButton.mount("#wc-stripe-payment-request-container")},wc_stripe.Afterpay=function(){},wc_stripe.Afterpay.prototype.is_eligible=function(t){return this.needs_shipping()&&t>this.get_min()&&t<this.get_max()},wc_stripe.Afterpay.prototype.get_min=function(){var t=this.get_currency(),t=this.params.requirements[t];return t?t[1]:0},wc_stripe.Afterpay.prototype.get_max=function(){var t=this.get_currency(),t=this.params.requirements[t];return t?t[2]:0},wc_stripe.Afterpay.prototype.add_eligibility=function(t,e){o(t).length&&(this.is_eligible(e)?o(t).removeClass("afterpay-ineligible"):this.hide_ineligible_active()&&o(t).addClass("afterpay-ineligible"))},wc_stripe.Afterpay.prototype.hide_ineligible_active=function(){return"yes"===this.params.hide_ineligible},wc_stripe.CheckoutFields=function(t,e){this.params=t,this.page=e,this.session_values=this.supportsSessionStorage()&&sessionStorage.getItem("wc_stripe_checkout_fields")?JSON.parse(sessionStorage.getItem("wc_stripe_checkout_fields")):{},this.fields=new Map(Object.keys(this.params).map(function(t){return null===this.params[t].value&&(t in this.session_values&&null!==this.session_values[t]?this.params[t].value=this.session_values[t]:this.params[t].value=""),[t,this.params[t].value]}.bind(this))),("checkout"===e||"cart"===e&&o(document.body).is(".woocommerce-checkout")||0<o("form.woocommerce-checkout").length)&&(o(document.body).on("updated_checkout",this.updated_checkout.bind(this)),o(document.body).on("change",'[name^="billing_"], [name^="shipping_"]',this.onChange.bind(this)),o("form.checkout").on("change",'.input-text:not([name^="billing_"], [name^="shipping_"], [name="account_password"]), select:not([name^="billing_"], [name^="shipping_"])',this.onChange.bind(this)),o("form.checkout").on("change",'[name="ship_to_different_address"]',this.on_ship_to_address_change.bind(this)),this.init_i18n(),o('[name="ship_to_different_address"]').is(":checked")?this.update_required_fields(o("#shipping_country").val(),"shipping_country"):this.update_required_fields(o("#billing_country").val(),"billing_country"))},wc_stripe.CheckoutFields.prototype.supportsSessionStorage=function(){return"sessionStorage"in a&&null!==a.sessionStorage&&["getItem","setItem"].reduce(function(t,e){return t&&e in sessionStorage}.bind(this),!0)},wc_stripe.CheckoutFields.prototype.init_i18n=function(){"undefined"!=typeof wc_address_i18n_params?this.locales=JSON.parse(wc_address_i18n_params.locale.replace(/&quot;/g,'"')):this.locales=null},wc_stripe.CheckoutFields.prototype.updated_checkout=function(){this.syncCheckoutFieldsWithDOM()},wc_stripe.CheckoutFields.prototype.syncCheckoutFieldsWithDOM=function(){for(var t in this.params)o("#"+t).length&&this.fields.set(t,o("#"+t).val())},wc_stripe.CheckoutFields.prototype.onChange=function(t){try{var e=t.currentTarget.name,i=t.currentTarget.value;this.fields.set(e,i),"billing_country"!==e&&"shipping_country"!==e||this.update_required_fields(i,e),this.supportsSessionStorage()&&sessionStorage.setItem("wc_stripe_checkout_fields",JSON.stringify(this.toJson()))}catch(s){console.log(s)}},wc_stripe.CheckoutFields.prototype.update_required_fields=function(t,e){if(this.locales){var i,s=-1<e.indexOf("billing_")?"billing_":"shipping_",t="undefined"!=typeof this.locales[t]?this.locales[t]:this.locales["default"],a=o.extend(!0,{},this.locales["default"],t);for(i in a){var n=s+i;this.params[n]&&(this.params[n]=o.extend(!0,{},this.params[n],a[i]))}}},wc_stripe.CheckoutFields.prototype.on_ship_to_address_change=function(t){o(t.currentTarget).is(":checked")&&this.update_required_fields(o("#shipping_country").val(),"shipping_country")},wc_stripe.CheckoutFields.prototype.requestFieldInWallet=function(t){return"checkout"===this.page?this.required(t)&&this.isEmpty(t):"order_pay"!==this.page&&this.required(t)},wc_stripe.CheckoutFields.prototype.set=function(t,e,i){this[t]&&"function"==typeof this[t]?this[t]().set.call(this,e,i):this.fields.set(t,e)},wc_stripe.CheckoutFields.prototype.get=function(t,e){var i;return this[t]&&"function"==typeof this[t]?i=this[t]().get.call(this,e):null!=(i=this.fields.get(t))&&""!==i||void 0!==e&&(i=e),void 0===i?"":i},wc_stripe.CheckoutFields.prototype.required=function(t){return!(!this.params[t]||"undefined"==typeof this.params[t].required)&&this.params[t].required},wc_stripe.CheckoutFields.prototype.exists=function(t){return t in this.params},wc_stripe.CheckoutFields.prototype.isEmpty=function(t){if(this.fields.has(t)){t=this.fields.get(t);return null==t||"string"==typeof t&&0===t.trim().length}return!0},wc_stripe.CheckoutFields.prototype.isValid=function(t){if(this[t]&&"function"==typeof this[t])return this[t]().isValid.apply(this,Array.prototype.slice.call(arguments,1))},wc_stripe.CheckoutFields.prototype.first_name=function(){return{set:function(t,e){this.fields.set(e+"_first_name",t)},get:function(t){return this.fields.get(t+"_first_name")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.last_name=function(){return{set:function(t,e){this.fields.set(e+"_last_name",t)},get:function(t){return this.fields.get(t+"_last_name")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.address_1=function(){return{set:function(t,e){this.fields.set(e+"_address_1",t)},get:function(t){return this.fields.get(t+"_address_1")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.address_2=function(){return{set:function(t,e){this.fields.set(e+"_address_2",t)},get:function(t){return this.fields.get(t+"_address_2")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.name=function(){return{set:function(t,e){this.fields.set(e+"_full_name",t);var i=t.split(" ");1<i.length?(t=i.pop(),this.fields.set(e+"_first_name",i.join(" ")),this.fields.set(e+"_last_name",t)):1==i.length&&this.fields.set(e+"_first_name",i[0])},get:function(t){return this.fields.get(t+"_first_name")+" "+this.fields.get(t+"_last_name")}}},wc_stripe.CheckoutFields.prototype.email=function(){return{set:function(t,e){this.fields.set(e+"_email",t)},get:function(t){return this.fields.get(t+"_email")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.phone=function(){return{set:function(t,e){this.fields.set(e+"_phone",t)},get:function(t){return this.fields.get(t+"_phone")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.country=function(){return{set:function(t,e){this.fields.set(e+"_country",t)},get:function(t){return this.fields.get(t+"_country")},isValid:function(t){return"string"==typeof t&&2===t.length}}},wc_stripe.CheckoutFields.prototype.state=function(){return{set:function(i,t){2<(i=i.toUpperCase()).length&&"checkout"===this.page&&o("#"+t+"_state option").each(function(){var t=o(this),e=t.text().toUpperCase();i===e&&(i=t.val())}),this.fields.set(t+"_state",i)},get:function(t){return this.fields.get(t+"_state")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.city=function(){return{set:function(t,e){this.fields.set(e+"_city",t)},get:function(t){return this.fields.get(t+"_city")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.postcode=function(){return{set:function(t,e){this.fields.set(e+"_postcode",t)},get:function(t){return this.fields.get(t+"_postcode")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.recipient=function(){return wc_stripe.CheckoutFields.prototype.name.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.payerName=function(){return wc_stripe.CheckoutFields.prototype.name.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.payerEmail=function(){return wc_stripe.CheckoutFields.prototype.email.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.payerPhone=function(){return wc_stripe.CheckoutFields.prototype.phone.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.phoneNumber=function(){return wc_stripe.CheckoutFields.prototype.phone.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.countryCode=function(){return wc_stripe.CheckoutFields.prototype.country.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.address1=function(){return wc_stripe.CheckoutFields.prototype.address_1.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.address2=function(){return wc_stripe.CheckoutFields.prototype.address_2.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.line1=function(){return wc_stripe.CheckoutFields.prototype.address_1.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.line2=function(){return wc_stripe.CheckoutFields.prototype.address_2.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.addressLine=function(){return{set:function(t,e){0<t.length&&this.fields.set(e+"_address_1",t[0]),1<t.length&&this.fields.set(e+"_address_2",t[1])},get:function(t){return[this.fields.get(t+"_address_1"),this.fields.get(t+"_address_2")]},isValid:function(t){return 0<t.length&&("string"==typeof t[0]&&0<t[0].length)}}},wc_stripe.CheckoutFields.prototype.region=function(){return wc_stripe.CheckoutFields.prototype.state.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.administrativeArea=function(){return wc_stripe.CheckoutFields.prototype.state.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.locality=function(){return wc_stripe.CheckoutFields.prototype.city.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.postal_code=function(){return wc_stripe.CheckoutFields.prototype.postcode.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.postalCode=function(){return wc_stripe.CheckoutFields.prototype.postcode.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.toJson=function(){var i={};return this.fields.forEach(function(t,e){i[e]=t}),i},wc_stripe.CheckoutFields.prototype.toFormFields=function(t){var i=[];this.fields.forEach(function(t,e){e='[name="'+e+'"]';o(e).length&&""!==t&&(o(e).val()!==t&&o(e).is("select")&&i.push(e),o(e).val(t))}),0<i.length&&o(i.join(",")).trigger("change"),void 0!==t&&o(document.body).trigger("update_checkout",t)},wc_stripe.CheckoutFields.prototype.validateFields=function(t){for(var e in this.params){var i=this.params[e];if(-1<e.indexOf(t)&&i.required&&o("#"+e).length&&o("#"+e).is(":visible")){i=o("#"+e).val();if(null==i||0===i.length)return!1}}return!0};try{i=Stripe(wc_stripe_params_v3.api_key,wc_stripe_params_v3.stripeParams)}catch(t){return a.alert(t),console.log(t)}var r=new wc_stripe.CheckoutFields(wc_stripe_checkout_fields,wc_stripe_params_v3.page)}(window,jQuery);
1
+ !function(a,o){a.wc_stripe={};var i=null;"undefined"==typeof wc_stripe_checkout_fields&&(a.wc_stripe_checkout_fields=[]),wc_stripe.BaseGateway=function(t,e){this.params=t,this.gateway_id=this.params.gateway_id,this.container=void 0===e?"li.payment_method_".concat(this.gateway_id):e,o(this.container).length||(this.container=".payment_method_".concat(this.gateway_id)),this.token_selector=this.params.token_selector,this.saved_method_selector=this.params.saved_method_selector,this.payment_token_received=!1,this.stripe=i,this.fields=r,this.elements=this.create_stripe_elements(),this.initialize()},wc_stripe.BaseGateway.prototype.create_stripe_elements=function(){return i.elements(o.extend({},{locale:"auto"},this.get_element_options()))},wc_stripe.BaseGateway.prototype.is_user_logged_in=function(){return 0<this.params.user_id},wc_stripe.BaseGateway.prototype.get_page=function(){var t=wc_stripe_params_v3.page;return"cart"===t&&o(document.body).is(".woocommerce-checkout")&&(t="checkout"),t},wc_stripe.BaseGateway.prototype.set_nonce=function(t){this.fields.set(this.gateway_id+"_token_key",t),o(this.token_selector).val(t)},wc_stripe.BaseGateway.prototype.set_intent=function(t){this.fields.set(this.gateway_id+"_payment_intent_key",t),o("#"+this.gateway_id+"_payment_intent_key").val(t)},wc_stripe.BaseGateway.prototype.get_element_options=function(){return this.params.elementOptions},wc_stripe.BaseGateway.prototype.initialize=function(){},wc_stripe.BaseGateway.prototype.create_button=function(){},wc_stripe.BaseGateway.prototype.is_gateway_selected=function(){return o('[name="payment_method"]:checked').val()===this.gateway_id},wc_stripe.BaseGateway.prototype.is_saved_method_selected=function(){return this.is_gateway_selected()&&"saved"===o('[name="'+this.gateway_id+'_payment_type_key"]:checked').val()},wc_stripe.BaseGateway.prototype.has_checkout_error=function(){return 0<o("#wc_stripe_checkout_error").length&&this.is_gateway_selected()},wc_stripe.BaseGateway.prototype.submit_error=function(t,e){var i=this.get_error_message(t);i.indexOf("</ul>")<0&&(i='<div class="'+function(){var t="woocommerce-NoticeGroup";return this.is_current_page("checkout")&&(t+=" woocommerce-NoticeGroup-checkout"),t}.bind(this)()+'"><ul class="woocommerce-error"><li>'+i+"</li></ul></div>");t=o(document.body).triggerHandler("wc_stripe_submit_error",[i,t,this]);i=void 0===t?i:t,this.submit_message(i,e)},wc_stripe.BaseGateway.prototype.submit_error_code=function(t){console.log(t)},wc_stripe.BaseGateway.prototype.get_error_message=function(t){return"object"==typeof t&&(t.hasOwnProperty("message")&&(-1<t.message.indexOf("server_side_confirmation_beta=v1")?t.code="server_side_confirmation_beta":-1<t.message.indexOf("params.payment_method_data.billing_details.phone")&&(t.code="phone_required")),t=t.code&&wc_stripe_messages[t.code]?wc_stripe_messages[t.code]:t.message),t},wc_stripe.BaseGateway.prototype.submit_message=function(t,e){o(".woocommerce-NoticeGroup-checkout, .woocommerce-error, .woocommerce-message").remove();var i=o(this.message_container);i.length&&(e||!i.closest("form").length)||(i.length||(i=o(this.container)),i=i.closest("form")),i.prepend(t),i.removeClass("processing").unblock(),i.find(".input-text, select, input:checkbox").trigger("blur"),o.scroll_to_notices?o.scroll_to_notices(i):o("html, body").animate({scrollTop:i.offset().top-100},1e3)},wc_stripe.BaseGateway.prototype.get_billing_details=function(){var t=this.get_billing_prefix(),t={name:this.get_customer_name(t),address:{city:this.fields.get(t+"_city",null),country:this.fields.get(t+"_country",null),line1:this.fields.get(t+"_address_1",null),line2:this.fields.get(t+"_address_2",null),postal_code:this.fields.get(t+"_postcode",null),state:this.fields.get(t+"_state",null)}};return t.name&&" "!==t.name||delete t.name,""!=this.fields.get("billing_email")&&(t.email=this.fields.get("billing_email")),""!=this.fields.get("billing_phone")&&(t.phone=this.fields.get("billing_phone")),t},wc_stripe.BaseGateway.prototype.get_first_name=function(t){return o("#"+t+"_first_name").val()},wc_stripe.BaseGateway.prototype.get_last_name=function(t){return o("#"+t+"_last_name").val()},wc_stripe.BaseGateway.prototype.get_shipping_prefix=function(){return this.needs_shipping()&&0<o('[name="ship_to_different_address"]').length&&o('[name="ship_to_different_address"]').is(":checked")?"shipping":"billing"},wc_stripe.BaseGateway.prototype.get_billing_prefix=function(){var t="billing";o('[name="billing_same_as_shipping"]').length&&o('[name="billing_same_as_shipping"]').is(":checked")&&(t="shipping"),o('[name="bill_to_different_address"]').length&&(1<o('[name="bill_to_different_address"]').length?"same_as_shipping"===o('[name="bill_to_different_address"]:checked').val()&&(t="shipping"):o('[name="bill_to_different_address"]').is(":checked")||(t="shipping"));var e=o(document.body).triggerHandler("wc_stripe_get_billing_prefix",[t]);return void 0===e?t:e},wc_stripe.BaseGateway.prototype.should_save_method=function(){return o("#"+this.gateway_id+"_save_source_key").is(":checked")},wc_stripe.BaseGateway.prototype.is_add_payment_method_page=function(){return"add_payment_method"===this.get_page()||o(document.body).hasClass("woocommerce-add-payment-method")},wc_stripe.BaseGateway.prototype.is_change_payment_method=function(){return"change_payment_method"===this.get_page()},wc_stripe.BaseGateway.prototype.get_selected_payment_method=function(){return o(this.saved_method_selector).val()},wc_stripe.BaseGateway.prototype.needs_shipping=function(){return this.get_gateway_data().needs_shipping},wc_stripe.BaseGateway.prototype.get_currency=function(){return this.get_gateway_data().currency},wc_stripe.BaseGateway.prototype.get_gateway_data=function(){var t=o(this.container).find(".woocommerce_".concat(this.gateway_id,"_gateway_data")).data("gateway");return void 0===t&&this.is_current_page("checkout")&&void 0===(t=o("form.checkout").find(".woocommerce_".concat(this.gateway_id,"_gateway_data")).data("gateway"))&&(t=o(".woocommerce_"+this.gateway_id+"_gateway_data").data("gateway")),t},wc_stripe.BaseGateway.prototype.set_gateway_data=function(t){o(this.container).find(".woocommerce_".concat(this.gateway_id,"_gateway_data")).data("gateway",t)},wc_stripe.BaseGateway.prototype.has_gateway_data=function(){return void 0!==this.get_gateway_data()},wc_stripe.BaseGateway.prototype.get_customer_name=function(t){return this.fields.get(t+"_first_name")+" "+this.fields.get(t+"_last_name")},wc_stripe.BaseGateway.prototype.get_customer_email=function(){return this.fields.get("billing_email")},wc_stripe.BaseGateway.prototype.get_address_field_hash=function(t){for(var e=["_first_name","_last_name","_address_1","_address_2","_postcode","_city","_state","_country"],i="",s=0;s<e.length;s++)i+=this.fields.get(t+e[s])+"_";return i},wc_stripe.BaseGateway.prototype.block=function(){o().block&&o.blockUI({message:null,overlayCSS:{background:"#fff",opacity:.6}})},wc_stripe.BaseGateway.prototype.unblock=function(){o().block&&o.unblockUI()},wc_stripe.BaseGateway.prototype.get_form=function(){return o(this.token_selector).closest("form")},wc_stripe.BaseGateway.prototype.get_total_price=function(){return this.get_gateway_data().total},wc_stripe.BaseGateway.prototype.get_total_price_cents=function(){return this.get_gateway_data().total_cents},wc_stripe.BaseGateway.prototype.set_total_price=function(t){var e=this.get_gateway_data();e.total=t,this.set_gateway_data(e)},wc_stripe.BaseGateway.prototype.set_total_price_cents=function(t){var e=this.get_gateway_data();e.total_cents=t,this.set_gateway_data(e)},wc_stripe.BaseGateway.prototype.set_payment_method=function(t){o('[name="payment_method"][value="'+t+'"]').prop("checked",!0).trigger("click")},wc_stripe.BaseGateway.prototype.set_selected_shipping_methods=function(t){if(this.fields.set("shipping_method",t),t&&o('[name^="shipping_method"]').length)for(var e in t){var i=t[e];o('[name="shipping_method['+e+']"][value="'+i+'"]').prop("checked",!0).trigger("change")}},wc_stripe.BaseGateway.prototype.on_token_received=function(t){this.payment_token_received=!0,this.set_nonce(t.id),this.process_checkout()},wc_stripe.BaseGateway.prototype.createPaymentRequest=function(){try{this.payment_request_options=this.get_payment_request_options(),this.paymentRequest=i.paymentRequest(this.payment_request_options),this.payment_request_options.requestShipping&&(this.paymentRequest.on("shippingaddresschange",this.update_shipping_address.bind(this)),this.paymentRequest.on("shippingoptionchange",this.update_shipping_method.bind(this))),this.paymentRequest.on("paymentmethod",this.on_payment_method_received.bind(this))}catch(t){return void this.submit_error(t.message)}},wc_stripe.BaseGateway.prototype.get_payment_request_options=function(){var t={country:this.params.country_code,currency:this.get_currency().toLowerCase(),total:{amount:this.get_total_price_cents(),label:this.params.total_label,pending:!0},requestPayerName:function(){return!this.is_current_page("checkout")||!this.is_valid_address(this.get_address_object("billing"),"billing",["email","phone"])}.bind(this)(),requestPayerEmail:this.fields.requestFieldInWallet("billing_email"),requestPayerPhone:this.fields.requestFieldInWallet("billing_phone"),requestShipping:function(){if(this.needs_shipping()){var t=this.get_shipping_prefix();if(this.is_current_page("checkout")&&!this.is_valid_address(this.get_address_object(t),t,["email","phone"])||!this.is_current_page("checkout"))return!0}return!1}.bind(this)()},e=this.get_display_items(),i=this.get_shipping_options();return e&&(t.displayItems=e),t.requestShipping&&i&&(t.shippingOptions=i),t},wc_stripe.BaseGateway.prototype.get_payment_request_update=function(t){var e={currency:this.get_currency().toLowerCase(),total:{amount:parseInt(this.get_total_price_cents()),label:this.params.total_label,pending:!0}},i=this.get_display_items(),s=this.get_shipping_options();return i&&(e.displayItems=i),this.payment_request_options.requestShipping&&s&&(e.shippingOptions=s),t&&(e=o.extend(!0,{},e,t)),e},wc_stripe.BaseGateway.prototype.get_display_items=function(){return this.get_gateway_data().items},wc_stripe.BaseGateway.prototype.set_display_items=function(t){var e=this.get_gateway_data();e.items=t,this.set_gateway_data(e)},wc_stripe.BaseGateway.prototype.get_shipping_options=function(){return this.get_gateway_data().shipping_options},wc_stripe.BaseGateway.prototype.set_shipping_options=function(t){var e=this.get_gateway_data();e.shipping_options=t,this.set_gateway_data(e)},wc_stripe.BaseGateway.prototype.map_address=function(t){return{city:t.city,postcode:t.postalCode,state:t.region,country:t.country}},wc_stripe.BaseGateway.prototype.on_payment_method_received=function(t){try{this.payment_response=t,this.populate_checkout_fields(t),t.complete("success"),this.on_token_received(t.paymentMethod)}catch(e){a.alert(e)}},wc_stripe.BaseGateway.prototype.populate_checkout_fields=function(t){this.set_nonce(t.paymentMethod.id),this.update_addresses(t)},wc_stripe.BaseGateway.prototype.update_addresses=function(t){t.payerName&&this.fields.set("name",t.payerName,"billing"),t.payerEmail&&this.fields.set("email",t.payerEmail,"billing"),t.payerPhone&&(this.fields.set("phone",t.payerPhone,"billing"),this.fields.exists("shipping_phone")&&this.fields.isEmpty("shipping_phone")&&this.fields.set("shipping_phone",t.payerPhone)),t.shippingAddress&&this.populate_shipping_fields(t.shippingAddress),t.paymentMethod.billing_details.address&&this.populate_billing_fields(t.paymentMethod.billing_details.address)},wc_stripe.BaseGateway.prototype.populate_address_fields=function(t,e){for(var i in t)null!==t[i]&&this.fields.set(i,t[i],e)},wc_stripe.BaseGateway.prototype.populate_billing_fields=function(t){this.populate_address_fields(t,"billing")},wc_stripe.BaseGateway.prototype.populate_shipping_fields=function(t){this.populate_address_fields(t,"shipping")},wc_stripe.BaseGateway.prototype.get_address_fields=function(){return["first_name","last_name","country","address_1","address_2","city","state","postcode","phone","email"]},wc_stripe.BaseGateway.prototype.get_address_object=function(e){var i={};return this.get_address_fields().forEach(function(t){i[t]=this.fields.get(t,e)}.bind(this)),i},wc_stripe.BaseGateway.prototype.is_current_page=function(t){return Array.isArray(t)?-1<t.indexOf(this.get_page()):this.get_page()===t},wc_stripe.BaseGateway.prototype.is_valid_address=function(t,e,i){if(o.isEmptyObject(t))return!1;var s=this.get_address_fields();void 0!==i&&i.forEach(function(t){-1<s.indexOf(t)&&s.splice(s.indexOf(t),1)});for(var a=0;a<s.length;a++){var n=s[a];if(this.fields.required(e+"_"+n)&&(!t[n]||"undefined"==typeof t[n]||!this.fields.isValid(n,t[n],t)))return!1}return!0},wc_stripe.BaseGateway.prototype.ajax_before_send=function(t){this.is_user_logged_in()&&t.setRequestHeader("X-WP-Nonce",this.params.rest_nonce)},wc_stripe.BaseGateway.prototype.process_checkout=function(){return new Promise(function(){this.block(),o.ajax({url:this.params.routes.checkout,method:"POST",dataType:"json",data:o.extend({},this.serialize_fields(),{payment_method:this.gateway_id,page_id:this.get_page(),currency:this.get_currency()}),beforeSend:this.ajax_before_send.bind(this)}).done(function(t){t.reload?a.location.reload():"success"===t.result?a.location=t.redirect:(t.messages&&this.submit_error(t.messages),this.unblock())}.bind(this)).fail(function(t,e,i){this.unblock(),this.submit_error(i)}.bind(this))}.bind(this))},wc_stripe.BaseGateway.prototype.process_payment=function(t,e){o.ajax({method:"POST",url:this.params.routes.checkout_payment,dataType:"json",data:o.extend({},this.fields.toJson(),{order_id:t,order_key:e}),beforeSend:this.ajax_before_send.bind(this)}).done(function(t){if(t.result&&"success"===t.result)a.location=t.redirect;else{if(t.reload)return a.location.reload();t.messages?(this.payment_token_received=!1,this.submit_error(t.messages)):this.submit_error(wc_checkout_params.i18n_checkout_error)}}.bind(this)).fail(function(){}.bind(this))},wc_stripe.BaseGateway.prototype.handle_next_action=function(e){try{return this.stripe[this.handleActionMethod](e.client_secret).then(function(t){if(t.error)return this.unblock(),this.payment_token_received=!1,this.submit_error(t.error);this.is_current_page("order_pay")?this.get_form().trigger("submit"):this.process_payment(e.order_id,e.order_key)}.bind(this))["catch"](function(t){this.submit_error(t.message)}.bind(this)),!1}catch(t){}},wc_stripe.BaseGateway.prototype.handle_payment_method_setup=function(e){try{return this.stripe[this.setupActionMethod](e.client_secret).then(function(t){if(t.error)return this.payment_token_received=!1,this.submit_error(t.error);this.is_current_page("order_pay")?this.get_form().trigger("submit"):this.process_payment(e.order_id,e.order_key)}.bind(this))["catch"](function(t){this.submit_error(t.message)}.bind(this)),!1}catch(t){}},wc_stripe.BaseGateway.prototype.hashchange=function(t){var e=a.location.hash.match(/response=(.*)/);if(e)try{var i=JSON.parse(a.atob(decodeURIComponent(e[1])));i&&i.hasOwnProperty("client_secret")&&i.gateway_id===this.gateway_id&&(history.pushState({},"",a.location.pathname),"intent"===i.type?this.handle_next_action(i):this.handle_payment_method_setup(i))}catch(s){}return!0},wc_stripe.BaseGateway.prototype.sync_payment_intent=function(t,s){return new Promise(function(e,i){o.ajax({method:"POST",dataType:"json",url:this.params.routes.sync_intent,data:{order_id:t,client_secret:s},beforeSend:this.ajax_before_send.bind(this)}).done(function(t){(t.code?i:e)(t)}).fail(function(t,e,i){this.submit_error(i)}.bind(this))}.bind(this))},wc_stripe.BaseGateway.prototype.create_setup_intent=function(){return new Promise(function(e,i){o.ajax({method:"POST",dataType:"json",data:{payment_method:this.gateway_id},url:this.params.routes.setup_intent,beforeSend:this.ajax_before_send.bind(this)}).done(function(t){t.code?i(t.message):(this.client_secret=t.intent.client_secret,e(t))}.bind(this)).fail(function(t,e,i){this.submit_error(i)}.bind(this))}.bind(this))},wc_stripe.BaseGateway.prototype.serialize_form=function(t){var e,i=t.find("input").filter(function(t,e){return!o(e).is('[name^="add-to-cart"]')}.bind(this)).serializeArray(),s={};for(e in i){var a=i[e];s[a.name]=a.value}return s.payment_method=this.gateway_id,s},wc_stripe.BaseGateway.prototype.serialize_fields=function(){return o.extend({},this.fields.toJson(),o(document.body).triggerHandler("wc_stripe_process_checkout_data",[this,this.fields]))},wc_stripe.BaseGateway.prototype.map_shipping_methods=function(t){var e={};return"default"===t||1<(t=t.match(/^([\w+]):(.+)$/)).length&&(e[t[1]]=t[2]),e},wc_stripe.BaseGateway.prototype.maybe_set_ship_to_different=function(){o('[name="ship_to_different_address"]').length&&o('[name="ship_to_different_address"]').prop("checked",this.get_address_field_hash("billing")!==this.get_address_field_hash("shipping")).trigger("change")},wc_stripe.BaseGateway.prototype.update_shipping_address=function(s){return new Promise(function(e,i){o.ajax({url:this.params.routes.shipping_address,method:"POST",dataType:"json",data:{address:this.map_address(s.shippingAddress),payment_method:this.gateway_id,page_id:this.get_page(),currency:this.get_currency()},beforeSend:this.ajax_before_send.bind(this)}).done(function(t){t.code?(s.updateWith(t.data.newData),i(t.data)):(s.updateWith(t.data.newData),this.fields.set("shipping_method",t.data.shipping_method),e(t.data))}.bind(this)).fail(function(){}.bind(this))}.bind(this))},wc_stripe.BaseGateway.prototype.update_shipping_method=function(s){return new Promise(function(e,i){o.ajax({url:this.params.routes.shipping_method,method:"POST",dataType:"json",data:{shipping_method:s.shippingOption.id,payment_method:this.gateway_id,currency:this.get_currency(),page_id:this.get_page()},beforeSend:this.ajax_before_send.bind(this)}).done(function(t){t.code?(s.updateWith(t.data.newData),i(t.data)):(this.set_selected_shipping_methods(t.data.shipping_methods),s.updateWith(t.data.newData),e(t.data))}.bind(this)).fail(function(t,e,i){this.submit_error(i)}.bind(this))}.bind(this))},wc_stripe.CheckoutGateway=function(){this.message_container="li.payment_method_"+this.gateway_id,this.banner_container="li.banner_payment_method_"+this.gateway_id,o(document.body).on("update_checkout",this.update_checkout.bind(this)),o(document.body).on("updated_checkout",this.updated_checkout.bind(this)),o(document.body).on("updated_checkout",this.container_styles.bind(this)),o(document.body).on("checkout_error",this.checkout_error.bind(this)),o(this.token_selector).closest("form").on("checkout_place_order_"+this.gateway_id,this.checkout_place_order.bind(this)),o(document.body).on("wc_stripe_new_method_"+this.gateway_id,this.on_show_new_methods.bind(this)),o(document.body).on("wc_stripe_saved_method_"+this.gateway_id,this.on_show_saved_methods.bind(this)),o(document.body).on("wc_stripe_payment_method_selected",this.on_payment_method_selected.bind(this)),this.banner_enabled()&&o(".woocommerce-billing-fields").length&&o(".wc-stripe-banner-checkout").css("max-width",o(".woocommerce-billing-fields").outerWidth(!0)),this.container_styles(),this.hasOrderReviewParams()},wc_stripe.CheckoutGateway.prototype.container_styles=function(){this.params.description||o(this.container).addClass("wc-stripe-no-desc"),o(this.container).find(".wc-stripe-saved-methods").length||o(this.container).find(".payment_box").addClass("wc-stripe-no-methods")},wc_stripe.CheckoutGateway.prototype.hasOrderReviewParams=function(){var t=a.location.search.match(/_stripe_order_review=(.+)/);if(t&&1<t.length)try{var e=JSON.parse(a.atob(decodeURIComponent(t[1])));this.gateway_id===e.payment_method&&(o(function(){this.payment_token_received=!0,this.set_nonce(e.payment_nonce),this.set_use_new_option(!0)}.bind(this)),history.pushState({},"",a.location.pathname))}catch(i){}},wc_stripe.CheckoutGateway.prototype.has3DSecureParams=function(){if((this.is_current_page("order_pay")||this.is_current_page("checkout")||this.is_change_payment_method())&&a.location.hash&&"string"==typeof a.location.hash){var t=a.location.hash.match(/response=(.*)/);if(t)try{var e=JSON.parse(a.atob(decodeURIComponent(t[1])));e&&e.hasOwnProperty("client_secret")&&e.gateway_id===this.gateway_id&&(o(function(){this.set_payment_method(this.gateway_id),this.set_use_new_option(!0),this.set_nonce(e.pm),!0===e.save_method&&this.set_save_payment_method(!0),o('[name="terms"]').prop("checked",!0)}.bind(this)),history.pushState({},"",a.location.pathname+a.location.search),this.handle_next_action(e))}catch(i){}}},wc_stripe.CheckoutGateway.prototype.update_shipping_address=function(){return wc_stripe.BaseGateway.prototype.update_shipping_address.apply(this,arguments).then(function(t){this.populate_address_fields(t.address,this.get_shipping_prefix()),this.fields.toFormFields({update_shipping_method:!1})}.bind(this))},wc_stripe.CheckoutGateway.prototype.updated_checkout=function(){},wc_stripe.CheckoutGateway.prototype.update_checkout=function(){},wc_stripe.CheckoutGateway.prototype.checkout_error=function(){this.has_checkout_error()&&(this.payment_token_received=!1,this.payment_response=null,this.show_payment_button(),this.hide_place_order())},wc_stripe.CheckoutGateway.prototype.is_valid_checkout=function(){return!(o('[name="terms"]').length&&o('[name="terms"]').is(":visible")&&!o('[name="terms"]').is(":checked"))},wc_stripe.CheckoutGateway.prototype.get_payment_method=function(){return o('[name="payment_method"]:checked').val()},wc_stripe.CheckoutGateway.prototype.set_use_new_option=function(t){o("#"+this.gateway_id+"_use_new").prop("checked",t).trigger("change")},wc_stripe.CheckoutGateway.prototype.checkout_place_order=function(){return this.is_valid_checkout()?!!this.is_saved_method_selected()||this.payment_token_received:(this.submit_error(this.params.messages.terms),!1)},wc_stripe.CheckoutGateway.prototype.on_token_received=function(t){this.payment_token_received=!0,this.set_nonce(t.id),this.hide_payment_button(),this.show_place_order()},wc_stripe.CheckoutGateway.prototype.block=function(){o().block&&this.get_form().block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},wc_stripe.CheckoutGateway.prototype.unblock=function(){o().block&&this.get_form().unblock()},wc_stripe.CheckoutGateway.prototype.hide_place_order=function(){o("#place_order").addClass("wc-stripe-hide")},wc_stripe.CheckoutGateway.prototype.show_place_order=function(){o("#place_order").removeClass("wc-stripe-hide")},wc_stripe.CheckoutGateway.prototype.on_show_new_methods=function(){this.payment_token_received?(this.show_place_order(),this.hide_payment_button()):(this.hide_place_order(),this.show_payment_button())},wc_stripe.CheckoutGateway.prototype.on_show_saved_methods=function(){this.hide_payment_button(),this.show_place_order()},wc_stripe.CheckoutGateway.prototype.show_payment_button=function(){this.$button&&this.$button.show()},wc_stripe.CheckoutGateway.prototype.hide_payment_button=function(){this.$button&&this.$button.hide()},wc_stripe.CheckoutGateway.prototype.trigger_payment_method_selected=function(){this.on_payment_method_selected(null,o('[name="payment_method"]:checked').val())},wc_stripe.CheckoutGateway.prototype.show_new_payment_method=function(){o('[name="'+this.gateway_id+'_payment_type_key"][value="new"').trigger("click")},wc_stripe.CheckoutGateway.prototype.on_payment_method_selected=function(t,e){e===this.gateway_id?this.payment_token_received||this.is_saved_method_selected()?(this.hide_payment_button(),this.show_place_order()):(this.show_payment_button(),this.hide_place_order()):(this.hide_payment_button(),e&&e.indexOf("stripe_")<0&&this.show_place_order())},wc_stripe.CheckoutGateway.prototype.banner_enabled=function(){return"1"===this.params.banner_enabled},wc_stripe.CheckoutGateway.prototype.checkout_fields_valid=function(){if(["checkout","order_pay"].indexOf(this.get_page())<0)return!0;var t=!0;return(t=this.fields.validateFields("billing"))?this.needs_shipping()&&o("#ship-to-different-address-checkbox").is(":checked")?(t=this.fields.validateFields("shipping"))||this.submit_error(this.params.messages.required_field):(t=this.is_valid_checkout())||this.submit_error(this.params.messages.terms):this.submit_error(this.params.messages.required_field),t},wc_stripe.CheckoutGateway.prototype.cart_contains_subscription=function(){return"undefined"!=typeof wc_stripe_cart_contains_subscription&&!0===wc_stripe_cart_contains_subscription},wc_stripe.CheckoutGateway.prototype.set_save_payment_method=function(t){o('[name="'+this.gateway_id+'_save_source_key"]').prop("checked",t)},wc_stripe.CheckoutGateway.prototype.process_order_pay=function(){var t=this.get_form().serializeArray();t.push({name:"_wpnonce",value:this.params.rest_nonce}),t.push({name:"order_id",value:this.params.order_id}),t.push({name:"order_key",value:this.params.order_key}),this.block(),o.ajax({url:this.params.routes.order_pay,method:"POST",dataType:"json",data:o.param(t)}).done(function(t){t.success?t.needs_confirmation?t.data?this.handle_next_action(t.data):a.location.href=t.redirect:this.get_form().trigger("submit"):this.submit_error(t.message)}.bind(this)).fail(function(t,e,i){this.unblock(),this.submit_error(i)}.bind(this))},wc_stripe.ProductGateway=function(){this.message_container="div.product",o("form.cart").on("found_variation",this.found_variation.bind(this)),o("form.cart").on("reset_data",this.reset_variation_data.bind(this)),this.buttonWidth=o("form.cart div.quantity").outerWidth(!0)+o(".single_add_to_cart_button").outerWidth();var t=o(".single_add_to_cart_button").css("marginLeft");t&&(this.buttonWidth+=parseInt(t.replace("px",""))),o(this.container).css("max-width",this.buttonWidth+"px")},wc_stripe.ProductGateway.prototype.get_quantity=function(){return parseInt(o('[name="quantity"]').val())},wc_stripe.ProductGateway.prototype.set_rest_nonce=function(t,e){this.params.rest_nonce=e},wc_stripe.ProductGateway.prototype.found_variation=function(t,e){var i=this.get_gateway_data();i.product.price=e.display_price,i.needs_shipping=!e.is_virtual,i.product.variation=e,this.set_gateway_data(i)},wc_stripe.ProductGateway.prototype.reset_variation_data=function(){var t=this.get_product_data();t.variation=!1,this.set_product_data(t),this.disable_payment_button()},wc_stripe.ProductGateway.prototype.disable_payment_button=function(){this.$button&&this.get_button().prop("disabled",!0).addClass("disabled")},wc_stripe.ProductGateway.prototype.enable_payment_button=function(){this.$button&&this.get_button().prop("disabled",!1).removeClass("disabled")},wc_stripe.ProductGateway.prototype.get_button=function(){return this.$button},wc_stripe.ProductGateway.prototype.is_variable_product=function(){return!!this.get_product_data().variation||0<o('[name="variation_id"]').length},wc_stripe.ProductGateway.prototype.variable_product_selected=function(){var t=this.get_product_data().variation,e=o('input[name="variation_id"]').val();return!!t||!!e&&"0"!=e},wc_stripe.ProductGateway.prototype.get_product_data=function(){return this.get_gateway_data().product},wc_stripe.ProductGateway.prototype.set_product_data=function(t){var e=this.get_gateway_data();e.product=t,this.set_gateway_data(e)},wc_stripe.ProductGateway.prototype.get_form=function(){return o(this.container).closest("form")},wc_stripe.ProductGateway.prototype.add_to_cart=function(){return new Promise(function(e,i){this.block();var t={product_id:this.get_product_data().id,variation_id:this.is_variable_product()?o('[name="variation_id"]').val():0,qty:o('[name="quantity"]').val(),payment_method:this.gateway_id,currency:this.get_currency(),page_id:this.get_page()},s=this.get_form().find(':not([name="add-to-cart"],[name="quantity"],[name^="attribute_"],[name="variation_id"])').serializeArray();if(s)for(var a in s)t[s[a].name]=s[a].value;o.ajax({url:this.params.routes.add_to_cart,method:"POST",dataType:"json",data:o.extend({},t,this.get_product_variations()),beforeSend:this.ajax_before_send.bind(this)}).done(function(t){this.unblock(),t.code?(this.submit_error(t.message),i(t)):(this.set_total_price(t.data.total),this.set_total_price_cents(t.data.totalCents),this.set_display_items(t.data.displayItems),e(t.data))}.bind(this)).fail(function(t,e,i){this.unblock(),this.submit_error(i)}.bind(this))}.bind(this))},wc_stripe.ProductGateway.prototype.cart_calculation=function(t){return new Promise(function(e,i){this.processing_calculation=!0,o.ajax({url:this.params.routes.cart_calculation,method:"POST",dataType:"json",data:o.extend({},{product_id:this.get_product_data().id,variation_id:this.is_variable_product()&&t?t:0,qty:o('[name="quantity"]').val(),currency:this.get_currency(),payment_method:this.gateway_id},this.get_product_variations()),beforeSend:this.ajax_before_send.bind(this)}).done(function(t){this.processing_calculation=!1,t.code?(this.cart_calculation_error=!0,i(t)):(this.set_total_price(t.data.total),this.set_total_price_cents(t.data.totalCents),this.set_display_items(t.data.displayItems),e(t.data))}.bind(this)).fail(function(){this.processing_calculation=!1}.bind(this))}.bind(this))},wc_stripe.ProductGateway.prototype.get_product_variations=function(){var s={};return this.is_variable_product()&&o('.variations [name^="attribute_"]').each(function(t,e){var i=o(e),e=i.data("attribute_name")||i.attr("name");s[e]=i.val()}),s},wc_stripe.CartGateway=function(){this.message_container="div.woocommerce",o(document.body).on("updated_wc_div",this.updated_html.bind(this)),o(document.body).on("updated_cart_totals",this.updated_html.bind(this)),o(document.body).on("wc_cart_emptied",this.cart_emptied.bind(this))},wc_stripe.CartGateway.prototype.submit_error=function(t){this.submit_message(this.get_error_message(t))},wc_stripe.CartGateway.prototype.updated_html=function(t){},wc_stripe.CartGateway.prototype.cart_emptied=function(t){},wc_stripe.CartGateway.prototype.add_cart_totals_class=function(){o(".cart_totals").addClass("stripe_cart_gateway_active")},wc_stripe.GooglePay=function(){},wc_stripe.GooglePay.prototype.handleActionMethod="handleCardAction",wc_stripe.GooglePay.prototype.setupActionMethod="confirmCardSetup";var s={apiVersion:2,apiVersionMinor:0},n={type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],assuranceDetailsRequired:!0}};wc_stripe.GooglePay.prototype.update_addresses=function(t){var e;t.paymentMethodData.info.billingAddress&&(e=t.paymentMethodData.info.billingAddress,this.is_current_page("checkout")&&this.is_valid_address(this.billing_address_object,"billing",["phone","email"])&&(e={phoneNumber:e.phoneNumber}),this.populate_billing_fields(e),e.phoneNumber&&this.fields.exists("shipping_phone")&&this.fields.isEmpty("shipping_phone")&&this.fields.set("shipping_phone",e.phoneNumber)),t.shippingAddress&&this.populate_shipping_fields(t.shippingAddress),t.email&&this.fields.set("email",t.email,"billing")},wc_stripe.GooglePay.prototype.map_address=function(t){return{city:t.locality,postcode:t.postalCode,state:t.administrativeArea,country:t.countryCode}},wc_stripe.GooglePay.prototype.update_payment_data=function(s){return new Promise(function(e,i){var t="default"==s.shippingOptionData.id?null:s.shippingOptionData.id;o.when(o.ajax({url:this.params.routes.payment_data,dataType:"json",method:"POST",data:{address:this.map_address(s.shippingAddress),shipping_method:t,page_id:this.get_page(),currency:this.get_currency()},beforeSend:this.ajax_before_send.bind(this)})).done(function(t){t.code?i(t.data.data):e(t.data)}.bind(this)).fail(function(){i()}.bind(this))}.bind(this))},wc_stripe.GooglePay.prototype.on_payment_data_changed=function(i){return new Promise(function(e){this.update_payment_data(i).then(function(t){e(t.paymentRequestUpdate),this.set_selected_shipping_methods(t.shipping_methods),this.payment_data_updated(t,i)}.bind(this))["catch"](function(t){e(t)}.bind(this))}.bind(this))},wc_stripe.GooglePay.prototype.payment_data_updated=function(t){},wc_stripe.GooglePay.prototype.get_merchant_info=function(){var t={merchantId:this.params.merchant_id,merchantName:this.params.merchant_name};return"TEST"===this.params.environment&&delete t.merchantId,t},wc_stripe.GooglePay.prototype.get_payment_options=function(){var t,e={environment:this.params.environment,merchantInfo:this.get_merchant_info(),paymentDataCallbacks:{onPaymentAuthorized:function(){return new Promise(function(t){t({transactionState:"SUCCESS"})}.bind(this))}}};return this.needs_shipping()&&(t=this.get_shipping_prefix(),(!this.is_current_page("checkout")||this.is_valid_address(this.get_address_object(t),t,["email","phone"]))&&this.is_current_page("checkout")||(e.paymentDataCallbacks.onPaymentDataChanged=this.on_payment_data_changed.bind(this))),e},wc_stripe.GooglePay.prototype.build_payment_request=function(){var t=o.extend({},s,{emailRequired:this.fields.requestFieldInWallet("billing_email"),merchantInfo:this.get_merchant_info(),allowedPaymentMethods:[o.extend({type:"CARD",tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"stripe","stripe:version":"2018-10-31","stripe:publishableKey":this.params.api_key}}},n)],shippingAddressRequired:function(){if(this.needs_shipping()){var t=this.get_shipping_prefix();if(this.is_current_page("checkout")&&!this.is_valid_address(this.get_address_object(t),t,["email","phone"])||!this.is_current_page("checkout"))return!0}return!1}.bind(this)(),transactionInfo:{countryCode:this.params.processing_country,currencyCode:this.get_currency(),totalPriceStatus:"ESTIMATED",totalPrice:this.get_total_price().toString(),displayItems:this.get_display_items(),totalPriceLabel:this.params.total_price_label}});return t.allowedPaymentMethods[0].parameters.billingAddressRequired=function(){if(this.is_current_page("checkout")){var t=this.billing_address_object=this.get_address_object("billing");return this.fields.requestFieldInWallet("billing_phone")||!this.is_valid_address(t,"billing",["email"])?!0:!1}return!0}.bind(this)(),t.allowedPaymentMethods[0].parameters.billingAddressRequired&&(t.allowedPaymentMethods[0].parameters.billingAddressParameters={format:"FULL",phoneNumberRequired:this.fields.requestFieldInWallet("billing_phone")}),t.shippingAddressRequired?(t.shippingAddressParameters={},t.shippingOptionRequired=!0,t.shippingOptionParameters={shippingOptions:this.get_shipping_options()},t.callbackIntents=["SHIPPING_ADDRESS","SHIPPING_OPTION","PAYMENT_AUTHORIZATION"]):t.callbackIntents=["PAYMENT_AUTHORIZATION"],this.payment_request_options=t},wc_stripe.GooglePay.prototype.createPaymentsClient=function(){this.paymentsClient=new google.payments.api.PaymentsClient(this.get_payment_options())},wc_stripe.GooglePay.prototype.isReadyToPay=function(){return new Promise(function(t){var e=o.extend({},s);e.allowedPaymentMethods=[n],this.paymentsClient.isReadyToPay(e).then(function(){this.can_pay=!0,this.create_button(),t()}.bind(this))["catch"](function(t){t&&t.message&&-1<t.message.indexOf("ShadowRoot")?console.log("GPay is not supported on this browser."):this.submit_error(t)}.bind(this))}.bind(this))},wc_stripe.GooglePay.prototype.create_button=function(){this.$button&&this.$button.remove(),this.$button=o(this.paymentsClient.createButton(this.get_button_options())),this.$button.addClass("gpay-button-container")},wc_stripe.GooglePay.prototype.get_button_options=function(){var t={onClick:this.start.bind(this),buttonColor:this.params.button_color,buttonType:this.params.button_style,buttonSizeMode:this.params.button_size_mode};return null!==this.params.button_locale&&(t.buttonLocale=this.params.button_locale),t},wc_stripe.GooglePay.prototype.start=function(){this.createPaymentsClient(),this.paymentsClient.loadPaymentData(this.build_payment_request()).then(function(t){var e=JSON.parse(t.paymentMethodData.tokenizationData.token);this.update_addresses(t),this.stripe.createPaymentMethod({type:"card",card:{token:e.id},billing_details:this.get_billing_details()}).then(function(t){if(t.error)return this.submit_error(t.error);this.on_token_received(t.paymentMethod)}.bind(this))}.bind(this))["catch"](function(t){"CANCELED"!==t.statusCode&&(t.statusMessage&&-1<t.statusMessage.indexOf("paymentDataRequest.callbackIntent")?this.submit_error_code("DEVELOPER_ERROR_WHITELIST"):this.submit_error(t.statusMessage))}.bind(this))},wc_stripe.ApplePay=function(){},wc_stripe.ApplePay.prototype.handleActionMethod="handleCardAction",wc_stripe.ApplePay.prototype.setupActionMethod="confirmCardSetup",wc_stripe.ApplePay.prototype.initialize=function(){this.createPaymentRequest(),this.canMakePayment()},wc_stripe.ApplePay.prototype.get_payment_request_options=function(){return o.extend({},wc_stripe.BaseGateway.prototype.get_payment_request_options.apply(this,arguments),{disableWallets:["googlePay"]})},wc_stripe.ApplePay.prototype.create_button=function(){this.$button&&this.$button.remove(),this.$button=o(this.params.button),this.$button.on("click",this.start.bind(this)),this.append_button()},wc_stripe.ApplePay.prototype.canMakePayment=function(){return new Promise(function(e){this.paymentRequest.canMakePayment().then(function(t){t&&t.applePay&&(this.can_pay=!0,this.create_button(),o(this.container).show(),e(t))}.bind(this))}.bind(this))},wc_stripe.ApplePay.prototype.start=function(t){t.preventDefault(),this.paymentRequest.update(this.get_payment_request_update({total:{pending:!1}})),this.paymentRequest.show()},wc_stripe.PaymentRequest=function(){},wc_stripe.PaymentRequest.prototype.handleActionMethod="handleCardAction",wc_stripe.PaymentRequest.prototype.setupActionMethod="confirmCardSetup",wc_stripe.PaymentRequest.prototype.initialize=function(){this.createPaymentRequest(),this.createPaymentRequestButton(),this.canMakePayment(),this.paymentRequestButton.on("click",this.button_click.bind(this))},wc_stripe.PaymentRequest.prototype.button_click=function(t){},wc_stripe.PaymentRequest.prototype.createPaymentRequestButton=function(){this.paymentRequestButton&&this.paymentRequestButton.destroy(),this.paymentRequestButton=this.elements.create("paymentRequestButton",{paymentRequest:this.paymentRequest,style:{paymentRequestButton:{type:this.params.button.type,theme:this.params.button.theme,height:this.params.button.height}}})},wc_stripe.PaymentRequest.prototype.canMakePayment=function(){return new Promise(function(e){var i=this.paymentRequest;this.paymentRequest.canMakePayment().then(function(t){t&&!t.applePay&&i===this.paymentRequest&&(this.can_pay=!0,this.create_button(),o(this.container).show(),e(t))}.bind(this))}.bind(this))},wc_stripe.PaymentRequest.prototype.create_button=function(){this.paymentRequestButton.mount("#wc-stripe-payment-request-container")},wc_stripe.Afterpay=function(){},wc_stripe.Afterpay.prototype.is_eligible=function(t){return this.needs_shipping()&&t>this.get_min()&&t<this.get_max()},wc_stripe.Afterpay.prototype.get_min=function(){var t=this.get_currency(),t=this.params.requirements[t];return t?t[1]:0},wc_stripe.Afterpay.prototype.get_max=function(){var t=this.get_currency(),t=this.params.requirements[t];return t?t[2]:0},wc_stripe.Afterpay.prototype.add_eligibility=function(t,e){o(t).length&&(this.is_eligible(e)?o(t).removeClass("afterpay-ineligible"):this.hide_ineligible_active()&&o(t).addClass("afterpay-ineligible"))},wc_stripe.Afterpay.prototype.hide_ineligible_active=function(){return"yes"===this.params.hide_ineligible},wc_stripe.CheckoutFields=function(t,e){this.params=t,this.page=e,this.session_values=this.supportsSessionStorage()&&sessionStorage.getItem("wc_stripe_checkout_fields")?JSON.parse(sessionStorage.getItem("wc_stripe_checkout_fields")):{},this.fields=new Map(Object.keys(this.params).map(function(t){return null===this.params[t].value&&(t in this.session_values&&null!==this.session_values[t]?this.params[t].value=this.session_values[t]:this.params[t].value=""),[t,this.params[t].value]}.bind(this))),("checkout"===e||"cart"===e&&o(document.body).is(".woocommerce-checkout")||0<o("form.woocommerce-checkout").length)&&(o(document.body).on("updated_checkout",this.updated_checkout.bind(this)),o(document.body).on("change",'[name^="billing_"], [name^="shipping_"]',this.onChange.bind(this)),o("form.checkout").on("change",'.input-text:not([name^="billing_"], [name^="shipping_"], [name="account_password"]), select:not([name^="billing_"], [name^="shipping_"])',this.onChange.bind(this)),o("form.checkout").on("change",'[name="ship_to_different_address"]',this.on_ship_to_address_change.bind(this)),this.init_i18n(),o('[name="ship_to_different_address"]').is(":checked")?this.update_required_fields(o("#shipping_country").val(),"shipping_country"):this.update_required_fields(o("#billing_country").val(),"billing_country"))},wc_stripe.CheckoutFields.prototype.supportsSessionStorage=function(){return"sessionStorage"in a&&null!==a.sessionStorage&&["getItem","setItem"].reduce(function(t,e){return t&&e in sessionStorage}.bind(this),!0)},wc_stripe.CheckoutFields.prototype.init_i18n=function(){"undefined"!=typeof wc_address_i18n_params?this.locales=JSON.parse(wc_address_i18n_params.locale.replace(/&quot;/g,'"')):this.locales=null},wc_stripe.CheckoutFields.prototype.updated_checkout=function(){this.syncCheckoutFieldsWithDOM()},wc_stripe.CheckoutFields.prototype.syncCheckoutFieldsWithDOM=function(){for(var t in this.params)o("#"+t).length&&this.fields.set(t,o("#"+t).val())},wc_stripe.CheckoutFields.prototype.onChange=function(t){try{var e=t.currentTarget.name,i=t.currentTarget.value;this.fields.set(e,i),"billing_country"!==e&&"shipping_country"!==e||this.update_required_fields(i,e),this.supportsSessionStorage()&&sessionStorage.setItem("wc_stripe_checkout_fields",JSON.stringify(this.toJson()))}catch(s){console.log(s)}},wc_stripe.CheckoutFields.prototype.update_required_fields=function(t,e){if(this.locales){var i,s=-1<e.indexOf("billing_")?"billing_":"shipping_",t="undefined"!=typeof this.locales[t]?this.locales[t]:this.locales["default"],a=o.extend(!0,{},this.locales["default"],t);for(i in a){var n=s+i;this.params[n]&&(this.params[n]=o.extend(!0,{},this.params[n],a[i]))}}},wc_stripe.CheckoutFields.prototype.on_ship_to_address_change=function(t){o(t.currentTarget).is(":checked")&&this.update_required_fields(o("#shipping_country").val(),"shipping_country")},wc_stripe.CheckoutFields.prototype.requestFieldInWallet=function(t){return"checkout"===this.page?this.required(t)&&this.isEmpty(t):"order_pay"!==this.page&&this.required(t)},wc_stripe.CheckoutFields.prototype.set=function(t,e,i){this[t]&&"function"==typeof this[t]?this[t]().set.call(this,e,i):this.fields.set(t,e)},wc_stripe.CheckoutFields.prototype.get=function(t,e){var i;return this[t]&&"function"==typeof this[t]?i=this[t]().get.call(this,e):null!=(i=this.fields.get(t))&&""!==i||void 0!==e&&(i=e),void 0===i?"":i},wc_stripe.CheckoutFields.prototype.required=function(t){return!(!this.params[t]||"undefined"==typeof this.params[t].required)&&this.params[t].required},wc_stripe.CheckoutFields.prototype.exists=function(t){return t in this.params},wc_stripe.CheckoutFields.prototype.isEmpty=function(t){if(this.fields.has(t)){t=this.fields.get(t);return null==t||"string"==typeof t&&0===t.trim().length}return!0},wc_stripe.CheckoutFields.prototype.isValid=function(t){if(this[t]&&"function"==typeof this[t])return this[t]().isValid.apply(this,Array.prototype.slice.call(arguments,1))},wc_stripe.CheckoutFields.prototype.first_name=function(){return{set:function(t,e){this.fields.set(e+"_first_name",t)},get:function(t){return this.fields.get(t+"_first_name")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.last_name=function(){return{set:function(t,e){this.fields.set(e+"_last_name",t)},get:function(t){return this.fields.get(t+"_last_name")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.address_1=function(){return{set:function(t,e){this.fields.set(e+"_address_1",t)},get:function(t){return this.fields.get(t+"_address_1")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.address_2=function(){return{set:function(t,e){this.fields.set(e+"_address_2",t)},get:function(t){return this.fields.get(t+"_address_2")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.name=function(){return{set:function(t,e){this.fields.set(e+"_full_name",t);var i=t.split(" ");1<i.length?(t=i.pop(),this.fields.set(e+"_first_name",i.join(" ")),this.fields.set(e+"_last_name",t)):1==i.length&&this.fields.set(e+"_first_name",i[0])},get:function(t){return this.fields.get(t+"_first_name")+" "+this.fields.get(t+"_last_name")}}},wc_stripe.CheckoutFields.prototype.email=function(){return{set:function(t,e){this.fields.set(e+"_email",t)},get:function(t){return this.fields.get(t+"_email")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.phone=function(){return{set:function(t,e){this.fields.set(e+"_phone",t)},get:function(t){return this.fields.get(t+"_phone")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.country=function(){return{set:function(t,e){this.fields.set(e+"_country",t)},get:function(t){return this.fields.get(t+"_country")},isValid:function(t){return"string"==typeof t&&2===t.length}}},wc_stripe.CheckoutFields.prototype.state=function(){return{set:function(i,t){2<(i=i.toUpperCase()).length&&"checkout"===this.page&&o("#"+t+"_state option").each(function(){var t=o(this),e=t.text().toUpperCase();i===e&&(i=t.val())}),this.fields.set(t+"_state",i)},get:function(t){return this.fields.get(t+"_state")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.city=function(){return{set:function(t,e){this.fields.set(e+"_city",t)},get:function(t){return this.fields.get(t+"_city")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.postcode=function(){return{set:function(t,e){this.fields.set(e+"_postcode",t)},get:function(t){return this.fields.get(t+"_postcode")},isValid:function(t){return"string"==typeof t&&0<t.length}}},wc_stripe.CheckoutFields.prototype.recipient=function(){return wc_stripe.CheckoutFields.prototype.name.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.payerName=function(){return wc_stripe.CheckoutFields.prototype.name.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.payerEmail=function(){return wc_stripe.CheckoutFields.prototype.email.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.payerPhone=function(){return wc_stripe.CheckoutFields.prototype.phone.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.phoneNumber=function(){return wc_stripe.CheckoutFields.prototype.phone.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.countryCode=function(){return wc_stripe.CheckoutFields.prototype.country.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.address1=function(){return wc_stripe.CheckoutFields.prototype.address_1.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.address2=function(){return wc_stripe.CheckoutFields.prototype.address_2.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.line1=function(){return wc_stripe.CheckoutFields.prototype.address_1.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.line2=function(){return wc_stripe.CheckoutFields.prototype.address_2.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.addressLine=function(){return{set:function(t,e){0<t.length&&this.fields.set(e+"_address_1",t[0]),1<t.length&&this.fields.set(e+"_address_2",t[1])},get:function(t){return[this.fields.get(t+"_address_1"),this.fields.get(t+"_address_2")]},isValid:function(t){return 0<t.length&&("string"==typeof t[0]&&0<t[0].length)}}},wc_stripe.CheckoutFields.prototype.region=function(){return wc_stripe.CheckoutFields.prototype.state.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.administrativeArea=function(){return wc_stripe.CheckoutFields.prototype.state.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.locality=function(){return wc_stripe.CheckoutFields.prototype.city.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.postal_code=function(){return wc_stripe.CheckoutFields.prototype.postcode.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.postalCode=function(){return wc_stripe.CheckoutFields.prototype.postcode.apply(this,arguments)},wc_stripe.CheckoutFields.prototype.toJson=function(){var i={};return this.fields.forEach(function(t,e){i[e]=t}),i},wc_stripe.CheckoutFields.prototype.toFormFields=function(t){var i=[];this.fields.forEach(function(t,e){e='[name="'+e+'"]';o(e).length&&""!==t&&(o(e).val()!==t&&o(e).is("select")&&i.push(e),o(e).val(t))}),0<i.length&&o(i.join(",")).trigger("change"),void 0!==t&&o(document.body).trigger("update_checkout",t)},wc_stripe.CheckoutFields.prototype.validateFields=function(t){for(var e in this.params){var i=this.params[e];if(-1<e.indexOf(t)&&i.required&&o("#"+e).length&&o("#"+e).is(":visible")){i=o("#"+e).val();if(null==i||0===i.length)return!1}}return!0};try{i=Stripe(wc_stripe_params_v3.api_key,wc_stripe_params_v3.stripeParams)}catch(t){return a.alert(t),console.log(t)}var r=new wc_stripe.CheckoutFields(wc_stripe_checkout_fields,wc_stripe_params_v3.page)}(window,jQuery);
i18n/languages/woo-stripe-payment.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the Payment Plugins for Stripe WooCommerce plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Payment Plugins for Stripe WooCommerce 3.3.20\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-stripe-payment\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-06-04T02:53:14+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: woo-stripe-payment\n"
@@ -1063,7 +1063,7 @@ msgstr ""
1063
  msgid "%1$s is an invalid controller name."
1064
  msgstr ""
1065
 
1066
- #: includes/class-wc-stripe-update.php:54
1067
  msgid "Thank you for updating Stripe for WooCommerce to version %1$s."
1068
  msgstr ""
1069
 
@@ -1071,23 +1071,23 @@ msgstr ""
1071
  msgid "Quantity must be greater than zero."
1072
  msgstr ""
1073
 
1074
- #: includes/controllers/class-wc-stripe-controller-checkout.php:129
1075
  msgid "Invalid order ID."
1076
  msgstr ""
1077
 
1078
- #: includes/controllers/class-wc-stripe-controller-checkout.php:132
1079
  msgid "Invalid order key."
1080
  msgstr ""
1081
 
1082
- #: includes/controllers/class-wc-stripe-controller-checkout.php:171
1083
  #: includes/controllers/class-wc-stripe-controller-payment-intent.php:115
1084
  #: includes/controllers/class-wc-stripe-controller-payment-intent.php:152
1085
  #: packages/cartflows/src/Routes/PaymentIntentRoute.php:47
1086
  msgid "You are not authorized to update this order."
1087
  msgstr ""
1088
 
1089
- #: includes/controllers/class-wc-stripe-controller-checkout.php:296
1090
- #: includes/controllers/class-wc-stripe-controller-checkout.php:342
1091
  msgid "Please review your order details then click Place Order."
1092
  msgstr ""
1093
 
@@ -1218,7 +1218,7 @@ msgstr ""
1218
  #: includes/gateways/class-wc-payment-gateway-stripe-afterpay.php:26
1219
  #: includes/gateways/class-wc-payment-gateway-stripe-afterpay.php:27
1220
  #: packages/blocks/assets/js/payment-methods/local-payment/afterpay.js:114
1221
- #: packages/blocks/build/commons.js:3774
1222
  msgid "Afterpay"
1223
  msgstr ""
1224
 
@@ -1753,7 +1753,7 @@ msgstr ""
1753
 
1754
  #: includes/gateways/class-wc-payment-gateway-stripe-wechat.php:92
1755
  #: packages/blocks/assets/js/payment-methods/local-payment/wechat.js:130
1756
- #: packages/blocks/build/commons.js:4896
1757
  msgid "Scan the QR code using your WeChat app. Once scanned click the Place Order button."
1758
  msgstr ""
1759
 
@@ -2596,6 +2596,10 @@ msgstr ""
2596
  msgid "You do not have permission to use the PaymentElement card form. Please send a request to https://support.stripe.com/ and ask for the \"server_side_confirmation_beta\" to be added to your account."
2597
  msgstr ""
2598
 
 
 
 
 
2599
  #: includes/wc-stripe-webhook-functions.php:106
2600
  msgid "Charge.succeeded webhook received. Payment has been completed."
2601
  msgstr ""
@@ -2738,7 +2742,7 @@ msgstr ""
2738
 
2739
  #: templates/checkout/afterpay.php:11
2740
  #: packages/blocks/assets/js/payment-methods/local-payment/afterpay.js:74
2741
- #: packages/blocks/build/commons.js:3734
2742
  msgid "After clicking \"%s\", you will be redirected to Afterpay to complete your purchase securely."
2743
  msgstr ""
2744
 
@@ -2748,25 +2752,25 @@ msgstr ""
2748
 
2749
  #: templates/checkout/boleto.php:17
2750
  #: packages/blocks/assets/js/payment-methods/local-payment/boleto.js:48
2751
- #: packages/blocks/build/commons.js:3970
2752
  msgid "Test mode values"
2753
  msgstr ""
2754
 
2755
  #: templates/checkout/boleto.php:27
2756
  #: packages/blocks/assets/js/payment-methods/local-payment/boleto.js:58
2757
- #: packages/blocks/build/commons.js:3980
2758
  msgid "Accepted formats"
2759
  msgstr ""
2760
 
2761
  #: templates/checkout/boleto.php:29
2762
  #: packages/blocks/assets/js/payment-methods/local-payment/boleto.js:61
2763
- #: packages/blocks/build/commons.js:3983
2764
  msgid "XXX.XXX.XXX-XX or XXXXXXXXXXX"
2765
  msgstr ""
2766
 
2767
  #: templates/checkout/boleto.php:32
2768
  #: packages/blocks/assets/js/payment-methods/local-payment/boleto.js:65
2769
- #: packages/blocks/build/commons.js:3987
2770
  msgid "XX.XXX.XXX/XXXX-XX or XXXXXXXXXXXXXX"
2771
  msgstr ""
2772
 
@@ -2780,7 +2784,7 @@ msgstr ""
2780
 
2781
  #: templates/checkout/klarna-v2.php:12
2782
  #: packages/blocks/assets/js/payment-methods/local-payment/klarna.js:15
2783
- #: packages/blocks/build/commons.js:4395
2784
  msgid "Test mode sms"
2785
  msgstr ""
2786
 
@@ -2807,28 +2811,28 @@ msgid "%s is not a valid blocks Stripe custom form. Please choose another custom
2807
  msgstr ""
2808
 
2809
  #: packages/blocks/assets/js/payment-methods/local-payment/boleto.js:27
2810
- #: packages/blocks/build/commons.js:3949
2811
  msgid "Please enter a valid CPF/CNPJ value"
2812
  msgstr ""
2813
 
2814
  #: packages/blocks/assets/js/payment-methods/local-payment/hooks/use-create-source.js:73
2815
  #: packages/blocks/assets/js/payment-methods/local-payment/hooks/use-validate-checkout.js:10
2816
- #: packages/blocks/build/commons.js:4274
2817
- #: packages/blocks/build/commons.js:4311
2818
  msgid "Please enter your payment info before proceeding."
2819
  msgstr ""
2820
 
2821
  #: packages/blocks/assets/js/payment-methods/local-payment/wechat.js:51
2822
- #: packages/blocks/build/commons.js:4817
2823
  msgid "Please scan your QR code to continue with payment."
2824
  msgstr ""
2825
 
2826
  #: packages/blocks/assets/js/payment-methods/local-payment/wechat.js:97
2827
- #: packages/blocks/build/commons.js:4863
2828
  msgid "Please fill out all the required fields in order to complete the WeChat payment."
2829
  msgstr ""
2830
 
2831
  #: packages/blocks/assets/js/payment-methods/local-payment/wechat.js:127
2832
- #: packages/blocks/build/commons.js:4893
2833
  msgid "Test mode: Click the Place Order button to proceed."
2834
  msgstr ""
2
  # This file is distributed under the same license as the Payment Plugins for Stripe WooCommerce plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Payment Plugins for Stripe WooCommerce 3.3.21\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-stripe-payment\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-06-06T04:08:21+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: woo-stripe-payment\n"
1063
  msgid "%1$s is an invalid controller name."
1064
  msgstr ""
1065
 
1066
+ #: includes/class-wc-stripe-update.php:55
1067
  msgid "Thank you for updating Stripe for WooCommerce to version %1$s."
1068
  msgstr ""
1069
 
1071
  msgid "Quantity must be greater than zero."
1072
  msgstr ""
1073
 
1074
+ #: includes/controllers/class-wc-stripe-controller-checkout.php:131
1075
  msgid "Invalid order ID."
1076
  msgstr ""
1077
 
1078
+ #: includes/controllers/class-wc-stripe-controller-checkout.php:134
1079
  msgid "Invalid order key."
1080
  msgstr ""
1081
 
1082
+ #: includes/controllers/class-wc-stripe-controller-checkout.php:173
1083
  #: includes/controllers/class-wc-stripe-controller-payment-intent.php:115
1084
  #: includes/controllers/class-wc-stripe-controller-payment-intent.php:152
1085
  #: packages/cartflows/src/Routes/PaymentIntentRoute.php:47
1086
  msgid "You are not authorized to update this order."
1087
  msgstr ""
1088
 
1089
+ #: includes/controllers/class-wc-stripe-controller-checkout.php:298
1090
+ #: includes/controllers/class-wc-stripe-controller-checkout.php:344
1091
  msgid "Please review your order details then click Place Order."
1092
  msgstr ""
1093
 
1218
  #: includes/gateways/class-wc-payment-gateway-stripe-afterpay.php:26
1219
  #: includes/gateways/class-wc-payment-gateway-stripe-afterpay.php:27
1220
  #: packages/blocks/assets/js/payment-methods/local-payment/afterpay.js:114
1221
+ #: packages/blocks/build/commons.js:3755
1222
  msgid "Afterpay"
1223
  msgstr ""
1224
 
1753
 
1754
  #: includes/gateways/class-wc-payment-gateway-stripe-wechat.php:92
1755
  #: packages/blocks/assets/js/payment-methods/local-payment/wechat.js:130
1756
+ #: packages/blocks/build/commons.js:4877
1757
  msgid "Scan the QR code using your WeChat app. Once scanned click the Place Order button."
1758
  msgstr ""
1759
 
2596
  msgid "You do not have permission to use the PaymentElement card form. Please send a request to https://support.stripe.com/ and ask for the \"server_side_confirmation_beta\" to be added to your account."
2597
  msgstr ""
2598
 
2599
+ #: includes/wc-stripe-functions.php:1136
2600
+ msgid "Please provide a billing phone number."
2601
+ msgstr ""
2602
+
2603
  #: includes/wc-stripe-webhook-functions.php:106
2604
  msgid "Charge.succeeded webhook received. Payment has been completed."
2605
  msgstr ""
2742
 
2743
  #: templates/checkout/afterpay.php:11
2744
  #: packages/blocks/assets/js/payment-methods/local-payment/afterpay.js:74
2745
+ #: packages/blocks/build/commons.js:3715
2746
  msgid "After clicking \"%s\", you will be redirected to Afterpay to complete your purchase securely."
2747
  msgstr ""
2748
 
2752
 
2753
  #: templates/checkout/boleto.php:17
2754
  #: packages/blocks/assets/js/payment-methods/local-payment/boleto.js:48
2755
+ #: packages/blocks/build/commons.js:3951
2756
  msgid "Test mode values"
2757
  msgstr ""
2758
 
2759
  #: templates/checkout/boleto.php:27
2760
  #: packages/blocks/assets/js/payment-methods/local-payment/boleto.js:58
2761
+ #: packages/blocks/build/commons.js:3961
2762
  msgid "Accepted formats"
2763
  msgstr ""
2764
 
2765
  #: templates/checkout/boleto.php:29
2766
  #: packages/blocks/assets/js/payment-methods/local-payment/boleto.js:61
2767
+ #: packages/blocks/build/commons.js:3964
2768
  msgid "XXX.XXX.XXX-XX or XXXXXXXXXXX"
2769
  msgstr ""
2770
 
2771
  #: templates/checkout/boleto.php:32
2772
  #: packages/blocks/assets/js/payment-methods/local-payment/boleto.js:65
2773
+ #: packages/blocks/build/commons.js:3968
2774
  msgid "XX.XXX.XXX/XXXX-XX or XXXXXXXXXXXXXX"
2775
  msgstr ""
2776
 
2784
 
2785
  #: templates/checkout/klarna-v2.php:12
2786
  #: packages/blocks/assets/js/payment-methods/local-payment/klarna.js:15
2787
+ #: packages/blocks/build/commons.js:4376
2788
  msgid "Test mode sms"
2789
  msgstr ""
2790
 
2811
  msgstr ""
2812
 
2813
  #: packages/blocks/assets/js/payment-methods/local-payment/boleto.js:27
2814
+ #: packages/blocks/build/commons.js:3930
2815
  msgid "Please enter a valid CPF/CNPJ value"
2816
  msgstr ""
2817
 
2818
  #: packages/blocks/assets/js/payment-methods/local-payment/hooks/use-create-source.js:73
2819
  #: packages/blocks/assets/js/payment-methods/local-payment/hooks/use-validate-checkout.js:10
2820
+ #: packages/blocks/build/commons.js:4255
2821
+ #: packages/blocks/build/commons.js:4292
2822
  msgid "Please enter your payment info before proceeding."
2823
  msgstr ""
2824
 
2825
  #: packages/blocks/assets/js/payment-methods/local-payment/wechat.js:51
2826
+ #: packages/blocks/build/commons.js:4798
2827
  msgid "Please scan your QR code to continue with payment."
2828
  msgstr ""
2829
 
2830
  #: packages/blocks/assets/js/payment-methods/local-payment/wechat.js:97
2831
+ #: packages/blocks/build/commons.js:4844
2832
  msgid "Please fill out all the required fields in order to complete the WeChat payment."
2833
  msgstr ""
2834
 
2835
  #: packages/blocks/assets/js/payment-methods/local-payment/wechat.js:127
2836
+ #: packages/blocks/build/commons.js:4874
2837
  msgid "Test mode: Click the Place Order button to proceed."
2838
  msgstr ""
includes/admin/settings/class-wc-stripe-advanced-settings.php CHANGED
@@ -207,7 +207,7 @@ class WC_Stripe_Advanced_Settings extends WC_Stripe_Settings_API {
207
  public function get_form_fields() {
208
  $fields = parent::get_form_fields();
209
  if ( stripe_wc()->account_settings->get_account_country( wc_stripe_mode() ) !== 'US' ) {
210
- //unset( $fields['link_title'], $fields['link_enabled'], $fields['link_email'], $fields['link_autoload'] );
211
  }
212
 
213
  return $fields;
207
  public function get_form_fields() {
208
  $fields = parent::get_form_fields();
209
  if ( stripe_wc()->account_settings->get_account_country( wc_stripe_mode() ) !== 'US' ) {
210
+ unset( $fields['link_title'], $fields['link_enabled'], $fields['link_email'], $fields['link_autoload'] );
211
  }
212
 
213
  return $fields;
includes/class-stripe.php CHANGED
@@ -26,7 +26,7 @@ class WC_Stripe_Manager {
26
  *
27
  * @var string
28
  */
29
- public $version = '3.3.20';
30
 
31
  /**
32
  *
26
  *
27
  * @var string
28
  */
29
+ public $version = '3.3.21';
30
 
31
  /**
32
  *
includes/class-wc-stripe-payment-intent.php CHANGED
@@ -43,9 +43,7 @@ class WC_Stripe_Payment_Intent extends WC_Stripe_Payment {
43
  }
44
  }
45
 
46
- if ( $this->payment_method->get_confirmation_method( $order ) === WC_Stripe_Constants::AUTOMATIC ) {
47
- WC_Stripe_Utils::save_payment_intent_to_session( $intent );
48
- }
49
  // always update the order with the payment intent.
50
  $order->update_meta_data( WC_Stripe_Constants::PAYMENT_INTENT_ID, $intent->id );
51
  $order->update_meta_data( WC_Stripe_Constants::PAYMENT_METHOD_TOKEN, $intent->payment_method );
@@ -251,6 +249,12 @@ class WC_Stripe_Payment_Intent extends WC_Stripe_Payment {
251
  */
252
  unset( $args['payment_method'] );
253
  }
 
 
 
 
 
 
254
  }
255
 
256
  if ( stripe_wc()->advanced_settings->is_email_receipt_enabled() && ( $email = $order->get_billing_email() ) ) {
43
  }
44
  }
45
 
46
+ WC_Stripe_Utils::save_payment_intent_to_session( $intent );
 
 
47
  // always update the order with the payment intent.
48
  $order->update_meta_data( WC_Stripe_Constants::PAYMENT_INTENT_ID, $intent->id );
49
  $order->update_meta_data( WC_Stripe_Constants::PAYMENT_METHOD_TOKEN, $intent->payment_method );
249
  */
250
  unset( $args['payment_method'] );
251
  }
252
+ if ( $intent && $intent->status === 'requires_action' ) {
253
+ /**
254
+ * The statement_descriptor can't be updated when the intent's status is requires_action
255
+ */
256
+ unset( $args['statement_descriptor'] );
257
+ }
258
  }
259
 
260
  if ( stripe_wc()->advanced_settings->is_email_receipt_enabled() && ( $email = $order->get_billing_email() ) ) {
includes/class-wc-stripe-product-gateway-option.php CHANGED
@@ -1,109 +1,120 @@
1
- <?php
2
- defined( 'ABSPATH' ) || exit();
3
-
4
- /**
5
- * @since 3.1.2
6
- * @package Stripe/Classes
7
- * @author PaymentPlugins
8
- *
9
- */
10
- class WC_Stripe_Product_Gateway_Option {
11
-
12
- /**
13
- *
14
- * @var string
15
- */
16
- private $id;
17
-
18
- /**
19
- *
20
- * @var array
21
- */
22
- private $settings = array();
23
-
24
- /**
25
- *
26
- * @var WC_Product
27
- */
28
- private $product;
29
-
30
- /**
31
- *
32
- * @var WC_Payment_Gateway_Stripe
33
- */
34
- private $payment_method;
35
-
36
- /**
37
- *
38
- * @param int|WC_Product $product
39
- * @param WC_Payment_Gateway_Stripe $payment_method
40
- */
41
- public function __construct( $product, $payment_method ) {
42
- if ( ! is_object( $product ) ) {
43
- $this->product = wc_get_product( $product );
44
- } else {
45
- $this->product = $product;
46
- }
47
- $this->payment_method = $payment_method;
48
-
49
- $this->init_settings();
50
- }
51
-
52
- /**
53
- * Return the ID of this product option.
54
- */
55
- public function get_id() {
56
- return '_' . $this->payment_method->id . '_options';
57
- }
58
-
59
- /**
60
- * Save the settings
61
- */
62
- public function save() {
63
- $this->product->update_meta_data( $this->get_id(), $this->settings );
64
- $this->product->save();
65
- }
66
-
67
- /**
68
- * Initialzie the settings.
69
- */
70
- public function init_settings() {
71
- if ( ! $this->settings ) {
72
- $this->settings = $this->product->get_meta( $this->get_id() );
73
- $this->settings = is_array( $this->settings ) ? $this->settings : array();
74
- $this->settings = wp_parse_args( $this->settings, $this->get_default_values() );
75
- }
76
- }
77
-
78
- /**
79
- * Return default options build from the payment gateway's options.
80
- * @return array
81
- */
82
- public function get_default_values() {
83
- return array(
84
- 'enabled' => $this->payment_method->product_checkout_enabled(),
85
- 'charge_type' => $this->payment_method->get_option( 'charge_type' ),
86
- );
87
- }
88
-
89
- /**
90
- *
91
- * @param string $key
92
- * @param mixed $default
93
- */
94
- public function get_option( $key, $default = null ) {
95
- if ( ! isset( $this->settings[ $key ] ) && null != $default ) {
96
- $this->settings[ $key ] = $default;
97
- }
98
-
99
- return $this->settings[ $key ];
100
- }
101
-
102
- public function set_option( $key, $value ) {
103
- $this->settings[ $key ] = $value;
104
- }
105
-
106
- public function enabled() {
107
- return $this->get_option( 'enabled', false );
108
- }
109
- }
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ defined( 'ABSPATH' ) || exit();
4
+
5
+ /**
6
+ * @since 3.1.2
7
+ * @package Stripe/Classes
8
+ * @author PaymentPlugins
9
+ *
10
+ */
11
+ class WC_Stripe_Product_Gateway_Option {
12
+
13
+ /**
14
+ *
15
+ * @var string
16
+ */
17
+ private $id;
18
+
19
+ /**
20
+ *
21
+ * @var array
22
+ */
23
+ private $settings = array();
24
+
25
+ /**
26
+ *
27
+ * @var WC_Product
28
+ */
29
+ private $product;
30
+
31
+ /**
32
+ *
33
+ * @var WC_Payment_Gateway_Stripe
34
+ */
35
+ private $payment_method;
36
+
37
+ /**
38
+ *
39
+ * @param int|WC_Product $product
40
+ * @param WC_Payment_Gateway_Stripe $payment_method
41
+ */
42
+ public function __construct( $product, $payment_method ) {
43
+ if ( ! is_object( $product ) ) {
44
+ $this->product = wc_get_product( $product );
45
+ } else {
46
+ $this->product = $product;
47
+ }
48
+ $this->payment_method = $payment_method;
49
+
50
+ $this->init_settings();
51
+ }
52
+
53
+ /**
54
+ * Return the ID of this product option.
55
+ */
56
+ public function get_id() {
57
+ return '_' . $this->payment_method->id . '_options';
58
+ }
59
+
60
+ /**
61
+ * Save the settings
62
+ */
63
+ public function save() {
64
+ $this->product->update_meta_data( $this->get_id(), $this->settings );
65
+ $this->product->save();
66
+ }
67
+
68
+ /**
69
+ * Initialzie the settings.
70
+ */
71
+ public function init_settings() {
72
+ if ( ! $this->settings && $this->product ) {
73
+ $this->settings = $this->product->get_meta( $this->get_id() );
74
+ $this->settings = is_array( $this->settings ) ? $this->settings : array();
75
+ $this->settings = wp_parse_args( $this->settings, $this->get_default_values() );
76
+ }
77
+ }
78
+
79
+ /**
80
+ * Return default options build from the payment gateway's options.
81
+ *
82
+ * @return array
83
+ */
84
+ public function get_default_values() {
85
+ return array(
86
+ 'enabled' => $this->payment_method->product_checkout_enabled(),
87
+ 'charge_type' => $this->payment_method->get_option( 'charge_type' ),
88
+ );
89
+ }
90
+
91
+ /**
92
+ *
93
+ * @param string $key
94
+ * @param mixed $default
95
+ */
96
+ public function get_option( $key, $default = null ) {
97
+ if ( ! isset( $this->settings[ $key ] ) && null != $default ) {
98
+ $this->settings[ $key ] = $default;
99
+ }
100
+
101
+ return $this->settings[ $key ];
102
+ }
103
+
104
+ public function set_option( $key, $value ) {
105
+ $this->settings[ $key ] = $value;
106
+ }
107
+
108
+ public function enabled() {
109
+ return $this->get_option( 'enabled', false );
110
+ }
111
+
112
+ /**
113
+ * @since 3.3.21
114
+ * @return bool
115
+ */
116
+ public function has_product() {
117
+ return ! ! $this->product;
118
+ }
119
+
120
+ }
includes/class-wc-stripe-update.php CHANGED
@@ -21,7 +21,8 @@ class WC_Stripe_Update {
21
  '3.3.13' => 'update-3.3.13.php',
22
  '3.3.14' => 'update-3.3.14.php',
23
  '3.3.19' => 'update-3.3.19.php',
24
- '3.3.20' => 'update-3.3.20.php'
 
25
  );
26
 
27
  public static function init() {
21
  '3.3.13' => 'update-3.3.13.php',
22
  '3.3.14' => 'update-3.3.14.php',
23
  '3.3.19' => 'update-3.3.19.php',
24
+ '3.3.20' => 'update-3.3.20.php',
25
+ '3.3.21' => 'update-3.3.21.php'
26
  );
27
 
28
  public static function init() {
includes/controllers/class-wc-stripe-controller-checkout.php CHANGED
@@ -97,8 +97,10 @@ class WC_Stripe_Controller_Checkout extends WC_Stripe_Rest_Controller {
97
  return add_query_arg( 'wc_stripe_product_checkout', $order->get_payment_method(), $url );
98
  }, 10, 2 );
99
 
100
- $option = new WC_Stripe_Product_Gateway_Option( current( WC()->cart->get_cart() )['data'], $gateway );
101
- $gateway->settings['charge_type'] = $option->get_option( 'charge_type' );
 
 
102
  }
103
  $this->required_post_data();
104
  $checkout->process_checkout();
97
  return add_query_arg( 'wc_stripe_product_checkout', $order->get_payment_method(), $url );
98
  }, 10, 2 );
99
 
100
+ $option = new WC_Stripe_Product_Gateway_Option( current( WC()->cart->get_cart() )['data'], $gateway );
101
+ if ( $option->has_product() ) {
102
+ $gateway->settings['charge_type'] = $option->get_option( 'charge_type' );
103
+ }
104
  }
105
  $this->required_post_data();
106
  $checkout->process_checkout();
includes/controllers/class-wc-stripe-controller-payment-intent.php CHANGED
@@ -115,7 +115,7 @@ class WC_Stripe_Controller_Payment_Intent extends WC_Stripe_Rest_Controller {
115
  throw new Exception( __( 'You are not authorized to update this order.', 'woo-stripe-payment' ) );
116
  }
117
 
118
- $order->update_meta_data( WC_Stripe_Constants::PAYMENT_INTENT, WC_Stripe_Utils::sanitize_intent( $intent->jsonSerialize() ) );
119
  $order->save();
120
 
121
  return rest_ensure_response( array( 'success' => true ) );
115
  throw new Exception( __( 'You are not authorized to update this order.', 'woo-stripe-payment' ) );
116
  }
117
 
118
+ $order->update_meta_data( WC_Stripe_Constants::PAYMENT_INTENT, WC_Stripe_Utils::sanitize_intent( $intent->toArray() ) );
119
  $order->save();
120
 
121
  return rest_ensure_response( array( 'success' => true ) );
includes/updates/update-3.3.21.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ defined( 'ABSPATH' ) || exit();
4
+
5
+ if ( function_exists( 'WC' ) ) {
6
+ $client = WC_Stripe_Gateway::load();
7
+ $api_settings = stripe_wc()->api_settings;
8
+ foreach ( array( 'live', 'test' ) as $mode ) {
9
+ $id = $api_settings->get_option( "webhook_id_{$mode}" );
10
+ if ( $id ) {
11
+ $webhook = $client->mode( $mode )->webhookEndpoints->retrieve( $id );
12
+ if ( ! is_wp_error( $webhook ) && ! in_array( '*', $webhook->enabled_events, true ) ) {
13
+ $events = array_values( array_unique( array_merge( $webhook->enabled_events, array( 'payment_intent.requires_action' ) ) ) );
14
+ $client->mode( $mode )->webhookEndpoints->update( $id, array( 'enabled_events' => $events ) );
15
+ wc_stripe_log_info( sprintf( 'Webhook %s updated during version 3.3.21 update.', $id ) );
16
+ }
17
+ }
18
+ }
19
+ }
includes/wc-stripe-functions.php CHANGED
@@ -1132,7 +1132,8 @@ function wc_stripe_get_error_messages() {
1132
  'incomplete_boleto_tax_id' => __( 'Please enter a valid CPF / CNPJ', 'woo-stripe-payment' ),
1133
  'test_mode_live_card' => __( 'Your card was declined. Your request was in test mode, but you used a real credit card. Only test cards can be used in test mode.',
1134
  'woo-stripe-payment' ),
1135
- 'server_side_confirmation_beta' => __( 'You do not have permission to use the PaymentElement card form. Please send a request to https://support.stripe.com/ and ask for the "server_side_confirmation_beta" to be added to your account.', 'woo-stripe-payment' )
 
1136
  )
1137
  );
1138
  }
1132
  'incomplete_boleto_tax_id' => __( 'Please enter a valid CPF / CNPJ', 'woo-stripe-payment' ),
1133
  'test_mode_live_card' => __( 'Your card was declined. Your request was in test mode, but you used a real credit card. Only test cards can be used in test mode.',
1134
  'woo-stripe-payment' ),
1135
+ 'server_side_confirmation_beta' => __( 'You do not have permission to use the PaymentElement card form. Please send a request to https://support.stripe.com/ and ask for the "server_side_confirmation_beta" to be added to your account.', 'woo-stripe-payment' ),
1136
+ 'phone_required' => __( 'Please provide a billing phone number.', 'woo-stripe-payment' )
1137
  )
1138
  );
1139
  }
packages/blocks/assets/js/components/checkout/installments/index.js CHANGED
@@ -43,7 +43,7 @@ export const Installments = (
43
  }
44
  }
45
  }).catch(error => {
46
-
47
  }).finally(() => setLoading(false));
48
  }
49
  }, [cardFormComplete, getPaymentMethod]);
43
  }
44
  }
45
  }).catch(error => {
46
+ console.log(error);
47
  }).finally(() => setLoading(false));
48
  }
49
  }, [cardFormComplete, getPaymentMethod]);
packages/blocks/assets/js/payment-methods/credit-card/payment-method.js CHANGED
@@ -129,7 +129,7 @@ registerPaymentMethod({
129
  ariaLabel: 'Credit Cards',
130
  canMakePayment: () => loadStripe,
131
  content: <PaymentMethod content={CreditCardContent} getData={getData}/>,
132
- savedTokenComponent: <SavedCardComponent getData={getData}/>,
133
  edit: <PaymentMethod content={CreditCardContent} getData={getData}/>,
134
  supports: {
135
  showSavedCards: getData('showSavedCards'),
129
  ariaLabel: 'Credit Cards',
130
  canMakePayment: () => loadStripe,
131
  content: <PaymentMethod content={CreditCardContent} getData={getData}/>,
132
+ savedTokenComponent: <SavedCardComponent getData={getData} method={getData('isPaymentElement') ? 'confirmCardPayment' : 'handleCardAction'}/>,
133
  edit: <PaymentMethod content={CreditCardContent} getData={getData}/>,
134
  supports: {
135
  showSavedCards: getData('showSavedCards'),
packages/blocks/assets/js/payment-methods/hooks/use-after-process-payment.js CHANGED
@@ -26,9 +26,8 @@ export const useAfterProcessingPayment = (
26
  return await handleCardAction({
27
  redirectUrl,
28
  responseTypes,
29
- stripe,
30
- getData,
31
- shouldSavePayment
32
  });
33
  }
34
  return null;
26
  return await handleCardAction({
27
  redirectUrl,
28
  responseTypes,
29
+ name: activePaymentMethod,
30
+ savePaymentMethod: shouldSavePayment
 
31
  });
32
  }
33
  return null;
packages/blocks/assets/js/payment-methods/hooks/use-update-payment-intent.js CHANGED
@@ -1,7 +1,6 @@
1
  import {useState, useEffect, useRef, useCallback} from '@wordpress/element';
2
  import {useStripe, useElements} from "@stripe/react-stripe-js";
3
- import {ensureErrorResponse, ensureSuccessResponse, getBillingDetailsFromAddress, StripeError, isNextActionRequired, getRoute} from '../util';
4
- import apiFetch from "@wordpress/api-fetch";
5
 
6
  export const useUpdatePaymentIntent = (
7
  {
@@ -98,37 +97,20 @@ export const useUpdatePaymentIntent = (
98
 
99
  useEffect(() => {
100
  const unsubscribe = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {
101
- const result = isNextActionRequired(redirectUrl);
102
- if (result) {
103
- const {client_secret, order_id, order_key} = result;
104
- try {
105
- let response = await confirmPayment();
106
- if (response.error) {
107
- throw new StripeError(response.error);
108
- }
109
- response = await apiFetch({
110
- url: getRoute('process/payment'),
111
- method: 'POST',
112
- data: {order_id, order_key, [`${name}_save_source_key`]: shouldSavePayment}
113
- })
114
- if (response.messages) {
115
- return ensureErrorResponse(responseTypes, response.messages);
116
- }
117
- return ensureSuccessResponse(responseTypes, {
118
- redirectUrl: response.redirect
119
- });
120
- } catch (error) {
121
- return ensureErrorResponse(responseTypes, error, {messageContext: noticeContexts.PAYMENTS});
122
- }
123
- } else {
124
- return ensureSuccessResponse(responseTypes);
125
- }
126
  });
127
  return () => unsubscribe();
128
  }, [
129
  onCheckoutAfterProcessingWithSuccess,
130
  confirmPayment,
131
- shouldSavePayment
 
132
  ]);
133
 
134
  return {
1
  import {useState, useEffect, useRef, useCallback} from '@wordpress/element';
2
  import {useStripe, useElements} from "@stripe/react-stripe-js";
3
+ import {ensureErrorResponse, ensureSuccessResponse, getBillingDetailsFromAddress, StripeError, isNextActionRequired, getRoute, handleCardAction} from '../util';
 
4
 
5
  export const useUpdatePaymentIntent = (
6
  {
97
 
98
  useEffect(() => {
99
  const unsubscribe = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {
100
+ return await handleCardAction({
101
+ redirectUrl,
102
+ responseTypes,
103
+ name,
104
+ method: 'confirmCardPayment',
105
+ savePaymentMethod: shouldSavePayment
106
+ })
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  });
108
  return () => unsubscribe();
109
  }, [
110
  onCheckoutAfterProcessingWithSuccess,
111
  confirmPayment,
112
+ shouldSavePayment,
113
+ name
114
  ]);
115
 
116
  return {
packages/blocks/assets/js/payment-methods/saved-card-component.js CHANGED
@@ -1,25 +1,23 @@
1
  import {useEffect, useCallback} from '@wordpress/element';
2
- import {initStripe as loadStripe, getSettings, handleCardAction} from '@paymentplugins/stripe/util';
3
 
4
  const SavedCardComponent = (
5
  {
6
  eventRegistration,
7
  emitResponse,
8
- getData
 
9
  }) => {
10
  const {onCheckoutAfterProcessingWithSuccess} = eventRegistration;
11
  const {responseTypes} = emitResponse;
12
  const handleSuccessResult = useCallback(async ({redirectUrl}) => {
13
- const stripe = await loadStripe;
14
- return await handleCardAction({redirectUrl, getData, stripe, responseTypes});
15
- }, [onCheckoutAfterProcessingWithSuccess]);
16
 
17
  useEffect(() => {
18
- const unsubscribeOnCheckoutAfterProcessingWithSuccess = onCheckoutAfterProcessingWithSuccess(handleSuccessResult);
19
- return () => unsubscribeOnCheckoutAfterProcessingWithSuccess();
20
- }, [
21
- onCheckoutAfterProcessingWithSuccess
22
- ]);
23
  return null;
24
  }
25
 
1
  import {useEffect, useCallback} from '@wordpress/element';
2
+ import {handleCardAction} from '@paymentplugins/stripe/util';
3
 
4
  const SavedCardComponent = (
5
  {
6
  eventRegistration,
7
  emitResponse,
8
+ getData,
9
+ method = 'handleCardAction'
10
  }) => {
11
  const {onCheckoutAfterProcessingWithSuccess} = eventRegistration;
12
  const {responseTypes} = emitResponse;
13
  const handleSuccessResult = useCallback(async ({redirectUrl}) => {
14
+ return await handleCardAction({redirectUrl, getData, responseTypes, method});
15
+ }, []);
 
16
 
17
  useEffect(() => {
18
+ const unsubscribe = onCheckoutAfterProcessingWithSuccess(handleSuccessResult);
19
+ return () => unsubscribe();
20
+ }, [onCheckoutAfterProcessingWithSuccess, handleSuccessResult]);
 
 
21
  return null;
22
  }
23
 
packages/blocks/assets/js/payment-methods/util.js CHANGED
@@ -249,21 +249,21 @@ export const handleCardAction = async (
249
  {
250
  redirectUrl,
251
  responseTypes,
252
- stripe,
253
- getData,
254
  savePaymentMethod = false
255
  }) => {
256
  try {
257
  let match = redirectUrl.match(/#response=(.+)/)
258
  if (match) {
259
  let {client_secret, order_id, order_key} = JSON.parse(window.atob(decodeURIComponent(match[1])));
260
- let result = await stripe.handleCardAction(client_secret);
 
261
  if (result.error) {
262
- syncPaymentIntentWithOrder(order_id, client_secret);
263
  return ensureErrorResponse(responseTypes, result.error);
264
  }
265
  // success so finish processing order then redirect to thank you page
266
- let data = {order_id, order_key, [`${getData('name')}_save_source_key`]: savePaymentMethod};
267
  let response = await apiFetch({
268
  url: getRoute('process/payment'),
269
  method: 'POST',
249
  {
250
  redirectUrl,
251
  responseTypes,
252
+ name,
253
+ method = 'handleCardAction',
254
  savePaymentMethod = false
255
  }) => {
256
  try {
257
  let match = redirectUrl.match(/#response=(.+)/)
258
  if (match) {
259
  let {client_secret, order_id, order_key} = JSON.parse(window.atob(decodeURIComponent(match[1])));
260
+ const stripe = await initStripe;
261
+ let result = await stripe[method](client_secret);
262
  if (result.error) {
 
263
  return ensureErrorResponse(responseTypes, result.error);
264
  }
265
  // success so finish processing order then redirect to thank you page
266
+ let data = {order_id, order_key, [`${name}_save_source_key`]: savePaymentMethod};
267
  let response = await apiFetch({
268
  url: getRoute('process/payment'),
269
  method: 'POST',
packages/blocks/build/commons.js CHANGED
@@ -1,3 +1,3 @@
1
  /*! For license information please see commons.js.LICENSE.txt */
2
- (self.webpackChunkwc_stripe=self.webpackChunkwc_stripe||[]).push([[351],{7228:e=>{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}},2858:e=>{e.exports=function(e){if(Array.isArray(e))return e}},3646:(e,t,n)=>{var r=n(7228);e.exports=function(e){if(Array.isArray(e))return r(e)}},1506:e=>{e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},8926:e=>{function t(e,t,n,r,a,o,i){try{var s=e[o](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,a)}e.exports=function(e){return function(){var n=this,r=arguments;return new Promise((function(a,o){var i=e.apply(n,r);function s(e){t(i,a,o,s,c,"next",e)}function c(e){t(i,a,o,s,c,"throw",e)}s(void 0)}))}}},4575:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},9100:(e,t,n)=>{var r=n(9489),a=n(7067);function o(t,n,i){return a()?e.exports=o=Reflect.construct:e.exports=o=function(e,t,n){var a=[null];a.push.apply(a,t);var o=new(Function.bind.apply(e,a));return n&&r(o,n.prototype),o},o.apply(null,arguments)}e.exports=o},3913:e=>{function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}},9713:e=>{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}},7154:e=>{function t(){return e.exports=t=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},t.apply(this,arguments)}e.exports=t},9754:e=>{function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},t(n)}e.exports=t},2205:(e,t,n)=>{var r=n(9489);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},5318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},430:e=>{e.exports=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}},7067:e=>{e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}},6860:e=>{e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},3884:e=>{e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,a=!1,o=void 0;try{for(var i,s=e[Symbol.iterator]();!(r=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){a=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw o}}return n}}},521:e=>{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.")}},8206:e=>{e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},6479:(e,t,n)=>{var r=n(7316);e.exports=function(e,t){if(null==e)return{};var n,a,o=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},7316:e=>{e.exports=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}},8585:(e,t,n)=>{var r=n(8),a=n(1506);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?a(e):t}},9489:e=>{function t(n,r){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(n,r)}e.exports=t},3038:(e,t,n)=>{var r=n(2858),a=n(3884),o=n(379),i=n(521);e.exports=function(e,t){return r(e)||a(e,t)||o(e,t)||i()}},319:(e,t,n)=>{var r=n(3646),a=n(6860),o=n(379),i=n(8206);e.exports=function(e){return r(e)||a(e)||o(e)||i()}},8:e=>{function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(n)}e.exports=t},379:(e,t,n)=>{var r=n(7228);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}}},5957:(e,t,n)=>{var r=n(9754),a=n(9489),o=n(430),i=n(9100);function s(t){var n="function"==typeof Map?new Map:void 0;return e.exports=s=function(e){if(null===e||!o(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return i(e,arguments,r(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),a(t,e)},s(t)}e.exports=s},6664:function(e,t,n){!function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;function n(){}function r(){}r.resetWarningCache=n;var a,o,i=(a=function(e){e.exports=function(){function e(e,t,n,r,a,o){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==o){var i=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 i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var a={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:r,resetWarningCache:n};return a.PropTypes=a,a}()},a(o={exports:{}},o.exports),o.exports);function s(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 c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e){return u="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},u(e)}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=n){var r,a,o=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==n.return||n.return()}finally{if(s)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(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)?d(e,t):void 0}}(e,t)||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.")}()}function d(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}var m=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),n.current},f=function(e){return null!==e&&"object"===u(e)},y="[object Object]",g=function e(t,n){if(!f(t)||!f(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var a=Object.prototype.toString.call(t)===y;if(a!==(Object.prototype.toString.call(n)===y))return!1;if(!a&&!r)return t===n;var o=Object.keys(t),i=Object.keys(n);if(o.length!==i.length)return!1;for(var s={},c=0;c<o.length;c+=1)s[o[c]]=!0;for(var u=0;u<i.length;u+=1)s[i[u]]=!0;var l=Object.keys(s);if(l.length!==o.length)return!1;var p=t,d=n;return l.every((function(t){return e(p[t],d[t])}))},v=function(e,t,n){return f(e)?Object.keys(e).reduce((function(r,a){var o=!f(t)||!g(e[a],t[a]);return n.includes(a)?(o&&console.warn("Unsupported prop change: options.".concat(a," is not a mutable property.")),r):o?c(c({},r||{}),{},l({},a,e[a])):r}),null):null},b=function(e){if(null===e||f(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.")},h=function(e){if(function(e){return f(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(b)};var t=b(e);return null===t?{tag:"empty"}:{tag:"sync",stripe:t}},P=t.createContext(null);P.displayName="ElementsContext";var E=function(e){var n=e.stripe,r=e.options,a=e.children,o=t.useMemo((function(){return h(n)}),[n]),i=p(t.useState((function(){return{stripe:"sync"===o.tag?o.stripe:null,elements:"sync"===o.tag?o.stripe.elements(r):null}})),2),s=i[0],c=i[1];t.useEffect((function(){var e=!0;return"async"!==o.tag||s.stripe?"sync"!==o.tag||s.stripe||c({stripe:o.stripe,elements:o.stripe.elements(r)}):o.stripePromise.then((function(t){t&&e&&c({stripe:t,elements:t.elements(r)})})),function(){e=!1}}),[o,s,r]);var u=m(n);t.useEffect((function(){null!==u&&u!==n&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")}),[u,n]);var l=m(r);return t.useEffect((function(){if(s.elements){var e=v(r,l,["clientSecret","fonts"]);e&&s.elements.update(e)}}),[r,l,s.elements]),t.useEffect((function(){var e=s.stripe;e&&e._registerWrapper&&e.registerAppInfo&&(e._registerWrapper({name:"react-stripe-js",version:"1.8.0"}),e.registerAppInfo({name:"react-stripe-js",version:"1.8.0",url:"https://stripe.com/docs/stripe-js/react"}))}),[s.stripe]),t.createElement(P.Provider,{value:s},a)};E.propTypes={stripe:i.any,options:i.object};var O=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)},S=function(e){return(0,e.children)(O("mounts <ElementsConsumer>"))};S.propTypes={children:i.func.isRequired};var _=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),function(){n.current&&n.current.apply(n,arguments)}},w=function(){},C=function(e,n){var r,a="".concat((r=e).charAt(0).toUpperCase()+r.slice(1),"Element"),o=n?function(e){O("mounts <".concat(a,">"));var n=e.id,r=e.className;return t.createElement("div",{id:n,className:r})}:function(n){var r=n.id,o=n.className,i=n.options,s=void 0===i?{}:i,c=n.onBlur,u=void 0===c?w:c,l=n.onFocus,p=void 0===l?w:l,d=n.onReady,f=void 0===d?w:d,y=n.onChange,g=void 0===y?w:y,b=n.onEscape,h=void 0===b?w:b,P=n.onClick,E=void 0===P?w:P,S=O("mounts <".concat(a,">")).elements,C=t.useRef(null),k=t.useRef(null),M=_(f),j=_(u),D=_(p),x=_(E),R=_(g),A=_(h);t.useLayoutEffect((function(){if(null==C.current&&S&&null!=k.current){var t=S.create(e,s);C.current=t,t.mount(k.current),t.on("ready",(function(){return M(t)})),t.on("change",R),t.on("blur",j),t.on("focus",D),t.on("escape",A),t.on("click",x)}}));var I=m(s);return t.useEffect((function(){if(C.current){var e=v(s,I,["paymentRequest"]);e&&C.current.update(e)}}),[s,I]),t.useLayoutEffect((function(){return function(){C.current&&(C.current.destroy(),C.current=null)}}),[]),t.createElement("div",{id:r,className:o,ref:k})};return o.propTypes={id:i.string,className:i.string,onChange:i.func,onBlur:i.func,onFocus:i.func,onReady:i.func,onClick:i.func,options:i.object},o.displayName=a,o.__elementType=e,o},k="undefined"==typeof window,M=C("auBankAccount",k),j=C("card",k),D=C("cardNumber",k),x=C("cardExpiry",k),R=C("cardCvc",k),A=C("fpxBank",k),I=C("iban",k),L=C("idealBank",k),T=C("p24Bank",k),N=C("epsBank",k),B=C("payment",k),F=C("paymentRequestButton",k),q=C("linkAuthentication",k),X=C("shippingAddress",k),U=C("affirmMessage",k),V=C("afterpayClearpayMessage",k);e.AffirmMessageElement=U,e.AfterpayClearpayMessageElement=V,e.AuBankAccountElement=M,e.CardCvcElement=R,e.CardElement=j,e.CardExpiryElement=x,e.CardNumberElement=D,e.Elements=E,e.ElementsConsumer=S,e.EpsBankElement=N,e.FpxBankElement=A,e.IbanElement=I,e.IdealBankElement=L,e.LinkAuthenticationElement=q,e.P24BankElement=T,e.PaymentElement=B,e.PaymentRequestButtonElement=F,e.ShippingAddressElement=X,e.useElements=function(){return O("calls useElements()").elements},e.useStripe=function(){return O("calls useStripe()").stripe},Object.defineProperty(e,"__esModule",{value:!0})}(t,n(9196))},4465:(e,t,n)=>{"use strict";n.r(t),n.d(t,{loadStripe:()=>l});var r="https://js.stripe.com/v3",a=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,o="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",i=null,s=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.12.1",startTime:t})}(r,n),r},c=Promise.resolve().then((function(){return e=null,null!==i||(i=new Promise((function(t,n){if("undefined"!=typeof window)if(window.Stripe&&e&&console.warn(o),window.Stripe)t(window.Stripe);else try{var i=function(){for(var e=document.querySelectorAll('script[src^="'.concat(r,'"]')),t=0;t<e.length;t++){var n=e[t];if(a.test(n.src))return n}return null}();i&&e?console.warn(o):i||(i=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(r).concat(t);var a=document.head||document.body;if(!a)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return a.appendChild(n),n}(e)),i.addEventListener("load",(function(){window.Stripe?t(window.Stripe):n(new Error("Stripe.js not available"))})),i.addEventListener("error",(function(){n(new Error("Failed to load Stripe.js"))}))}catch(e){return void n(e)}else t(null)}))),i;var e})),u=!1;c.catch((function(e){u||console.warn(e)}));var l=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];u=!0;var r=Date.now();return c.then((function(e){return s(e,t,r)}))}},3187:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(2029);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(8744);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(4901);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var i=n(3193);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}))},3193:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Installments=void 0;var o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=n(9307),u=n(5736),l=a(n(6989)),p=a(n(4184)),d=n(1134);n(1465);var m=function(e){var t=e.paymentMethodName,n=(e.getCreatePaymentMethodArgs,e.cardFormComplete),a=void 0!==n&&n,p=e.addPaymentMethodData,m=void 0===p?null:p,g=e.getPaymentMethod,v=(0,c.useState)(null),b=(0,s.default)(v,2),h=b[0],P=b[1],E=(0,c.useState)(""),O=(0,s.default)(E,2),S=O[0],_=O[1],w=(0,c.useState)(!1),C=(0,s.default)(w,2),k=C[0],M=C[1];return(0,c.useEffect)((function(){a&&(M(!0),_(""),g().then(function(){var e=(0,i.default)(o.default.mark((function e(n){var r,a;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=6;break}return e.next=3,(0,l.default)({url:(0,d.getRoute)("create/payment_intent"),method:"POST",data:{payment_method_id:n,payment_method:t}});case 3:a=e.sent,P(a.installments),null!==(r=Object.keys(a.installments))&&void 0!==r&&r.length&&_(Object.keys(a.installments)[0]);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){})).finally((function(){return M(!1)})))}),[a,g]),r.createElement("div",{className:"wc-stripe-installments__container"},r.createElement("label",null,(0,u.__)("Pay in installments:","woo-stripe-payment"),r.createElement(y,{loading:k})),r.createElement(f,{installment:S,onChange:function(e){_(e.target.value),m&&m({_stripe_installment_plan:e.target.value})},installments:h,isLoading:k}))};t.Installments=m;var f=function(e){var t,n=e.installment,a=e.installments,o=e.onChange,i=e.isLoading;return t=i?r.createElement("option",{value:"",disabled:!0},(0,u.__)("Loading installments...","woo-stripe-payment")):null===a?r.createElement("option",{value:"",disabled:!0},(0,u.__)("Fill out card form for eligibility.","woo-stripe-payment")):Object.keys(a).map((function(e){return r.createElement("option",{key:e,value:e,dangerouslySetInnerHTML:{__html:a[e].text}})})),r.createElement("select",{value:n,onChange:o,className:(0,p.default)({loading:i})},t)},y=function(e){var t=e.loading;return r.createElement("div",{className:"wc-stripe-installment-loader__container"},t&&r.createElement("div",{className:"wc-stripe-installment-loader"},r.createElement("div",null),r.createElement("div",null),r.createElement("div",null)))},g=m;t.default=g},2029:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.PaymentMethodLabel=void 0;var o=a(n(6479));n(7776),t.PaymentMethodLabel=function(e){var t=e.title,n=e.icons,a=e.paymentMethod,i=(0,o.default)(e,["title","icons","paymentMethod"]).components,s=i.PaymentMethodLabel,c=i.PaymentMethodIcons;return Array.isArray(n)||(n=[n]),r.createElement("span",{className:"wc-stripe-label-container ".concat(a)},r.createElement(s,{text:t}),r.createElement(c,{icons:n,align:"left"}))}},4901:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.PaymentMethod=void 0;var o=a(n(9713)),i=a(n(6479)),s=n(9307);function c(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 u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.PaymentMethod=function(e){var t=e.getData,n=e.content,a=(0,i.default)(e,["getData","content"]),o=n,c=t("description"),p=(0,s.useRef)(null);return(0,s.useEffect)((function(){p.current&&0==p.current.childNodes.length&&p.current.classList.add("no-content")})),r.createElement(r.Fragment,null,c&&r.createElement(l,{desc:c,payment_method:t("name")}),r.createElement("div",{ref:p,className:"wc-stripe-blocks-payment-method-content"},r.createElement(o,u(u({},a),{},{getData:t}))))};var l=function(e){var t=e.desc,n=e.payment_method;return r.createElement("div",{className:"wc-stripe-blocks-payment-method__desc ".concat(n)},r.createElement("p",null,t))}},8744:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RadioControlOption=void 0;var o=a(n(4184)),i=function(e){var t=e.checked,n=e.onChange,a=e.value,i=e.label;return r.createElement("label",{className:(0,o.default)("wc-stripe-blocks-radio-control__option",{"wc-stripe-blocks-radio-control__option-checked":t})},r.createElement("input",{className:"wc-stripe-blocks-radio-control__input",type:"radio",value:a,checked:t,onChange:function(e){return n(e.target.value)}}),r.createElement("div",{className:"wc-stripe-blocks-radio-control__label"},r.createElement("span",null,i)))};t.RadioControlOption=i;var s=i;t.default=s},7260:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(1293);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(7150);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(5201);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},1293:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useCreateLinkToken=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(3038)),s=n(9307),c=r(n(6989)),u=n(1134);t.useCreateLinkToken=function(e){var t=e.setValidationError,n=(0,s.useState)(!1),r=(0,i.default)(n,2),l=r[0],p=r[1],d=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var n;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,c.default)({url:(0,u.getRoute)("create/linkToken"),method:"POST",data:{}});case 3:(n=e.sent).token&&((0,u.storeInCache)("linkToken",n.token),p(n.token)),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),t(e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),[]);return(0,s.useEffect)((function(){if(!l){var e=(0,u.getFromCache)("linkToken");e?p(e):d()}}),[l,p]),l}},7150:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useInitializePlaid=void 0;var a=n(9307),o=r(n(9625)),i=n(1134);t.useInitializePlaid=function(e){var t=e.getData,n=e.linkToken,r=(0,a.useRef)(null),s=(0,a.useRef)(null),c=(0,a.useCallback)((function(){return new Promise((function(e,t){s.current={resolve:e,reject:t},r.current.open()}))}),[]);return(0,a.useEffect)((function(){n&&(r.current=o.default.create({clientName:t("clientName"),env:t("plaidEnvironment"),product:["auth"],token:n,selectAccount:!0,countryCodes:["US"],onSuccess:function(e,t){s.current.resolve({publicToken:e,metaData:t})},onExit:function(e){s.current.reject(!!e&&(0,i.getErrorMessage)(e.error_message))}}))}),[n]),c}},5201:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessPayment=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(8926)),s=n(9307),c=n(1134);t.useProcessPayment=function(e){var t=e.openLinkPopup,n=e.onPaymentProcessing,r=e.responseTypes,u=e.paymentMethod;(0,s.useEffect)((function(){var e=n((0,i.default)(a.default.mark((function e(){var n,i,s,l;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t();case 3:return i=e.sent,s=i.publicToken,l=i.metaData,(0,c.deleteFromCache)("linkToken"),e.abrupt("return",(0,c.ensureSuccessResponse)(r,{meta:{paymentMethodData:(n={},(0,o.default)(n,"".concat(u,"_token_key"),s),(0,o.default)(n,"".concat(u,"_metadata"),JSON.stringify(l)),n)}}));case 9:return e.prev=9,e.t0=e.catch(0),e.abrupt("return",(0,c.ensureErrorResponse)(r,e.t0));case 12:case"end":return e.stop()}}),e,null,[[0,9]])}))));return function(){return e()}}),[n,r,t])}},5605:(e,t,n)=>{n(4836),n(4888)},4888:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(3187),p=a(n(1065)),d=n(7260),m=n(3636),f=n(5736),y=(0,u.getSettings)("stripe_ach_data"),g=function(e){var t=e.getData,n=e.eventRegistration,a=e.components,c=e.emitResponse,l=e.onSubmit,p=((0,i.default)(e,["getData","eventRegistration","components","emitResponse","onSubmit"]),c.responseTypes),f=n.onPaymentProcessing,y=n.onCheckoutAfterProcessingWithError,g=a.ValidationInputError,b=a.LoadingMask,h=(0,s.useState)(!1),P=(0,o.default)(h,2),E=P[0],O=P[1],S=(0,d.useCreateLinkToken)({setValidationError:O});(0,m.useProcessCheckoutError)({responseTypes:p,subscriber:y});var _=(0,d.useInitializePlaid)({getData:t,linkToken:S,onSubmit:l});return(0,d.useProcessPayment)({openLinkPopup:_,onPaymentProcessing:f,responseTypes:p,paymentMethod:t("name")}),r.createElement(b,{isLoading:!E&&!S,showSpinner:!0},u.isTestMode&&r.createElement(v,null),E&&r.createElement(g,{errorMessage:E}))},v=function(){return r.createElement("div",{className:"wc-stripe-blocks-ach__creds"},r.createElement("label",{className:"wc-stripe-blocks-ach__creds-label"},(0,f.__)("Test Credentials","woo-stripe-payment")),r.createElement("div",{className:"wc-stripe-blocks-ach__username"},r.createElement("div",null,r.createElement("strong",null,(0,f.__)("username","woo-stripe-payment")),": user_good"),r.createElement("div",null,r.createElement("strong",null,(0,f.__)("password","woo-stripe-payment")),": pass_good"),r.createElement("div",null,r.createElement("strong",null,(0,f.__)("pin","woo-stripe-payment")),": credential_good")))};(0,c.registerPaymentMethod)({name:y("name"),label:r.createElement(l.PaymentMethodLabel,{title:y("title"),paymentMethod:y("name"),icons:y("icons")}),ariaLabel:"ACH Payment",canMakePayment:function(e){return"USD"===e.cartTotals.currency_code},content:r.createElement(l.PaymentMethod,{getData:y,content:g}),savedTokenComponent:r.createElement(p.default,{getData:y}),edit:r.createElement(g,{getData:y}),placeOrderButtonLabel:y("placeOrderButtonLabel"),supports:{showSavedCards:y("showSavedCards"),showSaveOption:!1,features:y("features")}})},3846:(e,t,n)=>{n(85),n(660)},660:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(6664),p=a(n(7082)),d=n(3636),m=(0,u.getSettings)("stripe_applepay_data"),f=function(e){return r.createElement(p.default,null,r.createElement("div",{className:"wc-stripe-apple-pay-container"},r.createElement(l.Elements,{stripe:u.initStripe},r.createElement(y,e))))},y=function(e){var t=e.getData,n=e.onClick,a=e.onClose,c=e.billing,u=e.shippingData,p=e.eventRegistration,m=e.emitResponse,f=e.onSubmit,y=e.activePaymentMethod,g=((0,i.default)(e,["getData","onClick","onClose","billing","shippingData","eventRegistration","emitResponse","onSubmit","activePaymentMethod"]),p.onPaymentProcessing),v=m.responseTypes,b=m.noticeContexts,h=(0,l.useStripe)(),P=(0,d.useStripeError)(),E=(0,o.default)(P,1)[0],O=(0,d.useExportedValues)();(0,d.useExpressBreakpointWidth)({payment_method:t("name"),width:300});var S=(0,d.useProcessPaymentIntent)({getData:t,billing:c,shippingData:u,onPaymentProcessing:g,emitResponse:m,error:E,onSubmit:f,activePaymentMethod:y,exportedValues:O}).setPaymentMethod;(0,d.useAfterProcessingPayment)({getData:t,eventRegistration:p,responseTypes:v,activePaymentMethod:y,messageContext:b.EXPRESS_PAYMENTS});var _=(0,d.usePaymentRequest)({getData:t,onClose:a,stripe:h,billing:c,shippingData:u,eventRegistration:p,setPaymentMethod:S,exportedValues:O,canPay:function(e){return null!=e&&e.applePay}}).paymentRequest,w=(0,s.useCallback)((function(e){_&&(e.preventDefault(),n(),_.show())}),[_,n]);return _?r.createElement("button",{className:"apple-pay-button ".concat(t("buttonStyle")),style:{"-apple-pay-button-type":t("buttonType")},onClick:w}):null},g=function(e){var t=e.getData;return(0,i.default)(e,["getData"]),r.createElement("div",{className:"apple-pay-block-editor"},r.createElement("img",{src:t("editorIcon")}))};(0,c.registerExpressPaymentMethod)({name:m("name"),canMakePayment:function(e){var t=e.cartTotals;if((0,i.default)(e,["cartTotals"]),m("isAdmin"))return!0;var n=t.currency_code,r=t.total_price;return(0,u.canMakePayment)({country:m("countryCode"),currency:n.toLowerCase(),total:{label:m("totalLabel"),amount:parseInt(r)}},(function(e){return null!=e&&e.applePay}))},content:r.createElement(f,{getData:m}),edit:r.createElement(g,{getData:m}),supports:{showSavedCards:m("showSavedCards"),showSaveOption:m("showSaveOption"),features:m("features")}})},7354:(e,t,n)=>{var r=n(9307);n(3110);var a=n(1134),o=n(6664),i=n(5736),s=function(e){var t=e.CardIcon,n=e.options,a=e.onChange;return r.createElement("div",{className:"wc-stripe-bootstrap-form"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-md-6 mb-3"},r.createElement(o.CardNumberElement,{className:"md-form md-outline stripe-input",options:n.cardNumber,onChange:a(o.CardNumberElement)}),r.createElement("label",{htmlFor:"stripe-card-number"},(0,i.__)("Card Number","woo-stripe-payment")),t),r.createElement("div",{className:"col-md-3 mb-3"},r.createElement(o.CardExpiryElement,{className:"md-form md-outline stripe-input",options:n.cardExpiry,onChange:a(o.CardExpiryElement)}),r.createElement("label",{htmlFor:"stripe-exp"},(0,i.__)("Exp","woo-stripe-payment"))),r.createElement("div",{className:"col-md-3 mb-3"},r.createElement(o.CardCvcElement,{className:"md-form md-outline stripe-input",options:n.cardCvc,onChange:a(o.CardCvcElement)}),r.createElement("label",{htmlFor:"stripe-cvv"},(0,i.__)("CVV","woo-stripe-payment")))))};(0,a.registerCreditCardForm)({id:"bootstrap",breakpoint:475,component:r.createElement(s,null)})},3329:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(9713)),i=a(n(3038)),s=n(1134),c=n(9307),u=n(6664),l=n(5736),p=n(3636);function d(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 m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f={focus:"focused",empty:"empty",invalid:"invalid"},y=function(e){var t=e.type,n=e.src;return t?r.createElement("img",{className:"wc-stripe-card ".concat(t),src:n}):null};t.default=function(e){var t=e.getData,n=e.onChange,a=e.onComplete,o=(0,c.useState)(""),d=(0,i.default)(o,2),g=d[0],v=d[1],b=(0,c.useRef)([]),h=(0,c.useState)(null),P=(0,i.default)(h,2),E=P[0],O=P[1],S=(0,u.useElements)(),_=t("customForm"),w=(0,s.getCreditCardForm)(_),C=w.component,k=void 0===C?null:C,M=w.breakpoint,j=void 0===M?475:M,D=t("postalCodeEnabled"),x={},R=(0,c.useRef)({cardNumber:{},cardExpiry:{},cardCvc:{}});["cardNumber","cardExpiry","cardCvc"].forEach((function(e){x[e]=m(m({classes:f},t("cardOptions")),t("customFieldOptions")[e])}));var A=(0,c.useCallback)((function(e){b.current.includes(e)||b.current.push(e)}),[]);(0,p.useBreakpointWidth)({name:"creditCardForm",width:j,node:E,className:"small-form"});var I=(0,c.useCallback)((function(e){for(var n=0,r=Object.keys(t("cards"));n<r.length;n++){var a=r[n];if(a===e)return t("cards")[a]}return""}),[]);return k?r.createElement("div",{className:"wc-stripe-custom-form ".concat(_),ref:O},(0,c.cloneElement)(k,{postalCodeEnabled:D,options:x,onChange:function(e){return A(e),function(t){if(n(t),R.current[t.elementType]=t,"cardNumber"===t.elementType&&("unknown"===t.brand?v(""):v(t.brand)),t.complete){var r=b.current.indexOf(e);if(b.current[r+1]){var o=b.current[r+1];S.getElement(o).focus()}}var i;a((i=R.current,Object.keys(i).filter((function(e){return!!i[e].complete})).length===Object.keys(i).length))}},CardIcon:r.createElement(y,{type:g,src:I(g)})})):r.createElement("div",{className:"wc-stripe-custom-form-error"},r.createElement("p",null,(0,l.sprintf)((0,l.__)("%s is not a valid blocks Stripe custom form. Please choose another custom form option in the Credit Card Settings.","woo-stripe-payment"),t("customFormLabels")[_])))}},6835:(e,t,n)=>{var r=n(9307);n(8356);var a=n(1134),o=n(6664),i=n(5736),s=n(9307),c=function(e){var t=e.CardIcon,n=e.options,a=e.onChange;return(0,s.useEffect)((function(){}),[]),r.createElement("div",{className:"wc-stripe-simple-form"},r.createElement("div",{className:"row"},r.createElement("div",{className:"field"},r.createElement("div",{className:"field-item"},r.createElement(o.CardNumberElement,{id:"stripe-card-number",className:"input empty",options:n.cardNumber,onChange:a(o.CardNumberElement)}),r.createElement("label",{htmlFor:"stripe-card-number","data-tid":""},(0,i.__)("Card Number","woo-stripe-payment")),r.createElement("div",{className:"baseline"}),t))),r.createElement("div",{className:"row"},r.createElement("div",{className:"field half-width"},r.createElement("div",{className:"field-item"},r.createElement(o.CardExpiryElement,{id:"stripe-exp",className:"input empty",options:n.cardExpiry,onChange:a(o.CardExpiryElement)}),r.createElement("label",{htmlFor:"stripe-exp","data-tid":""},(0,i.__)("Expiration","woo-stripe-payment")),r.createElement("div",{className:"baseline"}))),r.createElement("div",{className:"field half-width cvc"},r.createElement("div",{className:"field-item"},r.createElement(o.CardCvcElement,{id:"stripe-cvv",className:"input empty",options:n.cardCvc,onChange:a(o.CardCvcElement)}),r.createElement("label",{htmlFor:"stripe-cvv","data-tid":""},(0,i.__)("CVV","woo-stripe-payment")),r.createElement("div",{className:"baseline"})))))};(0,a.registerCreditCardForm)({id:"simple",component:r.createElement(c,null),breakpoint:375})},9775:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(9713)),i=n(6664),s=n(1134),c=n(9307);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 l(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){(0,o.default)(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}t.default=function(e){var t=e.getData,n=e.billing,a=e.onChange,o=e.onComplete,u={card:{}},p=(0,c.useMemo)((function(){var e;return l(l({},{value:{postalCode:null==n||null===(e=n.billingData)||void 0===e?void 0:e.postcode},hidePostalCode:(0,s.isFieldRequired)("postcode"),iconStyle:"default"}),t("cardOptions"))}),[n.billingData]);return r.createElement("div",{className:"wc-stripe-inline-form"},r.createElement(i.CardElement,{options:p,onChange:function(e){a(e),u[e.elementType]=e,o(Object.keys(u).filter((function(e){return!!u[e].complete})).length===Object.keys(u).length)}}))}},627:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),n(5773);var r=n(7205);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))})),n(7354),n(6835)},4664:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.PaymentElementComponent=void 0;var o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=a(n(7154)),u=a(n(9713)),l=a(n(6479)),p=n(9307),d=n(6664),m=n(1134),f=n(3187),y=n(3636);function g(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 v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,u.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var b=(0,m.getSettings)("stripe_cc_data"),h=function(e){var t,n,a=e.cartData,o=(0,l.default)(e,["cartData"]),i=null==a||null===(t=a.extensions)||void 0===t||null===(n=t.stripe_cc)||void 0===n?void 0:n.clientSecret;return r.createElement(r.Fragment,null,r.createElement(d.Elements,{stripe:m.initStripe,options:v(v({},b("elementOptions")),{},{clientSecret:i})},r.createElement(P,(0,c.default)({},o,{clientSecret:i}))))};t.PaymentElementComponent=h;var P=function(e){e.onComplete;var t=e.clientSecret,n=(0,l.default)(e,["onComplete","clientSecret"]),a=(0,p.useState)(!1),c=(0,s.default)(a,2),u=c[0],m=c[1],g=b("installmentsActive"),v=((0,d.useElements)(),(0,d.useStripe)()),h=n.billing.billingData,P=n.eventRegistration,E=n.emitResponse,O=n.shouldSavePayment,S=(P.onPaymentProcessing,P.onCheckoutAfterProcessingWithError),_=E.responseTypes,w=E.noticeContexts,C=b("name"),k=(0,p.useCallback)((function(e){m(e.complete)}),[]),M=(0,y.useUpdatePaymentIntent)({clientSecret:t,billingData:h,eventRegistration:P,responseTypes:_,shouldSavePayment:O,noticeContexts:w,name:C}),j=M.updatePaymentIntent,D=M.addPaymentMethodData;(0,y.useProcessCheckoutError)({responseTypes:_,subscriber:S,messageContext:w.PAYMENTS});var x=(0,p.useCallback)((0,i.default)(o.default.mark((function e(){var t,n,r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,e.next=3,j();case 3:return null!=(r=e.sent)&&null!==(t=r.paymentIntent)&&void 0!==t&&t.payment_method&&(n=r.paymentIntent.payment_method),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)}))),[j]);return r.createElement(r.Fragment,null,r.createElement(d.PaymentElement,{options:{fields:{billingDetails:"never"},wallets:{applePay:"never",googlePay:"never"}},onChange:k}),g&&r.createElement(f.Installments,{paymentMethodName:b("name"),stripe:v,cardFormComplete:u,getPaymentMethod:x,addPaymentMethodData:D}))},E=h;t.default=E},7205:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=n(9307),u=n(4613),l=n(1134),p=n(6664),d=n(3187),m=a(n(1065)),f=a(n(3329)),y=a(n(9775)),g=a(n(4664)),v=n(3636),b=(0,l.getSettings)("stripe_cc_data"),h=function(e){var t=(0,c.useState)(!1),n=(0,s.default)(t,2),a=n[0],o=n[1];if((0,c.useEffect)((function(){l.initStripe.catch((function(e){o(e)}))}),[o]),a)throw new Error(a);return b("isPaymentElement")?r.createElement(g.default,e):r.createElement(p.Elements,{stripe:l.initStripe,options:b("elementOptions")},r.createElement(P,e))},P=function(e){var t=e.getData,n=e.billing,a=e.shippingData,u=e.emitResponse,l=e.eventRegistration,m=e.activePaymentMethod,g=e.shouldSavePayment,b=(0,v.useStripeError)(),h=(0,s.default)(b,2),P=h[0],E=h[1],O=(0,c.useState)(!1),S=(0,s.default)(O,2),_=S[0],w=S[1],C=l.onPaymentProcessing,k=(0,p.useStripe)(),M=(0,p.useElements)(),j=(0,c.useCallback)((function(){var e=t("customFormActive")?p.CardNumberElement:p.CardElement;return{card:M.getElement(e)}}),[k,M]),D=(0,v.useSetupIntent)({getData:t,cartTotal:n.cartTotal,setError:E}),x=D.setupIntent,R=D.removeSetupIntent,A=(0,v.useProcessPaymentIntent)({getData:t,billing:n,shippingData:a,emitResponse:u,error:P,onPaymentProcessing:C,shouldSavePayment:g,setupIntent:x,removeSetupIntent:R,getPaymentMethodArgs:j,activePaymentMethod:m}),I=A.getCreatePaymentMethodArgs,L=A.addPaymentMethodData;(0,v.useAfterProcessingPayment)({getData:t,eventRegistration:l,responseTypes:u.responseTypes,activePaymentMethod:m,shouldSavePayment:g});var T=(0,c.useCallback)((0,i.default)(o.default.mark((function e(){var t,n,r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,e.next=3,k.createPaymentMethod(I());case 3:return null!=(r=e.sent)&&null!==(t=r.paymentMethod)&&void 0!==t&&t.id&&(n=r.paymentMethod.id),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)}))),[k,I]),N=t("customFormActive")?f.default:y.default;return r.createElement("div",{className:"wc-stripe-card-container"},r.createElement(N,{getData:t,billing:n,onChange:function(e){e.error?E(e.error):E(!1)},onComplete:w}),t("installmentsActive")&&r.createElement(d.Installments,{paymentMethodName:t("name"),cardFormComplete:_,addPaymentMethodData:L,getPaymentMethod:T}))};(0,u.registerPaymentMethod)({name:b("name"),label:r.createElement(d.PaymentMethodLabel,{title:b("title"),paymentMethod:b("name"),icons:b("icons")}),ariaLabel:"Credit Cards",canMakePayment:function(){return l.initStripe},content:r.createElement(d.PaymentMethod,{content:h,getData:b}),savedTokenComponent:r.createElement(m.default,{getData:b}),edit:r.createElement(d.PaymentMethod,{content:h,getData:b}),supports:{showSavedCards:b("showSavedCards"),showSaveOption:!0,features:b("features")}})},7082:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(4575)),i=a(n(3913)),s=a(n(2205)),c=a(n(8585)),u=a(n(9754));var l=function(e){(0,s.default)(l,e);var t,n,a=(t=l,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,u.default)(t);if(n){var a=(0,u.default)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,c.default)(this,e)});function l(e){var t;return(0,o.default)(this,l),(t=a.call(this,e)).state={hasError:!1,error:null,errorInfo:null},t}return(0,i.default)(l,[{key:"componentDidCatch",value:function(e,t){this.setState({hasError:!0,error:e,errorInfo:t})}},{key:"render",value:function(){return this.state.hasError?r.createElement(r.Fragment,null,this.state.error&&r.createElement("div",{className:"wc-stripe-block-error"},this.state.error.toString()),this.state.errorInfo&&r.createElement("div",{className:"wc-stripe-block-error"},this.state.errorInfo.componentStack)):this.props.children}}]),l}(n(9307).Component);t.default=l},5212:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(5516),u=n(3636),l=(0,n(1134).getSettings)("stripeGeneralData")().publishableKey;t.default=function(e){var t=e.getData,n=e.setErrorMessage,a=e.billing,p=e.shippingData,d=e.canMakePayment,m=e.checkoutStatus,f=e.eventRegistration,y=e.activePaymentMethod,g=e.onClick,v=e.onClose,b=(0,i.default)(e,["getData","setErrorMessage","billing","shippingData","canMakePayment","checkoutStatus","eventRegistration","activePaymentMethod","onClick","onClose"]),h={merchantId:t("merchantId"),merchantName:t("merchantName")},P=(0,u.useStripeError)(),E=(0,o.default)(P,2),O=E[0],S=(E[1],(0,s.useRef)()),_=b.onSubmit,w=b.emitResponse,C=f.onPaymentProcessing,k=(0,u.useExportedValues)(),M="long"===t("buttonStyle").buttonType?390:300,j=(0,u.useProcessPaymentIntent)({getData:t,billing:a,shippingData:p,onPaymentProcessing:C,emitResponse:w,error:O,exportedValues:k,onSubmit:_,checkoutStatus:m,activePaymentMethod:y}).setPaymentMethod,D=(0,c.usePaymentRequest)({getData:t,publishableKey:l,merchantInfo:h,billing:a,shippingData:p}),x=(0,c.usePaymentsClient)({merchantInfo:h,paymentRequest:D,billing:a,shippingData:p,eventRegistration:f,canMakePayment:d,setErrorMessage:n,onSubmit:_,setPaymentMethod:j,exportedValues:k,onClick:g,onClose:v,getData:t}),R=x.button,A=x.removeButton;return(0,u.useAfterProcessingPayment)({getData:t,eventRegistration:f,responseTypes:w.responseTypes,activePaymentMethod:y}),(0,u.useExpressBreakpointWidth)({payment_method:t("name"),width:M}),(0,s.useEffect)((function(){R&&(A(S.current),S.current.append(R))}),[R]),r.createElement("div",{className:"wc-stripe-gpay-button-container",ref:S})}},3097:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BASE_PAYMENT_REQUEST=t.BASE_PAYMENT_METHOD=void 0,t.BASE_PAYMENT_METHOD={type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],assuranceDetailsRequired:!0}},t.BASE_PAYMENT_REQUEST={apiVersion:2,apiVersionMinor:0}},5516:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(1674);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(1735);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(9808);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},9808:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useErrorMessage=void 0;var a=r(n(3038)),o=n(9307);t.useErrorMessage=function(){var e=(0,o.useState)(!1),t=(0,a.default)(e,2);return{errorMessage:t[0],setErrorMessage:t[1]}}},1735:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentRequest=void 0;var a=r(n(319)),o=r(n(9713)),i=n(9307),s=n(3097),c=n(1134),u=n(8664);function l(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 p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentRequest=function(e){var t=e.getData,n=e.publishableKey,r=e.merchantInfo,o=e.billing,l=e.shippingData,d=o.billingData,m=l.shippingRates,f=t(),y=f.processingCountry,g=f.totalPriceLabel;return(0,i.useMemo)((function(){var e=p(p({},{emailRequired:(0,c.isEmpty)(d.email),merchantInfo:r,allowedPaymentMethods:[p(p({},{type:"CARD",tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"stripe","stripe:version":"2018-10-31","stripe:publishableKey":n}}}),s.BASE_PAYMENT_METHOD)],shippingAddressRequired:l.needsShipping,transactionInfo:(0,u.getTransactionInfo)({billing:o,processingCountry:y,totalPriceLabel:g}),callbackIntents:["PAYMENT_AUTHORIZATION"]}),s.BASE_PAYMENT_REQUEST);if(e.allowedPaymentMethods[0].parameters.billingAddressRequired=!0,e.allowedPaymentMethods[0].parameters.billingAddressParameters={format:"FULL",phoneNumberRequired:(0,c.isFieldRequired)("phone",d.country)&&(0,c.isEmpty)(d.phone)},e.shippingAddressRequired){e.callbackIntents=[].concat((0,a.default)(e.callbackIntents),["SHIPPING_ADDRESS","SHIPPING_OPTION"]),e.shippingOptionRequired=!0;var t=(0,u.getShippingOptionParameters)(m);t.shippingOptions.length>0&&(e=p(p({},e),{},{shippingOptionParameters:t}))}return e}),[o.cartTotal,o.cartTotalItems,d,l])}},1674:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentsClient=void 0;var a=r(n(319)),o=r(n(9713)),i=r(n(1284)),s=r(n(8926)),c=r(n(3038)),u=n(9307),l=r(n(9127)),p=n(1134),d=n(6664),m=n(8664),f=n(5736),y=n(3636);function g(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 v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentsClient=function(e){var t=e.merchantInfo,n=e.paymentRequest,r=e.billing,g=e.shippingData,b=e.eventRegistration,h=e.canMakePayment,P=e.setErrorMessage,E=e.setPaymentMethod,O=e.exportedValues,S=e.onClick,_=e.onClose,w=e.getData,C=w().environment,k=(0,u.useState)(),M=(0,c.default)(k,2),j=M[0],D=M[1],x=(0,u.useState)(null),R=(0,c.default)(x,2),A=R[0],I=R[1],L=(0,u.useRef)(r),T=(0,u.useRef)(g),N=(0,d.useStripe)(),B=(0,y.usePaymentEvents)({billing:r,shippingData:g,eventRegistration:b}).addPaymentEvent;(0,u.useEffect)((function(){L.current=r,T.current=g}));var F=(0,u.useCallback)((function(e){var t,n;if(null!=e&&null!==(t=e.paymentMethodData)&&void 0!==t&&null!==(n=t.info)&&void 0!==n&&n.billingAddress){var r,a=e.paymentMethodData.info.billingAddress;(0,p.isAddressValid)(L.current.billingData,["phone","email"])&&(0,p.isEmpty)(null===(r=L.current.billingData)||void 0===r?void 0:r.phone)&&(a={phoneNumber:a.phoneNumber}),O.billingData=L.current.billingData=(0,m.toCartAddress)(a,{email:e.email})}null!=e&&e.shippingAddress&&(O.shippingAddress=(0,m.toCartAddress)(e.shippingAddress))}),[O,n]),q=(0,u.useCallback)((function(e){for(;e.firstChild;)e.removeChild(e.firstChild)}),[A]),X=(0,u.useCallback)((0,s.default)(i.default.mark((function e(){var t,r,a;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return S(),e.prev=1,e.next=4,j.loadPaymentData(n);case 4:return t=e.sent,F(t),r=JSON.parse(t.paymentMethodData.tokenizationData.token),e.next=9,N.createPaymentMethod({type:"card",card:{token:r.id},billing_details:(0,p.getBillingDetailsFromAddress)(L.current.billingData)});case 9:if(!(a=e.sent).error){e.next=12;break}throw new p.StripeError(a.error);case 12:E(a.paymentMethod.id),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(1),"CANCELED"===(null===e.t0||void 0===e.t0?void 0:e.t0.statusCode)?_():(console.log((0,p.getErrorMessage)(e.t0)),P((0,p.getErrorMessage)(e.t0)));case 18:case"end":return e.stop()}}),e,null,[[1,15]])}))),[N,j,S]),U=(0,u.useCallback)((0,s.default)(i.default.mark((function e(){return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!j||A||!N){e.next=5;break}return e.next=4,h;case 4:I(j.createButton(v({onClick:X},w("buttonStyle"))));case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.log(e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),[N,A,j,X]),V=(0,u.useMemo)((function(){var e={environment:C,merchantInfo:t,paymentDataCallbacks:{onPaymentAuthorized:function(){return Promise.resolve({transactionState:"SUCCESS"})}}};return n.shippingAddressRequired&&(e.paymentDataCallbacks.onPaymentDataChanged=function(e){return new Promise((function(t,n){var r,i=T.current,s=e.shippingAddress,c=e.shippingOptionData,u=(0,m.toCartAddress)(s),d=(0,p.getSelectedShippingOption)(c.id),y=(0,l.default)((0,p.getIntermediateAddress)(i.shippingAddress),u),g=(0,l.default)(i.selectedRates,(0,o.default)({},d[1],d[0]));B("onShippingChanged",(function(e,n){var r=n.billing,a=n.shipping;t(e?(0,m.getPaymentRequestUpdate)({billing:r,shippingData:{needsShipping:!0,shippingRates:a.shippingRates},processingCountry:w("processingCountry"),totalPriceLabel:w("totalPriceLabel")}):{error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:(0,f.__)("Your shipping address is not serviceable.","woo-stripe-payment"),intent:"SHIPPING_ADDRESS"}})}),y&&g),T.current.setShippingAddress(v(v({},T.current.shippingAddress),u)),"shipping_option_unselected"!==c.id&&(r=T.current).setSelectedRates.apply(r,(0,a.default)(d))}))}),e}),[n]);return(0,u.useEffect)((function(){D(new google.payments.api.PaymentsClient(V))}),[V]),(0,u.useEffect)((function(){U()}),[U]),{button:A,removeButton:q}}},5341:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),n(9509);var r=n(9031);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}))},9031:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(7154)),i=a(n(6479)),s=a(n(9713)),c=n(4613),u=n(1134),l=n(5516),p=a(n(5212)),d=n(3097),m=a(n(1417)),f=n(6664);function y(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 g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){(0,s.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var v,b,h=(0,u.getSettings)("stripe_googlepay_data"),P=(v=new m.default.payments.api.PaymentsClient({environment:h("environment"),merchantInfo:{merchantId:h("merchantId"),merchantName:h("merchantName")}}),b=g(g({},d.BASE_PAYMENT_REQUEST),{},{allowedPaymentMethods:[d.BASE_PAYMENT_METHOD]}),v.isReadyToPay(b).then((function(){return!0})).catch((function(e){return console.log(e),!1}))),E=function(e){var t=e.getData,n=e.components,a=(0,i.default)(e,["getData","components"]),s=n.ValidationInputError,c=(0,l.useErrorMessage)(),d=c.errorMessage,m=c.setErrorMessage;return r.createElement("div",{className:"wc-stripe-gpay-container"},r.createElement(f.Elements,{stripe:u.initStripe},r.createElement(p.default,(0,o.default)({getData:t,canMakePayment:P,setErrorMessage:m},a)),d&&r.createElement(s,{errorMessage:d})))},O=function(e){var t,n=e.getData,a=((0,i.default)(e,["getData"]),n("buttonStyle").buttonType),o=(null===(t=n("editorIcons"))||void 0===t?void 0:t[a])||"long";return r.createElement("div",{className:"gpay-block-editor ".concat(a)},r.createElement("img",{src:o}))};(0,c.registerExpressPaymentMethod)({name:h("name"),canMakePayment:function(){return h("isAdmin")?!(0,u.isCartPage)()||h("cartCheckoutEnabled"):!((0,u.isCartPage)()&&!h("cartCheckoutEnabled"))&&u.initStripe.then((function(e){return e.error?e:P}))},content:r.createElement(E,{getData:h}),edit:r.createElement(O,{getData:h}),supports:{showSavedCards:h("showSavedCards"),showSaveOption:h("showSaveOption"),features:h("features")}})},8664:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.toCartAddress=t.getShippingOptions=t.getShippingOptionParameters=t.getPaymentRequestUpdate=t.getTransactionInfo=void 0;var a=r(n(319)),o=n(1134),i=((0,n(4617).getSetting)("stripeGeneralData"),function(e){var t=e.billing,n=e.processingCountry,r=e.totalPriceLabel,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ESTIMATED",i=t.cartTotal,c=t.cartTotalItems,u=t.currency,l={countryCode:n,currencyCode:u.code,totalPriceStatus:a,totalPrice:(0,o.removeNumberPrecision)(i.value,u.minorUnit).toString(),displayItems:s(c,u.minorUnit),totalPriceLabel:r};return l});t.getTransactionInfo=i,t.getPaymentRequestUpdate=function(e){var t=e.billing,n=e.shippingData,r=e.processingCountry,a=e.totalPriceLabel,o=n.needsShipping,s=n.shippingRates,u={newTransactionInfo:i({billing:t,processingCountry:r,totalPriceLabel:a},"FINAL")};return o&&(u.newShippingOptionParameters=c(s)),u};var s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,n=[],r=["total_tax","total_shipping"];return e.forEach((function(e){(0<e.value||e.key&&r.includes(e.key))&&n.push({label:e.label,type:"LINE_ITEM",price:(0,o.removeNumberPrecision)(e.value,t).toString()})})),n},c=function(e){var t=u(e),n=t.map((function(e){return e.id})).slice(0,1).shift();return e.forEach((function(e,t){e.shipping_rates.forEach((function(e){e.selected&&(n=(0,o.getShippingOptionId)(t,e.rate_id))}))})),{shippingOptions:t,defaultSelectedOptionId:n}};t.getShippingOptionParameters=c;var u=function(e){var t=[];return e.forEach((function(e,n){var r=e.shipping_rates.map((function(e){var t=document.createElement("textarea");t.innerHTML=e.name;var r=(0,o.formatPrice)(e.price,e.currency_code);return{id:(0,o.getShippingOptionId)(n,e.rate_id),label:t.value,description:"".concat(r)}}));t=[].concat((0,a.default)(t),(0,a.default)(r))})),t};t.getShippingOptions=u;var l=(0,o.toCartAddress)({name:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},countryCode:"country",address1:"address_1",address2:"address_2",locality:"city",administrativeArea:"state",postalCode:"postcode",email:"email",phoneNumber:"phone"});t.toCartAddress=l},3636:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(4332);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(1261);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(6107);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var i=n(2715);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}));var s=n(2343);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}}))}));var c=n(1500);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var u=n(6095);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))}));var l=n(5554);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var p=n(3893);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return p[e]}}))}));var d=n(1225);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}))},1261:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useAfterProcessingPayment=void 0;var a=r(n(1284)),o=r(n(8926)),i=n(9307),s=n(6664),c=n(1134),u=n(3893);t.useAfterProcessingPayment=function(e){var t=e.getData,n=e.eventRegistration,r=e.responseTypes,l=e.activePaymentMethod,p=e.shouldSavePayment,d=void 0!==p&&p,m=e.messageContext,f=void 0===m?null:m,y=(0,s.useStripe)(),g=n.onCheckoutAfterProcessingWithSuccess,v=n.onCheckoutAfterProcessingWithError;(0,u.useProcessCheckoutError)({responseTypes:r,subscriber:v,messageContext:f}),(0,i.useEffect)((function(){var e=g(function(){var e=(0,o.default)(a.default.mark((function e(n){var o;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.redirectUrl,t("name")!==l){e.next=5;break}return e.next=4,(0,c.handleCardAction)({redirectUrl:o,responseTypes:r,stripe:y,getData:t,shouldSavePayment:d});case 4:return e.abrupt("return",e.sent);case 5:return e.abrupt("return",null);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[y,r,g,l,d])}},5554:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useExpressBreakpointWidth=t.useBreakpointWidth=void 0;var a=r(n(3038)),o=n(9307),i=n(1134),s=function(e){var t=e.name,n=e.width,r=e.node,s=e.className,c=(0,o.useState)(window.innerWidth),u=(0,a.default)(c,2),l=u[0],p=u[1],d=(0,o.useCallback)((function(e){var t=(0,i.getFromCache)(e);return t?parseInt(t):0}),[]),m=(0,o.useCallback)((function(e,t){return(0,i.storeInCache)(e,t)}),[]);(0,o.useEffect)((function(){var e="function"==typeof r?r():r;if(e){var a=d(t);(!a||n>a)&&m(t,n),e.clientWidth<n?e.classList.add(s):e.clientWidth>a&&e.classList.remove(s)}}),[l,r]),(0,o.useEffect)((function(){var e=function(){return p(window.innerWidth)};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}))};t.useBreakpointWidth=s,t.useExpressBreakpointWidth=function(e){var t=e.payment_method,n=e.width,r=(0,o.useCallback)((function(){var e=document.getElementById("express-payment-method-".concat(t));return e?e.parentNode:null}),[]);s({name:"expressMaxWidth",width:n,node:r,className:"wc-stripe-express__sm"})}},2343:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useExportedValues=void 0;var r=n(9307);t.useExportedValues=function(){return(0,r.useRef)({}).current}},6095:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentEvents=void 0;var a=r(n(9713)),o=r(n(3038)),i=n(9307),s=n(1134);function c(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 u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){(0,a.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentEvents=function(e){var t=e.billing,n=e.shippingData,r=e.eventRegistration,c=r.onShippingRateSuccess,l=r.onShippingRateFail,p=r.onShippingRateSelectSuccess,d=(0,i.useRef)(t),m=(0,i.useRef)(n),f=(0,i.useState)(null),y=(0,o.default)(f,2),g=y[0],v=y[1],b=(0,i.useState)({onShippingChanged:!1}),h=(0,o.default)(b,2),P=h[0],E=h[1],O=(0,i.useCallback)((function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];n?v((0,a.default)({},e,t)):E(u(u({},P),{},(0,a.default)({},e,t)))}),[P,E]),S=(0,i.useCallback)((function(e){P[e]&&(delete P[e],E(P))}),[P]),_=(0,i.useCallback)((function(){var e=m.current,t=d.current;if(P.onShippingChanged&&!e.isSelectingRate&&!e.shippingRatesLoading){var n=P.onShippingChanged,r=!0;(0,s.hasShippingRates)(e.shippingRates)||(r=!1),n(r,{billing:t,shipping:e}),S("onShippingChanged")}}),[P,S]);return(0,i.useEffect)((function(){d.current=t,m.current=n})),(0,i.useEffect)((function(){g&&g.onShippingChanged&&(g.onShippingChanged(!0,{billing:d.current,shipping:m.current}),v(null))}),[g]),(0,i.useEffect)((function(){var e=c(_),t=p(_),n=l((function(e){e.hasInvalidAddress,e.hasError,P.onShippingChanged&&((0,P.onShippingChanged)(!1),S("onShippingChanged"))}));return function(){e(),n(),t()}}),[P,c,l,p]),{addPaymentEvent:O,removePaymentEvent:S}}},1500:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentRequest=void 0;var a=r(n(319)),o=r(n(9713)),i=r(n(3038)),s=n(9307),c=n(6095),u=n(1134),l=r(n(9127));function p(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 d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var m=(0,u.toCartAddress)();t.usePaymentRequest=function(e){var t=e.getData,n=e.onClose,r=e.stripe,o=e.billing,p=e.shippingData,f=e.eventRegistration,y=e.setPaymentMethod,g=e.exportedValues,v=e.canPay,b=(0,c.usePaymentEvents)({billing:o,shippingData:p,eventRegistration:f}).addPaymentEvent,h=(p.shippingAddress,p.needsShipping),P=p.shippingRates,E=o.billingData,O=o.cartTotalItems,S=o.currency,_=o.cartTotal,w=(0,s.useState)(null),C=(0,i.default)(w,2),k=C[0],M=C[1],j=(0,s.useRef)({}),D=(0,s.useRef)(p),x=(0,s.useRef)(o);(0,s.useEffect)((function(){D.current=p,x.current=o}),[p]),(0,s.useEffect)((function(){if(r){var e={country:t("countryCode"),currency:null==S?void 0:S.code.toLowerCase(),total:{amount:_.value,label:_.label,pending:!0},requestPayerName:!0,requestPayerEmail:(0,u.isFieldRequired)("email",E.country),requestPayerPhone:(0,u.isFieldRequired)("phone",E.country),requestShipping:h,displayItems:(0,u.getDisplayItems)(O,S)};e.requestShipping&&(e.shippingOptions=(0,u.getShippingOptions)(P)),j.current=e;var n=r.paymentRequest(j.current);n.canMakePayment().then((function(e){v(e)?M(n):M(null)}))}}),[r,_.value,E.country,P,O,S.code]),(0,s.useEffect)((function(){k&&(j.current.requestShipping&&(k.on("shippingaddresschange",A),k.on("shippingoptionchange",I)),k.on("cancel",n),k.on("paymentmethod",L))}),[k,A,n,L]);var R=(0,s.useCallback)((function(e){return function(t,n){var r=n.billing,a=n.shipping,o=r.cartTotal,i=r.cartTotalItems,s=r.currency,c=a.shippingRates;t?e.updateWith({status:"success",total:{amount:o.value,label:o.label,pending:!1},displayItems:(0,u.getDisplayItems)(i,s),shippingOptions:(0,u.getShippingOptions)(c)}):e.updateWith({status:"invalid_shipping_address"})}}),[]),A=(0,s.useCallback)((function(e){var t=e.shippingAddress,n=D.current,r=m(t);n.setShippingAddress(d(d({},n.shippingAddress),r));var a=(0,l.default)((0,u.getIntermediateAddress)(n.shippingAddress),r);b("onShippingChanged",R(e),a)}),[b]),I=(0,s.useCallback)((function(e){var t=e.shippingOption,n=D.current;n.setSelectedRates.apply(n,(0,a.default)((0,u.getSelectedShippingOption)(t.id))),b("onShippingChanged",R(e))}),[b]),L=(0,s.useCallback)((function(e){var t=e.paymentMethod,n=e.payerName,r=void 0===n?null:n,a=e.payerEmail,o=void 0===a?null:a,i=e.payerPhone,s={payerName:r,payerEmail:o,payerPhone:void 0===i?null:i};null!=t&&t.billing_details.address&&(s=m(t.billing_details.address,s)),g.billingData=s,e.shippingAddress&&(g.shippingAddress=m(e.shippingAddress)),y(t.id),e.complete("success")}),[]);return{paymentRequest:k}}},3893:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessCheckoutError=void 0;var r=n(9307);t.useProcessCheckoutError=function(e){var t=e.responseTypes,n=e.subscriber,a=e.messageContext,o=void 0===a?null:a;(0,r.useEffect)((function(){var e=n((function(e){var n;return null!=e&&null!==(n=e.processingResponse.paymentDetails)&&void 0!==n&&n.stripeErrorMessage?{type:t.ERROR,message:e.processingResponse.paymentDetails.stripeErrorMessage,messageContext:o}:null}));return function(){return e()}}),[t,n])}},4332:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessPaymentIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=r(n(3038)),c=n(9307),u=n(6664),l=n(1134);function p(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 d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useProcessPaymentIntent=function(e){var t=e.getData,n=e.billing,r=e.shippingData,p=e.onPaymentProcessing,m=e.emitResponse,f=e.error,y=e.onSubmit,g=e.activePaymentMethod,v=e.paymentType,b=void 0===v?"card":v,h=e.setupIntent,P=void 0===h?null:h,E=e.removeSetupIntent,O=void 0===E?null:E,S=e.shouldSavePayment,_=void 0!==S&&S,w=e.exportedValues,C=void 0===w?{}:w,k=e.getPaymentMethodArgs,M=void 0===k?function(){return{}}:k,j=n.billingData,D=r.shippingAddress,x=m.responseTypes,R=(0,c.useState)(null),A=(0,s.default)(R,2),I=A[0],L=A[1],T=(0,u.useStripe)(),N=(0,c.useRef)(M),B=(0,c.useRef)({});(0,c.useEffect)((function(){N.current=M}),[M]);var F=(0,c.useCallback)((function(e){B.current=d(d({},B.current),e)}),[]),q=(0,c.useCallback)((function(){return d(d({},{type:b,billing_details:(0,l.getBillingDetailsFromAddress)(null!=C&&C.billingData?C.billingData:j)}),N.current())}),[j,b,M]),X=(0,c.useCallback)((function(e,n){var r,a={meta:{paymentMethodData:d((r={},(0,i.default)(r,"".concat(t("name"),"_token_key"),e),(0,i.default)(r,"".concat(t("name"),"_save_source_key"),n),r),B.current)}};return null!=C&&C.billingData&&(a.meta.billingData=C.billingData),null!=C&&C.shippingAddress&&(a.meta.shippingData={address:C.shippingAddress}),a}),[j,D]);return(0,c.useEffect)((function(){I&&"string"==typeof I&&y()}),[I,y]),(0,c.useEffect)((function(){var e=p((0,o.default)(a.default.mark((function e(){var n,r;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(g===t("name")){e.next=2;break}return e.abrupt("return",null);case 2:if(n=null,r=null,e.prev=3,!f){e.next=6;break}throw new l.StripeError(f);case 6:if(!P){e.next=16;break}return e.next=9,T.confirmCardSetup(P.client_secret,{payment_method:q()});case 9:if(!(n=e.sent).error){e.next=12;break}throw new l.StripeError(n.error);case 12:r=n.setupIntent.payment_method,O(),e.next=26;break;case 16:if(!I){e.next=20;break}r=I,e.next=26;break;case 20:return e.next=22,T.createPaymentMethod(q());case 22:if(!(n=e.sent).error){e.next=25;break}throw new l.StripeError(n.error);case 25:r=n.paymentMethod.id;case 26:return e.abrupt("return",(0,l.ensureSuccessResponse)(x,X(r,_)));case 29:return e.prev=29,e.t0=e.catch(3),console.log(e.t0),L(null),e.abrupt("return",(0,l.ensureErrorResponse)(x,e.t0.error));case 34:case"end":return e.stop()}}),e,null,[[3,29]])}))));return function(){return e()}}),[I,j,p,T,P,g,_]),{setPaymentMethod:L,getCreatePaymentMethodArgs:q,addPaymentMethodData:F}}},6107:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useSetupIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(3038)),s=n(9307),c=r(n(6989)),u=n(1134);t.useSetupIntent=function(e){var t=e.cartTotal,n=e.setError,r=(0,s.useState)((0,u.getFromCache)("setupIntent")),l=(0,i.default)(r,2),p=l[0],d=l[1];(0,s.useEffect)((function(){var e=function(){var e=(0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!p){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,(0,c.default)({url:(0,u.getRoute)("create/setup_intent"),method:"POST"});case 4:(t=e.sent).code?n(t.message):((0,u.storeInCache)("setupIntent",t.intent),d(t.intent));case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();(0,u.cartContainsPreOrder)()||(0,u.cartContainsSubscription)()&&0==t.value?p||e():d(null)}),[t.value]);var m=(0,s.useCallback)((function(){(0,u.deleteFromCache)("setupIntent")}),[t.value]);return{setupIntent:p,removeSetupIntent:m}}},2715:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useStripeError=void 0;var a=r(n(3038)),o=n(9307);t.useStripeError=function(){var e=(0,o.useState)(!1),t=(0,a.default)(e,2);return[t[0],t[1]]}},1225:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useUpdatePaymentIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=n(9307),c=n(6664),u=n(1134),l=r(n(6989));function p(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 d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useUpdatePaymentIntent=function(e){var t=e.clientSecret,n=e.billingData,r=e.eventRegistration,p=e.responseTypes,m=e.name,f=e.shouldSavePayment,y=e.noticeContexts,g=r.onPaymentProcessing,v=r.onCheckoutAfterProcessingWithSuccess,b=(0,s.useRef)({billingData:n}),h=(0,s.useRef)({}),P=(0,c.useStripe)(),E=(0,c.useElements)(),O=(0,s.useCallback)((function(e,t){var n;return{meta:{paymentMethodData:d((n={},(0,i.default)(n,"".concat(m,"_token_key"),e),(0,i.default)(n,"".concat(m,"_save_source_key"),t),n),h.current)}}}),[]),S=(0,s.useCallback)((function(e){h.current=d(d({},h.current),e)}),[]),_=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=b.current.billingData,e.next=3,P.updatePaymentIntent({elements:E,params:{payment_method_data:{billing_details:(0,u.getBillingDetailsFromAddress)(t)}}});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),[P,E]),w=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=b.current.billingData,e.next=3,P.confirmPayment({elements:E,confirmParams:{payment_method_data:{billing_details:(0,u.getBillingDetailsFromAddress)(t)}},redirect:"if_required"});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),[P,E]);return(0,s.useEffect)((function(){b.current={billingData:n}})),(0,s.useEffect)((function(){var e=g((0,o.default)(a.default.mark((function e(){var n,r;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=null,e.next=4,P.retrievePaymentIntent(t);case 4:if("requires_action"!==(r=e.sent).paymentIntent.status){e.next=11;break}return n=r.paymentIntent.payment_method,e.next=9,w();case 9:e.next=17;break;case 11:return e.next=13,_();case 13:if(!(r=e.sent).error){e.next=16;break}throw new u.StripeError(r.error);case 16:n=r.paymentIntent.payment_method;case 17:return e.abrupt("return",(0,u.ensureSuccessResponse)(p,O(n,f)));case 20:return e.prev=20,e.t0=e.catch(0),e.abrupt("return",(0,u.ensureErrorResponse)(p,e.t0,{messageContext:y.PAYMENTS}));case 23:case"end":return e.stop()}}),e,null,[[0,20]])}))));return function(){return e()}}),[g,_,w,t,f]),(0,s.useEffect)((function(){var e=v(function(){var e=(0,o.default)(a.default.mark((function e(t){var n,r,o,s,c;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.redirectUrl,!(r=(0,u.isNextActionRequired)(n))){e.next=23;break}return r.client_secret,o=r.order_id,s=r.order_key,e.prev=4,e.next=7,w();case 7:if(!(c=e.sent).error){e.next=10;break}throw new u.StripeError(c.error);case 10:return e.next=12,(0,l.default)({url:(0,u.getRoute)("process/payment"),method:"POST",data:(0,i.default)({order_id:o,order_key:s},"".concat(m,"_save_source_key"),f)});case 12:if(!(c=e.sent).messages){e.next=15;break}return e.abrupt("return",(0,u.ensureErrorResponse)(p,c.messages));case 15:return e.abrupt("return",(0,u.ensureSuccessResponse)(p,{redirectUrl:c.redirect}));case 18:return e.prev=18,e.t0=e.catch(4),e.abrupt("return",(0,u.ensureErrorResponse)(p,e.t0,{messageContext:y.PAYMENTS}));case 21:e.next=24;break;case 23:return e.abrupt("return",(0,u.ensureSuccessResponse)(p));case 24:case"end":return e.stop()}}),e,null,[[4,18]])})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[v,w,f]),{updatePaymentIntent:_,addPaymentMethodData:S}}},318:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(9874);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}))},9874:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useLink=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(8926)),s=r(n(3038)),c=r(n(6479)),u=n(9307),l=n(6664),p=n(1134);function d(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 m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f=(0,p.toCartAddress)();t.useLink=function(e){var t=e.email,n=e.eventRegistration,r=e.onClick,o=e.onSubmit,d=e.isActive,y=e.responseTypes,g=((0,c.default)(e,["email","eventRegistration","onClick","onSubmit","isActive","responseTypes"]),(0,u.useState)()),v=(0,s.default)(g,2),b=v[0],h=v[1],P=(0,l.useStripe)(),E=(0,l.useElements)(),O=(0,u.useRef)(),S=(0,u.useRef)(),_=n.onPaymentProcessing;return(0,u.useEffect)((function(){O.current={onClick:r,onSubmit:o}})),(0,u.useEffect)((function(){P&&E&&h(null==P?void 0:P.linkAutofillModal(E))}),[P,E]),(0,u.useEffect)((function(){b&&b.launch({email:t})}),[b,t]),(0,u.useEffect)((function(){b&&(b.on("autofill",(function(e){S.current=e,O.current.onSubmit()})),b.on("authenticated",(function(e){O.current.onClick()})))}),[b]),(0,u.useEffect)((function(){if(d){var e=_((0,i.default)(a.default.mark((function e(){var t,n,r,o,i,s,c;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={meta:{}},n=S.current.value,r=n.shippingAddress,o=void 0===r?null:r,i=n.billingAddress,(s=void 0===i?null:i)&&(t.meta.billingData=f(m(m({},s.address),{},{recipient:s.name}))),o&&(t.meta.shippingData=f(m(m({},o.address),{},{recipient:o.name}))),e.prev=4,e.next=7,P.updatePaymentIntent({elements:E,params:{payment_method_data:{billing_details:(0,p.getBillingDetailsFromAddress)(t.meta.billingData)}}});case 7:c=e.sent,t.meta.paymentMethodData={stripe_cc_token_key:c.paymentIntent.payment_method,stripe_cc_save_source_key:!1},e.next=14;break;case 11:e.prev=11,e.t0=e.catch(4),console.log(e.t0);case 14:return e.abrupt("return",(0,p.ensureSuccessResponse)(y,t));case 15:case"end":return e.stop()}}),e,null,[[4,11]])}))));return function(){return e()}}}),[d,_,P,E]),b}},3474:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.LinkComponent=void 0;var o=a(n(6479)),i=(n(9307),n(6664)),s=n(4613),c=n(318),u=n(1134),l=(0,u.getSettings)("stripe_link_checkout_data"),p=function(e){var t,n,a=e.cartData,s=(0,o.default)(e,["cartData"]),c=null==a||null===(t=a.extensions)||void 0===t||null===(n=t.stripe_link_checkout)||void 0===n?void 0:n.clientSecret;return c?r.createElement(i.Elements,{stripe:u.initStripe,options:{clientSecret:c}},r.createElement(d,s)):null};t.LinkComponent=p;var d=function(e){var t=e.billing,n=(e.shipping,e.eventRegistration),a=e.onClick,s=e.onSubmit,u=e.activePaymentMethod,p=e.emitResponse,d=((0,o.default)(e,["billing","shipping","eventRegistration","onClick","onSubmit","activePaymentMethod","emitResponse"]),t.billingData),m=(t.currency,p.responseTypes),f=(p.noticeContexts,d.email),y=u===l("name");return(0,c.useLink)({email:f,eventRegistration:n,onClick:a,onSubmit:s,isActive:y,responseTypes:m}),r.createElement("div",{style:{display:"none"}},r.createElement(i.PaymentElement,null))};(0,s.registerExpressPaymentMethod)({name:l("name"),canMakePayment:function(e){return!0},content:r.createElement(p,null),edit:r.createElement(p,null),supports:{showSavedCards:l("showSavedCards"),showSaveOption:l("showSaveOption"),features:l("features")}})},6480:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(6479)),i=a(n(9713)),s=a(n(3038)),c=n(9307),u=n(4613),l=n(1134),p=n(3539),d=n(3187),m=n(6664),f=n(5736),y=n(3554),g=n(8817);function v(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 b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var h,P=(0,l.getSettings)("stripe_afterpay_data"),E=function(e){var t=e.total,n=e.currency,r=e.needsShipping,a=!1,o=P("requiredParams"),i=P("accountCountry"),s=!!o.hasOwnProperty(n)&&o[n];return s&&(a=i===(null==s?void 0:s[0])&&r&&t>(null==s?void 0:s[1])&&t<(null==s?void 0:s[2])),a},O=function(e){var t=e.getData,n=(0,c.useState)({amount:t("cartTotal"),currency:t("currency"),isEligible:t("msgOptions").isEligible}),a=(0,s.default)(n,2),o=a[0],i=a[1];return h=i,r.createElement(m.Elements,{stripe:l.initStripe,options:t("elementOptions")},r.createElement("div",{className:"wc-stripe-blocks-afterpay__label"},r.createElement(m.AfterpayClearpayMessageElement,{options:b(b({},t("msgOptions")),{amount:o.amount,currency:o.currency,isEligible:o.isEligible})})))},S=function(e){var t=e.content,n=e.billing,a=e.shippingData,i=(0,o.default)(e,["content","billing","shippingData"]),s=t,u=n.cartTotal,l=n.currency,p=a.needsShipping;return(0,c.useEffect)((function(){h({amount:u.value,currency:l.code,isEligible:p})}),[u.value,l.code,p]),r.createElement(r.Fragment,null,p&&r.createElement("div",{className:"wc-stripe-blocks-payment-method-content"},r.createElement("div",{className:"wc-stripe-blocks-afterpay-offsite__container"},r.createElement("div",{className:"wc-stripe-blocks-afterpay__offsite"},r.createElement("img",{src:P("offSiteSrc")}),r.createElement("p",null,(0,f.sprintf)((0,f.__)('After clicking "%s", you will be redirected to Afterpay to complete your purchase securely.',"woo-stripe-payment"),P("placeOrderButtonLabel"))))),r.createElement(s,b(b({},i),{},{billing:n,shippingData:a}))))},_=function(e){var t=e.cart,n=(e.extensions,e.context,t.cartTotals),a=t.cartNeedsShipping,o=(n.total_price,n.currency_code),i=parseInt(n.total_price),s=parseInt(n.total_price)/Math.pow(10,n.currency_minor_unit);return E({total:s,currency:o,needsShipping:a})?r.createElement(y.TotalsWrapper,null,r.createElement(m.Elements,{stripe:l.initStripe,options:P("elementOptions")},r.createElement("div",{className:"wc-stripe-blocks-afterpay-totals__item wc-block-components-totals-item"},r.createElement(m.AfterpayClearpayMessageElement,{options:b(b({},P("msgOptions")),{amount:i,currency:o,isEligible:a})})))):null};P()&&((0,u.registerPaymentMethod)({name:P("name"),label:r.createElement(O,{getData:P}),ariaLabel:(0,f.__)("Afterpay","woo-stripe-payment"),placeOrderButtonLabel:P("placeOrderButtonLabel"),canMakePayment:(0,p.canMakePayment)(P,(function(e){var t=e.settings,n=e.cartTotals,r=e.cartNeedsShipping,a=n.currency_code,o=n.currency_minor_unit,i=n.total_price;h&&h({amount:parseInt(n.total_price),currency:a,isEligible:r});var s=parseInt(i)/Math.pow(10,o),c=E({total:s,currency:a,needsShipping:r});return!c&&!t("hideIneligible")||c})),content:r.createElement(S,{content:p.LocalPaymentIntentContent,getData:P,confirmationMethod:"confirmAfterpayClearpayPayment"}),edit:r.createElement(d.PaymentMethod,{content:p.LocalPaymentIntentContent,getData:P}),supports:{showSavedCards:!1,showSaveOption:!1,features:P("features")}}),(0,g.registerPlugin)("wc-stripe",{render:function(){return r.createElement(y.ExperimentalOrderMeta,null,r.createElement(_,null))},scope:"woocommerce-checkout"}))},39:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(2029),c=n(3187),u=(0,o.getSettings)("stripe_alipay_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Alipay",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(c.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmAlipayPayment",getData:u}),edit:r.createElement(c.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},8641:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_bancontact_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Bancontact",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmBancontactPayment",getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},5176:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_becs_data"),l=function(e){return r.createElement(r.Fragment,null,r.createElement(s.PaymentMethod,e),r.createElement("div",{className:"wc-stripe-blocks-mandate becs-mandate",dangerouslySetInnerHTML:{__html:e.getData("mandate")}}))};u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"BECS",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(l,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmAuBecsDebitPayment",component:c.AuBankAccountElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},4990:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(7154)),i=a(n(9713)),s=a(n(3038)),c=a(n(6479)),u=n(9307),l=n(5736),p=n(4613),d=a(n(4184)),m=n(1134),f=n(3539),y=n(3187);function g(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 v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var b=(0,m.getSettings)("stripe_boleto_data");b()&&(0,p.registerPaymentMethod)({name:b("name"),label:r.createElement(y.PaymentMethodLabel,{title:b("title"),paymentMethod:b("name"),icons:b("icon")}),ariaLabel:"Boleto",placeOrderButtonLabel:b("placeOrderButtonLabel"),canMakePayment:(0,f.canMakePayment)(b),content:r.createElement(y.PaymentMethod,{content:function(e){var t=e.eventRegistration,n=(0,c.default)(e,["eventRegistration"]),a=(0,u.useState)(""),i=(0,s.default)(a,2),p=i[0],y=i[1],g=(0,u.useState)(!1),b=(0,s.default)(g,2),h=b[0],P=b[1],E=t.onPaymentProcessing,O=(0,u.useCallback)((function(){return{boleto:{tax_id:p}}}),[p]);return(0,u.useEffect)((function(){var e=E((function(){return!!p||(0,m.ensureErrorResponse)(n.emitResponse.responseTypes,(0,l.__)("Please enter a valid CPF/CNPJ value","woo-stripe-payment"))}));return function(){return e()}}),[E,p]),r.createElement(r.Fragment,null,r.createElement("div",{className:(0,d.default)("wc-block-components-text-input",{"is-active":h||p})},r.createElement("input",{type:"text",id:"wc-stripe-boleto-tax_id",onChange:function(e){return y(e.target.value)},onFocus:function(){return P(!0)},onBlur:function(){return P(!1)}}),r.createElement("label",{htmlFor:"wc-stripe-boleto-tax_id"},(0,l.__)(" CPF / CNPJ"," woo-stripe-payment"))),(0,m.isTestMode)()&&r.createElement("div",{className:"wc-stripe-boleto__description"},r.createElement("p",null,(0,l.__)("Test mode values","woo-stripe-payment")),r.createElement("div",null,r.createElement("label",null,"CPF:")," ",r.createElement("span",null,"000.000.000-00")),r.createElement("div",null,r.createElement("label",null,"CNPJ:")," ",r.createElement("span",null,"00.000.000/0000-00"))),!(0,m.isTestMode)()&&r.createElement("div",{className:"wc-stripe-boleto__description"},r.createElement("p",null,(0,l.__)("Accepted formats","woo-stripe-payment")),r.createElement("div",null,r.createElement("label",null,"CPF:")," ",r.createElement("span",null,(0,l.__)("XXX.XXX.XXX-XX or XXXXXXXXXXX","woo-stripe-payment"))),r.createElement("div",null,r.createElement("label",null,"CNPJ:")," ",r.createElement("span",null,(0,l.__)("XX.XXX.XXX/XXXX-XX or XXXXXXXXXXXXXX","woo-stripe-payment")))),r.createElement(f.LocalPaymentIntentContent,(0,o.default)({callback:O},v(v({},n),{eventRegistration:t}))))},getData:b,confirmationMethod:"confirmBoletoPayment"}),edit:r.createElement(y.PaymentMethod,{content:f.LocalPaymentIntentContent,getData:b}),supports:{showSavedCards:!1,showSaveOption:!1,features:b("features")}})},4494:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_eps_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"EPS",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmEpsPayment",component:c.EpsBankElement,getData:u}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},4031:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_fpx_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"FPX",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmIdealPayment",component:c.FpxBankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},3817:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_giropay_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Giropay",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmGiropayPayment",getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3140:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_grabpay_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"GrabPay",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c,confirmationMethod:"confirmGrabPayPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},8522:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(3160);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(3994);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(878);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},3160:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useAfterProcessLocalPayment=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(6479)),s=r(n(8926)),c=n(9307),u=n(6664),l=n(1134);function p(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 d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useAfterProcessLocalPayment=function(e){var t=e.getData,n=e.billingData,r=e.eventRegistration,o=e.responseTypes,p=e.activePaymentMethod,m=e.confirmationMethod,f=e.getPaymentMethodArgs,y=void 0===f?function(){return{}}:f,g=(0,u.useStripe)(),v=r.onCheckoutAfterProcessingWithSuccess,b=r.onCheckoutAfterProcessingWithError,h=(0,c.useRef)(n),P=(0,c.useRef)(y);(0,c.useEffect)((function(){h.current=n}),[n]),(0,c.useEffect)((function(){P.current=y}),[y]),(0,c.useEffect)((function(){var e=v(function(){var e=(0,s.default)(a.default.mark((function e(n){var r,s,c,u,f,y,v;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.redirectUrl,t("name")!==p){e.next=18;break}if(e.prev=2,!(s=r.match(/#response=(.+)/))){e.next=12;break}return c=JSON.parse(window.atob(decodeURIComponent(s[1]))),u=c.client_secret,f=c.return_url,y=(0,i.default)(c,["client_secret","return_url"]),e.next=8,g[m](u,{payment_method:d({billing_details:(0,l.getBillingDetailsFromAddress)(h.current)},P.current(h.current)),return_url:f});case 8:if(!(v=e.sent).error){e.next=11;break}throw new l.StripeError(v.error);case 11:window.location=decodeURI(y.order_received_url);case 12:e.next=18;break;case 14:return e.prev=14,e.t0=e.catch(2),console.log(e.t0),e.abrupt("return",(0,l.ensureErrorResponse)(o,e.t0.error));case 18:case"end":return e.stop()}}),e,null,[[2,14]])})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[g,v,b])}},878:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useCreateSource=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=r(n(3038)),c=n(9307),u=n(1134),l=n(6664),p=n(5736);t.useCreateSource=function(e){var t=e.getData,n=e.billing,r=e.shippingAddress,d=e.onPaymentProcessing,m=e.responseTypes,f=e.getSourceArgs,y=void 0!==f&&f,g=e.element,v=void 0!==g&&g,b=(0,c.useState)(!1),h=(0,s.default)(b,2),P=h[0],E=h[1],O=(0,c.useState)(!1),S=(0,s.default)(O,2),_=S[0],w=S[1],C=(0,c.useRef)({billing:n,shippingAddress:r}),k=(0,l.useStripe)(),M=(0,l.useElements)();(0,c.useEffect)((function(){C.current={billing:n,shippingAddress:r}}));var j=(0,c.useCallback)((function(){var e=C.current.billing,n=e.cartTotal,r=e.currency,a=e.billingData,o=(0,u.getDefaultSourceArgs)({type:t("paymentType"),amount:n.value,billingData:a,currency:r.code,returnUrl:t("returnUrl")});return y&&(o=y(o,{billingData:a})),o}),[]),D=(0,c.useCallback)((function(e){return{meta:{paymentMethodData:(0,i.default)({},"".concat(t("name"),"_token_key"),e)}}}),[]);return(0,c.useEffect)((function(){var e=d((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!P){e.next=2;break}return e.abrupt("return",(0,u.ensureSuccessResponse)(m,D(P.id)));case 2:if(e.prev=2,!v){e.next=11;break}if(_){e.next=6;break}throw(0,p.__)("Please enter your payment info before proceeding.","woo-stripe-payment");case 6:return e.next=8,k.createSource(M.getElement(v),j());case 8:t=e.sent,e.next=14;break;case 11:return e.next=13,k.createSource(j());case 13:t=e.sent;case 14:if(!t.error){e.next=16;break}throw new u.StripeError(t.error);case 16:return E(t.source),e.abrupt("return",(0,u.ensureSuccessResponse)(m,D(t.source.id)));case 20:return e.prev=20,e.t0=e.catch(2),console.log(e.t0),e.abrupt("return",(0,u.ensureErrorResponse)(m,e.t0.error||e.t0));case 24:case"end":return e.stop()}}),e,null,[[2,20]])}))));return function(){return e()}}),[P,d,k,m,v,_,w]),{setIsValid:w}}},3994:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useValidateCheckout=void 0;var a=r(n(3038)),o=n(9307),i=n(1134),s=n(5736);t.useValidateCheckout=function(e){var t=e.subscriber,n=e.responseTypes,r=e.component,c=void 0===r?null:r,u=e.msg,l=void 0===u?(0,s.__)("Please enter your payment info before proceeding.","woo-stripe-payment"):u,p=(0,o.useState)(!1),d=(0,a.default)(p,2),m=d[0],f=d[1];return(0,o.useEffect)((function(){var e=t((function(){return!(c&&!m)||(0,i.ensureErrorResponse)(n,l)}));return function(){return e()}}),[t,m,f,n,c]),{isValid:m,setIsValid:f}}},9474:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_ideal_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Ideal",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmIdealPayment",component:c.IdealBankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},9738:(e,t,n)=>{n(5142),n(9474),n(3868),n(8641),n(3817),n(4494),n(4784),n(1192),n(7894),n(3766),n(4031),n(5176),n(3140),n(39),n(6480),n(4990),n(5748)},5142:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(5736),u=(0,o.getSettings)("stripe_klarna_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Klarna",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u,(function(e){var t=e.settings,n=e.billingData,r=e.cartTotals,a=n.country,o=r.currency_code,i=t("requiredParams");return[o]in i&&i[o].includes(a)})),content:r.createElement(s.PaymentMethod,{content:function(e){return r.createElement(r.Fragment,null,(0,o.isTestMode)()&&r.createElement("div",{className:"wc-stripe-klarna__testmode"},r.createElement("label",null,(0,c.__)("Test mode sms","woo-stripe-payment"),":")," ",r.createElement("span",null,"123456")),r.createElement(i.LocalPaymentIntentContent,e))},getData:u,confirmationMethod:"confirmKlarnaPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},3539:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.LocalPaymentSourceContent=t.LocalPaymentIntentContent=t.canMakePayment=void 0;var o=a(n(7154)),i=a(n(9713)),s=a(n(6479)),c=n(9307),u=n(6664),l=n(1134),p=n(8522),d=n(3636);function m(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?m(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.canMakePayment=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(n){var r=n.billingData,a=n.cartTotals,o=(0,s.default)(n,["billingData","cartTotals"]),i=a.currency_code,c=r.country,u=e("countries"),p=e("allowedCountries"),d=e("features"),m=!1;if(e("isAdmin"))m=!0;else{if((0,l.cartContainsSubscription)()&&!d.includes("subscriptions"))return!1;if((0,l.cartContainsPreOrder)()&&!d.includes("pre-orders"))return!1;e("currencies").includes(i)&&(m="all_except"===p?!e("exceptCountries").includes(c):"specific"===p?e("specificCountries").includes(c):!(u.length>0)||u.includes(c)),t&&m&&(m=t(f({settings:e,billingData:r,cartTotals:a},o)))}return m}},t.LocalPaymentIntentContent=function(e){var t=e.getData,n=(0,s.default)(e,["getData"]);return r.createElement(u.Elements,{stripe:l.initStripe,options:t("elementOptions")},r.createElement(g,f(f({},n),{},{getData:t})))},t.LocalPaymentSourceContent=function(e){return r.createElement(u.Elements,{stripe:l.initStripe},r.createElement(y,e))};var y=function(e){var t=e.getData,n=e.billing,a=e.shippingData,o=e.emitResponse,i=e.eventRegistration,s=e.getSourceArgs,c=void 0!==s&&s,u=e.element,l=void 0!==u&&u,d=a.shippingAddress,m=i.onPaymentProcessing,f=(i.onCheckoutAfterProcessingWithError,o.responseTypes),y=(o.noticeContexts,(0,p.useCreateSource)({getData:t,billing:n,shippingAddress:d,onPaymentProcessing:m,responseTypes:f,getSourceArgs:c,element:l}).setIsValid);return l?r.createElement(v,{name:t("name"),options:t("paymentElementOptions"),onChange:function(e){y(e.complete)},element:l}):null},g=function(e){var t=e.getData,n=e.billing,a=e.emitResponse,o=e.eventRegistration,s=e.activePaymentMethod,l=e.confirmationMethod,m=void 0===l?null:l,f=e.component,y=void 0===f?null:f,g=e.callback,b=void 0===g?null:g,h=(0,u.useElements)(),P=n.billingData,E=o.onPaymentProcessing,O=o.onCheckoutAfterProcessingWithError,S=a.responseTypes,_=a.noticeContexts,w=(0,c.useCallback)((function(e){return y?(0,i.default)({},t("paymentType"),h.getElement(y)):b?b(e):{}}),[h,b]),C=(0,p.useValidateCheckout)({subscriber:E,responseTypes:S,component:y}).setIsValid;return(0,p.useAfterProcessLocalPayment)({getData:t,billingData:P,eventRegistration:o,responseTypes:S,activePaymentMethod:s,confirmationMethod:m,getPaymentMethodArgs:w}),(0,d.useProcessCheckoutError)({responseTypes:S,subscriber:O,messageContext:_.PAYMENT}),y?r.createElement(v,{name:t("name"),options:t("paymentElementOptions"),onChange:function(e){return C(!e.empty)},element:y,callback:b}):null},v=function(e){var t=e.name,n=e.onChange,a=e.element,i=e.options,c=(0,s.default)(e,["name","onChange","element","options"]),u=a;return r.createElement("div",{className:"wc-stripe-local-payment-container ".concat(t," ").concat(u.displayName)},r.createElement(u,(0,o.default)({options:i,onChange:n},c)))}},4784:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_multibanco_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"MultiBanco",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentSourceContent,getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentSourceContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},5748:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(n(6664),(0,o.getSettings)("stripe_oxxo_data"));c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"OXXO",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c,confirmationMethod:"confirmOxxoPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3868:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_p24_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"P24",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmP24Payment",component:c.P24BankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},1192:(e,t,n)=>{var r,a=n(9307),o=n(4613),i=n(1134),s=n(3187),c=n(3539),u=n(6664),l=(0,i.getSettings)("stripe_sepa_data"),p=(r=s.PaymentMethod,function(e){return a.createElement(a.Fragment,null,a.createElement(r,e),a.createElement("div",{className:"wc-stripe-blocks-mandate sepa-mandate",dangerouslySetInnerHTML:{__html:e.getData("mandate")}}))});l()&&(0,o.registerPaymentMethod)({name:l("name"),label:a.createElement(s.PaymentMethodLabel,{title:l("title"),paymentMethod:l("name"),icons:l("icon")}),ariaLabel:"SEPA",placeOrderButtonLabel:l("placeOrderButtonLabel"),canMakePayment:(0,c.canMakePayment)(l),content:a.createElement(p,{content:c.LocalPaymentIntentContent,getData:l,confirmationMethod:"confirmSepaDebitPayment",component:u.IbanElement}),edit:a.createElement(s.PaymentMethod,{content:c.LocalPaymentIntentContent,getData:l}),supports:{showSavedCards:!1,showSaveOption:!1,features:l("features")}})},7894:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_sofort_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Sofort",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmSofortPayment",getData:c,callback:function(e){return{sofort:{country:e.country}}}}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3766:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(1284)),i=a(n(8926)),s=a(n(9713)),c=a(n(3038)),u=n(9307),l=n(4613),p=n(1134),d=n(3187),m=n(3539),f=n(6664),y=n(8522),g=n(5736),v=n(3636),b=(0,p.getSettings)("stripe_wechat_data"),h=function(e){return r.createElement(f.Elements,{stripe:p.initStripe},r.createElement(P,e))},P=function(e){var t=e.getData,n=e.billing,a=(e.shippingData,e.emitResponse),o=e.eventRegistration,i=e.components,s=parseInt(t("qrSize")),c=a.responseTypes,l=o.onPaymentProcessing,d=o.onCheckoutAfterProcessingWithSuccess,m=i.ValidationInputError,f=(0,y.useValidateCheckout)({subscriber:o.onPaymentProcessing,responseTypes:a.responseTypes,msg:(0,g.__)("Please scan your QR code to continue with payment.","woo-stripe-payment")}),v=(f.isValid,f.setIsValid),b=O({getData:t,billing:n,responseTypes:c,subscriber:l}),h=b.source,P=b.error,S=b.deleteSourceFromStorage;return(0,u.useEffect)((function(){var e=d((function(){return S(),(0,p.ensureSuccessResponse)(c)}));return function(){return e()}}),[h,d,S]),(0,u.useEffect)((function(){h&&v(!0)}),[h]),h?r.createElement(E,{text:h.wechat.qr_code_url,width:s,height:s}):P?r.createElement("div",{className:"wechat-validation-error"},r.createElement(m,{errorMessage:(0,p.getErrorMessage)(P)})):(0,p.isAddressValid)(n.billingData)?null:(0,g.__)("Please fill out all the required fields in order to complete the WeChat payment.","woo-stripe-payment")},E=function(e){var t=e.text,n=e.width,a=void 0===n?128:n,o=e.height,i=void 0===o?128:o,s=e.colorDark,c=void 0===s?"#424770":s,l=e.colorLight,d=void 0===l?"#f8fbfd":l,m=e.correctLevel,f=void 0===m?QRCode.CorrectLevel.H:m,y=(0,u.useRef)();return(0,u.useEffect)((function(){new QRCode(y.current,{text:t,width:a,height:i,colorDark:c,colorLight:d,correctLevel:f})}),[y]),r.createElement(r.Fragment,null,r.createElement("div",{id:"wc-stripe-block-qrcode",ref:y}),(0,p.isTestMode)()&&r.createElement("p",null,(0,g.__)("Test mode: Click the Place Order button to proceed.","woo-stripe-payment")),!(0,p.isTestMode)()&&r.createElement("p",null,(0,g.__)("Scan the QR code using your WeChat app. Once scanned click the Place Order button.","woo-stripe-payment")))},O=function(e){var t=e.getData,n=e.billing,r=e.responseTypes,a=e.subscriber,l=(0,f.useStripe)(),d=(0,v.useStripeError)(),m=(0,c.default)(d,2),y=m[0],g=m[1],b=(0,u.useState)((0,p.getFromCache)("wechat:source")),h=(0,c.default)(b,2),P=h[0],E=h[1],O=(0,u.useRef)(null),S=n.cartTotal,_=n.billingData,w=n.currency;(0,u.useEffect)((function(){var e=a((function(){return(0,p.ensureSuccessResponse)(r,{meta:{paymentMethodData:(0,s.default)({},"".concat(t("name"),"_token_key"),P.id)}})}));return function(){return e()}}),[P,a]);var C=(0,u.useCallback)((0,i.default)(o.default.mark((function e(){var n;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,y||!(0,p.isAddressValid)(_)){e.next=9;break}return e.next=4,l.createSource((0,p.getDefaultSourceArgs)({type:t("paymentType"),amount:S.value,billingData:_,currency:w.code,returnUrl:t("returnUrl")}));case 4:if(!(n=e.sent).error){e.next=7;break}throw new p.StripeError(n.error);case 7:E(n.source),(0,p.storeInCache)("wechat:source",n.source);case 9:e.next=15;break;case 11:e.prev=11,e.t0=e.catch(0),console.log("error: ",e.t0),g(e.t0.error);case 15:case"end":return e.stop()}}),e,null,[[0,11]])}))),[l,P,S.value,_,w,y]),k=(0,u.useCallback)((function(){(0,p.deleteFromCache)("wechat:source")}),[]);return(0,u.useEffect)((function(){l&&!P&&(clearTimeout(O.current),O.current=setTimeout(C,1e3))}),[l,P,C]),{source:P,setSource:E,error:y,deleteSourceFromStorage:k}};b()&&(0,l.registerPaymentMethod)({name:b("name"),label:r.createElement(d.PaymentMethodLabel,{title:b("title"),paymentMethod:b("name"),icons:b("icon")}),ariaLabel:"WeChat",canMakePayment:(0,m.canMakePayment)(b),content:r.createElement(d.PaymentMethod,{content:h,getData:b}),edit:r.createElement(d.PaymentMethod,{content:h,getData:b}),supports:{showSavedCards:!1,showSaveOption:!1,features:b("features")}})},5180:(e,t,n)=>{n(3139),n(3726)},3726:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(3636),p=n(6664),d=(0,u.getSettings)("stripe_payment_request_data"),m=function(e){return r.createElement("div",{className:"wc-stripe-payment-request-container"},r.createElement(p.Elements,{stripe:u.initStripe},r.createElement(f,e)))},f=function(e){var t=e.getData,n=e.onClick,a=e.onClose,c=e.billing,u=e.shippingData,d=e.eventRegistration,m=e.emitResponse,f=e.onSubmit,y=e.activePaymentMethod,g=((0,i.default)(e,["getData","onClick","onClose","billing","shippingData","eventRegistration","emitResponse","onSubmit","activePaymentMethod"]),d.onPaymentProcessing),v=m.responseTypes,b=m.noticeContexts,h=(0,p.useStripe)(),P=(0,l.useStripeError)(),E=(0,o.default)(P,1)[0],O=(0,l.useExportedValues)();(0,l.useExpressBreakpointWidth)({payment_method:t("name"),width:300});var S=(0,l.useProcessPaymentIntent)({getData:t,billing:c,shippingData:u,onPaymentProcessing:g,emitResponse:m,error:E,onSubmit:f,activePaymentMethod:y,exportedValues:O}).setPaymentMethod;(0,l.useAfterProcessingPayment)({getData:t,eventRegistration:d,responseTypes:v,activePaymentMethod:y,messageContext:b.EXPRESS_PAYMENTS});var _=(0,l.usePaymentRequest)({getData:t,onClose:a,stripe:h,billing:c,shippingData:u,eventRegistration:d,setPaymentMethod:S,exportedValues:O,canPay:function(e){return null!=e&&!e.applePay}}).paymentRequest,w=(0,s.useMemo)((function(){return{paymentRequest:_,style:{paymentRequestButton:t("paymentRequestButton")}}}),[_]);return _?r.createElement(p.PaymentRequestButtonElement,{options:w,onClick:n}):null},y=function(e){e.getData,(0,i.default)(e,["getData"]);var t=(0,s.useRef)();return(0,s.useEffect)((function(){var e=window.devicePixelRatio;t.current.width=20*e,t.current.height=20*e;var n=t.current.getContext("2d");n.scale(e,e),n.beginPath(),n.arc(10,10,10,0,2*Math.PI),n.fillStyle="#986fff",n.fill()})),r.createElement("div",{className:"payment-request-block-editor"},r.createElement("div",{className:"icon-container"},r.createElement("span",null,"Buy now"),r.createElement("canvas",{className:"PaymentRequestButton-icon",ref:t}),r.createElement("i",{className:"payment-request-arrow"})))};(0,c.registerExpressPaymentMethod)({name:d("name"),canMakePayment:function(e){var t=e.cartTotals;if(d("isAdmin"))return!0;var n=t.currency_code,r=t.total_price;return(0,u.canMakePayment)({country:d("countryCode"),currency:n.toLowerCase(),total:{label:d("totalLabel"),amount:parseInt(r)}},(function(e){return null!=e&&!e.applePay}))},content:r.createElement(m,{getData:d}),edit:r.createElement(y,{getData:d}),supports:{showSavedCards:d("showSavedCards"),showSaveOption:d("showSaveOption"),features:d("features")}})},1065:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(1284)),o=r(n(8926)),i=n(9307),s=n(1134);t.default=function(e){var t=e.eventRegistration,n=e.emitResponse,r=e.getData,c=t.onCheckoutAfterProcessingWithSuccess,u=n.responseTypes,l=(0,i.useCallback)(function(){var e=(0,o.default)(a.default.mark((function e(t){var n,o;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.redirectUrl,e.next=3,s.initStripe;case 3:return o=e.sent,e.next=6,(0,s.handleCardAction)({redirectUrl:n,getData:r,stripe:o,responseTypes:u});case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[c]);return(0,i.useEffect)((function(){var e=c(l);return function(){return e()}}),[c]),null}},1134:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.isNextActionRequired=t.isCheckoutPage=t.isCartPage=t.versionCompare=t.deleteFromCache=t.getFromCache=t.storeInCache=t.isTestMode=t.getDefaultSourceArgs=t.cartContainsSubscription=t.cartContainsPreOrder=t.getLocalPaymentMethods=t.registerLocalPaymentMethod=t.canMakePayment=t.getDisplayItems=t.getShippingOptionId=t.getShippingOptions=t.formatPrice=t.filterEmptyValues=t.getIntermediateAddress=t.toCartAddress=t.handleCardAction=t.isUserLoggedIn=t.hasShippingRates=t.getSelectedShippingOption=t.isFieldRequired=t.getLocaleFields=t.isAddressValid=t.removeNumberPrecision=t.isEmpty=t.StripeError=t.getSettings=t.getBillingDetailsFromAddress=t.getErrorMessage=t.ensureErrorResponse=t.ensureSuccessResponse=t.getRoute=t.getCreditCardForm=t.registerCreditCardForm=t.initStripe=void 0;var a=r(n(319)),o=r(n(1284)),i=r(n(8926)),s=r(n(3038)),c=r(n(8)),u=r(n(4575)),l=r(n(2205)),p=r(n(8585)),d=r(n(9754)),m=r(n(5957)),f=r(n(9713)),y=r(n(6479)),g=n(4465),v=n(4617),b=r(n(6989)),h=n(4293);function P(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return E(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)?E(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw o}}}}function E(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(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 S(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){(0,f.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var _=(0,v.getSetting)("stripeGeneralData"),w=_.publishableKey,C=_.stripeParams,k=(0,v.getSetting)("stripeErrorMessages"),M=(0,v.getSetting)("countryLocale",{}),j=/^([\w]+)\:(.+)$/,D=(0,v.getSetting)("stripeGeneralData").routes,x={},R=[],A={recipient:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},payerName:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},country:"country",addressLine:function(e,t){return t[0]&&(e.address_1=t[0]),t[1]&&(e.address_2=t[1]),e},line1:"address_1",line2:"address_2",city:"city",region:"state",state:"state",postalCode:"postcode",postal_code:"postcode",payerEmail:"email",payerPhone:"phone"},I=new Promise((function(e,t){(0,g.loadStripe)(w,C).then((function(t){e(t)})).catch((function(t){e({error:t})}))}));t.initStripe=I,t.registerCreditCardForm=function(e){var t=e.id,n=(0,y.default)(e,["id"]);x[t]=n},t.getCreditCardForm=function(e){return x.hasOwnProperty(e)?x[e]:{}};var L=function(e){return null!=D&&D[e]?D[e]:console.log("".concat(e," is not a valid route"))};t.getRoute=L;var T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return S({type:e.SUCCESS},t)};t.ensureSuccessResponse=T;var N=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return S({type:e.ERROR,message:B(t)},n)};t.ensureErrorResponse=N;var B=function(e){return"string"==typeof e?e:null!=e&&e.code&&null!=k&&k[e.code]?k[e.code]:null!=e&&e.statusCode?null!=k&&k[e.statusCode]?k[e.statusCode]:e.statusMessage:e.message};t.getErrorMessage=B;var F=function(e){var t={name:"".concat(e.first_name," ").concat(e.last_name),address:{city:e.city||null,country:e.country||null,line1:e.address_1||null,line2:e.address_2||null,postal_code:e.postcode||null,state:e.state||null}};return null!=e&&e.phone&&(t.phone=e.phone),null!=e&&e.email&&(t.email=e.email),t};t.getBillingDetailsFromAddress=F,t.getSettings=function(e){return function(t){return t?(0,v.getSetting)(e)[t]:(0,v.getSetting)(e)}};var q=function(e){(0,l.default)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,d.default)(t);if(n){var a=(0,d.default)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,p.default)(this,e)});function a(e){var t;return(0,u.default)(this,a),(t=r.call(this,e.message)).error=e,t}return a}((0,m.default)(Error));t.StripeError=q;var X=function(e){return"string"==typeof e?0==e.length||""==e:Array.isArray(e)?0==array.length:"object"!==(0,c.default)(e)||0==Object.keys(e).length};t.isEmpty=X,t.removeNumberPrecision=function(e,t){return e/Math.pow(10,t)},t.isAddressValid=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=U(e.country),r=0,a=Object.entries(e);r<a.length;r++){var o=(0,s.default)(a[r],2),i=o[0],c=o[1];if(!t.includes(i)&&null!=n&&n[i]&&n[i].required&&X(c))return!1}return!0};var U=function(e){var t=S({},M.default);return e&&null!=M&&M[e]&&(t=Object.entries(M[e]).reduce((function(e,t){var n=(0,s.default)(t,2),r=n[0],a=n[1];return e[r]=S(S({},e[r]),a),e}),t),["phone","email"].forEach((function(e){var n=document.getElementById(e);n&&(t[e]={required:n.required})}))),t};t.getLocaleFields=U,t.isFieldRequired=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=U(t);return[e]in n&&n[e].required},t.getSelectedShippingOption=function(e){var t=e.match(j);if(t){var n=t[1];return[t[2],n]}return[]},t.hasShippingRates=function(e){return e.map((function(e){return e.shipping_rates.length>0})).filter(Boolean).length>0},t.isUserLoggedIn=function(e){return e>0};var V=function(){var e=(0,i.default)(o.default.mark((function e(t,n){return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,b.default)({url:D["sync/intent"],method:"POST",data:{order_id:t,client_secret:n}});case 3:e.next=8;break;case 5:e.prev=5,e.t0=e.catch(0),console.log(e.t0);case 8:case"end":return e.stop()}}),e,null,[[0,5]])})));return function(t,n){return e.apply(this,arguments)}}(),W=function(){var e=(0,i.default)(o.default.mark((function e(t){var n,r,a,i,s,c,u,l,p,d,m,y,g,v;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.redirectUrl,r=t.responseTypes,a=t.stripe,i=t.getData,s=t.savePaymentMethod,c=void 0!==s&&s,e.prev=1,!(u=n.match(/#response=(.+)/))){e.next=20;break}return l=JSON.parse(window.atob(decodeURIComponent(u[1]))),p=l.client_secret,d=l.order_id,m=l.order_key,e.next=7,a.handleCardAction(p);case 7:if(!(y=e.sent).error){e.next=11;break}return V(d,p),e.abrupt("return",N(r,y.error));case 11:return g=(0,f.default)({order_id:d,order_key:m},"".concat(i("name"),"_save_source_key"),c),e.next=14,(0,b.default)({url:L("process/payment"),method:"POST",data:g});case 14:if(!(v=e.sent).messages){e.next=17;break}return e.abrupt("return",N(r,v.messages));case 17:return e.abrupt("return",T(r,{redirectUrl:v.redirect}));case 20:return e.abrupt("return",T(r));case 21:e.next=27;break;case 23:return e.prev=23,e.t0=e.catch(1),console.log(e.t0),e.abrupt("return",N(r,e.t0));case 27:case"end":return e.stop()}}),e,null,[[1,23]])})));return function(t){return e.apply(this,arguments)}}();t.handleCardAction=W,t.toCartAddress=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A;return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={};t=S(S({},t),Y(n));for(var a=0,o=Object.entries(e);a<o.length;a++){var i,c=(0,s.default)(o[a],2),u=c[0],l=c[1];null!==(i=t)&&void 0!==i&&i[u]&&("function"==typeof l?l(r,t[u]):r[l]=t[u])}return r}},t.getIntermediateAddress=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["city","postcode","state","country"],r={},a=P(n);try{for(a.s();!(t=a.n()).done;){var o=t.value;r[o]=e[o]}}catch(e){a.e(e)}finally{a.f()}return r};var Y=function(e){return Object.keys(e).filter((function(t){return Boolean(e[t])})).reduce((function(t,n){return S(S({},t),{},(0,f.default)({},n,e[n]))}),{})};t.filterEmptyValues=Y;var H=function(e,t){var n,r=(0,h.getCurrency)(t),a=r.prefix,o=r.suffix,i=r.decimalSeparator,s=r.minorUnit,c=r.thousandSeparator;if(""==e||void 0===e)return e;e="string"==typeof e?parseInt(e,10):e;var u="",l=(e=(e/=Math.pow(10,s)).toString().replace(".",i)).indexOf(i);l<0?s>0&&(e+="".concat(i).concat(new Array(s+1).join("0"))):(u=e.substr(l+1)).length<s&&(e+=new Array(s-u.length+1).join("0"));var p=e.match(new RegExp("(\\d+)\\".concat(i,"(\\d+)")));return p&&(e=p[1],u=p[2]),e=e.replace(new RegExp("\\B(?=(\\d{3})+(?!\\d))","g"),"".concat(c)),a+(e=(null===(n=u)||void 0===n?void 0:n.length)>0?e+i+u:e)+o};t.formatPrice=H,t.getShippingOptions=function(e){var t=[];return e.forEach((function(e,n){e.shipping_rates.sort((function(e){return e.selected?-1:1}));var r=e.shipping_rates.map((function(e){var t=document.createElement("textarea");return t.innerHTML=e.name,H(e.price,e.currency_code),{id:G(n,e.rate_id),label:t.value,amount:parseInt(e.price,10)}}));t=[].concat((0,a.default)(t),(0,a.default)(r))})),t};var G=function(e,t){return"".concat(e,":").concat(t)};t.getShippingOptionId=G,t.getDisplayItems=function(e,t){t.minorUnit;var n=[],r=["total_tax","total_shipping"];return e.forEach((function(e){(0<e.value||e.key&&r.includes(e.key))&&n.push({label:e.label,pending:!1,amount:e.value})})),n};var J={};t.canMakePayment=function(e,t){var n=e.country,r=e.currency,a=e.total;return new Promise((function(e,o){var i=[n,r,a.amount].reduce((function(e,t){return"".concat(e,"-").concat(t)}));return r?i in J?e(J[i]):I.then((function(s){if(s.error)return o(s.error);s.paymentRequest({country:n,currency:r,total:a}).canMakePayment().then((function(n){return J[i]=t(n),e(J[i])}))})).catch(o):e(!1)}))},t.registerLocalPaymentMethod=function(e){R.push(e)},t.getLocalPaymentMethods=function(){return R},t.cartContainsPreOrder=function(){var e=(0,v.getSetting)("stripePaymentData");return e&&e.pre_order},t.cartContainsSubscription=function(){var e=(0,v.getSetting)("stripePaymentData");return e&&e.subscription},t.getDefaultSourceArgs=function(e){var t=e.type,n=e.amount,r=e.billingData,a=e.currency,o=e.returnUrl;return{type:t,amount:n,currency:a,owner:F(r),redirect:{return_url:o}}},t.isTestMode=function(){return"test"===(0,v.getSetting)("stripeGeneralData").mode};var z=function(e){return"".concat("stripe:").concat(e)};t.storeInCache=function(e,t){var n=Math.floor((new Date).getTime()/1e3)+900;"sessionStorage"in window&&sessionStorage.setItem(z(e),JSON.stringify({value:t,exp:n}))},t.getFromCache=function(e){if("sessionStorage"in window)try{var t=JSON.parse(sessionStorage.getItem(z(e)));if(t){var n=t.value,r=t.exp;if(!(Math.floor((new Date).getTime()/1e3)>r))return n;Q(z(e))}}catch(e){}return null};var Q=function(e){"sessionStorage"in window&&sessionStorage.removeItem(z(e))};t.deleteFromCache=Q,t.versionCompare=function(e,t,n){switch(n){case"<":return e<t;case">":return e>t;case"<=":return e<=t;case">=":return e>=t;case"=":return e==t}return!1},t.isCartPage=function(){return"cart"===(0,v.getSetting)("stripeGeneralData").page},t.isCheckoutPage=function(){return"checkout"===(0,v.getSetting)("stripeGeneralData").page},t.isNextActionRequired=function(e){var t=e.match(/#response=(.+)/),n=null;return t&&(n=JSON.parse(window.atob(decodeURIComponent(t[1])))),n}},4184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)&&n.length){var i=a.apply(null,n);i&&e.push(i)}else if("object"===o)for(var s in n)r.call(n,s)&&n[s]&&e.push(s)}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},1465:()=>{},7776:()=>{},4836:()=>{},85:()=>{},3110:()=>{},8356:()=>{},5773:()=>{},9509:()=>{},3139:()=>{}}]);
3
  //# sourceMappingURL=commons.js.map
1
  /*! For license information please see commons.js.LICENSE.txt */
2
+ (self.webpackChunkwc_stripe=self.webpackChunkwc_stripe||[]).push([[351],{7228:e=>{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}},2858:e=>{e.exports=function(e){if(Array.isArray(e))return e}},3646:(e,t,n)=>{var r=n(7228);e.exports=function(e){if(Array.isArray(e))return r(e)}},1506:e=>{e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},8926:e=>{function t(e,t,n,r,a,o,i){try{var s=e[o](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,a)}e.exports=function(e){return function(){var n=this,r=arguments;return new Promise((function(a,o){var i=e.apply(n,r);function s(e){t(i,a,o,s,c,"next",e)}function c(e){t(i,a,o,s,c,"throw",e)}s(void 0)}))}}},4575:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},9100:(e,t,n)=>{var r=n(9489),a=n(7067);function o(t,n,i){return a()?e.exports=o=Reflect.construct:e.exports=o=function(e,t,n){var a=[null];a.push.apply(a,t);var o=new(Function.bind.apply(e,a));return n&&r(o,n.prototype),o},o.apply(null,arguments)}e.exports=o},3913:e=>{function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}},9713:e=>{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}},7154:e=>{function t(){return e.exports=t=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},t.apply(this,arguments)}e.exports=t},9754:e=>{function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},t(n)}e.exports=t},2205:(e,t,n)=>{var r=n(9489);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},5318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},430:e=>{e.exports=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}},7067:e=>{e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}},6860:e=>{e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},3884:e=>{e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,a=!1,o=void 0;try{for(var i,s=e[Symbol.iterator]();!(r=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){a=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw o}}return n}}},521:e=>{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.")}},8206:e=>{e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},6479:(e,t,n)=>{var r=n(7316);e.exports=function(e,t){if(null==e)return{};var n,a,o=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},7316:e=>{e.exports=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}},8585:(e,t,n)=>{var r=n(8),a=n(1506);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?a(e):t}},9489:e=>{function t(n,r){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(n,r)}e.exports=t},3038:(e,t,n)=>{var r=n(2858),a=n(3884),o=n(379),i=n(521);e.exports=function(e,t){return r(e)||a(e,t)||o(e,t)||i()}},319:(e,t,n)=>{var r=n(3646),a=n(6860),o=n(379),i=n(8206);e.exports=function(e){return r(e)||a(e)||o(e)||i()}},8:e=>{function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(n)}e.exports=t},379:(e,t,n)=>{var r=n(7228);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}}},5957:(e,t,n)=>{var r=n(9754),a=n(9489),o=n(430),i=n(9100);function s(t){var n="function"==typeof Map?new Map:void 0;return e.exports=s=function(e){if(null===e||!o(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return i(e,arguments,r(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),a(t,e)},s(t)}e.exports=s},6664:function(e,t,n){!function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;function n(){}function r(){}r.resetWarningCache=n;var a,o,i=(a=function(e){e.exports=function(){function e(e,t,n,r,a,o){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==o){var i=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 i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var a={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:r,resetWarningCache:n};return a.PropTypes=a,a}()},a(o={exports:{}},o.exports),o.exports);function s(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 c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e){return u="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},u(e)}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=n){var r,a,o=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==n.return||n.return()}finally{if(s)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(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)?d(e,t):void 0}}(e,t)||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.")}()}function d(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}var m=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),n.current},f=function(e){return null!==e&&"object"===u(e)},y="[object Object]",g=function e(t,n){if(!f(t)||!f(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var a=Object.prototype.toString.call(t)===y;if(a!==(Object.prototype.toString.call(n)===y))return!1;if(!a&&!r)return t===n;var o=Object.keys(t),i=Object.keys(n);if(o.length!==i.length)return!1;for(var s={},c=0;c<o.length;c+=1)s[o[c]]=!0;for(var u=0;u<i.length;u+=1)s[i[u]]=!0;var l=Object.keys(s);if(l.length!==o.length)return!1;var p=t,d=n;return l.every((function(t){return e(p[t],d[t])}))},v=function(e,t,n){return f(e)?Object.keys(e).reduce((function(r,a){var o=!f(t)||!g(e[a],t[a]);return n.includes(a)?(o&&console.warn("Unsupported prop change: options.".concat(a," is not a mutable property.")),r):o?c(c({},r||{}),{},l({},a,e[a])):r}),null):null},h=function(e){if(null===e||f(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.")},b=function(e){if(function(e){return f(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(h)};var t=h(e);return null===t?{tag:"empty"}:{tag:"sync",stripe:t}},P=t.createContext(null);P.displayName="ElementsContext";var E=function(e){var n=e.stripe,r=e.options,a=e.children,o=t.useMemo((function(){return b(n)}),[n]),i=p(t.useState((function(){return{stripe:"sync"===o.tag?o.stripe:null,elements:"sync"===o.tag?o.stripe.elements(r):null}})),2),s=i[0],c=i[1];t.useEffect((function(){var e=!0;return"async"!==o.tag||s.stripe?"sync"!==o.tag||s.stripe||c({stripe:o.stripe,elements:o.stripe.elements(r)}):o.stripePromise.then((function(t){t&&e&&c({stripe:t,elements:t.elements(r)})})),function(){e=!1}}),[o,s,r]);var u=m(n);t.useEffect((function(){null!==u&&u!==n&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")}),[u,n]);var l=m(r);return t.useEffect((function(){if(s.elements){var e=v(r,l,["clientSecret","fonts"]);e&&s.elements.update(e)}}),[r,l,s.elements]),t.useEffect((function(){var e=s.stripe;e&&e._registerWrapper&&e.registerAppInfo&&(e._registerWrapper({name:"react-stripe-js",version:"1.8.0"}),e.registerAppInfo({name:"react-stripe-js",version:"1.8.0",url:"https://stripe.com/docs/stripe-js/react"}))}),[s.stripe]),t.createElement(P.Provider,{value:s},a)};E.propTypes={stripe:i.any,options:i.object};var O=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)},S=function(e){return(0,e.children)(O("mounts <ElementsConsumer>"))};S.propTypes={children:i.func.isRequired};var _=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),function(){n.current&&n.current.apply(n,arguments)}},w=function(){},C=function(e,n){var r,a="".concat((r=e).charAt(0).toUpperCase()+r.slice(1),"Element"),o=n?function(e){O("mounts <".concat(a,">"));var n=e.id,r=e.className;return t.createElement("div",{id:n,className:r})}:function(n){var r=n.id,o=n.className,i=n.options,s=void 0===i?{}:i,c=n.onBlur,u=void 0===c?w:c,l=n.onFocus,p=void 0===l?w:l,d=n.onReady,f=void 0===d?w:d,y=n.onChange,g=void 0===y?w:y,h=n.onEscape,b=void 0===h?w:h,P=n.onClick,E=void 0===P?w:P,S=O("mounts <".concat(a,">")).elements,C=t.useRef(null),M=t.useRef(null),k=_(f),j=_(u),D=_(p),x=_(E),R=_(g),A=_(b);t.useLayoutEffect((function(){if(null==C.current&&S&&null!=M.current){var t=S.create(e,s);C.current=t,t.mount(M.current),t.on("ready",(function(){return k(t)})),t.on("change",R),t.on("blur",j),t.on("focus",D),t.on("escape",A),t.on("click",x)}}));var I=m(s);return t.useEffect((function(){if(C.current){var e=v(s,I,["paymentRequest"]);e&&C.current.update(e)}}),[s,I]),t.useLayoutEffect((function(){return function(){C.current&&(C.current.destroy(),C.current=null)}}),[]),t.createElement("div",{id:r,className:o,ref:M})};return o.propTypes={id:i.string,className:i.string,onChange:i.func,onBlur:i.func,onFocus:i.func,onReady:i.func,onClick:i.func,options:i.object},o.displayName=a,o.__elementType=e,o},M="undefined"==typeof window,k=C("auBankAccount",M),j=C("card",M),D=C("cardNumber",M),x=C("cardExpiry",M),R=C("cardCvc",M),A=C("fpxBank",M),I=C("iban",M),L=C("idealBank",M),T=C("p24Bank",M),N=C("epsBank",M),B=C("payment",M),F=C("paymentRequestButton",M),q=C("linkAuthentication",M),X=C("shippingAddress",M),U=C("affirmMessage",M),V=C("afterpayClearpayMessage",M);e.AffirmMessageElement=U,e.AfterpayClearpayMessageElement=V,e.AuBankAccountElement=k,e.CardCvcElement=R,e.CardElement=j,e.CardExpiryElement=x,e.CardNumberElement=D,e.Elements=E,e.ElementsConsumer=S,e.EpsBankElement=N,e.FpxBankElement=A,e.IbanElement=I,e.IdealBankElement=L,e.LinkAuthenticationElement=q,e.P24BankElement=T,e.PaymentElement=B,e.PaymentRequestButtonElement=F,e.ShippingAddressElement=X,e.useElements=function(){return O("calls useElements()").elements},e.useStripe=function(){return O("calls useStripe()").stripe},Object.defineProperty(e,"__esModule",{value:!0})}(t,n(9196))},4465:(e,t,n)=>{"use strict";n.r(t),n.d(t,{loadStripe:()=>l});var r="https://js.stripe.com/v3",a=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,o="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",i=null,s=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.12.1",startTime:t})}(r,n),r},c=Promise.resolve().then((function(){return e=null,null!==i||(i=new Promise((function(t,n){if("undefined"!=typeof window)if(window.Stripe&&e&&console.warn(o),window.Stripe)t(window.Stripe);else try{var i=function(){for(var e=document.querySelectorAll('script[src^="'.concat(r,'"]')),t=0;t<e.length;t++){var n=e[t];if(a.test(n.src))return n}return null}();i&&e?console.warn(o):i||(i=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(r).concat(t);var a=document.head||document.body;if(!a)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return a.appendChild(n),n}(e)),i.addEventListener("load",(function(){window.Stripe?t(window.Stripe):n(new Error("Stripe.js not available"))})),i.addEventListener("error",(function(){n(new Error("Failed to load Stripe.js"))}))}catch(e){return void n(e)}else t(null)}))),i;var e})),u=!1;c.catch((function(e){u||console.warn(e)}));var l=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];u=!0;var r=Date.now();return c.then((function(e){return s(e,t,r)}))}},3187:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(2029);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(8744);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(4901);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var i=n(3193);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}))},3193:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Installments=void 0;var o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=n(9307),u=n(5736),l=a(n(6989)),p=a(n(4184)),d=n(1134);n(1465);var m=function(e){var t=e.paymentMethodName,n=(e.getCreatePaymentMethodArgs,e.cardFormComplete),a=void 0!==n&&n,p=e.addPaymentMethodData,m=void 0===p?null:p,g=e.getPaymentMethod,v=(0,c.useState)(null),h=(0,s.default)(v,2),b=h[0],P=h[1],E=(0,c.useState)(""),O=(0,s.default)(E,2),S=O[0],_=O[1],w=(0,c.useState)(!1),C=(0,s.default)(w,2),M=C[0],k=C[1];return(0,c.useEffect)((function(){a&&(k(!0),_(""),g().then(function(){var e=(0,i.default)(o.default.mark((function e(n){var r,a;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=6;break}return e.next=3,(0,l.default)({url:(0,d.getRoute)("create/payment_intent"),method:"POST",data:{payment_method_id:n,payment_method:t}});case 3:a=e.sent,P(a.installments),null!==(r=Object.keys(a.installments))&&void 0!==r&&r.length&&_(Object.keys(a.installments)[0]);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.log(e)})).finally((function(){return k(!1)})))}),[a,g]),r.createElement("div",{className:"wc-stripe-installments__container"},r.createElement("label",null,(0,u.__)("Pay in installments:","woo-stripe-payment"),r.createElement(y,{loading:M})),r.createElement(f,{installment:S,onChange:function(e){_(e.target.value),m&&m({_stripe_installment_plan:e.target.value})},installments:b,isLoading:M}))};t.Installments=m;var f=function(e){var t,n=e.installment,a=e.installments,o=e.onChange,i=e.isLoading;return t=i?r.createElement("option",{value:"",disabled:!0},(0,u.__)("Loading installments...","woo-stripe-payment")):null===a?r.createElement("option",{value:"",disabled:!0},(0,u.__)("Fill out card form for eligibility.","woo-stripe-payment")):Object.keys(a).map((function(e){return r.createElement("option",{key:e,value:e,dangerouslySetInnerHTML:{__html:a[e].text}})})),r.createElement("select",{value:n,onChange:o,className:(0,p.default)({loading:i})},t)},y=function(e){var t=e.loading;return r.createElement("div",{className:"wc-stripe-installment-loader__container"},t&&r.createElement("div",{className:"wc-stripe-installment-loader"},r.createElement("div",null),r.createElement("div",null),r.createElement("div",null)))},g=m;t.default=g},2029:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.PaymentMethodLabel=void 0;var o=a(n(6479));n(7776),t.PaymentMethodLabel=function(e){var t=e.title,n=e.icons,a=e.paymentMethod,i=(0,o.default)(e,["title","icons","paymentMethod"]).components,s=i.PaymentMethodLabel,c=i.PaymentMethodIcons;return Array.isArray(n)||(n=[n]),r.createElement("span",{className:"wc-stripe-label-container ".concat(a)},r.createElement(s,{text:t}),r.createElement(c,{icons:n,align:"left"}))}},4901:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.PaymentMethod=void 0;var o=a(n(9713)),i=a(n(6479)),s=n(9307);function c(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 u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.PaymentMethod=function(e){var t=e.getData,n=e.content,a=(0,i.default)(e,["getData","content"]),o=n,c=t("description"),p=(0,s.useRef)(null);return(0,s.useEffect)((function(){p.current&&0==p.current.childNodes.length&&p.current.classList.add("no-content")})),r.createElement(r.Fragment,null,c&&r.createElement(l,{desc:c,payment_method:t("name")}),r.createElement("div",{ref:p,className:"wc-stripe-blocks-payment-method-content"},r.createElement(o,u(u({},a),{},{getData:t}))))};var l=function(e){var t=e.desc,n=e.payment_method;return r.createElement("div",{className:"wc-stripe-blocks-payment-method__desc ".concat(n)},r.createElement("p",null,t))}},8744:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RadioControlOption=void 0;var o=a(n(4184)),i=function(e){var t=e.checked,n=e.onChange,a=e.value,i=e.label;return r.createElement("label",{className:(0,o.default)("wc-stripe-blocks-radio-control__option",{"wc-stripe-blocks-radio-control__option-checked":t})},r.createElement("input",{className:"wc-stripe-blocks-radio-control__input",type:"radio",value:a,checked:t,onChange:function(e){return n(e.target.value)}}),r.createElement("div",{className:"wc-stripe-blocks-radio-control__label"},r.createElement("span",null,i)))};t.RadioControlOption=i;var s=i;t.default=s},7260:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(1293);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(7150);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(5201);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},1293:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useCreateLinkToken=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(3038)),s=n(9307),c=r(n(6989)),u=n(1134);t.useCreateLinkToken=function(e){var t=e.setValidationError,n=(0,s.useState)(!1),r=(0,i.default)(n,2),l=r[0],p=r[1],d=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var n;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,c.default)({url:(0,u.getRoute)("create/linkToken"),method:"POST",data:{}});case 3:(n=e.sent).token&&((0,u.storeInCache)("linkToken",n.token),p(n.token)),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),t(e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),[]);return(0,s.useEffect)((function(){if(!l){var e=(0,u.getFromCache)("linkToken");e?p(e):d()}}),[l,p]),l}},7150:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useInitializePlaid=void 0;var a=n(9307),o=r(n(9625)),i=n(1134);t.useInitializePlaid=function(e){var t=e.getData,n=e.linkToken,r=(0,a.useRef)(null),s=(0,a.useRef)(null),c=(0,a.useCallback)((function(){return new Promise((function(e,t){s.current={resolve:e,reject:t},r.current.open()}))}),[]);return(0,a.useEffect)((function(){n&&(r.current=o.default.create({clientName:t("clientName"),env:t("plaidEnvironment"),product:["auth"],token:n,selectAccount:!0,countryCodes:["US"],onSuccess:function(e,t){s.current.resolve({publicToken:e,metaData:t})},onExit:function(e){s.current.reject(!!e&&(0,i.getErrorMessage)(e.error_message))}}))}),[n]),c}},5201:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessPayment=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(8926)),s=n(9307),c=n(1134);t.useProcessPayment=function(e){var t=e.openLinkPopup,n=e.onPaymentProcessing,r=e.responseTypes,u=e.paymentMethod;(0,s.useEffect)((function(){var e=n((0,i.default)(a.default.mark((function e(){var n,i,s,l;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t();case 3:return i=e.sent,s=i.publicToken,l=i.metaData,(0,c.deleteFromCache)("linkToken"),e.abrupt("return",(0,c.ensureSuccessResponse)(r,{meta:{paymentMethodData:(n={},(0,o.default)(n,"".concat(u,"_token_key"),s),(0,o.default)(n,"".concat(u,"_metadata"),JSON.stringify(l)),n)}}));case 9:return e.prev=9,e.t0=e.catch(0),e.abrupt("return",(0,c.ensureErrorResponse)(r,e.t0));case 12:case"end":return e.stop()}}),e,null,[[0,9]])}))));return function(){return e()}}),[n,r,t])}},5605:(e,t,n)=>{n(4836),n(4888)},4888:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(3187),p=a(n(1065)),d=n(7260),m=n(3636),f=n(5736),y=(0,u.getSettings)("stripe_ach_data"),g=function(e){var t=e.getData,n=e.eventRegistration,a=e.components,c=e.emitResponse,l=e.onSubmit,p=((0,i.default)(e,["getData","eventRegistration","components","emitResponse","onSubmit"]),c.responseTypes),f=n.onPaymentProcessing,y=n.onCheckoutAfterProcessingWithError,g=a.ValidationInputError,h=a.LoadingMask,b=(0,s.useState)(!1),P=(0,o.default)(b,2),E=P[0],O=P[1],S=(0,d.useCreateLinkToken)({setValidationError:O});(0,m.useProcessCheckoutError)({responseTypes:p,subscriber:y});var _=(0,d.useInitializePlaid)({getData:t,linkToken:S,onSubmit:l});return(0,d.useProcessPayment)({openLinkPopup:_,onPaymentProcessing:f,responseTypes:p,paymentMethod:t("name")}),r.createElement(h,{isLoading:!E&&!S,showSpinner:!0},u.isTestMode&&r.createElement(v,null),E&&r.createElement(g,{errorMessage:E}))},v=function(){return r.createElement("div",{className:"wc-stripe-blocks-ach__creds"},r.createElement("label",{className:"wc-stripe-blocks-ach__creds-label"},(0,f.__)("Test Credentials","woo-stripe-payment")),r.createElement("div",{className:"wc-stripe-blocks-ach__username"},r.createElement("div",null,r.createElement("strong",null,(0,f.__)("username","woo-stripe-payment")),": user_good"),r.createElement("div",null,r.createElement("strong",null,(0,f.__)("password","woo-stripe-payment")),": pass_good"),r.createElement("div",null,r.createElement("strong",null,(0,f.__)("pin","woo-stripe-payment")),": credential_good")))};(0,c.registerPaymentMethod)({name:y("name"),label:r.createElement(l.PaymentMethodLabel,{title:y("title"),paymentMethod:y("name"),icons:y("icons")}),ariaLabel:"ACH Payment",canMakePayment:function(e){return"USD"===e.cartTotals.currency_code},content:r.createElement(l.PaymentMethod,{getData:y,content:g}),savedTokenComponent:r.createElement(p.default,{getData:y}),edit:r.createElement(g,{getData:y}),placeOrderButtonLabel:y("placeOrderButtonLabel"),supports:{showSavedCards:y("showSavedCards"),showSaveOption:!1,features:y("features")}})},3846:(e,t,n)=>{n(85),n(660)},660:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(6664),p=a(n(7082)),d=n(3636),m=(0,u.getSettings)("stripe_applepay_data"),f=function(e){return r.createElement(p.default,null,r.createElement("div",{className:"wc-stripe-apple-pay-container"},r.createElement(l.Elements,{stripe:u.initStripe},r.createElement(y,e))))},y=function(e){var t=e.getData,n=e.onClick,a=e.onClose,c=e.billing,u=e.shippingData,p=e.eventRegistration,m=e.emitResponse,f=e.onSubmit,y=e.activePaymentMethod,g=((0,i.default)(e,["getData","onClick","onClose","billing","shippingData","eventRegistration","emitResponse","onSubmit","activePaymentMethod"]),p.onPaymentProcessing),v=m.responseTypes,h=m.noticeContexts,b=(0,l.useStripe)(),P=(0,d.useStripeError)(),E=(0,o.default)(P,1)[0],O=(0,d.useExportedValues)();(0,d.useExpressBreakpointWidth)({payment_method:t("name"),width:300});var S=(0,d.useProcessPaymentIntent)({getData:t,billing:c,shippingData:u,onPaymentProcessing:g,emitResponse:m,error:E,onSubmit:f,activePaymentMethod:y,exportedValues:O}).setPaymentMethod;(0,d.useAfterProcessingPayment)({getData:t,eventRegistration:p,responseTypes:v,activePaymentMethod:y,messageContext:h.EXPRESS_PAYMENTS});var _=(0,d.usePaymentRequest)({getData:t,onClose:a,stripe:b,billing:c,shippingData:u,eventRegistration:p,setPaymentMethod:S,exportedValues:O,canPay:function(e){return null!=e&&e.applePay}}).paymentRequest,w=(0,s.useCallback)((function(e){_&&(e.preventDefault(),n(),_.show())}),[_,n]);return _?r.createElement("button",{className:"apple-pay-button ".concat(t("buttonStyle")),style:{"-apple-pay-button-type":t("buttonType")},onClick:w}):null},g=function(e){var t=e.getData;return(0,i.default)(e,["getData"]),r.createElement("div",{className:"apple-pay-block-editor"},r.createElement("img",{src:t("editorIcon")}))};(0,c.registerExpressPaymentMethod)({name:m("name"),canMakePayment:function(e){var t=e.cartTotals;if((0,i.default)(e,["cartTotals"]),m("isAdmin"))return!0;var n=t.currency_code,r=t.total_price;return(0,u.canMakePayment)({country:m("countryCode"),currency:n.toLowerCase(),total:{label:m("totalLabel"),amount:parseInt(r)}},(function(e){return null!=e&&e.applePay}))},content:r.createElement(f,{getData:m}),edit:r.createElement(g,{getData:m}),supports:{showSavedCards:m("showSavedCards"),showSaveOption:m("showSaveOption"),features:m("features")}})},7354:(e,t,n)=>{var r=n(9307);n(3110);var a=n(1134),o=n(6664),i=n(5736),s=function(e){var t=e.CardIcon,n=e.options,a=e.onChange;return r.createElement("div",{className:"wc-stripe-bootstrap-form"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-md-6 mb-3"},r.createElement(o.CardNumberElement,{className:"md-form md-outline stripe-input",options:n.cardNumber,onChange:a(o.CardNumberElement)}),r.createElement("label",{htmlFor:"stripe-card-number"},(0,i.__)("Card Number","woo-stripe-payment")),t),r.createElement("div",{className:"col-md-3 mb-3"},r.createElement(o.CardExpiryElement,{className:"md-form md-outline stripe-input",options:n.cardExpiry,onChange:a(o.CardExpiryElement)}),r.createElement("label",{htmlFor:"stripe-exp"},(0,i.__)("Exp","woo-stripe-payment"))),r.createElement("div",{className:"col-md-3 mb-3"},r.createElement(o.CardCvcElement,{className:"md-form md-outline stripe-input",options:n.cardCvc,onChange:a(o.CardCvcElement)}),r.createElement("label",{htmlFor:"stripe-cvv"},(0,i.__)("CVV","woo-stripe-payment")))))};(0,a.registerCreditCardForm)({id:"bootstrap",breakpoint:475,component:r.createElement(s,null)})},3329:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(9713)),i=a(n(3038)),s=n(1134),c=n(9307),u=n(6664),l=n(5736),p=n(3636);function d(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 m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f={focus:"focused",empty:"empty",invalid:"invalid"},y=function(e){var t=e.type,n=e.src;return t?r.createElement("img",{className:"wc-stripe-card ".concat(t),src:n}):null};t.default=function(e){var t=e.getData,n=e.onChange,a=e.onComplete,o=(0,c.useState)(""),d=(0,i.default)(o,2),g=d[0],v=d[1],h=(0,c.useRef)([]),b=(0,c.useState)(null),P=(0,i.default)(b,2),E=P[0],O=P[1],S=(0,u.useElements)(),_=t("customForm"),w=(0,s.getCreditCardForm)(_),C=w.component,M=void 0===C?null:C,k=w.breakpoint,j=void 0===k?475:k,D=t("postalCodeEnabled"),x={},R=(0,c.useRef)({cardNumber:{},cardExpiry:{},cardCvc:{}});["cardNumber","cardExpiry","cardCvc"].forEach((function(e){x[e]=m(m({classes:f},t("cardOptions")),t("customFieldOptions")[e])}));var A=(0,c.useCallback)((function(e){h.current.includes(e)||h.current.push(e)}),[]);(0,p.useBreakpointWidth)({name:"creditCardForm",width:j,node:E,className:"small-form"});var I=(0,c.useCallback)((function(e){for(var n=0,r=Object.keys(t("cards"));n<r.length;n++){var a=r[n];if(a===e)return t("cards")[a]}return""}),[]);return M?r.createElement("div",{className:"wc-stripe-custom-form ".concat(_),ref:O},(0,c.cloneElement)(M,{postalCodeEnabled:D,options:x,onChange:function(e){return A(e),function(t){if(n(t),R.current[t.elementType]=t,"cardNumber"===t.elementType&&("unknown"===t.brand?v(""):v(t.brand)),t.complete){var r=h.current.indexOf(e);if(h.current[r+1]){var o=h.current[r+1];S.getElement(o).focus()}}var i;a((i=R.current,Object.keys(i).filter((function(e){return!!i[e].complete})).length===Object.keys(i).length))}},CardIcon:r.createElement(y,{type:g,src:I(g)})})):r.createElement("div",{className:"wc-stripe-custom-form-error"},r.createElement("p",null,(0,l.sprintf)((0,l.__)("%s is not a valid blocks Stripe custom form. Please choose another custom form option in the Credit Card Settings.","woo-stripe-payment"),t("customFormLabels")[_])))}},6835:(e,t,n)=>{var r=n(9307);n(8356);var a=n(1134),o=n(6664),i=n(5736),s=n(9307),c=function(e){var t=e.CardIcon,n=e.options,a=e.onChange;return(0,s.useEffect)((function(){}),[]),r.createElement("div",{className:"wc-stripe-simple-form"},r.createElement("div",{className:"row"},r.createElement("div",{className:"field"},r.createElement("div",{className:"field-item"},r.createElement(o.CardNumberElement,{id:"stripe-card-number",className:"input empty",options:n.cardNumber,onChange:a(o.CardNumberElement)}),r.createElement("label",{htmlFor:"stripe-card-number","data-tid":""},(0,i.__)("Card Number","woo-stripe-payment")),r.createElement("div",{className:"baseline"}),t))),r.createElement("div",{className:"row"},r.createElement("div",{className:"field half-width"},r.createElement("div",{className:"field-item"},r.createElement(o.CardExpiryElement,{id:"stripe-exp",className:"input empty",options:n.cardExpiry,onChange:a(o.CardExpiryElement)}),r.createElement("label",{htmlFor:"stripe-exp","data-tid":""},(0,i.__)("Expiration","woo-stripe-payment")),r.createElement("div",{className:"baseline"}))),r.createElement("div",{className:"field half-width cvc"},r.createElement("div",{className:"field-item"},r.createElement(o.CardCvcElement,{id:"stripe-cvv",className:"input empty",options:n.cardCvc,onChange:a(o.CardCvcElement)}),r.createElement("label",{htmlFor:"stripe-cvv","data-tid":""},(0,i.__)("CVV","woo-stripe-payment")),r.createElement("div",{className:"baseline"})))))};(0,a.registerCreditCardForm)({id:"simple",component:r.createElement(c,null),breakpoint:375})},9775:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(9713)),i=n(6664),s=n(1134),c=n(9307);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 l(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){(0,o.default)(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}t.default=function(e){var t=e.getData,n=e.billing,a=e.onChange,o=e.onComplete,u={card:{}},p=(0,c.useMemo)((function(){var e;return l(l({},{value:{postalCode:null==n||null===(e=n.billingData)||void 0===e?void 0:e.postcode},hidePostalCode:(0,s.isFieldRequired)("postcode"),iconStyle:"default"}),t("cardOptions"))}),[n.billingData]);return r.createElement("div",{className:"wc-stripe-inline-form"},r.createElement(i.CardElement,{options:p,onChange:function(e){a(e),u[e.elementType]=e,o(Object.keys(u).filter((function(e){return!!u[e].complete})).length===Object.keys(u).length)}}))}},627:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),n(5773);var r=n(7205);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))})),n(7354),n(6835)},4664:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.PaymentElementComponent=void 0;var o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=a(n(7154)),u=a(n(9713)),l=a(n(6479)),p=n(9307),d=n(6664),m=n(1134),f=n(3187),y=n(3636);function g(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 v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,u.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var h=(0,m.getSettings)("stripe_cc_data"),b=function(e){var t,n,a=e.cartData,o=(0,l.default)(e,["cartData"]),i=null==a||null===(t=a.extensions)||void 0===t||null===(n=t.stripe_cc)||void 0===n?void 0:n.clientSecret;return r.createElement(r.Fragment,null,r.createElement(d.Elements,{stripe:m.initStripe,options:v(v({},h("elementOptions")),{},{clientSecret:i})},r.createElement(P,(0,c.default)({},o,{clientSecret:i}))))};t.PaymentElementComponent=b;var P=function(e){e.onComplete;var t=e.clientSecret,n=(0,l.default)(e,["onComplete","clientSecret"]),a=(0,p.useState)(!1),c=(0,s.default)(a,2),u=c[0],m=c[1],g=h("installmentsActive"),v=((0,d.useElements)(),(0,d.useStripe)()),b=n.billing.billingData,P=n.eventRegistration,E=n.emitResponse,O=n.shouldSavePayment,S=(P.onPaymentProcessing,P.onCheckoutAfterProcessingWithError),_=E.responseTypes,w=E.noticeContexts,C=h("name"),M=(0,p.useCallback)((function(e){m(e.complete)}),[]),k=(0,y.useUpdatePaymentIntent)({clientSecret:t,billingData:b,eventRegistration:P,responseTypes:_,shouldSavePayment:O,noticeContexts:w,name:C}),j=k.updatePaymentIntent,D=k.addPaymentMethodData;(0,y.useProcessCheckoutError)({responseTypes:_,subscriber:S,messageContext:w.PAYMENTS});var x=(0,p.useCallback)((0,i.default)(o.default.mark((function e(){var t,n,r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,e.next=3,j();case 3:return null!=(r=e.sent)&&null!==(t=r.paymentIntent)&&void 0!==t&&t.payment_method&&(n=r.paymentIntent.payment_method),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)}))),[j]);return r.createElement(r.Fragment,null,r.createElement(d.PaymentElement,{options:{fields:{billingDetails:"never"},wallets:{applePay:"never",googlePay:"never"}},onChange:M}),g&&r.createElement(f.Installments,{paymentMethodName:h("name"),stripe:v,cardFormComplete:u,getPaymentMethod:x,addPaymentMethodData:D}))},E=b;t.default=E},7205:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=n(9307),u=n(4613),l=n(1134),p=n(6664),d=n(3187),m=a(n(1065)),f=a(n(3329)),y=a(n(9775)),g=a(n(4664)),v=n(3636),h=(0,l.getSettings)("stripe_cc_data"),b=function(e){var t=(0,c.useState)(!1),n=(0,s.default)(t,2),a=n[0],o=n[1];if((0,c.useEffect)((function(){l.initStripe.catch((function(e){o(e)}))}),[o]),a)throw new Error(a);return h("isPaymentElement")?r.createElement(g.default,e):r.createElement(p.Elements,{stripe:l.initStripe,options:h("elementOptions")},r.createElement(P,e))},P=function(e){var t=e.getData,n=e.billing,a=e.shippingData,u=e.emitResponse,l=e.eventRegistration,m=e.activePaymentMethod,g=e.shouldSavePayment,h=(0,v.useStripeError)(),b=(0,s.default)(h,2),P=b[0],E=b[1],O=(0,c.useState)(!1),S=(0,s.default)(O,2),_=S[0],w=S[1],C=l.onPaymentProcessing,M=(0,p.useStripe)(),k=(0,p.useElements)(),j=(0,c.useCallback)((function(){var e=t("customFormActive")?p.CardNumberElement:p.CardElement;return{card:k.getElement(e)}}),[M,k]),D=(0,v.useSetupIntent)({getData:t,cartTotal:n.cartTotal,setError:E}),x=D.setupIntent,R=D.removeSetupIntent,A=(0,v.useProcessPaymentIntent)({getData:t,billing:n,shippingData:a,emitResponse:u,error:P,onPaymentProcessing:C,shouldSavePayment:g,setupIntent:x,removeSetupIntent:R,getPaymentMethodArgs:j,activePaymentMethod:m}),I=A.getCreatePaymentMethodArgs,L=A.addPaymentMethodData;(0,v.useAfterProcessingPayment)({getData:t,eventRegistration:l,responseTypes:u.responseTypes,activePaymentMethod:m,shouldSavePayment:g});var T=(0,c.useCallback)((0,i.default)(o.default.mark((function e(){var t,n,r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,e.next=3,M.createPaymentMethod(I());case 3:return null!=(r=e.sent)&&null!==(t=r.paymentMethod)&&void 0!==t&&t.id&&(n=r.paymentMethod.id),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)}))),[M,I]),N=t("customFormActive")?f.default:y.default;return r.createElement("div",{className:"wc-stripe-card-container"},r.createElement(N,{getData:t,billing:n,onChange:function(e){e.error?E(e.error):E(!1)},onComplete:w}),t("installmentsActive")&&r.createElement(d.Installments,{paymentMethodName:t("name"),cardFormComplete:_,addPaymentMethodData:L,getPaymentMethod:T}))};(0,u.registerPaymentMethod)({name:h("name"),label:r.createElement(d.PaymentMethodLabel,{title:h("title"),paymentMethod:h("name"),icons:h("icons")}),ariaLabel:"Credit Cards",canMakePayment:function(){return l.initStripe},content:r.createElement(d.PaymentMethod,{content:b,getData:h}),savedTokenComponent:r.createElement(m.default,{getData:h,method:h("isPaymentElement")?"confirmCardPayment":"handleCardAction"}),edit:r.createElement(d.PaymentMethod,{content:b,getData:h}),supports:{showSavedCards:h("showSavedCards"),showSaveOption:!0,features:h("features")}})},7082:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(4575)),i=a(n(3913)),s=a(n(2205)),c=a(n(8585)),u=a(n(9754));var l=function(e){(0,s.default)(l,e);var t,n,a=(t=l,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,u.default)(t);if(n){var a=(0,u.default)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,c.default)(this,e)});function l(e){var t;return(0,o.default)(this,l),(t=a.call(this,e)).state={hasError:!1,error:null,errorInfo:null},t}return(0,i.default)(l,[{key:"componentDidCatch",value:function(e,t){this.setState({hasError:!0,error:e,errorInfo:t})}},{key:"render",value:function(){return this.state.hasError?r.createElement(r.Fragment,null,this.state.error&&r.createElement("div",{className:"wc-stripe-block-error"},this.state.error.toString()),this.state.errorInfo&&r.createElement("div",{className:"wc-stripe-block-error"},this.state.errorInfo.componentStack)):this.props.children}}]),l}(n(9307).Component);t.default=l},5212:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(5516),u=n(3636),l=(0,n(1134).getSettings)("stripeGeneralData")().publishableKey;t.default=function(e){var t=e.getData,n=e.setErrorMessage,a=e.billing,p=e.shippingData,d=e.canMakePayment,m=e.checkoutStatus,f=e.eventRegistration,y=e.activePaymentMethod,g=e.onClick,v=e.onClose,h=(0,i.default)(e,["getData","setErrorMessage","billing","shippingData","canMakePayment","checkoutStatus","eventRegistration","activePaymentMethod","onClick","onClose"]),b={merchantId:t("merchantId"),merchantName:t("merchantName")},P=(0,u.useStripeError)(),E=(0,o.default)(P,2),O=E[0],S=(E[1],(0,s.useRef)()),_=h.onSubmit,w=h.emitResponse,C=f.onPaymentProcessing,M=(0,u.useExportedValues)(),k="long"===t("buttonStyle").buttonType?390:300,j=(0,u.useProcessPaymentIntent)({getData:t,billing:a,shippingData:p,onPaymentProcessing:C,emitResponse:w,error:O,exportedValues:M,onSubmit:_,checkoutStatus:m,activePaymentMethod:y}).setPaymentMethod,D=(0,c.usePaymentRequest)({getData:t,publishableKey:l,merchantInfo:b,billing:a,shippingData:p}),x=(0,c.usePaymentsClient)({merchantInfo:b,paymentRequest:D,billing:a,shippingData:p,eventRegistration:f,canMakePayment:d,setErrorMessage:n,onSubmit:_,setPaymentMethod:j,exportedValues:M,onClick:g,onClose:v,getData:t}),R=x.button,A=x.removeButton;return(0,u.useAfterProcessingPayment)({getData:t,eventRegistration:f,responseTypes:w.responseTypes,activePaymentMethod:y}),(0,u.useExpressBreakpointWidth)({payment_method:t("name"),width:k}),(0,s.useEffect)((function(){R&&(A(S.current),S.current.append(R))}),[R]),r.createElement("div",{className:"wc-stripe-gpay-button-container",ref:S})}},3097:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BASE_PAYMENT_REQUEST=t.BASE_PAYMENT_METHOD=void 0,t.BASE_PAYMENT_METHOD={type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],assuranceDetailsRequired:!0}},t.BASE_PAYMENT_REQUEST={apiVersion:2,apiVersionMinor:0}},5516:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(1674);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(1735);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(9808);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},9808:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useErrorMessage=void 0;var a=r(n(3038)),o=n(9307);t.useErrorMessage=function(){var e=(0,o.useState)(!1),t=(0,a.default)(e,2);return{errorMessage:t[0],setErrorMessage:t[1]}}},1735:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentRequest=void 0;var a=r(n(319)),o=r(n(9713)),i=n(9307),s=n(3097),c=n(1134),u=n(8664);function l(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 p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentRequest=function(e){var t=e.getData,n=e.publishableKey,r=e.merchantInfo,o=e.billing,l=e.shippingData,d=o.billingData,m=l.shippingRates,f=t(),y=f.processingCountry,g=f.totalPriceLabel;return(0,i.useMemo)((function(){var e=p(p({},{emailRequired:(0,c.isEmpty)(d.email),merchantInfo:r,allowedPaymentMethods:[p(p({},{type:"CARD",tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"stripe","stripe:version":"2018-10-31","stripe:publishableKey":n}}}),s.BASE_PAYMENT_METHOD)],shippingAddressRequired:l.needsShipping,transactionInfo:(0,u.getTransactionInfo)({billing:o,processingCountry:y,totalPriceLabel:g}),callbackIntents:["PAYMENT_AUTHORIZATION"]}),s.BASE_PAYMENT_REQUEST);if(e.allowedPaymentMethods[0].parameters.billingAddressRequired=!0,e.allowedPaymentMethods[0].parameters.billingAddressParameters={format:"FULL",phoneNumberRequired:(0,c.isFieldRequired)("phone",d.country)&&(0,c.isEmpty)(d.phone)},e.shippingAddressRequired){e.callbackIntents=[].concat((0,a.default)(e.callbackIntents),["SHIPPING_ADDRESS","SHIPPING_OPTION"]),e.shippingOptionRequired=!0;var t=(0,u.getShippingOptionParameters)(m);t.shippingOptions.length>0&&(e=p(p({},e),{},{shippingOptionParameters:t}))}return e}),[o.cartTotal,o.cartTotalItems,d,l])}},1674:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentsClient=void 0;var a=r(n(319)),o=r(n(9713)),i=r(n(1284)),s=r(n(8926)),c=r(n(3038)),u=n(9307),l=r(n(9127)),p=n(1134),d=n(6664),m=n(8664),f=n(5736),y=n(3636);function g(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 v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentsClient=function(e){var t=e.merchantInfo,n=e.paymentRequest,r=e.billing,g=e.shippingData,h=e.eventRegistration,b=e.canMakePayment,P=e.setErrorMessage,E=e.setPaymentMethod,O=e.exportedValues,S=e.onClick,_=e.onClose,w=e.getData,C=w().environment,M=(0,u.useState)(),k=(0,c.default)(M,2),j=k[0],D=k[1],x=(0,u.useState)(null),R=(0,c.default)(x,2),A=R[0],I=R[1],L=(0,u.useRef)(r),T=(0,u.useRef)(g),N=(0,d.useStripe)(),B=(0,y.usePaymentEvents)({billing:r,shippingData:g,eventRegistration:h}).addPaymentEvent;(0,u.useEffect)((function(){L.current=r,T.current=g}));var F=(0,u.useCallback)((function(e){var t,n;if(null!=e&&null!==(t=e.paymentMethodData)&&void 0!==t&&null!==(n=t.info)&&void 0!==n&&n.billingAddress){var r,a=e.paymentMethodData.info.billingAddress;(0,p.isAddressValid)(L.current.billingData,["phone","email"])&&(0,p.isEmpty)(null===(r=L.current.billingData)||void 0===r?void 0:r.phone)&&(a={phoneNumber:a.phoneNumber}),O.billingData=L.current.billingData=(0,m.toCartAddress)(a,{email:e.email})}null!=e&&e.shippingAddress&&(O.shippingAddress=(0,m.toCartAddress)(e.shippingAddress))}),[O,n]),q=(0,u.useCallback)((function(e){for(;e.firstChild;)e.removeChild(e.firstChild)}),[A]),X=(0,u.useCallback)((0,s.default)(i.default.mark((function e(){var t,r,a;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return S(),e.prev=1,e.next=4,j.loadPaymentData(n);case 4:return t=e.sent,F(t),r=JSON.parse(t.paymentMethodData.tokenizationData.token),e.next=9,N.createPaymentMethod({type:"card",card:{token:r.id},billing_details:(0,p.getBillingDetailsFromAddress)(L.current.billingData)});case 9:if(!(a=e.sent).error){e.next=12;break}throw new p.StripeError(a.error);case 12:E(a.paymentMethod.id),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(1),"CANCELED"===(null===e.t0||void 0===e.t0?void 0:e.t0.statusCode)?_():(console.log((0,p.getErrorMessage)(e.t0)),P((0,p.getErrorMessage)(e.t0)));case 18:case"end":return e.stop()}}),e,null,[[1,15]])}))),[N,j,S]),U=(0,u.useCallback)((0,s.default)(i.default.mark((function e(){return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!j||A||!N){e.next=5;break}return e.next=4,b;case 4:I(j.createButton(v({onClick:X},w("buttonStyle"))));case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.log(e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),[N,A,j,X]),V=(0,u.useMemo)((function(){var e={environment:C,merchantInfo:t,paymentDataCallbacks:{onPaymentAuthorized:function(){return Promise.resolve({transactionState:"SUCCESS"})}}};return n.shippingAddressRequired&&(e.paymentDataCallbacks.onPaymentDataChanged=function(e){return new Promise((function(t,n){var r,i=T.current,s=e.shippingAddress,c=e.shippingOptionData,u=(0,m.toCartAddress)(s),d=(0,p.getSelectedShippingOption)(c.id),y=(0,l.default)((0,p.getIntermediateAddress)(i.shippingAddress),u),g=(0,l.default)(i.selectedRates,(0,o.default)({},d[1],d[0]));B("onShippingChanged",(function(e,n){var r=n.billing,a=n.shipping;t(e?(0,m.getPaymentRequestUpdate)({billing:r,shippingData:{needsShipping:!0,shippingRates:a.shippingRates},processingCountry:w("processingCountry"),totalPriceLabel:w("totalPriceLabel")}):{error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:(0,f.__)("Your shipping address is not serviceable.","woo-stripe-payment"),intent:"SHIPPING_ADDRESS"}})}),y&&g),T.current.setShippingAddress(v(v({},T.current.shippingAddress),u)),"shipping_option_unselected"!==c.id&&(r=T.current).setSelectedRates.apply(r,(0,a.default)(d))}))}),e}),[n]);return(0,u.useEffect)((function(){D(new google.payments.api.PaymentsClient(V))}),[V]),(0,u.useEffect)((function(){U()}),[U]),{button:A,removeButton:q}}},5341:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),n(9509);var r=n(9031);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}))},9031:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(7154)),i=a(n(6479)),s=a(n(9713)),c=n(4613),u=n(1134),l=n(5516),p=a(n(5212)),d=n(3097),m=a(n(1417)),f=n(6664);function y(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 g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){(0,s.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var v,h,b=(0,u.getSettings)("stripe_googlepay_data"),P=(v=new m.default.payments.api.PaymentsClient({environment:b("environment"),merchantInfo:{merchantId:b("merchantId"),merchantName:b("merchantName")}}),h=g(g({},d.BASE_PAYMENT_REQUEST),{},{allowedPaymentMethods:[d.BASE_PAYMENT_METHOD]}),v.isReadyToPay(h).then((function(){return!0})).catch((function(e){return console.log(e),!1}))),E=function(e){var t=e.getData,n=e.components,a=(0,i.default)(e,["getData","components"]),s=n.ValidationInputError,c=(0,l.useErrorMessage)(),d=c.errorMessage,m=c.setErrorMessage;return r.createElement("div",{className:"wc-stripe-gpay-container"},r.createElement(f.Elements,{stripe:u.initStripe},r.createElement(p.default,(0,o.default)({getData:t,canMakePayment:P,setErrorMessage:m},a)),d&&r.createElement(s,{errorMessage:d})))},O=function(e){var t,n=e.getData,a=((0,i.default)(e,["getData"]),n("buttonStyle").buttonType),o=(null===(t=n("editorIcons"))||void 0===t?void 0:t[a])||"long";return r.createElement("div",{className:"gpay-block-editor ".concat(a)},r.createElement("img",{src:o}))};(0,c.registerExpressPaymentMethod)({name:b("name"),canMakePayment:function(){return b("isAdmin")?!(0,u.isCartPage)()||b("cartCheckoutEnabled"):!((0,u.isCartPage)()&&!b("cartCheckoutEnabled"))&&u.initStripe.then((function(e){return e.error?e:P}))},content:r.createElement(E,{getData:b}),edit:r.createElement(O,{getData:b}),supports:{showSavedCards:b("showSavedCards"),showSaveOption:b("showSaveOption"),features:b("features")}})},8664:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.toCartAddress=t.getShippingOptions=t.getShippingOptionParameters=t.getPaymentRequestUpdate=t.getTransactionInfo=void 0;var a=r(n(319)),o=n(1134),i=((0,n(4617).getSetting)("stripeGeneralData"),function(e){var t=e.billing,n=e.processingCountry,r=e.totalPriceLabel,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ESTIMATED",i=t.cartTotal,c=t.cartTotalItems,u=t.currency,l={countryCode:n,currencyCode:u.code,totalPriceStatus:a,totalPrice:(0,o.removeNumberPrecision)(i.value,u.minorUnit).toString(),displayItems:s(c,u.minorUnit),totalPriceLabel:r};return l});t.getTransactionInfo=i,t.getPaymentRequestUpdate=function(e){var t=e.billing,n=e.shippingData,r=e.processingCountry,a=e.totalPriceLabel,o=n.needsShipping,s=n.shippingRates,u={newTransactionInfo:i({billing:t,processingCountry:r,totalPriceLabel:a},"FINAL")};return o&&(u.newShippingOptionParameters=c(s)),u};var s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,n=[],r=["total_tax","total_shipping"];return e.forEach((function(e){(0<e.value||e.key&&r.includes(e.key))&&n.push({label:e.label,type:"LINE_ITEM",price:(0,o.removeNumberPrecision)(e.value,t).toString()})})),n},c=function(e){var t=u(e),n=t.map((function(e){return e.id})).slice(0,1).shift();return e.forEach((function(e,t){e.shipping_rates.forEach((function(e){e.selected&&(n=(0,o.getShippingOptionId)(t,e.rate_id))}))})),{shippingOptions:t,defaultSelectedOptionId:n}};t.getShippingOptionParameters=c;var u=function(e){var t=[];return e.forEach((function(e,n){var r=e.shipping_rates.map((function(e){var t=document.createElement("textarea");t.innerHTML=e.name;var r=(0,o.formatPrice)(e.price,e.currency_code);return{id:(0,o.getShippingOptionId)(n,e.rate_id),label:t.value,description:"".concat(r)}}));t=[].concat((0,a.default)(t),(0,a.default)(r))})),t};t.getShippingOptions=u;var l=(0,o.toCartAddress)({name:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},countryCode:"country",address1:"address_1",address2:"address_2",locality:"city",administrativeArea:"state",postalCode:"postcode",email:"email",phoneNumber:"phone"});t.toCartAddress=l},3636:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(4332);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(1261);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(6107);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var i=n(2715);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}));var s=n(2343);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}}))}));var c=n(1500);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var u=n(6095);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))}));var l=n(5554);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var p=n(3893);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return p[e]}}))}));var d=n(1225);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}))},1261:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useAfterProcessingPayment=void 0;var a=r(n(1284)),o=r(n(8926)),i=n(9307),s=n(6664),c=n(1134),u=n(3893);t.useAfterProcessingPayment=function(e){var t=e.getData,n=e.eventRegistration,r=e.responseTypes,l=e.activePaymentMethod,p=e.shouldSavePayment,d=void 0!==p&&p,m=e.messageContext,f=void 0===m?null:m,y=(0,s.useStripe)(),g=n.onCheckoutAfterProcessingWithSuccess,v=n.onCheckoutAfterProcessingWithError;(0,u.useProcessCheckoutError)({responseTypes:r,subscriber:v,messageContext:f}),(0,i.useEffect)((function(){var e=g(function(){var e=(0,o.default)(a.default.mark((function e(n){var o;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.redirectUrl,t("name")!==l){e.next=5;break}return e.next=4,(0,c.handleCardAction)({redirectUrl:o,responseTypes:r,name:l,savePaymentMethod:d});case 4:return e.abrupt("return",e.sent);case 5:return e.abrupt("return",null);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[y,r,g,l,d])}},5554:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useExpressBreakpointWidth=t.useBreakpointWidth=void 0;var a=r(n(3038)),o=n(9307),i=n(1134),s=function(e){var t=e.name,n=e.width,r=e.node,s=e.className,c=(0,o.useState)(window.innerWidth),u=(0,a.default)(c,2),l=u[0],p=u[1],d=(0,o.useCallback)((function(e){var t=(0,i.getFromCache)(e);return t?parseInt(t):0}),[]),m=(0,o.useCallback)((function(e,t){return(0,i.storeInCache)(e,t)}),[]);(0,o.useEffect)((function(){var e="function"==typeof r?r():r;if(e){var a=d(t);(!a||n>a)&&m(t,n),e.clientWidth<n?e.classList.add(s):e.clientWidth>a&&e.classList.remove(s)}}),[l,r]),(0,o.useEffect)((function(){var e=function(){return p(window.innerWidth)};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}))};t.useBreakpointWidth=s,t.useExpressBreakpointWidth=function(e){var t=e.payment_method,n=e.width,r=(0,o.useCallback)((function(){var e=document.getElementById("express-payment-method-".concat(t));return e?e.parentNode:null}),[]);s({name:"expressMaxWidth",width:n,node:r,className:"wc-stripe-express__sm"})}},2343:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useExportedValues=void 0;var r=n(9307);t.useExportedValues=function(){return(0,r.useRef)({}).current}},6095:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentEvents=void 0;var a=r(n(9713)),o=r(n(3038)),i=n(9307),s=n(1134);function c(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 u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){(0,a.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentEvents=function(e){var t=e.billing,n=e.shippingData,r=e.eventRegistration,c=r.onShippingRateSuccess,l=r.onShippingRateFail,p=r.onShippingRateSelectSuccess,d=(0,i.useRef)(t),m=(0,i.useRef)(n),f=(0,i.useState)(null),y=(0,o.default)(f,2),g=y[0],v=y[1],h=(0,i.useState)({onShippingChanged:!1}),b=(0,o.default)(h,2),P=b[0],E=b[1],O=(0,i.useCallback)((function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];n?v((0,a.default)({},e,t)):E(u(u({},P),{},(0,a.default)({},e,t)))}),[P,E]),S=(0,i.useCallback)((function(e){P[e]&&(delete P[e],E(P))}),[P]),_=(0,i.useCallback)((function(){var e=m.current,t=d.current;if(P.onShippingChanged&&!e.isSelectingRate&&!e.shippingRatesLoading){var n=P.onShippingChanged,r=!0;(0,s.hasShippingRates)(e.shippingRates)||(r=!1),n(r,{billing:t,shipping:e}),S("onShippingChanged")}}),[P,S]);return(0,i.useEffect)((function(){d.current=t,m.current=n})),(0,i.useEffect)((function(){g&&g.onShippingChanged&&(g.onShippingChanged(!0,{billing:d.current,shipping:m.current}),v(null))}),[g]),(0,i.useEffect)((function(){var e=c(_),t=p(_),n=l((function(e){e.hasInvalidAddress,e.hasError,P.onShippingChanged&&((0,P.onShippingChanged)(!1),S("onShippingChanged"))}));return function(){e(),n(),t()}}),[P,c,l,p]),{addPaymentEvent:O,removePaymentEvent:S}}},1500:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentRequest=void 0;var a=r(n(319)),o=r(n(9713)),i=r(n(3038)),s=n(9307),c=n(6095),u=n(1134),l=r(n(9127));function p(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 d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var m=(0,u.toCartAddress)();t.usePaymentRequest=function(e){var t=e.getData,n=e.onClose,r=e.stripe,o=e.billing,p=e.shippingData,f=e.eventRegistration,y=e.setPaymentMethod,g=e.exportedValues,v=e.canPay,h=(0,c.usePaymentEvents)({billing:o,shippingData:p,eventRegistration:f}).addPaymentEvent,b=(p.shippingAddress,p.needsShipping),P=p.shippingRates,E=o.billingData,O=o.cartTotalItems,S=o.currency,_=o.cartTotal,w=(0,s.useState)(null),C=(0,i.default)(w,2),M=C[0],k=C[1],j=(0,s.useRef)({}),D=(0,s.useRef)(p),x=(0,s.useRef)(o);(0,s.useEffect)((function(){D.current=p,x.current=o}),[p]),(0,s.useEffect)((function(){if(r){var e={country:t("countryCode"),currency:null==S?void 0:S.code.toLowerCase(),total:{amount:_.value,label:_.label,pending:!0},requestPayerName:!0,requestPayerEmail:(0,u.isFieldRequired)("email",E.country),requestPayerPhone:(0,u.isFieldRequired)("phone",E.country),requestShipping:b,displayItems:(0,u.getDisplayItems)(O,S)};e.requestShipping&&(e.shippingOptions=(0,u.getShippingOptions)(P)),j.current=e;var n=r.paymentRequest(j.current);n.canMakePayment().then((function(e){v(e)?k(n):k(null)}))}}),[r,_.value,E.country,P,O,S.code]),(0,s.useEffect)((function(){M&&(j.current.requestShipping&&(M.on("shippingaddresschange",A),M.on("shippingoptionchange",I)),M.on("cancel",n),M.on("paymentmethod",L))}),[M,A,n,L]);var R=(0,s.useCallback)((function(e){return function(t,n){var r=n.billing,a=n.shipping,o=r.cartTotal,i=r.cartTotalItems,s=r.currency,c=a.shippingRates;t?e.updateWith({status:"success",total:{amount:o.value,label:o.label,pending:!1},displayItems:(0,u.getDisplayItems)(i,s),shippingOptions:(0,u.getShippingOptions)(c)}):e.updateWith({status:"invalid_shipping_address"})}}),[]),A=(0,s.useCallback)((function(e){var t=e.shippingAddress,n=D.current,r=m(t);n.setShippingAddress(d(d({},n.shippingAddress),r));var a=(0,l.default)((0,u.getIntermediateAddress)(n.shippingAddress),r);h("onShippingChanged",R(e),a)}),[h]),I=(0,s.useCallback)((function(e){var t=e.shippingOption,n=D.current;n.setSelectedRates.apply(n,(0,a.default)((0,u.getSelectedShippingOption)(t.id))),h("onShippingChanged",R(e))}),[h]),L=(0,s.useCallback)((function(e){var t=e.paymentMethod,n=e.payerName,r=void 0===n?null:n,a=e.payerEmail,o=void 0===a?null:a,i=e.payerPhone,s={payerName:r,payerEmail:o,payerPhone:void 0===i?null:i};null!=t&&t.billing_details.address&&(s=m(t.billing_details.address,s)),g.billingData=s,e.shippingAddress&&(g.shippingAddress=m(e.shippingAddress)),y(t.id),e.complete("success")}),[]);return{paymentRequest:M}}},3893:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessCheckoutError=void 0;var r=n(9307);t.useProcessCheckoutError=function(e){var t=e.responseTypes,n=e.subscriber,a=e.messageContext,o=void 0===a?null:a;(0,r.useEffect)((function(){var e=n((function(e){var n;return null!=e&&null!==(n=e.processingResponse.paymentDetails)&&void 0!==n&&n.stripeErrorMessage?{type:t.ERROR,message:e.processingResponse.paymentDetails.stripeErrorMessage,messageContext:o}:null}));return function(){return e()}}),[t,n])}},4332:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessPaymentIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=r(n(3038)),c=n(9307),u=n(6664),l=n(1134);function p(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 d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useProcessPaymentIntent=function(e){var t=e.getData,n=e.billing,r=e.shippingData,p=e.onPaymentProcessing,m=e.emitResponse,f=e.error,y=e.onSubmit,g=e.activePaymentMethod,v=e.paymentType,h=void 0===v?"card":v,b=e.setupIntent,P=void 0===b?null:b,E=e.removeSetupIntent,O=void 0===E?null:E,S=e.shouldSavePayment,_=void 0!==S&&S,w=e.exportedValues,C=void 0===w?{}:w,M=e.getPaymentMethodArgs,k=void 0===M?function(){return{}}:M,j=n.billingData,D=r.shippingAddress,x=m.responseTypes,R=(0,c.useState)(null),A=(0,s.default)(R,2),I=A[0],L=A[1],T=(0,u.useStripe)(),N=(0,c.useRef)(k),B=(0,c.useRef)({});(0,c.useEffect)((function(){N.current=k}),[k]);var F=(0,c.useCallback)((function(e){B.current=d(d({},B.current),e)}),[]),q=(0,c.useCallback)((function(){return d(d({},{type:h,billing_details:(0,l.getBillingDetailsFromAddress)(null!=C&&C.billingData?C.billingData:j)}),N.current())}),[j,h,k]),X=(0,c.useCallback)((function(e,n){var r,a={meta:{paymentMethodData:d((r={},(0,i.default)(r,"".concat(t("name"),"_token_key"),e),(0,i.default)(r,"".concat(t("name"),"_save_source_key"),n),r),B.current)}};return null!=C&&C.billingData&&(a.meta.billingData=C.billingData),null!=C&&C.shippingAddress&&(a.meta.shippingData={address:C.shippingAddress}),a}),[j,D]);return(0,c.useEffect)((function(){I&&"string"==typeof I&&y()}),[I,y]),(0,c.useEffect)((function(){var e=p((0,o.default)(a.default.mark((function e(){var n,r;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(g===t("name")){e.next=2;break}return e.abrupt("return",null);case 2:if(n=null,r=null,e.prev=3,!f){e.next=6;break}throw new l.StripeError(f);case 6:if(!P){e.next=16;break}return e.next=9,T.confirmCardSetup(P.client_secret,{payment_method:q()});case 9:if(!(n=e.sent).error){e.next=12;break}throw new l.StripeError(n.error);case 12:r=n.setupIntent.payment_method,O(),e.next=26;break;case 16:if(!I){e.next=20;break}r=I,e.next=26;break;case 20:return e.next=22,T.createPaymentMethod(q());case 22:if(!(n=e.sent).error){e.next=25;break}throw new l.StripeError(n.error);case 25:r=n.paymentMethod.id;case 26:return e.abrupt("return",(0,l.ensureSuccessResponse)(x,X(r,_)));case 29:return e.prev=29,e.t0=e.catch(3),console.log(e.t0),L(null),e.abrupt("return",(0,l.ensureErrorResponse)(x,e.t0.error));case 34:case"end":return e.stop()}}),e,null,[[3,29]])}))));return function(){return e()}}),[I,j,p,T,P,g,_]),{setPaymentMethod:L,getCreatePaymentMethodArgs:q,addPaymentMethodData:F}}},6107:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useSetupIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(3038)),s=n(9307),c=r(n(6989)),u=n(1134);t.useSetupIntent=function(e){var t=e.cartTotal,n=e.setError,r=(0,s.useState)((0,u.getFromCache)("setupIntent")),l=(0,i.default)(r,2),p=l[0],d=l[1];(0,s.useEffect)((function(){var e=function(){var e=(0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!p){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,(0,c.default)({url:(0,u.getRoute)("create/setup_intent"),method:"POST"});case 4:(t=e.sent).code?n(t.message):((0,u.storeInCache)("setupIntent",t.intent),d(t.intent));case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();(0,u.cartContainsPreOrder)()||(0,u.cartContainsSubscription)()&&0==t.value?p||e():d(null)}),[t.value]);var m=(0,s.useCallback)((function(){(0,u.deleteFromCache)("setupIntent")}),[t.value]);return{setupIntent:p,removeSetupIntent:m}}},2715:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useStripeError=void 0;var a=r(n(3038)),o=n(9307);t.useStripeError=function(){var e=(0,o.useState)(!1),t=(0,a.default)(e,2);return[t[0],t[1]]}},1225:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useUpdatePaymentIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=n(9307),c=n(6664),u=n(1134);function l(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 p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useUpdatePaymentIntent=function(e){var t=e.clientSecret,n=e.billingData,r=e.eventRegistration,l=e.responseTypes,d=e.name,m=e.shouldSavePayment,f=e.noticeContexts,y=r.onPaymentProcessing,g=r.onCheckoutAfterProcessingWithSuccess,v=(0,s.useRef)({billingData:n}),h=(0,s.useRef)({}),b=(0,c.useStripe)(),P=(0,c.useElements)(),E=(0,s.useCallback)((function(e,t){var n;return{meta:{paymentMethodData:p((n={},(0,i.default)(n,"".concat(d,"_token_key"),e),(0,i.default)(n,"".concat(d,"_save_source_key"),t),n),h.current)}}}),[]),O=(0,s.useCallback)((function(e){h.current=p(p({},h.current),e)}),[]),S=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=v.current.billingData,e.next=3,b.updatePaymentIntent({elements:P,params:{payment_method_data:{billing_details:(0,u.getBillingDetailsFromAddress)(t)}}});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),[b,P]),_=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=v.current.billingData,e.next=3,b.confirmPayment({elements:P,confirmParams:{payment_method_data:{billing_details:(0,u.getBillingDetailsFromAddress)(t)}},redirect:"if_required"});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),[b,P]);return(0,s.useEffect)((function(){v.current={billingData:n}})),(0,s.useEffect)((function(){var e=y((0,o.default)(a.default.mark((function e(){var n,r;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=null,e.next=4,b.retrievePaymentIntent(t);case 4:if("requires_action"!==(r=e.sent).paymentIntent.status){e.next=11;break}return n=r.paymentIntent.payment_method,e.next=9,_();case 9:e.next=17;break;case 11:return e.next=13,S();case 13:if(!(r=e.sent).error){e.next=16;break}throw new u.StripeError(r.error);case 16:n=r.paymentIntent.payment_method;case 17:return e.abrupt("return",(0,u.ensureSuccessResponse)(l,E(n,m)));case 20:return e.prev=20,e.t0=e.catch(0),e.abrupt("return",(0,u.ensureErrorResponse)(l,e.t0,{messageContext:f.PAYMENTS}));case 23:case"end":return e.stop()}}),e,null,[[0,20]])}))));return function(){return e()}}),[y,S,_,t,m]),(0,s.useEffect)((function(){var e=g(function(){var e=(0,o.default)(a.default.mark((function e(t){var n;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.redirectUrl,e.next=3,(0,u.handleCardAction)({redirectUrl:n,responseTypes:l,name:d,method:"confirmCardPayment",savePaymentMethod:m});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[g,_,m,d]),{updatePaymentIntent:S,addPaymentMethodData:O}}},318:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(9874);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}))},9874:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useLink=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(8926)),s=r(n(3038)),c=r(n(6479)),u=n(9307),l=n(6664),p=n(1134);function d(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 m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f=(0,p.toCartAddress)();t.useLink=function(e){var t=e.email,n=e.eventRegistration,r=e.onClick,o=e.onSubmit,d=e.isActive,y=e.responseTypes,g=((0,c.default)(e,["email","eventRegistration","onClick","onSubmit","isActive","responseTypes"]),(0,u.useState)()),v=(0,s.default)(g,2),h=v[0],b=v[1],P=(0,l.useStripe)(),E=(0,l.useElements)(),O=(0,u.useRef)(),S=(0,u.useRef)(),_=n.onPaymentProcessing;return(0,u.useEffect)((function(){O.current={onClick:r,onSubmit:o}})),(0,u.useEffect)((function(){P&&E&&b(null==P?void 0:P.linkAutofillModal(E))}),[P,E]),(0,u.useEffect)((function(){h&&h.launch({email:t})}),[h,t]),(0,u.useEffect)((function(){h&&(h.on("autofill",(function(e){S.current=e,O.current.onSubmit()})),h.on("authenticated",(function(e){O.current.onClick()})))}),[h]),(0,u.useEffect)((function(){if(d){var e=_((0,i.default)(a.default.mark((function e(){var t,n,r,o,i,s,c;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={meta:{}},n=S.current.value,r=n.shippingAddress,o=void 0===r?null:r,i=n.billingAddress,(s=void 0===i?null:i)&&(t.meta.billingData=f(m(m({},s.address),{},{recipient:s.name}))),o&&(t.meta.shippingData=f(m(m({},o.address),{},{recipient:o.name}))),e.prev=4,e.next=7,P.updatePaymentIntent({elements:E,params:{payment_method_data:{billing_details:(0,p.getBillingDetailsFromAddress)(t.meta.billingData)}}});case 7:c=e.sent,t.meta.paymentMethodData={stripe_cc_token_key:c.paymentIntent.payment_method,stripe_cc_save_source_key:!1},e.next=14;break;case 11:e.prev=11,e.t0=e.catch(4),console.log(e.t0);case 14:return e.abrupt("return",(0,p.ensureSuccessResponse)(y,t));case 15:case"end":return e.stop()}}),e,null,[[4,11]])}))));return function(){return e()}}}),[d,_,P,E]),h}},3474:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.LinkComponent=void 0;var o=a(n(6479)),i=(n(9307),n(6664)),s=n(4613),c=n(318),u=n(1134),l=(0,u.getSettings)("stripe_link_checkout_data"),p=function(e){var t,n,a=e.cartData,s=(0,o.default)(e,["cartData"]),c=null==a||null===(t=a.extensions)||void 0===t||null===(n=t.stripe_link_checkout)||void 0===n?void 0:n.clientSecret;return c?r.createElement(i.Elements,{stripe:u.initStripe,options:{clientSecret:c}},r.createElement(d,s)):null};t.LinkComponent=p;var d=function(e){var t=e.billing,n=(e.shipping,e.eventRegistration),a=e.onClick,s=e.onSubmit,u=e.activePaymentMethod,p=e.emitResponse,d=((0,o.default)(e,["billing","shipping","eventRegistration","onClick","onSubmit","activePaymentMethod","emitResponse"]),t.billingData),m=(t.currency,p.responseTypes),f=(p.noticeContexts,d.email),y=u===l("name");return(0,c.useLink)({email:f,eventRegistration:n,onClick:a,onSubmit:s,isActive:y,responseTypes:m}),r.createElement("div",{style:{display:"none"}},r.createElement(i.PaymentElement,null))};(0,s.registerExpressPaymentMethod)({name:l("name"),canMakePayment:function(e){return!0},content:r.createElement(p,null),edit:r.createElement(p,null),supports:{showSavedCards:l("showSavedCards"),showSaveOption:l("showSaveOption"),features:l("features")}})},6480:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(6479)),i=a(n(9713)),s=a(n(3038)),c=n(9307),u=n(4613),l=n(1134),p=n(3539),d=n(3187),m=n(6664),f=n(5736),y=n(3554),g=n(8817);function v(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 h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var b,P=(0,l.getSettings)("stripe_afterpay_data"),E=function(e){var t=e.total,n=e.currency,r=e.needsShipping,a=!1,o=P("requiredParams"),i=P("accountCountry"),s=!!o.hasOwnProperty(n)&&o[n];return s&&(a=i===(null==s?void 0:s[0])&&r&&t>(null==s?void 0:s[1])&&t<(null==s?void 0:s[2])),a},O=function(e){var t=e.getData,n=(0,c.useState)({amount:t("cartTotal"),currency:t("currency"),isEligible:t("msgOptions").isEligible}),a=(0,s.default)(n,2),o=a[0],i=a[1];return b=i,r.createElement(m.Elements,{stripe:l.initStripe,options:t("elementOptions")},r.createElement("div",{className:"wc-stripe-blocks-afterpay__label"},r.createElement(m.AfterpayClearpayMessageElement,{options:h(h({},t("msgOptions")),{amount:o.amount,currency:o.currency,isEligible:o.isEligible})})))},S=function(e){var t=e.content,n=e.billing,a=e.shippingData,i=(0,o.default)(e,["content","billing","shippingData"]),s=t,u=n.cartTotal,l=n.currency,p=a.needsShipping;return(0,c.useEffect)((function(){b({amount:u.value,currency:l.code,isEligible:p})}),[u.value,l.code,p]),r.createElement(r.Fragment,null,p&&r.createElement("div",{className:"wc-stripe-blocks-payment-method-content"},r.createElement("div",{className:"wc-stripe-blocks-afterpay-offsite__container"},r.createElement("div",{className:"wc-stripe-blocks-afterpay__offsite"},r.createElement("img",{src:P("offSiteSrc")}),r.createElement("p",null,(0,f.sprintf)((0,f.__)('After clicking "%s", you will be redirected to Afterpay to complete your purchase securely.',"woo-stripe-payment"),P("placeOrderButtonLabel"))))),r.createElement(s,h(h({},i),{},{billing:n,shippingData:a}))))},_=function(e){var t=e.cart,n=(e.extensions,e.context,t.cartTotals),a=t.cartNeedsShipping,o=(n.total_price,n.currency_code),i=parseInt(n.total_price),s=parseInt(n.total_price)/Math.pow(10,n.currency_minor_unit);return E({total:s,currency:o,needsShipping:a})?r.createElement(y.TotalsWrapper,null,r.createElement(m.Elements,{stripe:l.initStripe,options:P("elementOptions")},r.createElement("div",{className:"wc-stripe-blocks-afterpay-totals__item wc-block-components-totals-item"},r.createElement(m.AfterpayClearpayMessageElement,{options:h(h({},P("msgOptions")),{amount:i,currency:o,isEligible:a})})))):null};P()&&((0,u.registerPaymentMethod)({name:P("name"),label:r.createElement(O,{getData:P}),ariaLabel:(0,f.__)("Afterpay","woo-stripe-payment"),placeOrderButtonLabel:P("placeOrderButtonLabel"),canMakePayment:(0,p.canMakePayment)(P,(function(e){var t=e.settings,n=e.cartTotals,r=e.cartNeedsShipping,a=n.currency_code,o=n.currency_minor_unit,i=n.total_price;b&&b({amount:parseInt(n.total_price),currency:a,isEligible:r});var s=parseInt(i)/Math.pow(10,o),c=E({total:s,currency:a,needsShipping:r});return!c&&!t("hideIneligible")||c})),content:r.createElement(S,{content:p.LocalPaymentIntentContent,getData:P,confirmationMethod:"confirmAfterpayClearpayPayment"}),edit:r.createElement(d.PaymentMethod,{content:p.LocalPaymentIntentContent,getData:P}),supports:{showSavedCards:!1,showSaveOption:!1,features:P("features")}}),(0,g.registerPlugin)("wc-stripe",{render:function(){return r.createElement(y.ExperimentalOrderMeta,null,r.createElement(_,null))},scope:"woocommerce-checkout"}))},39:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(2029),c=n(3187),u=(0,o.getSettings)("stripe_alipay_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Alipay",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(c.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmAlipayPayment",getData:u}),edit:r.createElement(c.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},8641:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_bancontact_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Bancontact",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmBancontactPayment",getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},5176:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_becs_data"),l=function(e){return r.createElement(r.Fragment,null,r.createElement(s.PaymentMethod,e),r.createElement("div",{className:"wc-stripe-blocks-mandate becs-mandate",dangerouslySetInnerHTML:{__html:e.getData("mandate")}}))};u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"BECS",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(l,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmAuBecsDebitPayment",component:c.AuBankAccountElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},4990:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(7154)),i=a(n(9713)),s=a(n(3038)),c=a(n(6479)),u=n(9307),l=n(5736),p=n(4613),d=a(n(4184)),m=n(1134),f=n(3539),y=n(3187);function g(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 v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var h=(0,m.getSettings)("stripe_boleto_data");h()&&(0,p.registerPaymentMethod)({name:h("name"),label:r.createElement(y.PaymentMethodLabel,{title:h("title"),paymentMethod:h("name"),icons:h("icon")}),ariaLabel:"Boleto",placeOrderButtonLabel:h("placeOrderButtonLabel"),canMakePayment:(0,f.canMakePayment)(h),content:r.createElement(y.PaymentMethod,{content:function(e){var t=e.eventRegistration,n=(0,c.default)(e,["eventRegistration"]),a=(0,u.useState)(""),i=(0,s.default)(a,2),p=i[0],y=i[1],g=(0,u.useState)(!1),h=(0,s.default)(g,2),b=h[0],P=h[1],E=t.onPaymentProcessing,O=(0,u.useCallback)((function(){return{boleto:{tax_id:p}}}),[p]);return(0,u.useEffect)((function(){var e=E((function(){return!!p||(0,m.ensureErrorResponse)(n.emitResponse.responseTypes,(0,l.__)("Please enter a valid CPF/CNPJ value","woo-stripe-payment"))}));return function(){return e()}}),[E,p]),r.createElement(r.Fragment,null,r.createElement("div",{className:(0,d.default)("wc-block-components-text-input",{"is-active":b||p})},r.createElement("input",{type:"text",id:"wc-stripe-boleto-tax_id",onChange:function(e){return y(e.target.value)},onFocus:function(){return P(!0)},onBlur:function(){return P(!1)}}),r.createElement("label",{htmlFor:"wc-stripe-boleto-tax_id"},(0,l.__)(" CPF / CNPJ"," woo-stripe-payment"))),(0,m.isTestMode)()&&r.createElement("div",{className:"wc-stripe-boleto__description"},r.createElement("p",null,(0,l.__)("Test mode values","woo-stripe-payment")),r.createElement("div",null,r.createElement("label",null,"CPF:")," ",r.createElement("span",null,"000.000.000-00")),r.createElement("div",null,r.createElement("label",null,"CNPJ:")," ",r.createElement("span",null,"00.000.000/0000-00"))),!(0,m.isTestMode)()&&r.createElement("div",{className:"wc-stripe-boleto__description"},r.createElement("p",null,(0,l.__)("Accepted formats","woo-stripe-payment")),r.createElement("div",null,r.createElement("label",null,"CPF:")," ",r.createElement("span",null,(0,l.__)("XXX.XXX.XXX-XX or XXXXXXXXXXX","woo-stripe-payment"))),r.createElement("div",null,r.createElement("label",null,"CNPJ:")," ",r.createElement("span",null,(0,l.__)("XX.XXX.XXX/XXXX-XX or XXXXXXXXXXXXXX","woo-stripe-payment")))),r.createElement(f.LocalPaymentIntentContent,(0,o.default)({callback:O},v(v({},n),{eventRegistration:t}))))},getData:h,confirmationMethod:"confirmBoletoPayment"}),edit:r.createElement(y.PaymentMethod,{content:f.LocalPaymentIntentContent,getData:h}),supports:{showSavedCards:!1,showSaveOption:!1,features:h("features")}})},4494:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_eps_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"EPS",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmEpsPayment",component:c.EpsBankElement,getData:u}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},4031:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_fpx_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"FPX",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmIdealPayment",component:c.FpxBankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},3817:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_giropay_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Giropay",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmGiropayPayment",getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3140:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_grabpay_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"GrabPay",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c,confirmationMethod:"confirmGrabPayPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},8522:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(3160);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(3994);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(878);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},3160:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useAfterProcessLocalPayment=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(6479)),s=r(n(8926)),c=n(9307),u=n(6664),l=n(1134);function p(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 d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useAfterProcessLocalPayment=function(e){var t=e.getData,n=e.billingData,r=e.eventRegistration,o=e.responseTypes,p=e.activePaymentMethod,m=e.confirmationMethod,f=e.getPaymentMethodArgs,y=void 0===f?function(){return{}}:f,g=(0,u.useStripe)(),v=r.onCheckoutAfterProcessingWithSuccess,h=r.onCheckoutAfterProcessingWithError,b=(0,c.useRef)(n),P=(0,c.useRef)(y);(0,c.useEffect)((function(){b.current=n}),[n]),(0,c.useEffect)((function(){P.current=y}),[y]),(0,c.useEffect)((function(){var e=v(function(){var e=(0,s.default)(a.default.mark((function e(n){var r,s,c,u,f,y,v;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.redirectUrl,t("name")!==p){e.next=18;break}if(e.prev=2,!(s=r.match(/#response=(.+)/))){e.next=12;break}return c=JSON.parse(window.atob(decodeURIComponent(s[1]))),u=c.client_secret,f=c.return_url,y=(0,i.default)(c,["client_secret","return_url"]),e.next=8,g[m](u,{payment_method:d({billing_details:(0,l.getBillingDetailsFromAddress)(b.current)},P.current(b.current)),return_url:f});case 8:if(!(v=e.sent).error){e.next=11;break}throw new l.StripeError(v.error);case 11:window.location=decodeURI(y.order_received_url);case 12:e.next=18;break;case 14:return e.prev=14,e.t0=e.catch(2),console.log(e.t0),e.abrupt("return",(0,l.ensureErrorResponse)(o,e.t0.error));case 18:case"end":return e.stop()}}),e,null,[[2,14]])})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[g,v,h])}},878:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useCreateSource=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=r(n(3038)),c=n(9307),u=n(1134),l=n(6664),p=n(5736);t.useCreateSource=function(e){var t=e.getData,n=e.billing,r=e.shippingAddress,d=e.onPaymentProcessing,m=e.responseTypes,f=e.getSourceArgs,y=void 0!==f&&f,g=e.element,v=void 0!==g&&g,h=(0,c.useState)(!1),b=(0,s.default)(h,2),P=b[0],E=b[1],O=(0,c.useState)(!1),S=(0,s.default)(O,2),_=S[0],w=S[1],C=(0,c.useRef)({billing:n,shippingAddress:r}),M=(0,l.useStripe)(),k=(0,l.useElements)();(0,c.useEffect)((function(){C.current={billing:n,shippingAddress:r}}));var j=(0,c.useCallback)((function(){var e=C.current.billing,n=e.cartTotal,r=e.currency,a=e.billingData,o=(0,u.getDefaultSourceArgs)({type:t("paymentType"),amount:n.value,billingData:a,currency:r.code,returnUrl:t("returnUrl")});return y&&(o=y(o,{billingData:a})),o}),[]),D=(0,c.useCallback)((function(e){return{meta:{paymentMethodData:(0,i.default)({},"".concat(t("name"),"_token_key"),e)}}}),[]);return(0,c.useEffect)((function(){var e=d((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!P){e.next=2;break}return e.abrupt("return",(0,u.ensureSuccessResponse)(m,D(P.id)));case 2:if(e.prev=2,!v){e.next=11;break}if(_){e.next=6;break}throw(0,p.__)("Please enter your payment info before proceeding.","woo-stripe-payment");case 6:return e.next=8,M.createSource(k.getElement(v),j());case 8:t=e.sent,e.next=14;break;case 11:return e.next=13,M.createSource(j());case 13:t=e.sent;case 14:if(!t.error){e.next=16;break}throw new u.StripeError(t.error);case 16:return E(t.source),e.abrupt("return",(0,u.ensureSuccessResponse)(m,D(t.source.id)));case 20:return e.prev=20,e.t0=e.catch(2),console.log(e.t0),e.abrupt("return",(0,u.ensureErrorResponse)(m,e.t0.error||e.t0));case 24:case"end":return e.stop()}}),e,null,[[2,20]])}))));return function(){return e()}}),[P,d,M,m,v,_,w]),{setIsValid:w}}},3994:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useValidateCheckout=void 0;var a=r(n(3038)),o=n(9307),i=n(1134),s=n(5736);t.useValidateCheckout=function(e){var t=e.subscriber,n=e.responseTypes,r=e.component,c=void 0===r?null:r,u=e.msg,l=void 0===u?(0,s.__)("Please enter your payment info before proceeding.","woo-stripe-payment"):u,p=(0,o.useState)(!1),d=(0,a.default)(p,2),m=d[0],f=d[1];return(0,o.useEffect)((function(){var e=t((function(){return!(c&&!m)||(0,i.ensureErrorResponse)(n,l)}));return function(){return e()}}),[t,m,f,n,c]),{isValid:m,setIsValid:f}}},9474:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_ideal_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Ideal",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmIdealPayment",component:c.IdealBankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},9738:(e,t,n)=>{n(5142),n(9474),n(3868),n(8641),n(3817),n(4494),n(4784),n(1192),n(7894),n(3766),n(4031),n(5176),n(3140),n(39),n(6480),n(4990),n(5748)},5142:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(5736),u=(0,o.getSettings)("stripe_klarna_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Klarna",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u,(function(e){var t=e.settings,n=e.billingData,r=e.cartTotals,a=n.country,o=r.currency_code,i=t("requiredParams");return[o]in i&&i[o].includes(a)})),content:r.createElement(s.PaymentMethod,{content:function(e){return r.createElement(r.Fragment,null,(0,o.isTestMode)()&&r.createElement("div",{className:"wc-stripe-klarna__testmode"},r.createElement("label",null,(0,c.__)("Test mode sms","woo-stripe-payment"),":")," ",r.createElement("span",null,"123456")),r.createElement(i.LocalPaymentIntentContent,e))},getData:u,confirmationMethod:"confirmKlarnaPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},3539:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.LocalPaymentSourceContent=t.LocalPaymentIntentContent=t.canMakePayment=void 0;var o=a(n(7154)),i=a(n(9713)),s=a(n(6479)),c=n(9307),u=n(6664),l=n(1134),p=n(8522),d=n(3636);function m(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?m(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.canMakePayment=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(n){var r=n.billingData,a=n.cartTotals,o=(0,s.default)(n,["billingData","cartTotals"]),i=a.currency_code,c=r.country,u=e("countries"),p=e("allowedCountries"),d=e("features"),m=!1;if(e("isAdmin"))m=!0;else{if((0,l.cartContainsSubscription)()&&!d.includes("subscriptions"))return!1;if((0,l.cartContainsPreOrder)()&&!d.includes("pre-orders"))return!1;e("currencies").includes(i)&&(m="all_except"===p?!e("exceptCountries").includes(c):"specific"===p?e("specificCountries").includes(c):!(u.length>0)||u.includes(c)),t&&m&&(m=t(f({settings:e,billingData:r,cartTotals:a},o)))}return m}},t.LocalPaymentIntentContent=function(e){var t=e.getData,n=(0,s.default)(e,["getData"]);return r.createElement(u.Elements,{stripe:l.initStripe,options:t("elementOptions")},r.createElement(g,f(f({},n),{},{getData:t})))},t.LocalPaymentSourceContent=function(e){return r.createElement(u.Elements,{stripe:l.initStripe},r.createElement(y,e))};var y=function(e){var t=e.getData,n=e.billing,a=e.shippingData,o=e.emitResponse,i=e.eventRegistration,s=e.getSourceArgs,c=void 0!==s&&s,u=e.element,l=void 0!==u&&u,d=a.shippingAddress,m=i.onPaymentProcessing,f=(i.onCheckoutAfterProcessingWithError,o.responseTypes),y=(o.noticeContexts,(0,p.useCreateSource)({getData:t,billing:n,shippingAddress:d,onPaymentProcessing:m,responseTypes:f,getSourceArgs:c,element:l}).setIsValid);return l?r.createElement(v,{name:t("name"),options:t("paymentElementOptions"),onChange:function(e){y(e.complete)},element:l}):null},g=function(e){var t=e.getData,n=e.billing,a=e.emitResponse,o=e.eventRegistration,s=e.activePaymentMethod,l=e.confirmationMethod,m=void 0===l?null:l,f=e.component,y=void 0===f?null:f,g=e.callback,h=void 0===g?null:g,b=(0,u.useElements)(),P=n.billingData,E=o.onPaymentProcessing,O=o.onCheckoutAfterProcessingWithError,S=a.responseTypes,_=a.noticeContexts,w=(0,c.useCallback)((function(e){return y?(0,i.default)({},t("paymentType"),b.getElement(y)):h?h(e):{}}),[b,h]),C=(0,p.useValidateCheckout)({subscriber:E,responseTypes:S,component:y}).setIsValid;return(0,p.useAfterProcessLocalPayment)({getData:t,billingData:P,eventRegistration:o,responseTypes:S,activePaymentMethod:s,confirmationMethod:m,getPaymentMethodArgs:w}),(0,d.useProcessCheckoutError)({responseTypes:S,subscriber:O,messageContext:_.PAYMENT}),y?r.createElement(v,{name:t("name"),options:t("paymentElementOptions"),onChange:function(e){return C(!e.empty)},element:y,callback:h}):null},v=function(e){var t=e.name,n=e.onChange,a=e.element,i=e.options,c=(0,s.default)(e,["name","onChange","element","options"]),u=a;return r.createElement("div",{className:"wc-stripe-local-payment-container ".concat(t," ").concat(u.displayName)},r.createElement(u,(0,o.default)({options:i,onChange:n},c)))}},4784:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_multibanco_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"MultiBanco",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentSourceContent,getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentSourceContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},5748:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(n(6664),(0,o.getSettings)("stripe_oxxo_data"));c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"OXXO",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c,confirmationMethod:"confirmOxxoPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3868:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_p24_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"P24",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmP24Payment",component:c.P24BankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},1192:(e,t,n)=>{var r,a=n(9307),o=n(4613),i=n(1134),s=n(3187),c=n(3539),u=n(6664),l=(0,i.getSettings)("stripe_sepa_data"),p=(r=s.PaymentMethod,function(e){return a.createElement(a.Fragment,null,a.createElement(r,e),a.createElement("div",{className:"wc-stripe-blocks-mandate sepa-mandate",dangerouslySetInnerHTML:{__html:e.getData("mandate")}}))});l()&&(0,o.registerPaymentMethod)({name:l("name"),label:a.createElement(s.PaymentMethodLabel,{title:l("title"),paymentMethod:l("name"),icons:l("icon")}),ariaLabel:"SEPA",placeOrderButtonLabel:l("placeOrderButtonLabel"),canMakePayment:(0,c.canMakePayment)(l),content:a.createElement(p,{content:c.LocalPaymentIntentContent,getData:l,confirmationMethod:"confirmSepaDebitPayment",component:u.IbanElement}),edit:a.createElement(s.PaymentMethod,{content:c.LocalPaymentIntentContent,getData:l}),supports:{showSavedCards:!1,showSaveOption:!1,features:l("features")}})},7894:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_sofort_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Sofort",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmSofortPayment",getData:c,callback:function(e){return{sofort:{country:e.country}}}}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3766:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(1284)),i=a(n(8926)),s=a(n(9713)),c=a(n(3038)),u=n(9307),l=n(4613),p=n(1134),d=n(3187),m=n(3539),f=n(6664),y=n(8522),g=n(5736),v=n(3636),h=(0,p.getSettings)("stripe_wechat_data"),b=function(e){return r.createElement(f.Elements,{stripe:p.initStripe},r.createElement(P,e))},P=function(e){var t=e.getData,n=e.billing,a=(e.shippingData,e.emitResponse),o=e.eventRegistration,i=e.components,s=parseInt(t("qrSize")),c=a.responseTypes,l=o.onPaymentProcessing,d=o.onCheckoutAfterProcessingWithSuccess,m=i.ValidationInputError,f=(0,y.useValidateCheckout)({subscriber:o.onPaymentProcessing,responseTypes:a.responseTypes,msg:(0,g.__)("Please scan your QR code to continue with payment.","woo-stripe-payment")}),v=(f.isValid,f.setIsValid),h=O({getData:t,billing:n,responseTypes:c,subscriber:l}),b=h.source,P=h.error,S=h.deleteSourceFromStorage;return(0,u.useEffect)((function(){var e=d((function(){return S(),(0,p.ensureSuccessResponse)(c)}));return function(){return e()}}),[b,d,S]),(0,u.useEffect)((function(){b&&v(!0)}),[b]),b?r.createElement(E,{text:b.wechat.qr_code_url,width:s,height:s}):P?r.createElement("div",{className:"wechat-validation-error"},r.createElement(m,{errorMessage:(0,p.getErrorMessage)(P)})):(0,p.isAddressValid)(n.billingData)?null:(0,g.__)("Please fill out all the required fields in order to complete the WeChat payment.","woo-stripe-payment")},E=function(e){var t=e.text,n=e.width,a=void 0===n?128:n,o=e.height,i=void 0===o?128:o,s=e.colorDark,c=void 0===s?"#424770":s,l=e.colorLight,d=void 0===l?"#f8fbfd":l,m=e.correctLevel,f=void 0===m?QRCode.CorrectLevel.H:m,y=(0,u.useRef)();return(0,u.useEffect)((function(){new QRCode(y.current,{text:t,width:a,height:i,colorDark:c,colorLight:d,correctLevel:f})}),[y]),r.createElement(r.Fragment,null,r.createElement("div",{id:"wc-stripe-block-qrcode",ref:y}),(0,p.isTestMode)()&&r.createElement("p",null,(0,g.__)("Test mode: Click the Place Order button to proceed.","woo-stripe-payment")),!(0,p.isTestMode)()&&r.createElement("p",null,(0,g.__)("Scan the QR code using your WeChat app. Once scanned click the Place Order button.","woo-stripe-payment")))},O=function(e){var t=e.getData,n=e.billing,r=e.responseTypes,a=e.subscriber,l=(0,f.useStripe)(),d=(0,v.useStripeError)(),m=(0,c.default)(d,2),y=m[0],g=m[1],h=(0,u.useState)((0,p.getFromCache)("wechat:source")),b=(0,c.default)(h,2),P=b[0],E=b[1],O=(0,u.useRef)(null),S=n.cartTotal,_=n.billingData,w=n.currency;(0,u.useEffect)((function(){var e=a((function(){return(0,p.ensureSuccessResponse)(r,{meta:{paymentMethodData:(0,s.default)({},"".concat(t("name"),"_token_key"),P.id)}})}));return function(){return e()}}),[P,a]);var C=(0,u.useCallback)((0,i.default)(o.default.mark((function e(){var n;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,y||!(0,p.isAddressValid)(_)){e.next=9;break}return e.next=4,l.createSource((0,p.getDefaultSourceArgs)({type:t("paymentType"),amount:S.value,billingData:_,currency:w.code,returnUrl:t("returnUrl")}));case 4:if(!(n=e.sent).error){e.next=7;break}throw new p.StripeError(n.error);case 7:E(n.source),(0,p.storeInCache)("wechat:source",n.source);case 9:e.next=15;break;case 11:e.prev=11,e.t0=e.catch(0),console.log("error: ",e.t0),g(e.t0.error);case 15:case"end":return e.stop()}}),e,null,[[0,11]])}))),[l,P,S.value,_,w,y]),M=(0,u.useCallback)((function(){(0,p.deleteFromCache)("wechat:source")}),[]);return(0,u.useEffect)((function(){l&&!P&&(clearTimeout(O.current),O.current=setTimeout(C,1e3))}),[l,P,C]),{source:P,setSource:E,error:y,deleteSourceFromStorage:M}};h()&&(0,l.registerPaymentMethod)({name:h("name"),label:r.createElement(d.PaymentMethodLabel,{title:h("title"),paymentMethod:h("name"),icons:h("icon")}),ariaLabel:"WeChat",canMakePayment:(0,m.canMakePayment)(h),content:r.createElement(d.PaymentMethod,{content:b,getData:h}),edit:r.createElement(d.PaymentMethod,{content:b,getData:h}),supports:{showSavedCards:!1,showSaveOption:!1,features:h("features")}})},5180:(e,t,n)=>{n(3139),n(3726)},3726:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(3636),p=n(6664),d=(0,u.getSettings)("stripe_payment_request_data"),m=function(e){return r.createElement("div",{className:"wc-stripe-payment-request-container"},r.createElement(p.Elements,{stripe:u.initStripe},r.createElement(f,e)))},f=function(e){var t=e.getData,n=e.onClick,a=e.onClose,c=e.billing,u=e.shippingData,d=e.eventRegistration,m=e.emitResponse,f=e.onSubmit,y=e.activePaymentMethod,g=((0,i.default)(e,["getData","onClick","onClose","billing","shippingData","eventRegistration","emitResponse","onSubmit","activePaymentMethod"]),d.onPaymentProcessing),v=m.responseTypes,h=m.noticeContexts,b=(0,p.useStripe)(),P=(0,l.useStripeError)(),E=(0,o.default)(P,1)[0],O=(0,l.useExportedValues)();(0,l.useExpressBreakpointWidth)({payment_method:t("name"),width:300});var S=(0,l.useProcessPaymentIntent)({getData:t,billing:c,shippingData:u,onPaymentProcessing:g,emitResponse:m,error:E,onSubmit:f,activePaymentMethod:y,exportedValues:O}).setPaymentMethod;(0,l.useAfterProcessingPayment)({getData:t,eventRegistration:d,responseTypes:v,activePaymentMethod:y,messageContext:h.EXPRESS_PAYMENTS});var _=(0,l.usePaymentRequest)({getData:t,onClose:a,stripe:b,billing:c,shippingData:u,eventRegistration:d,setPaymentMethod:S,exportedValues:O,canPay:function(e){return null!=e&&!e.applePay}}).paymentRequest,w=(0,s.useMemo)((function(){return{paymentRequest:_,style:{paymentRequestButton:t("paymentRequestButton")}}}),[_]);return _?r.createElement(p.PaymentRequestButtonElement,{options:w,onClick:n}):null},y=function(e){e.getData,(0,i.default)(e,["getData"]);var t=(0,s.useRef)();return(0,s.useEffect)((function(){var e=window.devicePixelRatio;t.current.width=20*e,t.current.height=20*e;var n=t.current.getContext("2d");n.scale(e,e),n.beginPath(),n.arc(10,10,10,0,2*Math.PI),n.fillStyle="#986fff",n.fill()})),r.createElement("div",{className:"payment-request-block-editor"},r.createElement("div",{className:"icon-container"},r.createElement("span",null,"Buy now"),r.createElement("canvas",{className:"PaymentRequestButton-icon",ref:t}),r.createElement("i",{className:"payment-request-arrow"})))};(0,c.registerExpressPaymentMethod)({name:d("name"),canMakePayment:function(e){var t=e.cartTotals;if(d("isAdmin"))return!0;var n=t.currency_code,r=t.total_price;return(0,u.canMakePayment)({country:d("countryCode"),currency:n.toLowerCase(),total:{label:d("totalLabel"),amount:parseInt(r)}},(function(e){return null!=e&&!e.applePay}))},content:r.createElement(m,{getData:d}),edit:r.createElement(y,{getData:d}),supports:{showSavedCards:d("showSavedCards"),showSaveOption:d("showSaveOption"),features:d("features")}})},1065:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(1284)),o=r(n(8926)),i=n(9307),s=n(1134);t.default=function(e){var t=e.eventRegistration,n=e.emitResponse,r=e.getData,c=e.method,u=void 0===c?"handleCardAction":c,l=t.onCheckoutAfterProcessingWithSuccess,p=n.responseTypes,d=(0,i.useCallback)(function(){var e=(0,o.default)(a.default.mark((function e(t){var n;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.redirectUrl,e.next=3,(0,s.handleCardAction)({redirectUrl:n,getData:r,responseTypes:p,method:u});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[]);return(0,i.useEffect)((function(){var e=l(d);return function(){return e()}}),[l,d]),null}},1134:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.isNextActionRequired=t.isCheckoutPage=t.isCartPage=t.versionCompare=t.deleteFromCache=t.getFromCache=t.storeInCache=t.isTestMode=t.getDefaultSourceArgs=t.cartContainsSubscription=t.cartContainsPreOrder=t.getLocalPaymentMethods=t.registerLocalPaymentMethod=t.canMakePayment=t.getDisplayItems=t.getShippingOptionId=t.getShippingOptions=t.formatPrice=t.filterEmptyValues=t.getIntermediateAddress=t.toCartAddress=t.handleCardAction=t.isUserLoggedIn=t.hasShippingRates=t.getSelectedShippingOption=t.isFieldRequired=t.getLocaleFields=t.isAddressValid=t.removeNumberPrecision=t.isEmpty=t.StripeError=t.getSettings=t.getBillingDetailsFromAddress=t.getErrorMessage=t.ensureErrorResponse=t.ensureSuccessResponse=t.getRoute=t.getCreditCardForm=t.registerCreditCardForm=t.initStripe=void 0;var a=r(n(319)),o=r(n(1284)),i=r(n(8926)),s=r(n(3038)),c=r(n(8)),u=r(n(4575)),l=r(n(2205)),p=r(n(8585)),d=r(n(9754)),m=r(n(5957)),f=r(n(9713)),y=r(n(6479)),g=n(4465),v=n(4617),h=r(n(6989)),b=n(4293);function P(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return E(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)?E(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw o}}}}function E(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(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 S(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){(0,f.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var _=(0,v.getSetting)("stripeGeneralData"),w=_.publishableKey,C=_.stripeParams,M=(0,v.getSetting)("stripeErrorMessages"),k=(0,v.getSetting)("countryLocale",{}),j=/^([\w]+)\:(.+)$/,D=(0,v.getSetting)("stripeGeneralData").routes,x={},R=[],A={recipient:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},payerName:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},country:"country",addressLine:function(e,t){return t[0]&&(e.address_1=t[0]),t[1]&&(e.address_2=t[1]),e},line1:"address_1",line2:"address_2",city:"city",region:"state",state:"state",postalCode:"postcode",postal_code:"postcode",payerEmail:"email",payerPhone:"phone"},I=new Promise((function(e,t){(0,g.loadStripe)(w,C).then((function(t){e(t)})).catch((function(t){e({error:t})}))}));t.initStripe=I,t.registerCreditCardForm=function(e){var t=e.id,n=(0,y.default)(e,["id"]);x[t]=n},t.getCreditCardForm=function(e){return x.hasOwnProperty(e)?x[e]:{}};var L=function(e){return null!=D&&D[e]?D[e]:console.log("".concat(e," is not a valid route"))};t.getRoute=L;var T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return S({type:e.SUCCESS},t)};t.ensureSuccessResponse=T;var N=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return S({type:e.ERROR,message:B(t)},n)};t.ensureErrorResponse=N;var B=function(e){return"string"==typeof e?e:null!=e&&e.code&&null!=M&&M[e.code]?M[e.code]:null!=e&&e.statusCode?null!=M&&M[e.statusCode]?M[e.statusCode]:e.statusMessage:e.message};t.getErrorMessage=B;var F=function(e){var t={name:"".concat(e.first_name," ").concat(e.last_name),address:{city:e.city||null,country:e.country||null,line1:e.address_1||null,line2:e.address_2||null,postal_code:e.postcode||null,state:e.state||null}};return null!=e&&e.phone&&(t.phone=e.phone),null!=e&&e.email&&(t.email=e.email),t};t.getBillingDetailsFromAddress=F,t.getSettings=function(e){return function(t){return t?(0,v.getSetting)(e)[t]:(0,v.getSetting)(e)}};var q=function(e){(0,l.default)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,d.default)(t);if(n){var a=(0,d.default)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,p.default)(this,e)});function a(e){var t;return(0,u.default)(this,a),(t=r.call(this,e.message)).error=e,t}return a}((0,m.default)(Error));t.StripeError=q;var X=function(e){return"string"==typeof e?0==e.length||""==e:Array.isArray(e)?0==array.length:"object"!==(0,c.default)(e)||0==Object.keys(e).length};t.isEmpty=X,t.removeNumberPrecision=function(e,t){return e/Math.pow(10,t)},t.isAddressValid=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=U(e.country),r=0,a=Object.entries(e);r<a.length;r++){var o=(0,s.default)(a[r],2),i=o[0],c=o[1];if(!t.includes(i)&&null!=n&&n[i]&&n[i].required&&X(c))return!1}return!0};var U=function(e){var t=S({},k.default);return e&&null!=k&&k[e]&&(t=Object.entries(k[e]).reduce((function(e,t){var n=(0,s.default)(t,2),r=n[0],a=n[1];return e[r]=S(S({},e[r]),a),e}),t),["phone","email"].forEach((function(e){var n=document.getElementById(e);n&&(t[e]={required:n.required})}))),t};t.getLocaleFields=U,t.isFieldRequired=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=U(t);return[e]in n&&n[e].required},t.getSelectedShippingOption=function(e){var t=e.match(j);if(t){var n=t[1];return[t[2],n]}return[]},t.hasShippingRates=function(e){return e.map((function(e){return e.shipping_rates.length>0})).filter(Boolean).length>0},t.isUserLoggedIn=function(e){return e>0};var V=function(){var e=(0,i.default)(o.default.mark((function e(t){var n,r,a,i,s,c,u,l,p,d,m,y,g,v,b,P;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.redirectUrl,r=t.responseTypes,a=t.name,i=t.method,s=void 0===i?"handleCardAction":i,c=t.savePaymentMethod,u=void 0!==c&&c,e.prev=1,!(l=n.match(/#response=(.+)/))){e.next=22;break}return p=JSON.parse(window.atob(decodeURIComponent(l[1]))),d=p.client_secret,m=p.order_id,y=p.order_key,e.next=7,I;case 7:return g=e.sent,e.next=10,g[s](d);case 10:if(!(v=e.sent).error){e.next=13;break}return e.abrupt("return",N(r,v.error));case 13:return b=(0,f.default)({order_id:m,order_key:y},"".concat(a,"_save_source_key"),u),e.next=16,(0,h.default)({url:L("process/payment"),method:"POST",data:b});case 16:if(!(P=e.sent).messages){e.next=19;break}return e.abrupt("return",N(r,P.messages));case 19:return e.abrupt("return",T(r,{redirectUrl:P.redirect}));case 22:return e.abrupt("return",T(r));case 23:e.next=29;break;case 25:return e.prev=25,e.t0=e.catch(1),console.log(e.t0),e.abrupt("return",N(r,e.t0));case 29:case"end":return e.stop()}}),e,null,[[1,25]])})));return function(t){return e.apply(this,arguments)}}();t.handleCardAction=V,t.toCartAddress=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A;return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={};t=S(S({},t),W(n));for(var a=0,o=Object.entries(e);a<o.length;a++){var i,c=(0,s.default)(o[a],2),u=c[0],l=c[1];null!==(i=t)&&void 0!==i&&i[u]&&("function"==typeof l?l(r,t[u]):r[l]=t[u])}return r}},t.getIntermediateAddress=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["city","postcode","state","country"],r={},a=P(n);try{for(a.s();!(t=a.n()).done;){var o=t.value;r[o]=e[o]}}catch(e){a.e(e)}finally{a.f()}return r};var W=function(e){return Object.keys(e).filter((function(t){return Boolean(e[t])})).reduce((function(t,n){return S(S({},t),{},(0,f.default)({},n,e[n]))}),{})};t.filterEmptyValues=W;var Y=function(e,t){var n,r=(0,b.getCurrency)(t),a=r.prefix,o=r.suffix,i=r.decimalSeparator,s=r.minorUnit,c=r.thousandSeparator;if(""==e||void 0===e)return e;e="string"==typeof e?parseInt(e,10):e;var u="",l=(e=(e/=Math.pow(10,s)).toString().replace(".",i)).indexOf(i);l<0?s>0&&(e+="".concat(i).concat(new Array(s+1).join("0"))):(u=e.substr(l+1)).length<s&&(e+=new Array(s-u.length+1).join("0"));var p=e.match(new RegExp("(\\d+)\\".concat(i,"(\\d+)")));return p&&(e=p[1],u=p[2]),e=e.replace(new RegExp("\\B(?=(\\d{3})+(?!\\d))","g"),"".concat(c)),a+(e=(null===(n=u)||void 0===n?void 0:n.length)>0?e+i+u:e)+o};t.formatPrice=Y,t.getShippingOptions=function(e){var t=[];return e.forEach((function(e,n){e.shipping_rates.sort((function(e){return e.selected?-1:1}));var r=e.shipping_rates.map((function(e){var t=document.createElement("textarea");return t.innerHTML=e.name,Y(e.price,e.currency_code),{id:H(n,e.rate_id),label:t.value,amount:parseInt(e.price,10)}}));t=[].concat((0,a.default)(t),(0,a.default)(r))})),t};var H=function(e,t){return"".concat(e,":").concat(t)};t.getShippingOptionId=H,t.getDisplayItems=function(e,t){t.minorUnit;var n=[],r=["total_tax","total_shipping"];return e.forEach((function(e){(0<e.value||e.key&&r.includes(e.key))&&n.push({label:e.label,pending:!1,amount:e.value})})),n};var G={};t.canMakePayment=function(e,t){var n=e.country,r=e.currency,a=e.total;return new Promise((function(e,o){var i=[n,r,a.amount].reduce((function(e,t){return"".concat(e,"-").concat(t)}));return r?i in G?e(G[i]):I.then((function(s){if(s.error)return o(s.error);s.paymentRequest({country:n,currency:r,total:a}).canMakePayment().then((function(n){return G[i]=t(n),e(G[i])}))})).catch(o):e(!1)}))},t.registerLocalPaymentMethod=function(e){R.push(e)},t.getLocalPaymentMethods=function(){return R},t.cartContainsPreOrder=function(){var e=(0,v.getSetting)("stripePaymentData");return e&&e.pre_order},t.cartContainsSubscription=function(){var e=(0,v.getSetting)("stripePaymentData");return e&&e.subscription},t.getDefaultSourceArgs=function(e){var t=e.type,n=e.amount,r=e.billingData,a=e.currency,o=e.returnUrl;return{type:t,amount:n,currency:a,owner:F(r),redirect:{return_url:o}}},t.isTestMode=function(){return"test"===(0,v.getSetting)("stripeGeneralData").mode};var J=function(e){return"".concat("stripe:").concat(e)};t.storeInCache=function(e,t){var n=Math.floor((new Date).getTime()/1e3)+900;"sessionStorage"in window&&sessionStorage.setItem(J(e),JSON.stringify({value:t,exp:n}))},t.getFromCache=function(e){if("sessionStorage"in window)try{var t=JSON.parse(sessionStorage.getItem(J(e)));if(t){var n=t.value,r=t.exp;if(!(Math.floor((new Date).getTime()/1e3)>r))return n;z(J(e))}}catch(e){}return null};var z=function(e){"sessionStorage"in window&&sessionStorage.removeItem(J(e))};t.deleteFromCache=z,t.versionCompare=function(e,t,n){switch(n){case"<":return e<t;case">":return e>t;case"<=":return e<=t;case">=":return e>=t;case"=":return e==t}return!1},t.isCartPage=function(){return"cart"===(0,v.getSetting)("stripeGeneralData").page},t.isCheckoutPage=function(){return"checkout"===(0,v.getSetting)("stripeGeneralData").page},t.isNextActionRequired=function(e){var t=e.match(/#response=(.+)/),n=null;return t&&(n=JSON.parse(window.atob(decodeURIComponent(t[1])))),n}},4184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)&&n.length){var i=a.apply(null,n);i&&e.push(i)}else if("object"===o)for(var s in n)r.call(n,s)&&n[s]&&e.push(s)}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},1465:()=>{},7776:()=>{},4836:()=>{},85:()=>{},3110:()=>{},8356:()=>{},5773:()=>{},9509:()=>{},3139:()=>{}}]);
3
  //# sourceMappingURL=commons.js.map
packages/blocks/build/commons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"commons.js","mappings":"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","sources":["webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/construct.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/createClass.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/extends.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/inherits.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/typeof.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://wc_stripe/./node_modules/@stripe/react-stripe-js/dist/react-stripe.umd.js","webpack://wc_stripe/./node_modules/@stripe/stripe-js/dist/stripe.esm.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/installments/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/payment-method-label/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/payment-method/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/radio-option/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-create-link-token.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-initialize-plaid.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-process-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/applepay/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/applepay/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/bootstrap/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/custom-card-form.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/simple/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/stripe-card-form.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/payment-element.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/error-boundary.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/button.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/constants.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-error-message.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-payment-request.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-payments-client.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/util.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-after-process-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-breakpoint-width.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-exported-values.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-payment-events.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-payment-request.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-process-checkout-error.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-process-payment-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-setup-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-stripe-error.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-update-payment-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/hooks/use-link.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/afterpay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/alipay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/bancontact.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/becs.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/boleto.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/eps.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/fpx.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/giropay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/grabpay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-after-process-local-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-create-source.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-validate-checkout.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/ideal.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/klarna.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/local-payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/multibanco.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/oxxo.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/p24.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/sepa.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/sofort.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/wechat.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/payment-request/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/payment-request/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/saved-card-component.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/util.js","webpack://wc_stripe/./node_modules/classnames/index.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeFunction = require(\"./isNativeFunction\");\n\nvar construct = require(\"./construct\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n\t(global = global || self, factory(global.ReactStripe = {}, global.React));\n}(this, (function (exports, React) { 'use strict';\n\n\tReact = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\n\tvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\tvar ReactPropTypesSecret_1 = ReactPropTypesSecret;\n\n\tfunction emptyFunction() {}\n\n\tfunction emptyFunctionWithReset() {}\n\n\temptyFunctionWithReset.resetWarningCache = emptyFunction;\n\n\tvar factoryWithThrowingShims = function () {\n\t function shim(props, propName, componentName, location, propFullName, secret) {\n\t if (secret === ReactPropTypesSecret_1) {\n\t // It is still safe when called from React.\n\t return;\n\t }\n\n\t var err = 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');\n\t err.name = 'Invariant Violation';\n\t throw err;\n\t }\n\t shim.isRequired = shim;\n\n\t function getShim() {\n\t return shim;\n\t }\n\t // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\n\t var ReactPropTypes = {\n\t array: shim,\n\t bool: shim,\n\t func: shim,\n\t number: shim,\n\t object: shim,\n\t string: shim,\n\t symbol: shim,\n\t any: shim,\n\t arrayOf: getShim,\n\t element: shim,\n\t elementType: shim,\n\t instanceOf: getShim,\n\t node: shim,\n\t objectOf: getShim,\n\t oneOf: getShim,\n\t oneOfType: getShim,\n\t shape: getShim,\n\t exact: getShim,\n\t checkPropTypes: emptyFunctionWithReset,\n\t resetWarningCache: emptyFunction\n\t };\n\t ReactPropTypes.PropTypes = ReactPropTypes;\n\t return ReactPropTypes;\n\t};\n\n\tvar propTypes = createCommonjsModule(function (module) {\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t{\n\t // By explicitly using `prop-types` you are opting into new production behavior.\n\t // http://fb.me/prop-types-in-prod\n\t module.exports = factoryWithThrowingShims();\n\t}\n\t});\n\n\tfunction ownKeys(object, enumerableOnly) {\n\t var keys = Object.keys(object);\n\n\t if (Object.getOwnPropertySymbols) {\n\t var symbols = Object.getOwnPropertySymbols(object);\n\n\t if (enumerableOnly) {\n\t symbols = symbols.filter(function (sym) {\n\t return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n\t });\n\t }\n\n\t keys.push.apply(keys, symbols);\n\t }\n\n\t return keys;\n\t}\n\n\tfunction _objectSpread2(target) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t var source = arguments[i] != null ? arguments[i] : {};\n\n\t if (i % 2) {\n\t ownKeys(Object(source), true).forEach(function (key) {\n\t _defineProperty(target, key, source[key]);\n\t });\n\t } else if (Object.getOwnPropertyDescriptors) {\n\t Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n\t } else {\n\t ownKeys(Object(source)).forEach(function (key) {\n\t Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n\t });\n\t }\n\t }\n\n\t return target;\n\t}\n\n\tfunction _typeof(obj) {\n\t \"@babel/helpers - typeof\";\n\n\t if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n\t _typeof = function (obj) {\n\t return typeof obj;\n\t };\n\t } else {\n\t _typeof = function (obj) {\n\t return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n\t };\n\t }\n\n\t return _typeof(obj);\n\t}\n\n\tfunction _defineProperty(obj, key, value) {\n\t if (key in obj) {\n\t Object.defineProperty(obj, key, {\n\t value: value,\n\t enumerable: true,\n\t configurable: true,\n\t writable: true\n\t });\n\t } else {\n\t obj[key] = value;\n\t }\n\n\t return obj;\n\t}\n\n\tfunction _slicedToArray(arr, i) {\n\t return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n\t}\n\n\tfunction _arrayWithHoles(arr) {\n\t if (Array.isArray(arr)) return arr;\n\t}\n\n\tfunction _iterableToArrayLimit(arr, i) {\n\t var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n\t if (_i == null) return;\n\t var _arr = [];\n\t var _n = true;\n\t var _d = false;\n\n\t var _s, _e;\n\n\t try {\n\t for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n\t _arr.push(_s.value);\n\n\t if (i && _arr.length === i) break;\n\t }\n\t } catch (err) {\n\t _d = true;\n\t _e = err;\n\t } finally {\n\t try {\n\t if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n\t } finally {\n\t if (_d) throw _e;\n\t }\n\t }\n\n\t return _arr;\n\t}\n\n\tfunction _unsupportedIterableToArray(o, minLen) {\n\t if (!o) return;\n\t if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n\t var n = Object.prototype.toString.call(o).slice(8, -1);\n\t if (n === \"Object\" && o.constructor) n = o.constructor.name;\n\t if (n === \"Map\" || n === \"Set\") return Array.from(o);\n\t if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n\t}\n\n\tfunction _arrayLikeToArray(arr, len) {\n\t if (len == null || len > arr.length) len = arr.length;\n\n\t for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n\t return arr2;\n\t}\n\n\tfunction _nonIterableRest() {\n\t throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n\t}\n\n\tvar usePrevious = function usePrevious(value) {\n\t var ref = React.useRef(value);\n\t React.useEffect(function () {\n\t ref.current = value;\n\t }, [value]);\n\t return ref.current;\n\t};\n\n\tvar isUnknownObject = function isUnknownObject(raw) {\n\t return raw !== null && _typeof(raw) === 'object';\n\t};\n\tvar isPromise = function isPromise(raw) {\n\t return isUnknownObject(raw) && typeof raw.then === 'function';\n\t}; // We are using types to enforce the `stripe` prop in this lib,\n\t// but in an untyped integration `stripe` could be anything, so we need\n\t// to do some sanity validation to prevent type errors.\n\n\tvar isStripe = function isStripe(raw) {\n\t return isUnknownObject(raw) && typeof raw.elements === 'function' && typeof raw.createToken === 'function' && typeof raw.createPaymentMethod === 'function' && typeof raw.confirmCardPayment === 'function';\n\t};\n\n\tvar PLAIN_OBJECT_STR = '[object Object]';\n\tvar isEqual = function isEqual(left, right) {\n\t if (!isUnknownObject(left) || !isUnknownObject(right)) {\n\t return left === right;\n\t }\n\n\t var leftArray = Array.isArray(left);\n\t var rightArray = Array.isArray(right);\n\t if (leftArray !== rightArray) return false;\n\t var leftPlainObject = Object.prototype.toString.call(left) === PLAIN_OBJECT_STR;\n\t var rightPlainObject = Object.prototype.toString.call(right) === PLAIN_OBJECT_STR;\n\t if (leftPlainObject !== rightPlainObject) return false; // not sure what sort of special object this is (regexp is one option), so\n\t // fallback to reference check.\n\n\t if (!leftPlainObject && !leftArray) return left === right;\n\t var leftKeys = Object.keys(left);\n\t var rightKeys = Object.keys(right);\n\t if (leftKeys.length !== rightKeys.length) return false;\n\t var keySet = {};\n\n\t for (var i = 0; i < leftKeys.length; i += 1) {\n\t keySet[leftKeys[i]] = true;\n\t }\n\n\t for (var _i = 0; _i < rightKeys.length; _i += 1) {\n\t keySet[rightKeys[_i]] = true;\n\t }\n\n\t var allKeys = Object.keys(keySet);\n\n\t if (allKeys.length !== leftKeys.length) {\n\t return false;\n\t }\n\n\t var l = left;\n\t var r = right;\n\n\t var pred = function pred(key) {\n\t return isEqual(l[key], r[key]);\n\t };\n\n\t return allKeys.every(pred);\n\t};\n\n\tvar extractAllowedOptionsUpdates = function extractAllowedOptionsUpdates(options, prevOptions, immutableKeys) {\n\t if (!isUnknownObject(options)) {\n\t return null;\n\t }\n\n\t return Object.keys(options).reduce(function (newOptions, key) {\n\t var isUpdated = !isUnknownObject(prevOptions) || !isEqual(options[key], prevOptions[key]);\n\n\t if (immutableKeys.includes(key)) {\n\t if (isUpdated) {\n\t console.warn(\"Unsupported prop change: options.\".concat(key, \" is not a mutable property.\"));\n\t }\n\n\t return newOptions;\n\t }\n\n\t if (!isUpdated) {\n\t return newOptions;\n\t }\n\n\t return _objectSpread2(_objectSpread2({}, newOptions || {}), {}, _defineProperty({}, key, options[key]));\n\t }, null);\n\t};\n\n\tvar INVALID_STRIPE_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.'; // We are using types to enforce the `stripe` prop in this lib, but in a real\n\t// integration `stripe` could be anything, so we need to do some sanity\n\t// validation to prevent type errors.\n\n\tvar validateStripe = function validateStripe(maybeStripe) {\n\t if (maybeStripe === null || isStripe(maybeStripe)) {\n\t return maybeStripe;\n\t }\n\n\t throw new Error(INVALID_STRIPE_ERROR);\n\t};\n\n\tvar parseStripeProp = function parseStripeProp(raw) {\n\t if (isPromise(raw)) {\n\t return {\n\t tag: 'async',\n\t stripePromise: Promise.resolve(raw).then(validateStripe)\n\t };\n\t }\n\n\t var stripe = validateStripe(raw);\n\n\t if (stripe === null) {\n\t return {\n\t tag: 'empty'\n\t };\n\t }\n\n\t return {\n\t tag: 'sync',\n\t stripe: stripe\n\t };\n\t};\n\n\tvar ElementsContext = /*#__PURE__*/React.createContext(null);\n\tElementsContext.displayName = 'ElementsContext';\n\tvar parseElementsContext = function parseElementsContext(ctx, useCase) {\n\t if (!ctx) {\n\t throw new Error(\"Could not find Elements context; You need to wrap the part of your app that \".concat(useCase, \" in an <Elements> provider.\"));\n\t }\n\n\t return ctx;\n\t};\n\t/**\n\t * The `Elements` provider allows you to use [Element components](https://stripe.com/docs/stripe-js/react#element-components) and access the [Stripe object](https://stripe.com/docs/js/initializing) in any nested component.\n\t * Render an `Elements` provider at the root of your React app so that it is available everywhere you need it.\n\t *\n\t * To use the `Elements` provider, call `loadStripe` from `@stripe/stripe-js` with your publishable key.\n\t * The `loadStripe` function will asynchronously load the Stripe.js script and initialize a `Stripe` object.\n\t * Pass the returned `Promise` to `Elements`.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#elements-provider\n\t */\n\n\tvar Elements = function Elements(_ref) {\n\t var rawStripeProp = _ref.stripe,\n\t options = _ref.options,\n\t children = _ref.children;\n\t var parsed = React.useMemo(function () {\n\t return parseStripeProp(rawStripeProp);\n\t }, [rawStripeProp]); // For a sync stripe instance, initialize into context\n\n\t var _React$useState = React.useState(function () {\n\t return {\n\t stripe: parsed.tag === 'sync' ? parsed.stripe : null,\n\t elements: parsed.tag === 'sync' ? parsed.stripe.elements(options) : null\n\t };\n\t }),\n\t _React$useState2 = _slicedToArray(_React$useState, 2),\n\t ctx = _React$useState2[0],\n\t setContext = _React$useState2[1];\n\n\t React.useEffect(function () {\n\t var isMounted = true; // For an async stripePromise, store it in context once resolved\n\n\t if (parsed.tag === 'async' && !ctx.stripe) {\n\t parsed.stripePromise.then(function (stripe) {\n\t if (stripe && isMounted) {\n\t // Only update Elements context if the component is still mounted\n\t // and stripe is not null. We allow stripe to be null to make\n\t // handling SSR easier.\n\t setContext({\n\t stripe: stripe,\n\t elements: stripe.elements(options)\n\t });\n\t }\n\t });\n\t } else if (parsed.tag === 'sync' && !ctx.stripe) {\n\t // Or, handle a sync stripe instance going from null -> populated\n\t setContext({\n\t stripe: parsed.stripe,\n\t elements: parsed.stripe.elements(options)\n\t });\n\t }\n\n\t return function () {\n\t isMounted = false;\n\t };\n\t }, [parsed, ctx, options]); // Warn on changes to stripe prop\n\n\t var prevStripe = usePrevious(rawStripeProp);\n\t React.useEffect(function () {\n\t if (prevStripe !== null && prevStripe !== rawStripeProp) {\n\t console.warn('Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.');\n\t }\n\t }, [prevStripe, rawStripeProp]); // Apply updates to elements when options prop has relevant changes\n\n\t var prevOptions = usePrevious(options);\n\t React.useEffect(function () {\n\t if (!ctx.elements) {\n\t return;\n\t }\n\n\t var updates = extractAllowedOptionsUpdates(options, prevOptions, ['clientSecret', 'fonts']);\n\n\t if (updates) {\n\t ctx.elements.update(updates);\n\t }\n\t }, [options, prevOptions, ctx.elements]); // Attach react-stripe-js version to stripe.js instance\n\n\t React.useEffect(function () {\n\t var anyStripe = ctx.stripe;\n\n\t if (!anyStripe || !anyStripe._registerWrapper || !anyStripe.registerAppInfo) {\n\t return;\n\t }\n\n\t anyStripe._registerWrapper({\n\t name: 'react-stripe-js',\n\t version: \"1.8.0\"\n\t });\n\n\t anyStripe.registerAppInfo({\n\t name: 'react-stripe-js',\n\t version: \"1.8.0\",\n\t url: 'https://stripe.com/docs/stripe-js/react'\n\t });\n\t }, [ctx.stripe]);\n\t return /*#__PURE__*/React.createElement(ElementsContext.Provider, {\n\t value: ctx\n\t }, children);\n\t};\n\tElements.propTypes = {\n\t stripe: propTypes.any,\n\t options: propTypes.object\n\t};\n\tvar useElementsContextWithUseCase = function useElementsContextWithUseCase(useCaseMessage) {\n\t var ctx = React.useContext(ElementsContext);\n\t return parseElementsContext(ctx, useCaseMessage);\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#useelements-hook\n\t */\n\n\tvar useElements = function useElements() {\n\t var _useElementsContextWi = useElementsContextWithUseCase('calls useElements()'),\n\t elements = _useElementsContextWi.elements;\n\n\t return elements;\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#usestripe-hook\n\t */\n\n\tvar useStripe = function useStripe() {\n\t var _useElementsContextWi2 = useElementsContextWithUseCase('calls useStripe()'),\n\t stripe = _useElementsContextWi2.stripe;\n\n\t return stripe;\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#elements-consumer\n\t */\n\n\tvar ElementsConsumer = function ElementsConsumer(_ref2) {\n\t var children = _ref2.children;\n\t var ctx = useElementsContextWithUseCase('mounts <ElementsConsumer>'); // Assert to satisfy the busted React.FC return type (it should be ReactNode)\n\n\t return children(ctx);\n\t};\n\tElementsConsumer.propTypes = {\n\t children: propTypes.func.isRequired\n\t};\n\n\tvar useCallbackReference = function useCallbackReference(cb) {\n\t var ref = React.useRef(cb);\n\t React.useEffect(function () {\n\t ref.current = cb;\n\t }, [cb]);\n\t return function () {\n\t if (ref.current) {\n\t ref.current.apply(ref, arguments);\n\t }\n\t };\n\t};\n\n\tvar noop = function noop() {};\n\n\tvar capitalized = function capitalized(str) {\n\t return str.charAt(0).toUpperCase() + str.slice(1);\n\t};\n\n\tvar createElementComponent = function createElementComponent(type, isServer) {\n\t var displayName = \"\".concat(capitalized(type), \"Element\");\n\n\t var ClientElement = function ClientElement(_ref) {\n\t var id = _ref.id,\n\t className = _ref.className,\n\t _ref$options = _ref.options,\n\t options = _ref$options === void 0 ? {} : _ref$options,\n\t _ref$onBlur = _ref.onBlur,\n\t onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,\n\t _ref$onFocus = _ref.onFocus,\n\t onFocus = _ref$onFocus === void 0 ? noop : _ref$onFocus,\n\t _ref$onReady = _ref.onReady,\n\t onReady = _ref$onReady === void 0 ? noop : _ref$onReady,\n\t _ref$onChange = _ref.onChange,\n\t onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n\t _ref$onEscape = _ref.onEscape,\n\t onEscape = _ref$onEscape === void 0 ? noop : _ref$onEscape,\n\t _ref$onClick = _ref.onClick,\n\t onClick = _ref$onClick === void 0 ? noop : _ref$onClick;\n\n\t var _useElementsContextWi = useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\")),\n\t elements = _useElementsContextWi.elements;\n\n\t var elementRef = React.useRef(null);\n\t var domNode = React.useRef(null);\n\t var callOnReady = useCallbackReference(onReady);\n\t var callOnBlur = useCallbackReference(onBlur);\n\t var callOnFocus = useCallbackReference(onFocus);\n\t var callOnClick = useCallbackReference(onClick);\n\t var callOnChange = useCallbackReference(onChange);\n\t var callOnEscape = useCallbackReference(onEscape);\n\t React.useLayoutEffect(function () {\n\t if (elementRef.current == null && elements && domNode.current != null) {\n\t var element = elements.create(type, options);\n\t elementRef.current = element;\n\t element.mount(domNode.current);\n\t element.on('ready', function () {\n\t return callOnReady(element);\n\t });\n\t element.on('change', callOnChange);\n\t element.on('blur', callOnBlur);\n\t element.on('focus', callOnFocus);\n\t element.on('escape', callOnEscape); // Users can pass an onClick prop on any Element component\n\t // just as they could listen for the `click` event on any Element,\n\t // but only the PaymentRequestButton will actually trigger the event.\n\n\t element.on('click', callOnClick);\n\t }\n\t });\n\t var prevOptions = usePrevious(options);\n\t React.useEffect(function () {\n\t if (!elementRef.current) {\n\t return;\n\t }\n\n\t var updates = extractAllowedOptionsUpdates(options, prevOptions, ['paymentRequest']);\n\n\t if (updates) {\n\t elementRef.current.update(updates);\n\t }\n\t }, [options, prevOptions]);\n\t React.useLayoutEffect(function () {\n\t return function () {\n\t if (elementRef.current) {\n\t elementRef.current.destroy();\n\t elementRef.current = null;\n\t }\n\t };\n\t }, []);\n\t return /*#__PURE__*/React.createElement(\"div\", {\n\t id: id,\n\t className: className,\n\t ref: domNode\n\t });\n\t }; // Only render the Element wrapper in a server environment.\n\n\n\t var ServerElement = function ServerElement(props) {\n\t // Validate that we are in the right context by calling useElementsContextWithUseCase.\n\t useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n\t var id = props.id,\n\t className = props.className;\n\t return /*#__PURE__*/React.createElement(\"div\", {\n\t id: id,\n\t className: className\n\t });\n\t };\n\n\t var Element = isServer ? ServerElement : ClientElement;\n\t Element.propTypes = {\n\t id: propTypes.string,\n\t className: propTypes.string,\n\t onChange: propTypes.func,\n\t onBlur: propTypes.func,\n\t onFocus: propTypes.func,\n\t onReady: propTypes.func,\n\t onClick: propTypes.func,\n\t options: propTypes.object\n\t };\n\t Element.displayName = displayName;\n\t Element.__elementType = type;\n\t return Element;\n\t};\n\n\tvar isServer = typeof window === 'undefined';\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AuBankAccountElement = createElementComponent('auBankAccount', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardElement = createElementComponent('card', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardNumberElement = createElementComponent('cardNumber', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardExpiryElement = createElementComponent('cardExpiry', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardCvcElement = createElementComponent('cardCvc', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar FpxBankElement = createElementComponent('fpxBank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar IbanElement = createElementComponent('iban', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar IdealBankElement = createElementComponent('idealBank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar P24BankElement = createElementComponent('p24Bank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar EpsBankElement = createElementComponent('epsBank', isServer);\n\tvar PaymentElement = createElementComponent('payment', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar PaymentRequestButtonElement = createElementComponent('paymentRequestButton', isServer);\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar LinkAuthenticationElement = createElementComponent('linkAuthentication', isServer);\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar ShippingAddressElement = createElementComponent('shippingAddress', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AffirmMessageElement = createElementComponent('affirmMessage', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AfterpayClearpayMessageElement = createElementComponent('afterpayClearpayMessage', isServer);\n\n\texports.AffirmMessageElement = AffirmMessageElement;\n\texports.AfterpayClearpayMessageElement = AfterpayClearpayMessageElement;\n\texports.AuBankAccountElement = AuBankAccountElement;\n\texports.CardCvcElement = CardCvcElement;\n\texports.CardElement = CardElement;\n\texports.CardExpiryElement = CardExpiryElement;\n\texports.CardNumberElement = CardNumberElement;\n\texports.Elements = Elements;\n\texports.ElementsConsumer = ElementsConsumer;\n\texports.EpsBankElement = EpsBankElement;\n\texports.FpxBankElement = FpxBankElement;\n\texports.IbanElement = IbanElement;\n\texports.IdealBankElement = IdealBankElement;\n\texports.LinkAuthenticationElement = LinkAuthenticationElement;\n\texports.P24BankElement = P24BankElement;\n\texports.PaymentElement = PaymentElement;\n\texports.PaymentRequestButtonElement = PaymentRequestButtonElement;\n\texports.ShippingAddressElement = ShippingAddressElement;\n\texports.useElements = useElements;\n\texports.useStripe = useStripe;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","var V3_URL = 'https://js.stripe.com/v3';\nvar V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\nvar EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\nvar findScript = function findScript() {\n var scripts = document.querySelectorAll(\"script[src^=\\\"\".concat(V3_URL, \"\\\"]\"));\n\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nvar injectScript = function injectScript(params) {\n var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n var script = document.createElement('script');\n script.src = \"\".concat(V3_URL).concat(queryString);\n var headOrBody = document.head || document.body;\n\n if (!headOrBody) {\n throw new Error('Expected document.body not to be null. Stripe.js requires a <body> element.');\n }\n\n headOrBody.appendChild(script);\n return script;\n};\n\nvar registerWrapper = function registerWrapper(stripe, startTime) {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'stripe-js',\n version: \"1.12.1\",\n startTime: startTime\n });\n};\n\nvar stripePromise = null;\nvar loadScript = function loadScript(params) {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise(function (resolve, reject) {\n if (typeof window === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n var script = findScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n }\n\n script.addEventListener('load', function () {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n });\n script.addEventListener('error', function () {\n reject(new Error('Failed to load Stripe.js'));\n });\n } catch (error) {\n reject(error);\n return;\n }\n });\n return stripePromise;\n};\nvar initStripe = function initStripe(maybeStripe, args, startTime) {\n if (maybeStripe === null) {\n return null;\n }\n\n var stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n};\n\n// own script injection.\n\nvar stripePromise$1 = Promise.resolve().then(function () {\n return loadScript(null);\n});\nvar loadCalled = false;\nstripePromise$1[\"catch\"](function (err) {\n if (!loadCalled) {\n console.warn(err);\n }\n});\nvar loadStripe = function loadStripe() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n loadCalled = true;\n var startTime = Date.now();\n return stripePromise$1.then(function (maybeStripe) {\n return initStripe(maybeStripe, args, startTime);\n });\n};\n\nexport { loadStripe };\n","export * from './payment-method-label';\r\nexport * from './radio-option';\r\nexport * from './payment-method';\r\nexport * from './installments';","import {useState, useRef, useEffect} from '@wordpress/element';\r\nimport {__} from '@wordpress/i18n';\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport classnames from 'classnames';\r\nimport {StripeError, getRoute} from \"../../../payment-methods/util\";\r\nimport './style.scss';\r\n\r\nexport const Installments = (\r\n {\r\n paymentMethodName,\r\n getCreatePaymentMethodArgs = null,\r\n cardFormComplete = false,\r\n addPaymentMethodData = null,\r\n getPaymentMethod\r\n }) => {\r\n const [installments, setInstallments] = useState(null);\r\n const [installment, setInstallment] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const onInstallmentSelected = (e) => {\r\n setInstallment(e.target.value);\r\n if (addPaymentMethodData) {\r\n addPaymentMethodData({_stripe_installment_plan: e.target.value});\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (cardFormComplete) {\r\n // fetch the installments\r\n setLoading(true);\r\n setInstallment('');\r\n\r\n getPaymentMethod().then(async paymentMethod => {\r\n if (paymentMethod) {\r\n // fetch the installment plans\r\n const result = await apiFetch({\r\n url: getRoute('create/payment_intent'),\r\n method: 'POST',\r\n data: {payment_method_id: paymentMethod, payment_method: paymentMethodName}\r\n });\r\n setInstallments(result.installments);\r\n if (Object.keys(result.installments)?.length) {\r\n setInstallment(Object.keys(result.installments)[0]);\r\n }\r\n }\r\n }).catch(error => {\r\n\r\n }).finally(() => setLoading(false));\r\n }\r\n }, [cardFormComplete, getPaymentMethod]);\r\n\r\n return (\r\n <div className='wc-stripe-installments__container'>\r\n <label>\r\n {__('Pay in installments:', 'woo-stripe-payment')}\r\n <Loader loading={loading}/>\r\n </label>\r\n <InstallmentOptions\r\n installment={installment}\r\n onChange={onInstallmentSelected}\r\n installments={installments}\r\n isLoading={loading}/>\r\n </div>\r\n )\r\n}\r\n\r\nconst InstallmentOptions = ({installment, installments, onChange, isLoading}) => {\r\n let OPTIONS = null;\r\n if (isLoading) {\r\n OPTIONS = <option value=\"\" disabled>{__('Loading installments...', 'woo-stripe-payment')}</option>\r\n } else {\r\n if (installments === null) {\r\n OPTIONS = <option value=\"\" disabled>{__('Fill out card form for eligibility.', 'woo-stripe-payment')}</option>\r\n } else {\r\n OPTIONS = Object.keys(installments).map(id => {\r\n return <option key={id} value={id} dangerouslySetInnerHTML={{__html: installments[id].text}}/>\r\n });\r\n }\r\n }\r\n return (\r\n <select value={installment} onChange={onChange} className={classnames({loading: isLoading})}>\r\n {OPTIONS}\r\n </select>\r\n );\r\n}\r\n\r\nconst Loader = ({loading}) => {\r\n return (\r\n <div className=\"wc-stripe-installment-loader__container\">\r\n {loading && <div className=\"wc-stripe-installment-loader\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>}\r\n </div>\r\n );\r\n}\r\nexport default Installments;","import './style.scss';\r\n\r\nexport const PaymentMethodLabel = ({title, icons, paymentMethod, ...props}) => {\r\n const {PaymentMethodLabel: Label, PaymentMethodIcons: Icons} = props.components;\r\n if (!Array.isArray(icons)) {\r\n icons = [icons];\r\n }\r\n return (\r\n <span className={`wc-stripe-label-container ${paymentMethod}`}>\r\n <Label text={title}/>\r\n <Icons icons={icons} align='left'/>\r\n </span>\r\n )\r\n}","import {useEffect, useRef} from '@wordpress/element';\r\n\r\nexport const PaymentMethod = ({getData, content, ...props}) => {\r\n const Content = content;\r\n const desc = getData('description');\r\n const el = useRef(null);\r\n useEffect(() => {\r\n if (el.current && el.current.childNodes.length == 0) {\r\n el.current.classList.add('no-content');\r\n }\r\n });\r\n return (\r\n <>\r\n {desc && <Description desc={desc} payment_method={getData('name')}/>}\r\n <div ref={el} className='wc-stripe-blocks-payment-method-content'>\r\n <Content {...{...props, getData}}/>\r\n </div>\r\n </>);\r\n}\r\n\r\nconst Description = ({desc, payment_method}) => {\r\n return (\r\n <div className={`wc-stripe-blocks-payment-method__desc ${payment_method}`}>\r\n <p>{desc}</p>\r\n </div>\r\n )\r\n}","import classnames from 'classnames';\r\n\r\nexport const RadioControlOption = ({checked, onChange, value, label}) => {\r\n return (\r\n <label\r\n className={classnames('wc-stripe-blocks-radio-control__option', {\r\n 'wc-stripe-blocks-radio-control__option-checked': checked\r\n })}>\r\n <input\r\n className='wc-stripe-blocks-radio-control__input'\r\n type='radio'\r\n value={value}\r\n checked={checked}\r\n onChange={(event) => onChange(event.target.value)}/>\r\n <div className='wc-stripe-blocks-radio-control__label'>\r\n <span>{label}</span>\r\n </div>\r\n </label>\r\n )\r\n}\r\n\r\nexport default RadioControlOption;","export * from './use-create-link-token';\r\nexport * from './use-initialize-plaid';\r\nexport * from './use-process-payment';","import {useEffect, useState, useCallback} from '@wordpress/element';\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport {getRoute, getFromCache, storeInCache} from '../../util';\r\n\r\nexport const useCreateLinkToken = (\r\n {\r\n setValidationError\r\n }) => {\r\n const [linkToken, setLinkToken] = useState(false);\r\n\r\n const createToken = useCallback(async () => {\r\n try {\r\n const response = await apiFetch({\r\n url: getRoute('create/linkToken'),\r\n method: 'POST',\r\n data: {}\r\n });\r\n if (response.token) {\r\n storeInCache('linkToken', response.token);\r\n setLinkToken(response.token);\r\n }\r\n } catch (err) {\r\n setValidationError(err);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!linkToken) {\r\n const token = getFromCache('linkToken');\r\n if (token) {\r\n // cached token exist so use it\r\n setLinkToken(token);\r\n } else {\r\n // create the Plaid Link token\r\n createToken();\r\n }\r\n }\r\n }, [\r\n linkToken,\r\n setLinkToken\r\n ]);\r\n return linkToken;\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport Plaid from '@plaid';\r\nimport {getErrorMessage} from \"../../util\";\r\n\r\nexport const useInitializePlaid = (\r\n {\r\n getData,\r\n linkToken\r\n }) => {\r\n const linkHandler = useRef(null);\r\n const resolvePopup = useRef(null);\r\n const openLinkPopup = useCallback(() => new Promise((resolve, reject) => {\r\n resolvePopup.current = {resolve, reject};\r\n linkHandler.current.open();\r\n }), []);\r\n\r\n // if the token exists, initialize Plaid's link handler\r\n useEffect(() => {\r\n if (linkToken) {\r\n linkHandler.current = Plaid.create({\r\n clientName: getData('clientName'),\r\n env: getData('plaidEnvironment'),\r\n product: ['auth'],\r\n token: linkToken,\r\n selectAccount: true,\r\n countryCodes: ['US'],\r\n onSuccess: (publicToken, metaData) => {\r\n resolvePopup.current.resolve({publicToken, metaData});\r\n },\r\n onExit: (err) => {\r\n resolvePopup.current.reject(err ? getErrorMessage(err.error_message) : false);\r\n }\r\n });\r\n }\r\n }, [linkToken]);\r\n\r\n return openLinkPopup;\r\n}","import {useEffect, useCallback} from '@wordpress/element';\r\nimport {ensureSuccessResponse, ensureErrorResponse, deleteFromCache} from \"../../util\";\r\n\r\nexport const useProcessPayment = (\r\n {\r\n openLinkPopup,\r\n onPaymentProcessing,\r\n responseTypes,\r\n paymentMethod\r\n\r\n }) => {\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n try {\r\n // open the Plaid popup\r\n const result = await openLinkPopup();\r\n const {publicToken, metaData} = result;\r\n // remove the cached link token.\r\n deleteFromCache('linkToken');\r\n return ensureSuccessResponse(responseTypes, {\r\n meta: {\r\n paymentMethodData: {\r\n [`${paymentMethod}_token_key`]: publicToken,\r\n [`${paymentMethod}_metadata`]: JSON.stringify(metaData)\r\n }\r\n }\r\n });\r\n } catch (err) {\r\n return ensureErrorResponse(responseTypes, err);\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onPaymentProcessing,\r\n responseTypes,\r\n openLinkPopup\r\n ]);\r\n}","import './styles.scss';\r\nimport './payment-method'","import {useState} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, isTestMode} from '../util';\r\nimport {PaymentMethodLabel, PaymentMethod} from '../../components/checkout';\r\nimport SavedCardComponent from '../saved-card-component';\r\nimport {useCreateLinkToken, useInitializePlaid, useProcessPayment} from './hooks';\r\nimport {useProcessCheckoutError} from \"../hooks\";\r\nimport {__} from '@wordpress/i18n';\r\n\r\nconst getData = getSettings('stripe_ach_data');\r\n\r\nconst ACHPaymentContent = (\r\n {\r\n getData,\r\n eventRegistration,\r\n components,\r\n emitResponse,\r\n onSubmit,\r\n ...props\r\n }) => {\r\n const {responseTypes} = emitResponse;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {ValidationInputError, LoadingMask} = components;\r\n const [validationError, setValidationError] = useState(false);\r\n\r\n const linkToken = useCreateLinkToken({setValidationError});\r\n\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError\r\n });\r\n\r\n const openLinkPopup = useInitializePlaid({\r\n getData,\r\n linkToken,\r\n onSubmit\r\n });\r\n\r\n useProcessPayment({\r\n openLinkPopup,\r\n onPaymentProcessing,\r\n responseTypes,\r\n paymentMethod: getData('name')\r\n });\r\n return (\r\n <LoadingMask isLoading={!validationError && !linkToken} showSpinner={true}>\r\n {isTestMode && <ACHTestModeCredentials/>}\r\n {validationError && <ValidationInputError errorMessage={validationError}/>}\r\n </LoadingMask>\r\n )\r\n}\r\n\r\nconst ACHTestModeCredentials = () => {\r\n return (\r\n <div className='wc-stripe-blocks-ach__creds'>\r\n <label className='wc-stripe-blocks-ach__creds-label'>{__('Test Credentials', 'woo-stripe-payment')}</label>\r\n <div className='wc-stripe-blocks-ach__username'>\r\n <div>\r\n <strong>{__('username', 'woo-stripe-payment')}</strong>: user_good\r\n </div>\r\n <div>\r\n <strong>{__('password', 'woo-stripe-payment')}</strong>: pass_good\r\n </div>\r\n <div>\r\n <strong>{__('pin', 'woo-stripe-payment')}</strong>: credential_good\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nregisterPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icons')}/>,\r\n ariaLabel: 'ACH Payment',\r\n canMakePayment: ({cartTotals}) => cartTotals.currency_code === 'USD',\r\n content: <PaymentMethod\r\n getData={getData}\r\n content={ACHPaymentContent}/>,\r\n savedTokenComponent: <SavedCardComponent getData={getData}/>,\r\n edit: <ACHPaymentContent getData={getData}/>,\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n})","import './style.scss';\r\n\r\nimport './payment-method';","import {useCallback} from '@wordpress/element';\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\nimport {Elements, PaymentRequestButtonElement, useStripe} from \"@stripe/react-stripe-js\";\r\nimport ErrorBoundary from \"../error-boundary\";\r\nimport {\r\n usePaymentRequest,\r\n useProcessPaymentIntent,\r\n useExportedValues,\r\n useAfterProcessingPayment,\r\n useStripeError,\r\n useExpressBreakpointWidth\r\n} from '../hooks';\r\n\r\nconst getData = getSettings('stripe_applepay_data');\r\n\r\nconst ApplePayContent = (props) => {\r\n return (\r\n <ErrorBoundary>\r\n <div className='wc-stripe-apple-pay-container'>\r\n <Elements stripe={loadStripe}>\r\n <ApplePayButton {...props}/>\r\n </Elements>\r\n </div>\r\n </ErrorBoundary>\r\n );\r\n}\r\n\r\nconst ApplePayButton = (\r\n {\r\n getData,\r\n onClick,\r\n onClose,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n emitResponse,\r\n onSubmit,\r\n activePaymentMethod,\r\n ...props\r\n }) => {\r\n const {onPaymentProcessing} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const stripe = useStripe();\r\n const [error] = useStripeError();\r\n const canPay = (result) => result != null && result.applePay;\r\n const exportedValues = useExportedValues();\r\n useExpressBreakpointWidth({payment_method: getData('name'), width: 300});\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n exportedValues\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n messageContext: noticeContexts.EXPRESS_PAYMENTS\r\n });\r\n const {paymentRequest} = usePaymentRequest({\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n });\r\n\r\n const handleClick = useCallback((e) => {\r\n if (paymentRequest) {\r\n e.preventDefault();\r\n onClick();\r\n paymentRequest.show();\r\n }\r\n }, [paymentRequest, onClick]);\r\n\r\n if (paymentRequest) {\r\n return (\r\n <button\r\n className={`apple-pay-button ${getData('buttonStyle')}`}\r\n style={{\r\n '-apple-pay-button-type': getData('buttonType')\r\n }}\r\n onClick={handleClick}/>\r\n\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst ApplePayEdit = ({getData, ...props}) => {\r\n return (\r\n <div className={'apple-pay-block-editor'}>\r\n <img src={getData('editorIcon')}/>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: ({cartTotals, ...props}) => {\r\n if (getData('isAdmin')) {\r\n return true;\r\n }\r\n const {currency_code: currency, total_price} = cartTotals;\r\n return canMakePayment({\r\n country: getData('countryCode'),\r\n currency: currency.toLowerCase(),\r\n total: {\r\n label: getData('totalLabel'),\r\n amount: parseInt(total_price)\r\n }\r\n }, (result) => result != null && result.applePay);\r\n },\r\n content: <ApplePayContent getData={getData}/>,\r\n edit: <ApplePayEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import './style.scss';\r\nimport {registerCreditCardForm} from \"@paymentplugins/stripe/util\";\r\nimport {CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nconst Bootstrap = ({CardIcon, options, onChange}) => {\r\n return (\r\n <div className='wc-stripe-bootstrap-form'>\r\n <div className='row'>\r\n <div className='col-md-6 mb-3'>\r\n <CardNumberElement className='md-form md-outline stripe-input' options={options['cardNumber']}\r\n onChange={onChange(CardNumberElement)}/>\r\n <label htmlFor=\"stripe-card-number\">{__('Card Number', 'woo-stripe-payment')}</label>\r\n {CardIcon}\r\n </div>\r\n <div className='col-md-3 mb-3'>\r\n <CardExpiryElement className='md-form md-outline stripe-input' options={options['cardExpiry']}\r\n onChange={onChange(CardExpiryElement)}/>\r\n <label htmlFor=\"stripe-exp\">{__('Exp', 'woo-stripe-payment')}</label>\r\n </div>\r\n <div className='col-md-3 mb-3'>\r\n <CardCvcElement className=\"md-form md-outline stripe-input\" options={options['cardCvc']}\r\n onChange={onChange(CardCvcElement)}/>\r\n <label htmlFor=\"stripe-cvv\">{__('CVV', 'woo-stripe-payment')}</label>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterCreditCardForm({\r\n id: 'bootstrap',\r\n breakpoint: 475,\r\n component: <Bootstrap/>\r\n})","import {getCreditCardForm} from \"../../util\";\r\nimport {cloneElement, useRef, useCallback, useEffect, useState} from '@wordpress/element';\r\nimport {useElements, CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {sprintf, __} from '@wordpress/i18n';\r\nimport {useBreakpointWidth} from \"../../hooks\";\r\n\r\nconst classes = {\r\n focus: 'focused',\r\n empty: 'empty',\r\n invalid: 'invalid'\r\n}\r\n\r\nconst CustomCardForm = (\r\n {\r\n getData,\r\n onChange: eventChange,\r\n onComplete\r\n }) => {\r\n const [cardType, setCardType] = useState('');\r\n const elementOrder = useRef([]);\r\n const [container, setContainer] = useState(null);\r\n const elements = useElements();\r\n const id = getData('customForm');\r\n const {component: CardForm = null, breakpoint = 475} = getCreditCardForm(id);\r\n const postalCodeEnabled = getData('postalCodeEnabled');\r\n const options = {};\r\n const elementStatus = useRef({'cardNumber': {}, 'cardExpiry': {}, 'cardCvc': {}});\r\n ['cardNumber', 'cardExpiry', 'cardCvc'].forEach(type => {\r\n options[type] = {\r\n classes,\r\n ...getData('cardOptions'),\r\n ...getData('customFieldOptions')[type],\r\n }\r\n });\r\n const onChange = (element) => {\r\n setElementOrder(element);\r\n return (event) => {\r\n eventChange(event);\r\n elementStatus.current[event.elementType] = event;\r\n if (event.elementType === 'cardNumber') {\r\n if (event.brand === 'unknown') {\r\n setCardType('');\r\n } else {\r\n setCardType(event.brand);\r\n }\r\n }\r\n if (event.complete) {\r\n const idx = elementOrder.current.indexOf(element);\r\n if (elementOrder.current[idx + 1]) {\r\n const nextElement = elementOrder.current[idx + 1];\r\n elements.getElement(nextElement).focus();\r\n }\r\n }\r\n onComplete(isFormComplete());\r\n }\r\n }\r\n\r\n const isFormComplete = () => {\r\n let status = elementStatus.current;\r\n return Object.keys(status).filter(key => !!status[key].complete).length === Object.keys(status).length;\r\n }\r\n\r\n const setElementOrder = useCallback((element) => {\r\n if (!elementOrder.current.includes(element)) {\r\n elementOrder.current.push(element);\r\n }\r\n }, []);\r\n\r\n useBreakpointWidth({name: 'creditCardForm', width: breakpoint, node: container, className: 'small-form'});\r\n\r\n const getCardIconSrc = useCallback((type) => {\r\n for (let id of Object.keys(getData('cards'))) {\r\n if (id === type) {\r\n return getData('cards')[id];\r\n }\r\n }\r\n return '';\r\n }, []);\r\n\r\n if (!CardForm) {\r\n return (\r\n <div className='wc-stripe-custom-form-error'>\r\n <p>{sprintf(__('%s is not a valid blocks Stripe custom form. Please choose another custom form option in the Credit Card Settings.', 'woo-stripe-payment'), getData('customFormLabels')[id])}</p>\r\n </div>\r\n )\r\n }\r\n return (\r\n <div className={`wc-stripe-custom-form ${id}`} ref={setContainer}>\r\n {cloneElement(CardForm, {\r\n postalCodeEnabled,\r\n options,\r\n onChange,\r\n CardIcon: <CardIcon type={cardType} src={getCardIconSrc(cardType)}/>\r\n })}\r\n </div>\r\n )\r\n\r\n}\r\n\r\nconst CardIcon = ({type, src}) => {\r\n if (type) {\r\n return <img className={`wc-stripe-card ${type}`} src={src}/>\r\n }\r\n return null;\r\n}\r\n\r\nexport default CustomCardForm;\r\n","import './style.scss';\r\nimport {registerCreditCardForm} from \"@paymentplugins/stripe/util\";\r\nimport {CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {__} from \"@wordpress/i18n\";\r\nimport {useEffect, useCallback, useRef} from '@wordpress/element';\r\n\r\nconst SimpleForm = ({CardIcon, options, onChange}) => {\r\n useEffect(() => {\r\n }, []);\r\n return (\r\n <div className='wc-stripe-simple-form'>\r\n <div className=\"row\">\r\n <div className=\"field\">\r\n <div className='field-item'>\r\n <CardNumberElement id=\"stripe-card-number\" className=\"input empty\"\r\n options={options['cardNumber']}\r\n onChange={onChange(CardNumberElement)}/>\r\n <label htmlFor=\"stripe-card-number\"\r\n data-tid=\"\">{__('Card Number', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n {CardIcon}\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"field half-width\">\r\n <div className='field-item'>\r\n <CardExpiryElement id=\"stripe-exp\" className=\"input empty\" options={options['cardExpiry']}\r\n onChange={onChange(CardExpiryElement)}/>\r\n <label htmlFor=\"stripe-exp\"\r\n data-tid=\"\">{__('Expiration', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n </div>\r\n </div>\r\n <div className=\"field half-width cvc\">\r\n <div className='field-item'>\r\n <CardCvcElement id=\"stripe-cvv\" className=\"input empty\" options={options['cardCvc']}\r\n onChange={onChange(CardCvcElement)}/>\r\n <label htmlFor=\"stripe-cvv\"\r\n data-tid=\"\">{__('CVV', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterCreditCardForm({\r\n id: 'simple',\r\n component: <SimpleForm/>,\r\n breakpoint: 375\r\n})","import {CardElement} from \"@stripe/react-stripe-js\";\r\nimport {isFieldRequired} from \"../../util\";\r\nimport {useMemo} from '@wordpress/element';\r\n\r\nconst StripeCardForm = ({getData, billing, onChange: eventChange, onComplete}) => {\r\n const elementStatus = {card: {}};\r\n const onChange = (event) => {\r\n eventChange(event);\r\n elementStatus[event.elementType] = event;\r\n onComplete(isFormComplete());\r\n }\r\n const isFormComplete = () => {\r\n return Object.keys(elementStatus).filter(type => !!elementStatus[type].complete).length === Object.keys(elementStatus).length;\r\n }\r\n const cardOptions = useMemo(() => {\r\n return {\r\n ...{\r\n value: {\r\n postalCode: billing?.billingData?.postcode\r\n },\r\n hidePostalCode: isFieldRequired('postcode'),\r\n iconStyle: 'default'\r\n }, ...getData('cardOptions')\r\n };\r\n }, [billing.billingData]);\r\n return (\r\n <div className='wc-stripe-inline-form'>\r\n <CardElement options={cardOptions} onChange={onChange}/>\r\n </div>\r\n )\r\n}\r\n\r\nexport default StripeCardForm;","import './style.scss';\r\n\r\nexport * from './payment-method';\r\n\r\nimport './components/bootstrap';\r\nimport './components/simple';\r\n","import {useEffect, useState, useCallback, useMemo} from '@wordpress/element';\r\nimport {Elements, PaymentElement, useStripe, useElements} from '@stripe/react-stripe-js';\r\nimport {\r\n getSettings,\r\n initStripe as loadStripe\r\n} from '../util';\r\n\r\nimport {Installments} from '../../components/checkout/';\r\n\r\nimport {useProcessCheckoutError, useUpdatePaymentIntent} from \"../hooks\";\r\n\r\n\r\nconst getData = getSettings('stripe_cc_data');\r\n\r\nexport const PaymentElementComponent = ({cartData, ...props}) => {\r\n const clientSecret = cartData?.extensions?.stripe_cc?.clientSecret;\r\n return (\r\n <>\r\n <Elements stripe={loadStripe} options={{...getData('elementOptions'), clientSecret}}>\r\n <CardElement {...props} clientSecret={clientSecret}/>\r\n </Elements>\r\n </>\r\n );\r\n}\r\n\r\nconst CardElement = ({onComplete, clientSecret, ...props}) => {\r\n const [formComplete, setFormComplete] = useState(false);\r\n const installmentsActive = getData('installmentsActive')\r\n const elements = useElements();\r\n const stripe = useStripe();\r\n const {billing: {billingData}, eventRegistration, emitResponse, shouldSavePayment} = props;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const name = getData('name');\r\n const onChange = useCallback((event) => {\r\n setFormComplete(event.complete);\r\n }, []);\r\n const {updatePaymentIntent, addPaymentMethodData} = useUpdatePaymentIntent({\r\n clientSecret,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n shouldSavePayment,\r\n noticeContexts,\r\n name\r\n });\r\n\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext: noticeContexts.PAYMENTS\r\n });\r\n\r\n const getPaymentMethod = useCallback(async () => {\r\n let paymentMethod = null;\r\n const result = await updatePaymentIntent();\r\n if (result?.paymentIntent?.payment_method) {\r\n paymentMethod = result.paymentIntent.payment_method;\r\n }\r\n return paymentMethod;\r\n }, [updatePaymentIntent]);\r\n\r\n const options = {\r\n fields: {\r\n billingDetails: 'never'\r\n },\r\n wallets: {applePay: 'never', googlePay: 'never'}\r\n }\r\n return (\r\n <>\r\n <PaymentElement options={options} onChange={onChange}/>\r\n {installmentsActive && <Installments\r\n paymentMethodName={getData('name')}\r\n stripe={stripe}\r\n cardFormComplete={formComplete}\r\n getPaymentMethod={getPaymentMethod}\r\n addPaymentMethodData={addPaymentMethodData}/>}\r\n </>\r\n )\r\n}\r\n\r\nexport default PaymentElementComponent;","import {useEffect, useState, useCallback, useMemo} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {\r\n initStripe as loadStripe,\r\n getSettings,\r\n} from '../util';\r\nimport {Elements, CardElement, useStripe, useElements, CardNumberElement} from '@stripe/react-stripe-js';\r\nimport {PaymentMethodLabel, PaymentMethod} from '../../components/checkout';\r\nimport SavedCardComponent from '../saved-card-component';\r\nimport CustomCardForm from './components/custom-card-form';\r\nimport StripeCardForm from \"./components/stripe-card-form\";\r\nimport {Installments} from '../../components/checkout';\r\nimport PaymentElementComponent from './payment-element';\r\nimport {\r\n useProcessPaymentIntent,\r\n useAfterProcessingPayment,\r\n useSetupIntent,\r\n useStripeError\r\n} from \"../hooks\";\r\n\r\nconst getData = getSettings('stripe_cc_data');\r\n\r\nconst CreditCardContent = (props) => {\r\n const [error, setError] = useState(false);\r\n useEffect(() => {\r\n loadStripe.catch(error => {\r\n setError(error);\r\n })\r\n }, [setError]);\r\n if (error) {\r\n throw new Error(error);\r\n }\r\n if (getData('isPaymentElement')) {\r\n return (\r\n <PaymentElementComponent {...props}/>\r\n )\r\n }\r\n return (\r\n <Elements stripe={loadStripe} options={getData('elementOptions')}>\r\n <CreditCardElement {...props}/>\r\n </Elements>\r\n );\r\n};\r\n\r\nconst CreditCardElement = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n }) => {\r\n const [error, setError] = useStripeError();\r\n const [formComplete, setFormComplete] = useState(false);\r\n const {onPaymentProcessing} = eventRegistration;\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n const getPaymentMethodArgs = useCallback(() => {\r\n const elType = getData('customFormActive') ? CardNumberElement : CardElement;\r\n return {card: elements.getElement(elType)};\r\n }, [stripe, elements]);\r\n\r\n const {setupIntent, removeSetupIntent} = useSetupIntent({\r\n getData,\r\n cartTotal: billing.cartTotal,\r\n setError\r\n })\r\n\r\n const {getCreatePaymentMethodArgs, addPaymentMethodData} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n error,\r\n onPaymentProcessing,\r\n shouldSavePayment,\r\n setupIntent,\r\n removeSetupIntent,\r\n getPaymentMethodArgs,\r\n activePaymentMethod\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes: emitResponse.responseTypes,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n });\r\n\r\n const onChange = (event) => {\r\n if (event.error) {\r\n setError(event.error);\r\n } else {\r\n setError(false);\r\n }\r\n }\r\n\r\n const getPaymentMethod = useCallback(async () => {\r\n let paymentMethod = null;\r\n const result = await stripe.createPaymentMethod(getCreatePaymentMethodArgs());\r\n if (result?.paymentMethod?.id) {\r\n paymentMethod = result.paymentMethod.id;\r\n }\r\n return paymentMethod;\r\n }, [stripe, getCreatePaymentMethodArgs]);\r\n\r\n const Tag = getData('customFormActive') ? CustomCardForm : StripeCardForm;\r\n return (\r\n <div className='wc-stripe-card-container'>\r\n <Tag {...{getData, billing, onChange}} onComplete={setFormComplete}/>\r\n {getData('installmentsActive') && <Installments\r\n paymentMethodName={getData('name')}\r\n cardFormComplete={formComplete}\r\n addPaymentMethodData={addPaymentMethodData}\r\n getPaymentMethod={getPaymentMethod}/>}\r\n\r\n </div>\r\n );\r\n}\r\n\r\nregisterPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icons')}/>,\r\n ariaLabel: 'Credit Cards',\r\n canMakePayment: () => loadStripe,\r\n content: <PaymentMethod content={CreditCardContent} getData={getData}/>,\r\n savedTokenComponent: <SavedCardComponent getData={getData}/>,\r\n edit: <PaymentMethod content={CreditCardContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: true,\r\n features: getData('features')\r\n }\r\n})","import {Component} from '@wordpress/element';\r\n\r\nclass ErrorBoundary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {hasError: false, error: null, errorInfo: null};\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n this.setState({\r\n hasError: true,\r\n error,\r\n errorInfo\r\n })\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return (\r\n <>\r\n {this.state.error && <div className='wc-stripe-block-error'>{this.state.error.toString()}</div>}\r\n {this.state.errorInfo &&\r\n <div className='wc-stripe-block-error'>{this.state.errorInfo.componentStack}</div>}\r\n </>\r\n )\r\n }\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;","import {useRef, useEffect} from '@wordpress/element';\r\nimport {usePaymentsClient, usePaymentRequest} from './hooks';\r\nimport {\r\n useProcessPaymentIntent,\r\n useStripeError,\r\n useExportedValues,\r\n useExpressBreakpointWidth, useAfterProcessingPayment\r\n} from '../hooks';\r\nimport {getSettings} from '@paymentplugins/stripe/util';\r\n\r\nconst {publishableKey} = getSettings('stripeGeneralData')();\r\n\r\nconst GooglePayButton = (\r\n {\r\n getData,\r\n setErrorMessage,\r\n billing,\r\n shippingData,\r\n canMakePayment,\r\n checkoutStatus,\r\n eventRegistration,\r\n activePaymentMethod,\r\n onClick,\r\n onClose,\r\n ...props\r\n }) => {\r\n const merchantInfo = {\r\n merchantId: getData('merchantId'),\r\n merchantName: getData('merchantName')\r\n };\r\n const [error, setError] = useStripeError();\r\n const buttonContainer = useRef();\r\n const {onSubmit, emitResponse} = props;\r\n const {onPaymentProcessing} = eventRegistration;\r\n const exportedValues = useExportedValues();\r\n const width = getData('buttonStyle').buttonType === 'long' ? 390 : 300;\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n exportedValues,\r\n onSubmit,\r\n checkoutStatus,\r\n activePaymentMethod\r\n });\r\n\r\n const paymentRequest = usePaymentRequest({\r\n getData,\r\n publishableKey,\r\n merchantInfo,\r\n billing,\r\n shippingData\r\n })\r\n\r\n const {button, removeButton} = usePaymentsClient({\r\n merchantInfo,\r\n paymentRequest,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n canMakePayment,\r\n setErrorMessage,\r\n onSubmit,\r\n setPaymentMethod,\r\n exportedValues,\r\n onClick,\r\n onClose,\r\n getData\r\n });\r\n\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes: emitResponse.responseTypes,\r\n activePaymentMethod\r\n });\r\n\r\n useExpressBreakpointWidth({payment_method: getData('name'), width});\r\n\r\n useEffect(() => {\r\n if (button) {\r\n // prevent button duplicates\r\n removeButton(buttonContainer.current);\r\n buttonContainer.current.append(button);\r\n }\r\n }, [button]);\r\n\r\n return (\r\n <div className='wc-stripe-gpay-button-container' ref={buttonContainer}></div>\r\n )\r\n}\r\n\r\nexport default GooglePayButton;","export const BASE_PAYMENT_METHOD = {\r\n type: 'CARD',\r\n parameters: {\r\n allowedAuthMethods: [\"PAN_ONLY\"],\r\n allowedCardNetworks: [\"AMEX\", \"DISCOVER\", \"INTERAC\", \"JCB\", \"MASTERCARD\", \"VISA\"],\r\n assuranceDetailsRequired: true\r\n }\r\n};\r\n\r\nexport const BASE_PAYMENT_REQUEST = {\r\n apiVersion: 2,\r\n apiVersionMinor: 0\r\n}","export * from './use-payments-client';\r\nexport * from './use-payment-request';\r\nexport * from './use-error-message';","import {useState} from '@wordpress/element';\r\n\r\nexport const useErrorMessage = () => {\r\n const [errorMessage, setErrorMessage] = useState(false);\r\n return {errorMessage, setErrorMessage};\r\n}","import {useState, useEffect, useMemo} from '@wordpress/element';\r\nimport {BASE_PAYMENT_REQUEST, BASE_PAYMENT_METHOD} from \"../constants\";\r\nimport {isEmpty, isFieldRequired} from \"../../util\";\r\nimport {getTransactionInfo, getShippingOptionParameters} from \"../util\";\r\n\r\nexport const usePaymentRequest = ({getData, publishableKey, merchantInfo, billing, shippingData}) => {\r\n const {billingData} = billing;\r\n const {shippingRates} = shippingData;\r\n const {processingCountry, totalPriceLabel} = getData();\r\n\r\n const paymentRequest = useMemo(() => {\r\n let options = {\r\n ...{\r\n emailRequired: isEmpty(billingData.email),\r\n merchantInfo,\r\n allowedPaymentMethods: [{\r\n ...{\r\n type: 'CARD',\r\n tokenizationSpecification: {\r\n type: \"PAYMENT_GATEWAY\",\r\n parameters: {\r\n gateway: 'stripe',\r\n \"stripe:version\": \"2018-10-31\",\r\n \"stripe:publishableKey\": publishableKey\r\n }\r\n }\r\n }, ...BASE_PAYMENT_METHOD\r\n }],\r\n shippingAddressRequired: shippingData.needsShipping,\r\n transactionInfo: getTransactionInfo({\r\n billing,\r\n processingCountry,\r\n totalPriceLabel\r\n }),\r\n callbackIntents: ['PAYMENT_AUTHORIZATION']\r\n }, ...BASE_PAYMENT_REQUEST\r\n };\r\n options.allowedPaymentMethods[0].parameters.billingAddressRequired = true;\r\n options.allowedPaymentMethods[0].parameters.billingAddressParameters = {\r\n format: 'FULL',\r\n phoneNumberRequired: isFieldRequired('phone', billingData.country) && isEmpty(billingData.phone)\r\n };\r\n if (options.shippingAddressRequired) {\r\n options.callbackIntents = [...options.callbackIntents, ...['SHIPPING_ADDRESS', 'SHIPPING_OPTION']];\r\n options.shippingOptionRequired = true;\r\n const shippingOptionParameters = getShippingOptionParameters(shippingRates);\r\n if (shippingOptionParameters.shippingOptions.length > 0) {\r\n options = {...options, shippingOptionParameters};\r\n }\r\n }\r\n return options;\r\n }, [\r\n billing.cartTotal,\r\n billing.cartTotalItems,\r\n billingData,\r\n shippingData\r\n ]);\r\n return paymentRequest;\r\n}","import {useState, useEffect, useCallback, useMemo, useRef} from '@wordpress/element';\r\nimport isShallowEqual from \"@wordpress/is-shallow-equal\";\r\nimport {\r\n getErrorMessage,\r\n getSelectedShippingOption,\r\n getBillingDetailsFromAddress,\r\n isAddressValid,\r\n isEmpty,\r\n StripeError,\r\n getIntermediateAddress\r\n} from \"../../util\";\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {getPaymentRequestUpdate, toCartAddress} from \"../util\";\r\nimport {__} from \"@wordpress/i18n\";\r\nimport {usePaymentEvents} from \"../../hooks\";\r\n\r\nexport const usePaymentsClient = (\r\n {\r\n merchantInfo,\r\n paymentRequest,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n canMakePayment,\r\n setErrorMessage,\r\n setPaymentMethod,\r\n exportedValues,\r\n onClick,\r\n onClose,\r\n getData\r\n }) => {\r\n const {environment} = getData();\r\n const [paymentsClient, setPaymentsClient] = useState();\r\n const [button, setButton] = useState(null);\r\n const currentBilling = useRef(billing);\r\n const currentShipping = useRef(shippingData);\r\n const stripe = useStripe();\r\n const {addPaymentEvent} = usePaymentEvents({\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n });\r\n useEffect(() => {\r\n currentBilling.current = billing;\r\n currentShipping.current = shippingData;\r\n });\r\n\r\n const setAddressData = useCallback((paymentData) => {\r\n if (paymentData?.paymentMethodData?.info?.billingAddress) {\r\n let billingAddress = paymentData.paymentMethodData.info.billingAddress;\r\n if (isAddressValid(currentBilling.current.billingData, ['phone', 'email']) && isEmpty(currentBilling.current.billingData?.phone)) {\r\n billingAddress = {phoneNumber: billingAddress.phoneNumber};\r\n }\r\n exportedValues.billingData = currentBilling.current.billingData = toCartAddress(billingAddress, {email: paymentData.email});\r\n }\r\n if (paymentData?.shippingAddress) {\r\n exportedValues.shippingAddress = toCartAddress(paymentData.shippingAddress);\r\n }\r\n }, [exportedValues, paymentRequest]);\r\n\r\n const removeButton = useCallback((parentElement) => {\r\n while (parentElement.firstChild) {\r\n parentElement.removeChild(parentElement.firstChild);\r\n }\r\n }, [button]);\r\n const handleClick = useCallback(async () => {\r\n onClick();\r\n try {\r\n let paymentData = await paymentsClient.loadPaymentData(paymentRequest);\r\n\r\n // set the address data so it can be used during the checkout process\r\n setAddressData(paymentData);\r\n\r\n const data = JSON.parse(paymentData.paymentMethodData.tokenizationData.token);\r\n\r\n let result = await stripe.createPaymentMethod({\r\n type: 'card',\r\n card: {token: data.id},\r\n billing_details: getBillingDetailsFromAddress(currentBilling.current.billingData)\r\n });\r\n\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n\r\n setPaymentMethod(result.paymentMethod.id);\r\n } catch (err) {\r\n if (err?.statusCode === \"CANCELED\") {\r\n onClose();\r\n } else {\r\n console.log(getErrorMessage(err));\r\n setErrorMessage(getErrorMessage(err));\r\n }\r\n }\r\n }, [\r\n stripe,\r\n paymentsClient,\r\n onClick\r\n ]);\r\n\r\n const createButton = useCallback(async () => {\r\n try {\r\n if (paymentsClient && !button && stripe) {\r\n await canMakePayment;\r\n setButton(paymentsClient.createButton({\r\n onClick: handleClick,\r\n ...getData('buttonStyle')\r\n }));\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, [\r\n stripe,\r\n button,\r\n paymentsClient,\r\n handleClick\r\n ]);\r\n\r\n const paymentOptions = useMemo(() => {\r\n let options = {\r\n environment,\r\n merchantInfo,\r\n paymentDataCallbacks: {\r\n onPaymentAuthorized: () => Promise.resolve({transactionState: \"SUCCESS\"})\r\n }\r\n }\r\n if (paymentRequest.shippingAddressRequired) {\r\n options.paymentDataCallbacks.onPaymentDataChanged = (paymentData) => {\r\n return new Promise((resolve, reject) => {\r\n const shipping = currentShipping.current;\r\n const {shippingAddress: address, shippingOptionData} = paymentData;\r\n const intermediateAddress = toCartAddress(address);\r\n // pass the Promise resolve to a ref so it persists beyond the re-render\r\n const selectedRates = getSelectedShippingOption(shippingOptionData.id);\r\n const addressEqual = isShallowEqual(getIntermediateAddress(shipping.shippingAddress), intermediateAddress);\r\n const shippingEqual = isShallowEqual(shipping.selectedRates, {\r\n [selectedRates[1]]: selectedRates[0]\r\n });\r\n addPaymentEvent('onShippingChanged', (success, {billing, shipping}) => {\r\n if (success) {\r\n resolve(getPaymentRequestUpdate({\r\n billing,\r\n shippingData: {\r\n needsShipping: true,\r\n shippingRates: shipping.shippingRates\r\n },\r\n processingCountry: getData('processingCountry'),\r\n totalPriceLabel: getData('totalPriceLabel')\r\n }))\r\n } else {\r\n resolve({\r\n error: {\r\n reason: 'SHIPPING_ADDRESS_UNSERVICEABLE',\r\n message: __('Your shipping address is not serviceable.', 'woo-stripe-payment'),\r\n intent: 'SHIPPING_ADDRESS'\r\n }\r\n });\r\n }\r\n }, addressEqual && shippingEqual);\r\n currentShipping.current.setShippingAddress({...currentShipping.current.shippingAddress, ...intermediateAddress});\r\n if (shippingOptionData.id !== 'shipping_option_unselected') {\r\n currentShipping.current.setSelectedRates(...selectedRates);\r\n }\r\n })\r\n }\r\n }\r\n return options;\r\n }, [paymentRequest]);\r\n\r\n useEffect(() => {\r\n setPaymentsClient(new google.payments.api.PaymentsClient(paymentOptions));\r\n }, [paymentOptions]);\r\n\r\n useEffect(() => {\r\n createButton();\r\n }, [createButton])\r\n\r\n return {\r\n button,\r\n removeButton\r\n };\r\n}","import './style.scss';\r\n\r\nexport * from './payment-method';","import {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, isCartPage} from '../util';\r\nimport {useErrorMessage} from \"./hooks\";\r\nimport GooglePayButton from './button';\r\nimport {BASE_PAYMENT_METHOD, BASE_PAYMENT_REQUEST} from './constants';\r\nimport google from '@googlepay';\r\nimport {Elements} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_googlepay_data');\r\n\r\nconst canMakePayment = (() => {\r\n const paymentsClient = new google.payments.api.PaymentsClient({\r\n environment: getData('environment'),\r\n merchantInfo: {\r\n merchantId: getData('merchantId'),\r\n merchantName: getData('merchantName')\r\n }\r\n });\r\n const isReadyToPayRequest = {...BASE_PAYMENT_REQUEST, allowedPaymentMethods: [BASE_PAYMENT_METHOD]};\r\n return paymentsClient.isReadyToPay(isReadyToPayRequest).then(() => {\r\n return true;\r\n }).catch(err => {\r\n console.log(err);\r\n return false;\r\n })\r\n})();\r\n\r\nconst GooglePayContent = ({getData, components, ...props}) => {\r\n const {ValidationInputError} = components;\r\n const {errorMessage, setErrorMessage} = useErrorMessage();\r\n return (\r\n <div className='wc-stripe-gpay-container'>\r\n <Elements stripe={loadStripe}>\r\n <GooglePayButton getData={getData}\r\n canMakePayment={canMakePayment}\r\n setErrorMessage={setErrorMessage}\r\n {...props}/>\r\n {errorMessage && <ValidationInputError errorMessage={errorMessage}/>}\r\n </Elements>\r\n </div>\r\n )\r\n}\r\n\r\nconst GooglePayEdit = ({getData, ...props}) => {\r\n const buttonType = getData('buttonStyle').buttonType;\r\n const src = getData('editorIcons')?.[buttonType] || 'long';\r\n return (\r\n <div className={`gpay-block-editor ${buttonType}`}>\r\n <img src={src}/>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: () => {\r\n if (getData('isAdmin')) {\r\n if (isCartPage()) {\r\n return getData('cartCheckoutEnabled');\r\n }\r\n return true;\r\n }\r\n if (isCartPage() && !getData('cartCheckoutEnabled')) {\r\n return false;\r\n }\r\n return loadStripe.then(stripe => {\r\n if (stripe.error) {\r\n return stripe;\r\n }\r\n return canMakePayment;\r\n });\r\n },\r\n content: <GooglePayContent getData={getData}/>,\r\n edit: <GooglePayEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import {getShippingOptionId, removeNumberPrecision, toCartAddress as mapAddressToCartAddress} from \"../util\";\r\nimport {formatPrice} from '../util';\r\nimport {getSetting} from '@woocommerce/settings'\r\n\r\nconst generalData = getSetting('stripeGeneralData');\r\n\r\nconst ADDRESS_MAPPINGS = {\r\n name: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n countryCode: 'country',\r\n address1: 'address_1',\r\n address2: 'address_2',\r\n locality: 'city',\r\n administrativeArea: 'state',\r\n postalCode: 'postcode',\r\n email: 'email',\r\n phoneNumber: 'phone'\r\n}\r\n\r\nexport const getTransactionInfo = ({billing, processingCountry, totalPriceLabel}, status = 'ESTIMATED') => {\r\n const {cartTotal, cartTotalItems, currency} = billing;\r\n const transactionInfo = {\r\n countryCode: processingCountry,\r\n currencyCode: currency.code,\r\n totalPriceStatus: status,\r\n totalPrice: removeNumberPrecision(cartTotal.value, currency.minorUnit).toString(),\r\n displayItems: getDisplayItems(cartTotalItems, currency.minorUnit),\r\n totalPriceLabel\r\n }\r\n return transactionInfo;\r\n}\r\n\r\nexport const getPaymentRequestUpdate = ({billing, shippingData, processingCountry, totalPriceLabel}) => {\r\n const {needsShipping, shippingRates} = shippingData;\r\n let update = {\r\n newTransactionInfo: getTransactionInfo({\r\n billing, processingCountry, totalPriceLabel\r\n }, 'FINAL')\r\n }\r\n if (needsShipping) {\r\n update.newShippingOptionParameters = getShippingOptionParameters(shippingRates);\r\n }\r\n return update;\r\n}\r\n\r\n/**\r\n * Return an array of line item objects\r\n * @param cartTotalItems\r\n * @param unit\r\n * @returns {[]}\r\n */\r\nconst getDisplayItems = (cartTotalItems, unit = 2) => {\r\n let items = [];\r\n const keys = ['total_tax', 'total_shipping'];\r\n cartTotalItems.forEach(item => {\r\n if (0 < item.value || (item.key && keys.includes(item.key))) {\r\n items.push({\r\n label: item.label,\r\n type: 'LINE_ITEM',\r\n price: removeNumberPrecision(item.value, unit).toString()\r\n });\r\n }\r\n })\r\n return items;\r\n}\r\n\r\nexport const getShippingOptionParameters = (shippingRates) => {\r\n const shippingOptions = getShippingOptions(shippingRates);\r\n const shippingOptionIds = shippingOptions.map(option => option.id);\r\n let defaultSelectedOptionId = shippingOptionIds.slice(0, 1).shift();\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n shippingPackage.shipping_rates.forEach(rate => {\r\n if (rate.selected) {\r\n defaultSelectedOptionId = getShippingOptionId(idx, rate.rate_id);\r\n }\r\n });\r\n });\r\n return {\r\n shippingOptions,\r\n defaultSelectedOptionId,\r\n }\r\n}\r\n\r\n//id label description\r\nexport const getShippingOptions = (shippingRates) => {\r\n let options = [];\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n let rates = shippingPackage.shipping_rates.map(rate => {\r\n let txt = document.createElement('textarea');\r\n txt.innerHTML = rate.name;\r\n let price = formatPrice(rate.price, rate.currency_code);\r\n return {\r\n id: getShippingOptionId(idx, rate.rate_id),\r\n label: txt.value,\r\n description: `${price}`\r\n }\r\n });\r\n options = [...options, ...rates];\r\n });\r\n return options;\r\n}\r\n\r\nexport const toCartAddress = mapAddressToCartAddress(ADDRESS_MAPPINGS);\r\n","export * from './use-process-payment-intent';\r\nexport * from './use-after-process-payment';\r\nexport * from './use-setup-intent';\r\nexport * from './use-stripe-error';\r\nexport * from './use-exported-values';\r\nexport * from './use-payment-request';\r\nexport * from './use-payment-events';\r\nexport * from './use-breakpoint-width';\r\nexport * from './use-process-checkout-error';\r\nexport * from './use-update-payment-intent';","import {useEffect} from '@wordpress/element'\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {handleCardAction} from \"../util\";\r\nimport {useProcessCheckoutError} from \"./use-process-checkout-error\";\r\n\r\nexport const useAfterProcessingPayment = (\r\n {\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n shouldSavePayment = false,\r\n messageContext = null\r\n }) => {\r\n const stripe = useStripe();\r\n const {onCheckoutAfterProcessingWithSuccess, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext\r\n });\r\n useEffect(() => {\r\n let unsubscribeAfterProcessingWithSuccess = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n if (getData('name') === activePaymentMethod) {\r\n //check if response is in redirect. If so, open modal\r\n return await handleCardAction({\r\n redirectUrl,\r\n responseTypes,\r\n stripe,\r\n getData,\r\n shouldSavePayment\r\n });\r\n }\r\n return null;\r\n })\r\n return () => unsubscribeAfterProcessingWithSuccess()\r\n }, [\r\n stripe,\r\n responseTypes,\r\n onCheckoutAfterProcessingWithSuccess,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n ]);\r\n}","import {useState, useEffect, useCallback} from '@wordpress/element';\r\nimport {storeInCache, getFromCache} from \"../util\";\r\n\r\nexport const useBreakpointWidth = (\r\n {\r\n name,\r\n width,\r\n node,\r\n className\r\n }) => {\r\n const [windowWidth, setWindowWith] = useState(window.innerWidth);\r\n const getMaxWidth = useCallback((name) => {\r\n const maxWidth = getFromCache(name);\r\n return maxWidth ? parseInt(maxWidth) : 0;\r\n }, []);\r\n const setMaxWidth = useCallback((name, width) => storeInCache(name, width), []);\r\n\r\n useEffect(() => {\r\n const el = typeof node === 'function' ? node() : node;\r\n\r\n if (el) {\r\n const maxWidth = getMaxWidth(name);\r\n if (!maxWidth || width > maxWidth) {\r\n setMaxWidth(name, width);\r\n }\r\n if (el.clientWidth < width) {\r\n el.classList.add(className);\r\n } else {\r\n if (el.clientWidth > maxWidth) {\r\n el.classList.remove(className);\r\n }\r\n }\r\n }\r\n }, [windowWidth, node]);\r\n useEffect(() => {\r\n const handleResize = () => setWindowWith(window.innerWidth);\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n });\r\n}\r\n\r\nexport const useExpressBreakpointWidth = (\r\n {\r\n payment_method,\r\n width\r\n }) => {\r\n const node = useCallback(() => {\r\n const el = document.getElementById(`express-payment-method-${payment_method}`);\r\n return el ? el.parentNode : null;\r\n }, []);\r\n useBreakpointWidth({\r\n name: 'expressMaxWidth',\r\n width,\r\n node,\r\n className: 'wc-stripe-express__sm'\r\n });\r\n\r\n}","import {useRef} from '@wordpress/element';\r\n\r\nexport const useExportedValues = () => {\r\n const exportedValues = useRef({});\r\n return exportedValues.current;\r\n}","import {useEffect, useCallback, useRef, useState} from '@wordpress/element';\r\nimport {hasShippingRates} from '../util';\r\n\r\nexport const usePaymentEvents = (\r\n {\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n }) => {\r\n const {onShippingRateSuccess, onShippingRateFail, onShippingRateSelectSuccess} = eventRegistration;\r\n const currentBilling = useRef(billing);\r\n const currentShipping = useRef(shippingData);\r\n const [handler, setHandler] = useState(null);\r\n const [paymentEvents, setPaymentEvent] = useState({\r\n onShippingChanged: false\r\n });\r\n const addPaymentEvent = useCallback((name, handler, execute = false) => {\r\n if (execute) {\r\n setHandler({[name]: handler});\r\n } else {\r\n setPaymentEvent({...paymentEvents, [name]: handler});\r\n }\r\n }, [paymentEvents, setPaymentEvent]);\r\n const removePaymentEvent = useCallback((name) => {\r\n if (paymentEvents[name]) {\r\n delete paymentEvents[name];\r\n setPaymentEvent(paymentEvents);\r\n }\r\n }, [paymentEvents]);\r\n\r\n const onShippingChanged = useCallback(() => {\r\n const shipping = currentShipping.current;\r\n const billing = currentBilling.current;\r\n if (paymentEvents.onShippingChanged && !shipping.isSelectingRate && !shipping.shippingRatesLoading) {\r\n const handler = paymentEvents.onShippingChanged;\r\n let success = true;\r\n if (!hasShippingRates(shipping.shippingRates)) {\r\n success = false;\r\n }\r\n handler(success, {\r\n billing,\r\n shipping\r\n });\r\n removePaymentEvent('onShippingChanged');\r\n }\r\n }, [paymentEvents, removePaymentEvent]);\r\n\r\n useEffect(() => {\r\n currentBilling.current = billing;\r\n currentShipping.current = shippingData;\r\n });\r\n\r\n useEffect(() => {\r\n if (handler) {\r\n if (handler.onShippingChanged) {\r\n handler.onShippingChanged(true, {\r\n billing: currentBilling.current,\r\n shipping: currentShipping.current\r\n })\r\n setHandler(null);\r\n }\r\n }\r\n }, [handler]);\r\n\r\n useEffect(() => {\r\n const unsubscribeShippingRateSuccess = onShippingRateSuccess(onShippingChanged);\r\n const unsubscribeShippingRateSelectSuccess = onShippingRateSelectSuccess(onShippingChanged);\r\n const unsubscribeShippingRateFail = onShippingRateFail(({hasInvalidAddress, hasError}) => {\r\n if (paymentEvents.onShippingChanged) {\r\n const handler = paymentEvents.onShippingChanged;\r\n handler(false);\r\n removePaymentEvent('onShippingChanged');\r\n }\r\n });\r\n\r\n return () => {\r\n unsubscribeShippingRateSuccess();\r\n unsubscribeShippingRateFail();\r\n unsubscribeShippingRateSelectSuccess();\r\n }\r\n }, [\r\n paymentEvents,\r\n onShippingRateSuccess,\r\n onShippingRateFail,\r\n onShippingRateSelectSuccess\r\n ]);\r\n\r\n return {addPaymentEvent, removePaymentEvent};\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {usePaymentEvents} from './use-payment-events';\r\nimport {getIntermediateAddress} from '../util';\r\nimport isShallowEqual from '@wordpress/is-shallow-equal';\r\nimport {\r\n getDisplayItems,\r\n getShippingOptions,\r\n getSelectedShippingOption,\r\n isFieldRequired,\r\n toCartAddress as mapToCartAddress\r\n} from \"../util\";\r\n\r\nconst toCartAddress = mapToCartAddress();\r\n\r\nexport const usePaymentRequest = (\r\n {\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n }) => {\r\n const {addPaymentEvent} = usePaymentEvents({\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n });\r\n const {shippingAddress, needsShipping, shippingRates} = shippingData;\r\n const {billingData, cartTotalItems, currency, cartTotal} = billing;\r\n const [paymentRequest, setPaymentRequest] = useState(null);\r\n const paymentRequestOptions = useRef({});\r\n const currentShipping = useRef(shippingData)\r\n const currentBilling = useRef(billing);\r\n\r\n useEffect(() => {\r\n currentShipping.current = shippingData;\r\n currentBilling.current = billing;\r\n }, [shippingData]);\r\n\r\n useEffect(() => {\r\n if (stripe) {\r\n const options = {\r\n country: getData('countryCode'),\r\n currency: currency?.code.toLowerCase(),\r\n total: {\r\n amount: cartTotal.value,\r\n label: cartTotal.label,\r\n pending: true\r\n },\r\n requestPayerName: true,\r\n requestPayerEmail: isFieldRequired('email', billingData.country),\r\n requestPayerPhone: isFieldRequired('phone', billingData.country),\r\n requestShipping: needsShipping,\r\n displayItems: getDisplayItems(cartTotalItems, currency)\r\n }\r\n if (options.requestShipping) {\r\n options.shippingOptions = getShippingOptions(shippingRates);\r\n }\r\n paymentRequestOptions.current = options;\r\n const paymentRequest = stripe.paymentRequest(paymentRequestOptions.current);\r\n paymentRequest.canMakePayment().then(result => {\r\n if (canPay(result)) {\r\n setPaymentRequest(paymentRequest);\r\n } else {\r\n setPaymentRequest(null);\r\n }\r\n });\r\n }\r\n }, [\r\n stripe,\r\n cartTotal.value,\r\n billingData.country,\r\n shippingRates,\r\n cartTotalItems,\r\n currency.code\r\n ]);\r\n\r\n useEffect(() => {\r\n if (paymentRequest) {\r\n if (paymentRequestOptions.current.requestShipping) {\r\n paymentRequest.on('shippingaddresschange', onShippingAddressChange);\r\n paymentRequest.on('shippingoptionchange', onShippingOptionChange);\r\n }\r\n paymentRequest.on('cancel', onClose);\r\n paymentRequest.on('paymentmethod', onPaymentMethodReceived);\r\n }\r\n }, [\r\n paymentRequest,\r\n onShippingAddressChange,\r\n onClose,\r\n onPaymentMethodReceived\r\n ]);\r\n\r\n const updatePaymentEvent = useCallback((event) => (success, {billing, shipping}) => {\r\n const {cartTotal, cartTotalItems, currency} = billing;\r\n const {shippingRates} = shipping;\r\n if (success) {\r\n event.updateWith({\r\n status: 'success',\r\n total: {\r\n amount: cartTotal.value,\r\n label: cartTotal.label,\r\n pending: false\r\n },\r\n displayItems: getDisplayItems(cartTotalItems, currency),\r\n shippingOptions: getShippingOptions(shippingRates)\r\n });\r\n } else {\r\n event.updateWith({status: 'invalid_shipping_address'});\r\n }\r\n }, []);\r\n\r\n const onShippingAddressChange = useCallback(event => {\r\n const {shippingAddress} = event;\r\n const shipping = currentShipping.current;\r\n const intermediateAddress = toCartAddress(shippingAddress);\r\n shipping.setShippingAddress({...shipping.shippingAddress, ...intermediateAddress});\r\n const addressEqual = isShallowEqual(getIntermediateAddress(shipping.shippingAddress), intermediateAddress);\r\n addPaymentEvent('onShippingChanged', updatePaymentEvent(event), addressEqual);\r\n }, [addPaymentEvent]);\r\n\r\n const onShippingOptionChange = useCallback(event => {\r\n const {shippingOption} = event;\r\n const shipping = currentShipping.current;\r\n shipping.setSelectedRates(...getSelectedShippingOption(shippingOption.id));\r\n addPaymentEvent('onShippingChanged', updatePaymentEvent(event));\r\n }, [addPaymentEvent]);\r\n\r\n const onPaymentMethodReceived = useCallback((paymentResponse) => {\r\n const {paymentMethod, payerName = null, payerEmail = null, payerPhone = null} = paymentResponse;\r\n // set address data\r\n let billingData = {payerName, payerEmail, payerPhone};\r\n if (paymentMethod?.billing_details.address) {\r\n billingData = toCartAddress(paymentMethod.billing_details.address, billingData);\r\n }\r\n exportedValues.billingData = billingData;\r\n\r\n if (paymentResponse.shippingAddress) {\r\n exportedValues.shippingAddress = toCartAddress(paymentResponse.shippingAddress);\r\n }\r\n\r\n // set payment method\r\n setPaymentMethod(paymentMethod.id);\r\n paymentResponse.complete(\"success\");\r\n }, []);\r\n\r\n return {paymentRequest};\r\n}","import {useEffect} from '@wordpress/element';\r\n\r\nexport const useProcessCheckoutError = (\r\n {\r\n responseTypes,\r\n subscriber,\r\n messageContext = null\r\n }) => {\r\n useEffect(() => {\r\n const unsubscribe = subscriber((data) => {\r\n if (data?.processingResponse.paymentDetails?.stripeErrorMessage) {\r\n return {\r\n type: responseTypes.ERROR,\r\n message: data.processingResponse.paymentDetails.stripeErrorMessage,\r\n messageContext\r\n };\r\n }\r\n return null;\r\n });\r\n return () => unsubscribe();\r\n }, [responseTypes, subscriber]);\r\n}","import {useEffect, useState, useCallback, useRef} from '@wordpress/element';\r\nimport {useStripe} from '@stripe/react-stripe-js';\r\nimport {\r\n ensureSuccessResponse,\r\n ensureErrorResponse,\r\n getBillingDetailsFromAddress,\r\n StripeError\r\n} from '../util';\r\n\r\nexport const useProcessPaymentIntent = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n paymentType = 'card',\r\n setupIntent = null,\r\n removeSetupIntent = null,\r\n shouldSavePayment = false,\r\n exportedValues = {},\r\n getPaymentMethodArgs = () => ({})\r\n }) => {\r\n const {billingData} = billing;\r\n const {shippingAddress} = shippingData;\r\n const {responseTypes} = emitResponse;\r\n const [paymentMethod, setPaymentMethod] = useState(null);\r\n const stripe = useStripe();\r\n const currentPaymentMethodArgs = useRef(getPaymentMethodArgs);\r\n const paymentMethodData = useRef({});\r\n useEffect(() => {\r\n currentPaymentMethodArgs.current = getPaymentMethodArgs;\r\n }, [getPaymentMethodArgs]);\r\n\r\n const addPaymentMethodData = useCallback((data) => {\r\n paymentMethodData.current = {...paymentMethodData.current, ...data};\r\n }, []);\r\n\r\n const getCreatePaymentMethodArgs = useCallback(() => {\r\n const args = {\r\n type: paymentType,\r\n billing_details: getBillingDetailsFromAddress(exportedValues?.billingData ? exportedValues.billingData : billingData)\r\n }\r\n return {...args, ...currentPaymentMethodArgs.current()};\r\n }, [billingData, paymentType, getPaymentMethodArgs]);\r\n\r\n const getSuccessResponse = useCallback((paymentMethodId, shouldSavePayment) => {\r\n const response = {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: paymentMethodId,\r\n [`${getData('name')}_save_source_key`]: shouldSavePayment,\r\n ...paymentMethodData.current\r\n }\r\n }\r\n }\r\n if (exportedValues?.billingData) {\r\n response.meta.billingData = exportedValues.billingData;\r\n }\r\n if (exportedValues?.shippingAddress) {\r\n response.meta.shippingData = {address: exportedValues.shippingAddress};\r\n }\r\n return response;\r\n }, [billingData, shippingAddress]);\r\n\r\n useEffect(() => {\r\n if (paymentMethod && typeof paymentMethod === 'string') {\r\n onSubmit();\r\n }\r\n }, [paymentMethod, onSubmit]);\r\n\r\n useEffect(() => {\r\n const unsubscribeProcessingPayment = onPaymentProcessing(async () => {\r\n if (activePaymentMethod !== getData('name')) {\r\n return null;\r\n }\r\n let [result, paymentMethodId] = [null, null];\r\n try {\r\n if (error) {\r\n throw new StripeError(error);\r\n }\r\n if (setupIntent) {\r\n result = await stripe.confirmCardSetup(setupIntent.client_secret, {\r\n payment_method: getCreatePaymentMethodArgs()\r\n });\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethodId = result.setupIntent.payment_method;\r\n removeSetupIntent();\r\n } else {\r\n // payment method has already been created.\r\n if (paymentMethod) {\r\n paymentMethodId = paymentMethod;\r\n } else {\r\n //create the payment method\r\n result = await stripe.createPaymentMethod(getCreatePaymentMethodArgs());\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethodId = result.paymentMethod.id;\r\n }\r\n }\r\n return ensureSuccessResponse(responseTypes, getSuccessResponse(paymentMethodId, shouldSavePayment));\r\n } catch (e) {\r\n console.log(e);\r\n setPaymentMethod(null);\r\n return ensureErrorResponse(responseTypes, e.error);\r\n }\r\n\r\n });\r\n return () => unsubscribeProcessingPayment();\r\n }, [\r\n paymentMethod,\r\n billingData,\r\n onPaymentProcessing,\r\n stripe,\r\n setupIntent,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n ]);\r\n return {\r\n setPaymentMethod,\r\n getCreatePaymentMethodArgs,\r\n addPaymentMethodData\r\n };\r\n}","import {useEffect, useState, useCallback} from '@wordpress/element';\r\nimport apiFetch from \"@wordpress/api-fetch\";\r\nimport {\r\n getSettings,\r\n getRoute,\r\n cartContainsPreOrder,\r\n cartContainsSubscription,\r\n getFromCache,\r\n storeInCache,\r\n deleteFromCache\r\n} from '../util';\r\n\r\nexport const useSetupIntent = (\r\n {\r\n cartTotal,\r\n setError\r\n }) => {\r\n const [setupIntent, setSetupIntent] = useState(getFromCache('setupIntent'));\r\n\r\n useEffect(() => {\r\n const createSetupIntent = async () => {\r\n if (setupIntent) {\r\n return;\r\n }\r\n // only create intent under certain conditions\r\n let result = await apiFetch({\r\n url: getRoute('create/setup_intent'),\r\n method: 'POST'\r\n });\r\n if (result.code) {\r\n setError(result.message);\r\n } else {\r\n storeInCache('setupIntent', result.intent);\r\n setSetupIntent(result.intent);\r\n }\r\n }\r\n if (cartContainsPreOrder() || (cartContainsSubscription() && cartTotal.value == 0)) {\r\n if (!setupIntent) {\r\n createSetupIntent();\r\n }\r\n } else {\r\n setSetupIntent(null);\r\n }\r\n }, [cartTotal.value]);\r\n const removeSetupIntent = useCallback(() => {\r\n deleteFromCache('setupIntent');\r\n }, [cartTotal.value]);\r\n return {setupIntent, removeSetupIntent};\r\n}","import {useState} from '@wordpress/element'\r\n\r\nexport const useStripeError = () => {\r\n const [error, setError] = useState(false);\r\n return [error, setError];\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {ensureErrorResponse, ensureSuccessResponse, getBillingDetailsFromAddress, StripeError, isNextActionRequired, getRoute} from '../util';\r\nimport apiFetch from \"@wordpress/api-fetch\";\r\n\r\nexport const useUpdatePaymentIntent = (\r\n {\r\n clientSecret,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n name,\r\n shouldSavePayment,\r\n noticeContexts\r\n }\r\n) => {\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const currentData = useRef({billingData});\r\n const paymentMethodData = useRef({});\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n\r\n const getSuccessResponse = useCallback((paymentMethod, shouldSavePayment) => {\r\n const response = {\r\n meta: {\r\n paymentMethodData: {\r\n [`${name}_token_key`]: paymentMethod,\r\n [`${name}_save_source_key`]: shouldSavePayment,\r\n ...paymentMethodData.current\r\n }\r\n }\r\n }\r\n return response;\r\n }, []);\r\n\r\n const addPaymentMethodData = useCallback((data) => {\r\n paymentMethodData.current = {...paymentMethodData.current, ...data};\r\n }, []);\r\n\r\n const updatePaymentIntent = useCallback(async () => {\r\n const {billingData} = currentData.current;\r\n return await stripe.updatePaymentIntent({\r\n elements,\r\n params: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(billingData)\r\n }\r\n }\r\n });\r\n }, [stripe, elements]);\r\n\r\n const confirmPayment = useCallback(async () => {\r\n const {billingData} = currentData.current;\r\n return await stripe.confirmPayment({\r\n elements,\r\n confirmParams: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(billingData)\r\n }\r\n },\r\n redirect: 'if_required'\r\n });\r\n }, [stripe, elements]);\r\n\r\n useEffect(() => {\r\n currentData.current = {billingData};\r\n });\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n\r\n try {\r\n let paymentMethod = null;\r\n let result = await stripe.retrievePaymentIntent(clientSecret);\r\n if (result.paymentIntent.status === 'requires_action') {\r\n paymentMethod = result.paymentIntent.payment_method;\r\n await confirmPayment();\r\n } else {\r\n result = await updatePaymentIntent();\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethod = result.paymentIntent.payment_method;\r\n }\r\n return ensureSuccessResponse(responseTypes, getSuccessResponse(paymentMethod, shouldSavePayment));\r\n } catch (error) {\r\n return ensureErrorResponse(responseTypes, error, {messageContext: noticeContexts.PAYMENTS});\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onPaymentProcessing,\r\n updatePaymentIntent,\r\n confirmPayment,\r\n clientSecret,\r\n shouldSavePayment\r\n ]);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n const result = isNextActionRequired(redirectUrl);\r\n if (result) {\r\n const {client_secret, order_id, order_key} = result;\r\n try {\r\n let response = await confirmPayment();\r\n if (response.error) {\r\n throw new StripeError(response.error);\r\n }\r\n response = await apiFetch({\r\n url: getRoute('process/payment'),\r\n method: 'POST',\r\n data: {order_id, order_key, [`${name}_save_source_key`]: shouldSavePayment}\r\n })\r\n if (response.messages) {\r\n return ensureErrorResponse(responseTypes, response.messages);\r\n }\r\n return ensureSuccessResponse(responseTypes, {\r\n redirectUrl: response.redirect\r\n });\r\n } catch (error) {\r\n return ensureErrorResponse(responseTypes, error, {messageContext: noticeContexts.PAYMENTS});\r\n }\r\n } else {\r\n return ensureSuccessResponse(responseTypes);\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onCheckoutAfterProcessingWithSuccess,\r\n confirmPayment,\r\n shouldSavePayment\r\n ]);\r\n\r\n return {\r\n updatePaymentIntent,\r\n addPaymentMethodData\r\n }\r\n}","export * from './use-link';","import {useEffect, useState, useRef} from '@wordpress/element';\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {toCartAddress as mapToCartAddress, ensureSuccessResponse, getBillingDetailsFromAddress} from '../../util';\r\n\r\nconst toCartAddress = mapToCartAddress();\r\n\r\nexport const useLink = (\r\n {\r\n email,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n isActive,\r\n responseTypes,\r\n ...props\r\n }) => {\r\n const [link, setLink] = useState();\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n const currentData = useRef();\r\n const linkData = useRef();\r\n const {onPaymentProcessing} = eventRegistration;\r\n useEffect(() => {\r\n currentData.current = {onClick, onSubmit}\r\n });\r\n\r\n useEffect(() => {\r\n if (stripe && elements) {\r\n setLink(stripe?.linkAutofillModal(elements));\r\n }\r\n }, [stripe, elements]);\r\n\r\n useEffect(() => {\r\n if (link) {\r\n link.launch({email});\r\n }\r\n }, [link, email]);\r\n\r\n useEffect(() => {\r\n if (link) {\r\n link.on('autofill', event => {\r\n linkData.current = event;\r\n currentData.current.onSubmit();\r\n\r\n });\r\n link.on('authenticated', event => {\r\n currentData.current.onClick();\r\n })\r\n }\r\n }, [link]);\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n const response = {meta: {}};\r\n const {shippingAddress = null, billingAddress = null} = linkData.current.value;\r\n if (billingAddress) {\r\n response.meta.billingData = toCartAddress({...billingAddress.address, recipient: billingAddress.name})\r\n }\r\n if (shippingAddress) {\r\n response.meta.shippingData = toCartAddress({...shippingAddress.address, recipient: shippingAddress.name})\r\n }\r\n // update the payment intent\r\n try {\r\n const result = await stripe.updatePaymentIntent({\r\n elements,\r\n params: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(response.meta.billingData)\r\n }\r\n }\r\n });\r\n response.meta.paymentMethodData = {\r\n stripe_cc_token_key: result.paymentIntent.payment_method,\r\n stripe_cc_save_source_key: false,\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n return ensureSuccessResponse(responseTypes, response);\r\n });\r\n\r\n return () => unsubscribe();\r\n }\r\n }, [isActive, onPaymentProcessing, stripe, elements])\r\n\r\n return link;\r\n}","import {useEffect, useState} from '@wordpress/element';\r\nimport {Elements, useStripe, useElements, PaymentElement} from \"@stripe/react-stripe-js\";\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {useLink} from './hooks';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\n\r\nconst getData = getSettings('stripe_link_checkout_data');\r\n\r\nexport const LinkComponent = ({cartData, ...props}) => {\r\n const clientSecret = cartData?.extensions?.stripe_link_checkout?.clientSecret;\r\n if (clientSecret) {\r\n return (\r\n <Elements stripe={loadStripe} options={{clientSecret}}>\r\n <LinkCheckout {...props}/>\r\n </Elements>\r\n );\r\n }\r\n return null;\r\n}\r\n\r\nconst LinkCheckout = (\r\n {\r\n billing,\r\n shipping,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n activePaymentMethod,\r\n emitResponse,\r\n ...props\r\n }) => {\r\n const {billingData, currency} = billing;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const {email} = billingData;\r\n const isActive = activePaymentMethod === getData('name');\r\n useLink({\r\n email,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n isActive,\r\n responseTypes\r\n });\r\n return <div style={{display: 'none'}}><PaymentElement/></div>;\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: (props) => {\r\n return true;\r\n },\r\n content: <LinkComponent/>,\r\n edit: <LinkComponent/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import {useState, useEffect} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {AfterpayClearpayMessageElement, Elements} from \"@stripe/react-stripe-js\";\r\nimport {sprintf, __} from '@wordpress/i18n';\r\nimport {ExperimentalOrderMeta, TotalsWrapper} from '@woocommerce/blocks-checkout';\r\nimport {registerPlugin} from '@wordpress/plugins';\r\n\r\nconst getData = getSettings('stripe_afterpay_data');\r\nlet variablesHandler;\r\nconst setVariablesHandler = (handler) => {\r\n variablesHandler = handler;\r\n}\r\n\r\nconst isAvailable = ({total, currency, needsShipping}) => {\r\n let available = false;\r\n const requiredParams = getData('requiredParams');\r\n const accountCountry = getData('accountCountry');\r\n const requiredParamObj = requiredParams.hasOwnProperty(currency) ? requiredParams[currency] : false;\r\n if (requiredParamObj) {\r\n available = accountCountry === requiredParamObj?.[0] && needsShipping && (total > requiredParamObj?.[1] && total < requiredParamObj?.[2]);\r\n }\r\n return available;\r\n}\r\n\r\nconst PaymentMethodLabel = ({getData}) => {\r\n const [variables, setVariables] = useState({\r\n amount: getData('cartTotal'),\r\n currency: getData('currency'),\r\n isEligible: getData('msgOptions').isEligible\r\n });\r\n setVariablesHandler(setVariables);\r\n return (\r\n <Elements stripe={initStripe} options={getData('elementOptions')}>\r\n <div className='wc-stripe-blocks-afterpay__label'>\r\n <AfterpayClearpayMessageElement options={{\r\n ...getData('msgOptions'),\r\n ...{\r\n amount: variables.amount,\r\n currency: variables.currency,\r\n isEligible: variables.isEligible\r\n }\r\n }}/>\r\n </div>\r\n </Elements>\r\n );\r\n}\r\n\r\nconst AfterpayPaymentMethod = ({content, billing, shippingData, ...props}) => {\r\n const Content = content;\r\n const {cartTotal, currency} = billing;\r\n const {needsShipping} = shippingData\r\n useEffect(() => {\r\n variablesHandler({\r\n amount: cartTotal.value,\r\n currency: currency.code,\r\n isEligible: needsShipping\r\n });\r\n }, [\r\n cartTotal.value,\r\n currency.code,\r\n needsShipping\r\n ]);\r\n return (\r\n <>\r\n {needsShipping &&\r\n <div className='wc-stripe-blocks-payment-method-content'>\r\n <div className=\"wc-stripe-blocks-afterpay-offsite__container\">\r\n <div className=\"wc-stripe-blocks-afterpay__offsite\">\r\n <img src={getData('offSiteSrc')}/>\r\n <p>{sprintf(__('After clicking \"%s\", you will be redirected to Afterpay to complete your purchase securely.', 'woo-stripe-payment'), getData('placeOrderButtonLabel'))}</p>\r\n </div>\r\n </div>\r\n <Content {...{...props, billing, shippingData}}/>\r\n </div>}\r\n </>\r\n );\r\n}\r\n\r\nconst OrderItemMessaging = ({cart, extensions, context}) => {\r\n const {cartTotals, cartNeedsShipping: needsShipping} = cart;\r\n const {total_price, currency_code: currency} = cartTotals;\r\n const amount = parseInt(cartTotals.total_price);\r\n const total = parseInt(cartTotals.total_price) / (10 ** cartTotals.currency_minor_unit);\r\n if (!isAvailable({total, currency, needsShipping})) {\r\n return null;\r\n }\r\n return (\r\n <TotalsWrapper>\r\n <Elements stripe={initStripe} options={getData('elementOptions')}>\r\n <div className='wc-stripe-blocks-afterpay-totals__item wc-block-components-totals-item'>\r\n <AfterpayClearpayMessageElement options={{\r\n ...getData('msgOptions'),\r\n ...{\r\n amount,\r\n currency,\r\n isEligible: needsShipping\r\n }\r\n }}/>\r\n </div>\r\n </Elements>\r\n </TotalsWrapper>\r\n );\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n getData={getData}/>,\r\n ariaLabel: __('Afterpay', 'woo-stripe-payment'),\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData, ({settings, cartTotals, cartNeedsShipping}) => {\r\n const {currency_code: currency, currency_minor_unit, total_price} = cartTotals;\r\n if (variablesHandler) {\r\n variablesHandler({\r\n amount: parseInt(cartTotals.total_price),\r\n currency,\r\n isEligible: cartNeedsShipping\r\n });\r\n }\r\n const total = parseInt(total_price) / (10 ** currency_minor_unit);\r\n const available = isAvailable({total, currency, needsShipping: cartNeedsShipping});\r\n if (!available && !settings('hideIneligible')) {\r\n return true;\r\n }\r\n return available;\r\n }),\r\n content: <AfterpayPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmAfterpayClearpayPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n });\r\n\r\n const render = () => {\r\n return (\r\n <ExperimentalOrderMeta>\r\n <OrderItemMessaging/>\r\n </ExperimentalOrderMeta>\r\n )\r\n }\r\n registerPlugin('wc-stripe', {\r\n render: render,\r\n scope: 'woocommerce-checkout'\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel} from \"../../components/checkout/payment-method-label\";\r\nimport {PaymentMethod} from \"../../components/checkout\";\r\n\r\nconst getData = getSettings('stripe_alipay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Alipay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmAlipayPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_bancontact_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Bancontact',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmBancontactPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {AuBankAccountElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_becs_data');\r\n\r\nconst BecsPaymentMethod = (props) => {\r\n return (\r\n <>\r\n <PaymentMethod {...props} />\r\n <div className={'wc-stripe-blocks-mandate becs-mandate'}\r\n dangerouslySetInnerHTML={{__html: props.getData('mandate')}}/>\r\n </>\r\n );\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'BECS',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <BecsPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmAuBecsDebitPayment'}\r\n component={AuBankAccountElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {useState, useEffect, useCallback} from '@wordpress/element';\r\nimport {__} from '@wordpress/i18n';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport classnames from 'classnames';\r\nimport {ensureErrorResponse, getSettings, isTestMode} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_boleto_data');\r\n\r\nconst BoletoPaymentMethodContainer = ({eventRegistration, ...props}) => {\r\n const [taxId, setTaxId] = useState('');\r\n const [isActive, setIsActive] = useState(false);\r\n const {onPaymentProcessing} = eventRegistration;\r\n const callback = useCallback(() => {\r\n return {\r\n boleto: {\r\n tax_id: taxId\r\n }\r\n };\r\n }, [taxId]);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(() => {\r\n if (!taxId) {\r\n return ensureErrorResponse(props.emitResponse.responseTypes, __('Please enter a valid CPF/CNPJ value', 'woo-stripe-payment'));\r\n }\r\n return true;\r\n })\r\n return () => unsubscribe();\r\n }, [onPaymentProcessing, taxId]);\r\n return (\r\n <>\r\n <div className={classnames('wc-block-components-text-input', {\r\n 'is-active': isActive || taxId\r\n })}>\r\n <input\r\n type='text'\r\n id='wc-stripe-boleto-tax_id'\r\n onChange={(e) => setTaxId(e.target.value)}\r\n onFocus={() => setIsActive(true)}\r\n onBlur={() => setIsActive(false)}/>\r\n <label htmlFor='wc-stripe-boleto-tax_id'>{__(' CPF / CNPJ', ' woo-stripe-payment')}</label>\r\n </div>\r\n {isTestMode() &&\r\n <div className='wc-stripe-boleto__description'>\r\n <p>{__('Test mode values', 'woo-stripe-payment')}</p>\r\n <div>\r\n <label>CPF:</label>&nbsp;<span>000.000.000-00</span>\r\n </div>\r\n <div>\r\n <label>CNPJ:</label>&nbsp;<span>00.000.000/0000-00</span>\r\n </div>\r\n </div>}\r\n {!isTestMode() &&\r\n <div className=\"wc-stripe-boleto__description\">\r\n <p>{__('Accepted formats', 'woo-stripe-payment')}</p>\r\n <div>\r\n <label>CPF:</label>&nbsp;\r\n <span>{__('XXX.XXX.XXX-XX or XXXXXXXXXXX', 'woo-stripe-payment')}</span>\r\n </div>\r\n <div>\r\n <label>CNPJ:</label>&nbsp;\r\n <span>{__('XX.XXX.XXX/XXXX-XX or XXXXXXXXXXXXXX', 'woo-stripe-payment')}</span>\r\n </div>\r\n </div>}\r\n <LocalPaymentIntentContent callback={callback} {...{...props, ...{eventRegistration}}}/>\r\n </>\r\n )\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Boleto',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={BoletoPaymentMethodContainer}\r\n getData={getData}\r\n confirmationMethod={'confirmBoletoPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {EpsBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_eps_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'EPS',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmEpsPayment'}\r\n component={EpsBankElement}\r\n getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {FpxBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_fpx_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'FPX',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmIdealPayment'}\r\n component={FpxBankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_giropay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Giropay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmGiropayPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_grabpay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'GrabPay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmGrabPayPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","export * from './use-after-process-local-payment';\r\nexport * from './use-validate-checkout';\r\nexport * from './use-create-source';","import {useEffect, useRef} from '@wordpress/element';\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {ensureErrorResponse, getBillingDetailsFromAddress, StripeError} from \"../../util\";\r\n\r\nexport const useAfterProcessLocalPayment = (\r\n {\r\n getData,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n confirmationMethod,\r\n getPaymentMethodArgs = () => ({})\r\n }\r\n) => {\r\n const stripe = useStripe();\r\n const {onCheckoutAfterProcessingWithSuccess, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const currentBillingData = useRef(billingData);\r\n const currentPaymentMethodArgs = useRef(getPaymentMethodArgs);\r\n useEffect(() => {\r\n currentBillingData.current = billingData;\r\n }, [billingData]);\r\n\r\n useEffect(() => {\r\n currentPaymentMethodArgs.current = getPaymentMethodArgs;\r\n }, [getPaymentMethodArgs]);\r\n\r\n useEffect(() => {\r\n const unsubscribeAfterProcessingWithSuccess = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n if (getData('name') === activePaymentMethod) {\r\n try {\r\n let match = redirectUrl.match(/#response=(.+)/);\r\n if (match) {\r\n let {client_secret, return_url, ...order} = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n let result = await stripe[confirmationMethod](client_secret, {\r\n payment_method: {\r\n billing_details: getBillingDetailsFromAddress(currentBillingData.current),\r\n ...currentPaymentMethodArgs.current(currentBillingData.current)\r\n },\r\n return_url\r\n });\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n window.location = decodeURI(order.order_received_url);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n return ensureErrorResponse(responseTypes, e.error);\r\n }\r\n }\r\n })\r\n return () => unsubscribeAfterProcessingWithSuccess();\r\n }, [\r\n stripe,\r\n onCheckoutAfterProcessingWithSuccess,\r\n onCheckoutAfterProcessingWithError\r\n ]);\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {\r\n getDefaultSourceArgs,\r\n ensureSuccessResponse,\r\n ensureErrorResponse,\r\n StripeError\r\n} from \"../../util\";\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {__} from '@wordpress/i18n';\r\n\r\nexport const useCreateSource = (\r\n {\r\n getData,\r\n billing,\r\n shippingAddress,\r\n onPaymentProcessing,\r\n responseTypes,\r\n getSourceArgs = false,\r\n element = false\r\n }) => {\r\n const [source, setSource] = useState(false);\r\n const [isValid, setIsValid] = useState(false);\r\n const currentValues = useRef({\r\n billing,\r\n shippingAddress,\r\n });\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n useEffect(() => {\r\n currentValues.current = {\r\n billing,\r\n shippingAddress\r\n }\r\n });\r\n\r\n const getSourceArgsInternal = useCallback(() => {\r\n const {billing} = currentValues.current;\r\n const {cartTotal, currency, billingData} = billing;\r\n let args = getDefaultSourceArgs({\r\n type: getData('paymentType'),\r\n amount: cartTotal.value,\r\n billingData,\r\n currency: currency.code,\r\n returnUrl: getData('returnUrl')\r\n });\r\n if (getSourceArgs) {\r\n args = getSourceArgs(args, {billingData});\r\n }\r\n return args;\r\n }, []);\r\n\r\n const getSuccessData = useCallback((sourceId) => {\r\n return {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: sourceId\r\n }\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n if (source) {\r\n return ensureSuccessResponse(responseTypes, getSuccessData(source.id));\r\n }\r\n // create the source\r\n try {\r\n let result;\r\n if (element) {\r\n // validate the element\r\n if (!isValid) {\r\n throw __('Please enter your payment info before proceeding.', 'woo-stripe-payment');\r\n }\r\n result = await stripe.createSource(elements.getElement(element), getSourceArgsInternal());\r\n } else {\r\n result = await stripe.createSource(getSourceArgsInternal());\r\n }\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n setSource(result.source);\r\n return ensureSuccessResponse(responseTypes, getSuccessData(result.source.id));\r\n } catch (err) {\r\n console.log(err);\r\n return ensureErrorResponse(responseTypes, err.error || err);\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n source,\r\n onPaymentProcessing,\r\n stripe,\r\n responseTypes,\r\n element,\r\n isValid,\r\n setIsValid\r\n ]);\r\n return {setIsValid};\r\n}","import {useEffect, useRef, useState} from '@wordpress/element';\r\nimport {ensureErrorResponse} from \"../../util\";\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nexport const useValidateCheckout = (\r\n {\r\n subscriber,\r\n responseTypes,\r\n component = null,\r\n msg = __('Please enter your payment info before proceeding.', 'woo-stripe-payment')\r\n }) => {\r\n const [isValid, setIsValid] = useState(false);\r\n\r\n useEffect(() => {\r\n const unsubscribe = subscriber(() => {\r\n if (component && !isValid) {\r\n return ensureErrorResponse(responseTypes, msg);\r\n }\r\n return true;\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n subscriber,\r\n isValid,\r\n setIsValid,\r\n responseTypes,\r\n component\r\n ]);\r\n return {isValid, setIsValid};\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {IdealBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_ideal_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Ideal',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmIdealPayment'}\r\n component={IdealBankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import './klarna';\r\nimport './ideal';\r\nimport './p24';\r\nimport './bancontact';\r\nimport './giropay';\r\nimport './eps';\r\nimport './multibanco';\r\nimport './sepa';\r\nimport './sofort';\r\nimport './wechat';\r\nimport './fpx';\r\nimport './becs';\r\nimport './grabpay';\r\nimport './alipay'\r\nimport './afterpay';\r\nimport './boleto';\r\nimport './oxxo';","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, isTestMode} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nconst getData = getSettings('stripe_klarna_data');\r\n\r\nconst KlarnaPaymentMethod = (props) => {\r\n return (\r\n <>\r\n {isTestMode() &&\r\n <div className=\"wc-stripe-klarna__testmode\">\r\n <label>{__('Test mode sms', 'woo-stripe-payment')}:</label>&nbsp;<span>123456</span>\r\n </div>}\r\n <LocalPaymentIntentContent {...props}/>\r\n </>\r\n )\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Klarna',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData, ({settings, billingData, cartTotals}) => {\r\n const {country} = billingData;\r\n const {currency_code: currency} = cartTotals;\r\n const requiredParams = settings('requiredParams');\r\n return [currency] in requiredParams && requiredParams[currency].includes(country);\r\n }),\r\n content: <PaymentMethod\r\n content={KlarnaPaymentMethod}\r\n getData={getData}\r\n confirmationMethod={'confirmKlarnaPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {useCallback} from '@wordpress/element';\r\nimport {useElements, Elements} from \"@stripe/react-stripe-js\";\r\nimport {initStripe as loadStripe, cartContainsSubscription, cartContainsPreOrder} from '../util'\r\nimport {useAfterProcessLocalPayment, useValidateCheckout, useCreateSource} from \"./hooks\";\r\nimport {useProcessCheckoutError} from \"../hooks\";\r\n\r\n/**\r\n * Return true if the local payment method can be used.\r\n * @param settings\r\n * @returns {function({billingData: *, [p: string]: *}): *}\r\n */\r\nexport const canMakePayment = (settings, callback = false) => ({billingData, cartTotals, ...props}) => {\r\n const {currency_code} = cartTotals;\r\n const {country} = billingData;\r\n const countries = settings('countries');\r\n const type = settings('allowedCountries');\r\n const supports = settings('features');\r\n let canMakePayment = false;\r\n if (settings('isAdmin')) {\r\n canMakePayment = true;\r\n } else {\r\n // Check if there are any subscriptions or pre-orders in the cart.\r\n if (cartContainsSubscription() && !supports.includes('subscriptions')) {\r\n return false;\r\n } else if (cartContainsPreOrder() && !supports.includes('pre-orders')) {\r\n return false;\r\n }\r\n if (settings('currencies').includes(currency_code)) {\r\n if (type === 'all_except') {\r\n canMakePayment = !settings('exceptCountries').includes(country);\r\n } else if (type === 'specific') {\r\n canMakePayment = settings('specificCountries').includes(country);\r\n } else {\r\n canMakePayment = countries.length > 0 ? countries.includes(country) : true;\r\n }\r\n }\r\n if (callback && canMakePayment) {\r\n canMakePayment = callback({settings, billingData, cartTotals, ...props});\r\n }\r\n }\r\n return canMakePayment;\r\n}\r\n\r\nexport const LocalPaymentIntentContent = ({getData, ...props}) => {\r\n return (\r\n <Elements stripe={loadStripe} options={getData('elementOptions')}>\r\n <LocalPaymentIntentMethod {...{...props, getData}}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nexport const LocalPaymentSourceContent = (props) => {\r\n return (\r\n <Elements stripe={loadStripe}>\r\n <LocalPaymentSourceMethod {...props}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nconst LocalPaymentSourceMethod = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n getSourceArgs = false,\r\n element = false\r\n }) => {\r\n const {shippingAddress} = shippingData;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const onChange = (event) => {\r\n setIsValid(event.complete);\r\n }\r\n const {setIsValid} = useCreateSource({\r\n getData,\r\n billing,\r\n shippingAddress,\r\n onPaymentProcessing,\r\n responseTypes,\r\n getSourceArgs,\r\n element\r\n });\r\n\r\n if (element) {\r\n return (\r\n <LocalPaymentElementContainer\r\n name={getData('name')}\r\n options={getData('paymentElementOptions')}\r\n onChange={onChange}\r\n element={element}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst LocalPaymentIntentMethod = (\r\n {\r\n getData,\r\n billing,\r\n emitResponse,\r\n eventRegistration,\r\n activePaymentMethod,\r\n confirmationMethod = null,\r\n component = null,\r\n callback = null\r\n }) => {\r\n const elements = useElements();\r\n const {billingData} = billing;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const getPaymentMethodArgs = useCallback((billingData) => {\r\n if (component) {\r\n return {\r\n [getData('paymentType')]: elements.getElement(component)\r\n }\r\n } else if (callback) {\r\n return callback(billingData);\r\n }\r\n return {};\r\n }, [\r\n elements,\r\n callback\r\n ]);\r\n const {setIsValid} = useValidateCheckout({\r\n subscriber: onPaymentProcessing,\r\n responseTypes,\r\n component\r\n }\r\n );\r\n\r\n useAfterProcessLocalPayment({\r\n getData,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n confirmationMethod,\r\n getPaymentMethodArgs\r\n });\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext: noticeContexts.PAYMENT\r\n });\r\n if (component) {\r\n const onChange = (event) => setIsValid(!event.empty)\r\n return (\r\n <LocalPaymentElementContainer\r\n name={getData('name')}\r\n options={getData('paymentElementOptions')}\r\n onChange={onChange}\r\n element={component}\r\n callback={callback}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst LocalPaymentElementContainer = ({name, onChange, element, options, ...props}) => {\r\n const Tag = element;\r\n return (\r\n <div className={`wc-stripe-local-payment-container ${name} ${Tag.displayName}`}>\r\n <Tag options={options} onChange={onChange} {...props}/>\r\n </div>\r\n )\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentSourceContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_multibanco_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'MultiBanco',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod content={LocalPaymentSourceContent} getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentSourceContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {IdealBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_oxxo_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'OXXO',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmOxxoPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {P24BankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_p24_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'P24',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmP24Payment'}\r\n component={P24BankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, cartContainsPreOrder, cartContainsSubscription} from \"../util\";\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from \"./local-payment-method\";\r\nimport {IbanElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_sepa_data');\r\n\r\nconst LocalPaymentMethod = (PaymentMethod) => (props) => {\r\n return (\r\n <>\r\n <PaymentMethod {...props}/>\r\n <div className={'wc-stripe-blocks-mandate sepa-mandate'}\r\n dangerouslySetInnerHTML={{__html: props.getData('mandate')}}/>\r\n </>\r\n )\r\n}\r\n\r\nconst SepaPaymentMethod = LocalPaymentMethod(PaymentMethod);\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'SEPA',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <SepaPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmSepaDebitPayment'}\r\n component={IbanElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\n\r\nconst getData = getSettings('stripe_sofort_data');\r\n\r\nconst getConfirmationArgs = (billingData) => {\r\n return {sofort: {country: billingData.country}};\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Sofort',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmSofortPayment'}\r\n getData={getData}\r\n callback={getConfirmationArgs}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {useEffect, useRef, useState, useCallback} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {\r\n getSettings,\r\n initStripe as loadStripe,\r\n getDefaultSourceArgs,\r\n isAddressValid,\r\n StripeError,\r\n isTestMode,\r\n ensureSuccessResponse,\r\n getErrorMessage,\r\n storeInCache,\r\n getFromCache,\r\n deleteFromCache\r\n} from \"../util\";\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {Elements} from \"@stripe/react-stripe-js\";\r\nimport {useValidateCheckout} from \"./hooks\";\r\nimport {__} from '@wordpress/i18n';\r\n//import QRCode from 'QRCode';\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {useStripeError} from \"../hooks\";\r\n\r\nconst getData = getSettings('stripe_wechat_data');\r\n\r\nconst WeChatComponent = (props) => {\r\n return (\r\n <Elements stripe={loadStripe}>\r\n <WeChatPaymentMethod {...props}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nconst WeChatPaymentMethod = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n components\r\n }) => {\r\n const size = parseInt(getData('qrSize'));\r\n const {responseTypes} = emitResponse;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const {ValidationInputError} = components;\r\n const {isValid, setIsValid} = useValidateCheckout({\r\n subscriber: eventRegistration.onPaymentProcessing,\r\n responseTypes: emitResponse.responseTypes,\r\n msg: __('Please scan your QR code to continue with payment.', 'woo-stripe-payment')\r\n });\r\n\r\n const {source, error, deleteSourceFromStorage} = useCreateSource({\r\n getData,\r\n billing,\r\n responseTypes,\r\n subscriber: onPaymentProcessing\r\n })\r\n\r\n /**\r\n * delete the source from storage once payment is successful.\r\n * If test mode, redirect to the Stripe test url.\r\n * If live mode, redirect to the return Url.\r\n */\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(() => {\r\n deleteSourceFromStorage();\r\n return ensureSuccessResponse(responseTypes);\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n source,\r\n onCheckoutAfterProcessingWithSuccess,\r\n deleteSourceFromStorage\r\n ]);\r\n\r\n useEffect(() => {\r\n if (source) {\r\n setIsValid(true);\r\n }\r\n }, [source]);\r\n\r\n if (source) {\r\n return (\r\n <QRCodeComponent text={source.wechat.qr_code_url} width={size} height={size}/>\r\n );\r\n } else if (error) {\r\n return (\r\n <div className='wechat-validation-error'>\r\n <ValidationInputError errorMessage={getErrorMessage(error)}/>\r\n </div>\r\n );\r\n } else {\r\n // if billing address is not valid\r\n if (!isAddressValid(billing.billingData)) {\r\n return __('Please fill out all the required fields in order to complete the WeChat payment.', 'woo-stripe-payment');\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nconst QRCodeComponent = (\r\n {\r\n text,\r\n width = 128,\r\n height = 128,\r\n colorDark = '#424770',\r\n colorLight = '#f8fbfd',\r\n correctLevel = QRCode.CorrectLevel.H\r\n }) => {\r\n const el = useRef();\r\n useEffect(() => {\r\n new QRCode(el.current, {\r\n text,\r\n width,\r\n height,\r\n colorDark,\r\n colorLight,\r\n correctLevel\r\n })\r\n }, [el]);\r\n return (\r\n <>\r\n <div id='wc-stripe-block-qrcode' ref={el}></div>\r\n {isTestMode() && <p>\r\n {__('Test mode: Click the Place Order button to proceed.', 'woo-stripe-payment')}\r\n </p>}\r\n {!isTestMode() && <p>\r\n {__('Scan the QR code using your WeChat app. Once scanned click the Place Order button.', 'woo-stripe-payment')}\r\n </p>}\r\n </>\r\n )\r\n}\r\n\r\nconst useCreateSource = (\r\n {\r\n getData,\r\n billing,\r\n responseTypes,\r\n subscriber\r\n }) => {\r\n const stripe = useStripe();\r\n const [error, setError] = useStripeError();\r\n const [source, setSource] = useState(getFromCache('wechat:source'));\r\n const createSourceTimeoutId = useRef(null);\r\n const {cartTotal, billingData, currency} = billing;\r\n\r\n useEffect(() => {\r\n const unsubscribe = subscriber(() => {\r\n return ensureSuccessResponse(responseTypes, {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: source.id\r\n }\r\n }\r\n })\r\n });\r\n return () => unsubscribe();\r\n }, [source, subscriber]);\r\n\r\n const createSource = useCallback(async () => {\r\n // validate the billing fields. If valid, create the source.\r\n try {\r\n if (!error && isAddressValid(billingData)) {\r\n let result = await stripe.createSource(getDefaultSourceArgs({\r\n type: getData('paymentType'),\r\n amount: cartTotal.value,\r\n billingData,\r\n currency: currency.code,\r\n returnUrl: getData('returnUrl')\r\n }));\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n setSource(result.source);\r\n storeInCache('wechat:source', result.source);\r\n }\r\n } catch (err) {\r\n console.log('error: ', err);\r\n setError(err.error);\r\n }\r\n }, [\r\n stripe,\r\n source,\r\n cartTotal.value,\r\n billingData,\r\n currency,\r\n error\r\n ]);\r\n const deleteSourceFromStorage = useCallback(() => {\r\n deleteFromCache('wechat:source');\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (stripe && !source) {\r\n // if there is an existing request, cancel it.\r\n clearTimeout(createSourceTimeoutId.current);\r\n createSourceTimeoutId.current = setTimeout(createSource, 1000);\r\n }\r\n }, [\r\n stripe,\r\n source,\r\n createSource\r\n ]);\r\n\r\n return {source, setSource, error, deleteSourceFromStorage};\r\n}\r\n\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'WeChat',\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod content={WeChatComponent} getData={getData}/>,\r\n edit: <PaymentMethod content={WeChatComponent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import './style.scss';\r\n\r\nimport './payment-method';","import {useMemo, useEffect, useRef} from '@wordpress/element';\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\nimport {useBreakpointWidth, useExpressBreakpointWidth} from '../hooks';\r\nimport {Elements, PaymentRequestButtonElement, useStripe} from \"@stripe/react-stripe-js\";\r\nimport {\r\n usePaymentRequest,\r\n useProcessPaymentIntent,\r\n useExportedValues,\r\n useAfterProcessingPayment,\r\n useStripeError\r\n} from '../hooks';\r\n\r\nconst getData = getSettings('stripe_payment_request_data');\r\n\r\nconst PaymentRequestContent = (props) => {\r\n return (\r\n <div className='wc-stripe-payment-request-container'>\r\n <Elements stripe={loadStripe}>\r\n <PaymentRequestButton {...props}/>\r\n </Elements>\r\n </div>\r\n );\r\n}\r\n\r\nconst PaymentRequestButton = (\r\n {\r\n getData,\r\n onClick,\r\n onClose,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n emitResponse,\r\n onSubmit,\r\n activePaymentMethod,\r\n ...props\r\n }) => {\r\n const {onPaymentProcessing} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const stripe = useStripe();\r\n const [error] = useStripeError();\r\n const canPay = (result) => result != null && !result.applePay;\r\n const exportedValues = useExportedValues();\r\n useExpressBreakpointWidth({payment_method: getData('name'), width: 300});\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n exportedValues\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n messageContext: noticeContexts.EXPRESS_PAYMENTS\r\n });\r\n const {paymentRequest} = usePaymentRequest({\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n });\r\n\r\n const options = useMemo(() => {\r\n return {\r\n paymentRequest,\r\n style: {\r\n paymentRequestButton: getData('paymentRequestButton')\r\n }\r\n }\r\n }, [paymentRequest]);\r\n\r\n if (paymentRequest) {\r\n return (\r\n <PaymentRequestButtonElement options={options} onClick={onClick}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst PaymentRequestEdit = ({getData, ...props}) => {\r\n const canvas = useRef();\r\n useEffect(() => {\r\n const scale = window.devicePixelRatio;\r\n canvas.current.width = 20 * scale;\r\n canvas.current.height = 20 * scale;\r\n let ctx = canvas.current.getContext('2d');\r\n ctx.scale(scale, scale);\r\n ctx.beginPath();\r\n ctx.arc(10, 10, 10, 0, 2 * Math.PI);\r\n ctx.fillStyle = '#986fff';\r\n ctx.fill();\r\n });\r\n return (\r\n <div className='payment-request-block-editor'>\r\n <div className={'icon-container'}>\r\n <span>Buy now</span>\r\n <canvas className='PaymentRequestButton-icon' ref={canvas}/>\r\n <i className={'payment-request-arrow'}></i>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: ({cartTotals}) => {\r\n if (getData('isAdmin')) {\r\n return true;\r\n }\r\n const {currency_code: currency, total_price} = cartTotals;\r\n return canMakePayment({\r\n country: getData('countryCode'),\r\n currency: currency.toLowerCase(),\r\n total: {\r\n label: getData('totalLabel'),\r\n amount: parseInt(total_price)\r\n }\r\n }, (result) => result != null && !result.applePay);\r\n },\r\n content: <PaymentRequestContent getData={getData}/>,\r\n edit: <PaymentRequestEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n});","import {useEffect, useCallback} from '@wordpress/element';\r\nimport {initStripe as loadStripe, getSettings, handleCardAction} from '@paymentplugins/stripe/util';\r\n\r\nconst SavedCardComponent = (\r\n {\r\n eventRegistration,\r\n emitResponse,\r\n getData\r\n }) => {\r\n const {onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const {responseTypes} = emitResponse;\r\n const handleSuccessResult = useCallback(async ({redirectUrl}) => {\r\n const stripe = await loadStripe;\r\n return await handleCardAction({redirectUrl, getData, stripe, responseTypes});\r\n }, [onCheckoutAfterProcessingWithSuccess]);\r\n\r\n useEffect(() => {\r\n const unsubscribeOnCheckoutAfterProcessingWithSuccess = onCheckoutAfterProcessingWithSuccess(handleSuccessResult);\r\n return () => unsubscribeOnCheckoutAfterProcessingWithSuccess();\r\n }, [\r\n onCheckoutAfterProcessingWithSuccess\r\n ]);\r\n return null;\r\n}\r\n\r\nexport default SavedCardComponent;\r\n","import {loadStripe} from '@stripe/stripe-js';\r\nimport {getSetting} from '@woocommerce/settings'\r\nimport apiFetch from \"@wordpress/api-fetch\";\r\nimport {getCurrency, formatPrice as wcFormatPrice} from '@woocommerce/price-format';\r\n\r\nconst {publishableKey, stripeParams} = getSetting('stripeGeneralData');\r\nconst messages = getSetting('stripeErrorMessages');\r\nconst countryLocale = getSetting('countryLocale', {});\r\n\r\nconst SHIPPING_OPTION_REGEX = /^([\\w]+)\\:(.+)$/;\r\n\r\nconst routes = getSetting('stripeGeneralData').routes;\r\n\r\nconst creditCardForms = {};\r\n\r\nconst localPaymentMethods = [];\r\n\r\nconst CACHE_PREFIX = 'stripe:';\r\n\r\nconst PAYMENT_REQUEST_ADDRESS_MAPPINGS = {\r\n recipient: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n payerName: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n country: 'country',\r\n addressLine: (address, value) => {\r\n if (value[0]) {\r\n address.address_1 = value[0];\r\n }\r\n if (value[1]) {\r\n address.address_2 = value[1];\r\n }\r\n return address;\r\n },\r\n line1: 'address_1',\r\n line2: 'address_2',\r\n city: 'city',\r\n region: 'state',\r\n state: 'state',\r\n postalCode: 'postcode',\r\n postal_code: 'postcode',\r\n payerEmail: 'email',\r\n payerPhone: 'phone'\r\n}\r\n\r\nexport const initStripe = new Promise((resolve, reject) => {\r\n loadStripe(publishableKey, stripeParams).then(stripe => {\r\n resolve(stripe);\r\n }).catch(err => {\r\n resolve({error: err});\r\n });\r\n});\r\n\r\nexport const registerCreditCardForm = ({id, ...props}) => {\r\n creditCardForms[id] = props;\r\n}\r\n\r\nexport const getCreditCardForm = (id) => {\r\n return creditCardForms.hasOwnProperty(id) ? creditCardForms[id] : {};\r\n}\r\n\r\nexport const getRoute = (route) => {\r\n return routes?.[route] ? routes[route] : console.log(`${route} is not a valid route`);\r\n}\r\n\r\nexport const ensureSuccessResponse = (responseTypes, data = {}) => {\r\n return {type: responseTypes.SUCCESS, ...data};\r\n}\r\n\r\n/**\r\n * Returns a formatted error object used by observers\r\n * @param responseTypes\r\n * @param error\r\n * @returns {{type: *, message: *}}\r\n */\r\nexport const ensureErrorResponse = (responseTypes, error, options = {}) => {\r\n return {type: responseTypes.ERROR, message: getErrorMessage(error), ...options}\r\n};\r\n\r\n/**\r\n * Return a customized error message.\r\n * @param error\r\n */\r\nexport const getErrorMessage = (error) => {\r\n if (typeof error == 'string') {\r\n return error;\r\n }\r\n if (error?.code && messages?.[error.code]) {\r\n return messages[error.code];\r\n }\r\n if (error?.statusCode) {\r\n return messages?.[error.statusCode] ? messages[error.statusCode] : error.statusMessage;\r\n }\r\n return error.message;\r\n}\r\n\r\n/**\r\n * Return a Stripe formatted billing_details object from a WC address\r\n * @param billingAddress\r\n */\r\nexport const getBillingDetailsFromAddress = (billingAddress) => {\r\n let billing_details = {\r\n name: `${billingAddress.first_name} ${billingAddress.last_name}`,\r\n address: {\r\n city: billingAddress.city || null,\r\n country: billingAddress.country || null,\r\n line1: billingAddress.address_1 || null,\r\n line2: billingAddress.address_2 || null,\r\n postal_code: billingAddress.postcode || null,\r\n state: billingAddress.state || null\r\n }\r\n }\r\n if (billingAddress?.phone) {\r\n billing_details.phone = billingAddress.phone;\r\n }\r\n if (billingAddress?.email) {\r\n billing_details.email = billingAddress.email;\r\n }\r\n return billing_details;\r\n}\r\n\r\nexport const getSettings = (name) => (key) => {\r\n if (key) {\r\n return getSetting(name)[key];\r\n }\r\n return getSetting(name);\r\n}\r\n\r\nexport class StripeError extends Error {\r\n constructor(error) {\r\n super(error.message);\r\n this.error = error;\r\n }\r\n}\r\n\r\n/**\r\n * Returns true if the provided value is empty.\r\n * @param value\r\n * @returns {boolean}\r\n */\r\nexport const isEmpty = (value) => {\r\n if (typeof value === 'string') {\r\n return value.length == 0 || value == '';\r\n }\r\n if (Array.isArray(value)) {\r\n return array.length == 0;\r\n }\r\n if (typeof value === 'object') {\r\n return Object.keys(value).length == 0;\r\n }\r\n if (typeof value === 'undefined') {\r\n return true;\r\n }\r\n return true;\r\n}\r\n\r\nexport const removeNumberPrecision = (value, unit) => {\r\n return value / 10 ** unit;\r\n}\r\n\r\n/**\r\n *\r\n * @param address\r\n * @param country\r\n */\r\nexport const isAddressValid = (address, exclude = []) => {\r\n const fields = getLocaleFields(address.country);\r\n for (const [key, value] of Object.entries(address)) {\r\n if (!exclude.includes(key) && fields?.[key] && fields[key].required) {\r\n if (isEmpty(value)) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nexport const getLocaleFields = (country) => {\r\n let localeFields = {...countryLocale.default};\r\n if (country && countryLocale?.[country]) {\r\n localeFields = Object.entries(countryLocale[country]).reduce((locale, [key, value]) => {\r\n locale[key] = {...locale[key], ...value}\r\n return locale;\r\n }, localeFields);\r\n ['phone', 'email'].forEach(key => {\r\n let node = document.getElementById(key);\r\n if (node) {\r\n localeFields[key] = {required: node.required};\r\n }\r\n });\r\n }\r\n return localeFields;\r\n}\r\n\r\n/**\r\n * Return true if the field is required by the cart\r\n * @param field\r\n * @param country\r\n * @returns {boolean|*}\r\n */\r\nexport const isFieldRequired = (field, country = false) => {\r\n const fields = getLocaleFields(country);\r\n return [field] in fields && fields[field].required;\r\n}\r\n\r\nexport const getSelectedShippingOption = (id) => {\r\n const result = id.match(SHIPPING_OPTION_REGEX);\r\n if (result) {\r\n const {1: packageIdx, 2: rate} = result;\r\n return [rate, packageIdx];\r\n }\r\n return [];\r\n}\r\n\r\nexport const hasShippingRates = (shippingRates) => {\r\n return shippingRates.map(rate => {\r\n return rate.shipping_rates.length > 0;\r\n }).filter(Boolean).length > 0;\r\n}\r\n\r\n/**\r\n * Return true if the customer is logged in.\r\n * @param customerId\r\n * @returns {boolean}\r\n */\r\nexport const isUserLoggedIn = (customerId) => {\r\n return customerId > 0;\r\n}\r\n\r\nconst syncPaymentIntentWithOrder = async (order_id, client_secret) => {\r\n try {\r\n await apiFetch({\r\n url: routes['sync/intent'],\r\n method: 'POST',\r\n data: {order_id, client_secret}\r\n })\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nexport const handleCardAction = async (\r\n {\r\n redirectUrl,\r\n responseTypes,\r\n stripe,\r\n getData,\r\n savePaymentMethod = false\r\n }) => {\r\n try {\r\n let match = redirectUrl.match(/#response=(.+)/)\r\n if (match) {\r\n let {client_secret, order_id, order_key} = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n let result = await stripe.handleCardAction(client_secret);\r\n if (result.error) {\r\n syncPaymentIntentWithOrder(order_id, client_secret);\r\n return ensureErrorResponse(responseTypes, result.error);\r\n }\r\n // success so finish processing order then redirect to thank you page\r\n let data = {order_id, order_key, [`${getData('name')}_save_source_key`]: savePaymentMethod};\r\n let response = await apiFetch({\r\n url: getRoute('process/payment'),\r\n method: 'POST',\r\n data\r\n })\r\n if (response.messages) {\r\n return ensureErrorResponse(responseTypes, response.messages);\r\n }\r\n return ensureSuccessResponse(responseTypes, {\r\n redirectUrl: response.redirect\r\n });\r\n } else {\r\n return ensureSuccessResponse(responseTypes);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n return ensureErrorResponse(responseTypes, err);\r\n }\r\n}\r\n\r\n/**\r\n * Convert a payment wallet address to a WC cart address.\r\n * @param address_mappings\r\n * @returns {function(*, *=): {}}\r\n */\r\nexport const toCartAddress = (address_mappings = PAYMENT_REQUEST_ADDRESS_MAPPINGS) => (address, args = {}) => {\r\n const cartAddress = {};\r\n address = {...address, ...filterEmptyValues(args)};\r\n for (let [key, cartKey] of Object.entries(address_mappings)) {\r\n if (address?.[key]) {\r\n if (typeof cartKey === 'function') {\r\n cartKey(cartAddress, address[key]);\r\n } else {\r\n cartAddress[cartKey] = address[key];\r\n }\r\n }\r\n }\r\n return cartAddress;\r\n}\r\n\r\n/**\r\n * Given a WC formatted address, return only the intermediate address values\r\n * @param address\r\n * @param fields\r\n */\r\nexport const getIntermediateAddress = (address, fields = ['city', 'postcode', 'state', 'country']) => {\r\n const intermediateAddress = {};\r\n for (let key of fields) {\r\n intermediateAddress[key] = address[key];\r\n }\r\n return intermediateAddress;\r\n}\r\n\r\n/**\r\n *\r\n * @param values\r\n * @returns {{}|{[p: string]: *}}\r\n */\r\nexport const filterEmptyValues = (values) => {\r\n return Object.keys(values).filter(key => Boolean(values[key])).reduce((obj, key) => ({\r\n ...obj,\r\n [key]: values[key]\r\n }), {});\r\n}\r\n\r\nexport const formatPrice = (price, currencyCode) => {\r\n const {prefix, suffix, decimalSeparator, minorUnit, thousandSeparator} = getCurrency(currencyCode);\r\n if (price == '' || price === undefined) {\r\n return price;\r\n }\r\n\r\n price = typeof price === 'string' ? parseInt(price, 10) : price;\r\n price = price / 10 ** minorUnit;\r\n price = price.toString().replace('.', decimalSeparator);\r\n let fractional = '';\r\n const index = price.indexOf(decimalSeparator);\r\n if (index < 0) {\r\n if (minorUnit > 0) {\r\n price += `${decimalSeparator}${new Array(minorUnit + 1).join('0')}`;\r\n }\r\n } else {\r\n fractional = price.substr(index + 1);\r\n if (fractional.length < minorUnit) {\r\n price += new Array(minorUnit - fractional.length + 1).join('0');\r\n }\r\n }\r\n\r\n // separate out price and decimals so thousands separator can be added.\r\n const match = price.match(new RegExp(`(\\\\d+)\\\\${decimalSeparator}(\\\\d+)`));\r\n if (match) {\r\n ({1: price, 2: fractional} = match);\r\n }\r\n price = price.replace(new RegExp(`\\\\B(?=(\\\\d{3})+(?!\\\\d))`, 'g'), `${thousandSeparator}`);\r\n price = fractional?.length > 0 ? price + decimalSeparator + fractional : price;\r\n price = prefix + price + suffix;\r\n return price;\r\n}\r\n\r\nexport const getShippingOptions = (shippingRates) => {\r\n let options = [];\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n // sort by selected rate\r\n shippingPackage.shipping_rates.sort((rate) => {\r\n return rate.selected ? -1 : 1;\r\n });\r\n let rates = shippingPackage.shipping_rates.map(rate => {\r\n let txt = document.createElement('textarea');\r\n txt.innerHTML = rate.name;\r\n let price = formatPrice(rate.price, rate.currency_code);\r\n return {\r\n id: getShippingOptionId(idx, rate.rate_id),\r\n label: txt.value,\r\n //detail: `${price}`,\r\n amount: parseInt(rate.price, 10)\r\n }\r\n });\r\n options = [...options, ...rates];\r\n });\r\n return options;\r\n}\r\n\r\nexport const getShippingOptionId = (packageId, rateId) => `${packageId}:${rateId}`\r\n\r\nexport const getDisplayItems = (cartItems, {minorUnit}) => {\r\n let items = [];\r\n const keys = ['total_tax', 'total_shipping'];\r\n cartItems.forEach(item => {\r\n if (0 < item.value || (item.key && keys.includes(item.key))) {\r\n items.push({\r\n label: item.label,\r\n pending: false,\r\n amount: item.value\r\n });\r\n }\r\n })\r\n return items;\r\n}\r\n\r\nconst canPay = {};\r\n\r\nexport const canMakePayment = ({country, currency, total}, callback) => {\r\n return new Promise((resolve, reject) => {\r\n const key = [country, currency, total.amount].reduce((key, value) => `${key}-${value}`);\r\n if (!currency) {\r\n return resolve(false);\r\n }\r\n if (key in canPay) {\r\n return resolve(canPay[key]);\r\n }\r\n return initStripe.then(stripe => {\r\n if (stripe.error) {\r\n return reject(stripe.error);\r\n }\r\n const request = stripe.paymentRequest({\r\n country,\r\n currency,\r\n total\r\n });\r\n request.canMakePayment().then(result => {\r\n canPay[key] = callback(result);\r\n return resolve(canPay[key]);\r\n });\r\n }).catch(reject);\r\n });\r\n};\r\n\r\nexport const registerLocalPaymentMethod = (paymentMethod) => {\r\n localPaymentMethods.push(paymentMethod);\r\n}\r\n\r\nexport const getLocalPaymentMethods = () => localPaymentMethods;\r\n\r\nexport const cartContainsPreOrder = () => {\r\n const data = getSetting('stripePaymentData');\r\n return data && data.pre_order;\r\n}\r\n\r\nexport const cartContainsSubscription = () => {\r\n const data = getSetting('stripePaymentData');\r\n return data && data.subscription;\r\n}\r\n\r\nexport const getDefaultSourceArgs = ({type, amount, billingData, currency, returnUrl}) => {\r\n return {\r\n type,\r\n amount,\r\n currency,\r\n owner: getBillingDetailsFromAddress(billingData),\r\n redirect: {\r\n return_url: returnUrl\r\n }\r\n }\r\n}\r\n\r\nexport const isTestMode = () => {\r\n return getSetting('stripeGeneralData').mode === 'test';\r\n}\r\n\r\nconst getCacheKey = (key) => `${CACHE_PREFIX}${key}`;\r\n\r\nexport const storeInCache = (key, value) => {\r\n const exp = Math.floor(new Date().getTime() / 1000) + (60 * 15);\r\n if ('sessionStorage' in window) {\r\n sessionStorage.setItem(getCacheKey(key), JSON.stringify({value, exp}));\r\n }\r\n}\r\n\r\nexport const getFromCache = (key) => {\r\n if ('sessionStorage' in window) {\r\n try {\r\n const item = JSON.parse(sessionStorage.getItem(getCacheKey(key)));\r\n if (item) {\r\n const {value, exp} = item;\r\n if (Math.floor(new Date().getTime() / 1000) > exp) {\r\n deleteFromCache(getCacheKey(key));\r\n } else {\r\n return value;\r\n }\r\n }\r\n } catch (err) {\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport const deleteFromCache = (key) => {\r\n if ('sessionStorage' in window) {\r\n sessionStorage.removeItem(getCacheKey(key));\r\n }\r\n}\r\n\r\nexport const versionCompare = (ver1, ver2, compare) => {\r\n switch (compare) {\r\n case '<':\r\n return ver1 < ver2;\r\n case '>':\r\n return ver1 > ver2;\r\n case '<=':\r\n return ver1 <= ver2;\r\n case '>=':\r\n return ver1 >= ver2;\r\n case '=':\r\n return ver1 == ver2;\r\n }\r\n return false;\r\n}\r\n\r\nexport const isCartPage = () => getSetting('stripeGeneralData').page === 'cart';\r\n\r\nexport const isCheckoutPage = () => getSetting('stripeGeneralData').page === 'checkout';\r\n\r\nexport const isNextActionRequired = (url) => {\r\n let match = url.match(/#response=(.+)/);\r\n let args = null;\r\n if (match) {\r\n args = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n }\r\n return args;\r\n}","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"names":["module","exports","arr","len","length","i","arr2","Array","isArray","arrayLikeToArray","self","ReferenceError","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","fn","this","args","arguments","apply","err","undefined","instance","Constructor","TypeError","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","Class","Reflect","construct","a","push","Function","bind","prototype","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","protoProps","staticProps","obj","_extends","assign","source","hasOwnProperty","call","_getPrototypeOf","o","getPrototypeOf","__proto__","subClass","superClass","create","constructor","__esModule","toString","indexOf","sham","Proxy","Date","e","iter","Symbol","iterator","from","_arr","_n","_d","_e","_s","_i","next","objectWithoutPropertiesLoose","excluded","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","sourceKeys","keys","_typeof","assertThisInitialized","_setPrototypeOf","p","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arrayWithoutHoles","iterableToArray","nonIterableSpread","minLen","n","slice","name","test","isNativeFunction","_wrapNativeSuper","_cache","Map","has","get","set","Wrapper","React","emptyFunction","emptyFunctionWithReset","resetWarningCache","propTypes","shim","propName","componentName","location","propFullName","secret","Error","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","factoryWithThrowingShims","ownKeys","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread2","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","usePrevious","ref","useRef","useEffect","current","isUnknownObject","raw","PLAIN_OBJECT_STR","isEqual","left","right","leftArray","leftPlainObject","leftKeys","rightKeys","keySet","allKeys","l","r","every","extractAllowedOptionsUpdates","options","prevOptions","immutableKeys","reduce","newOptions","isUpdated","includes","console","warn","concat","validateStripe","maybeStripe","elements","createToken","createPaymentMethod","confirmCardPayment","parseStripeProp","isPromise","tag","stripePromise","stripe","ElementsContext","createContext","displayName","Elements","_ref","rawStripeProp","children","parsed","useMemo","_React$useState2","useState","ctx","setContext","isMounted","prevStripe","updates","update","anyStripe","_registerWrapper","registerAppInfo","version","url","createElement","Provider","useElementsContextWithUseCase","useCaseMessage","useCase","parseElementsContext","useContext","ElementsConsumer","_ref2","useCallbackReference","cb","noop","createElementComponent","type","isServer","str","charAt","toUpperCase","Element","id","className","_ref$options","_ref$onBlur","onBlur","_ref$onFocus","onFocus","_ref$onReady","onReady","_ref$onChange","onChange","_ref$onEscape","onEscape","_ref$onClick","onClick","elementRef","domNode","callOnReady","callOnBlur","callOnFocus","callOnClick","callOnChange","callOnEscape","useLayoutEffect","mount","on","destroy","__elementType","window","AuBankAccountElement","CardElement","CardNumberElement","CardExpiryElement","CardCvcElement","FpxBankElement","IbanElement","IdealBankElement","P24BankElement","EpsBankElement","PaymentElement","PaymentRequestButtonElement","LinkAuthenticationElement","ShippingAddressElement","AffirmMessageElement","AfterpayClearpayMessageElement","useElements","useStripe","factory","V3_URL","V3_URL_REGEX","EXISTING_SCRIPT_MESSAGE","initStripe","startTime","registerWrapper","stripePromise$1","params","Stripe","script","scripts","document","querySelectorAll","src","findScript","queryString","advancedFraudSignals","headOrBody","head","body","appendChild","injectScript","addEventListener","loadCalled","loadStripe","_len","_key","now","Installments","paymentMethodName","getCreatePaymentMethodArgs","cardFormComplete","addPaymentMethodData","getPaymentMethod","installments","setInstallments","installment","setInstallment","loading","setLoading","paymentMethod","getRoute","method","data","payment_method_id","payment_method","result","catch","finally","__","Loader","InstallmentOptions","_stripe_installment_plan","isLoading","OPTIONS","disabled","map","dangerouslySetInnerHTML","__html","text","title","icons","components","Label","PaymentMethodLabel","Icons","PaymentMethodIcons","align","getData","content","Content","desc","el","childNodes","classList","add","Description","RadioControlOption","checked","label","event","setValidationError","linkToken","setLinkToken","useCallback","response","token","storeInCache","getFromCache","linkHandler","resolvePopup","openLinkPopup","open","Plaid","clientName","env","product","selectAccount","countryCodes","onSuccess","publicToken","metaData","onExit","getErrorMessage","error_message","onPaymentProcessing","responseTypes","unsubscribe","deleteFromCache","ensureSuccessResponse","meta","paymentMethodData","JSON","stringify","ensureErrorResponse","getSettings","ACHPaymentContent","eventRegistration","emitResponse","onSubmit","onCheckoutAfterProcessingWithError","ValidationInputError","LoadingMask","validationError","useCreateLinkToken","useProcessCheckoutError","subscriber","useInitializePlaid","useProcessPayment","showSpinner","isTestMode","ACHTestModeCredentials","errorMessage","registerPaymentMethod","ariaLabel","canMakePayment","cartTotals","currency_code","PaymentMethod","savedTokenComponent","edit","placeOrderButtonLabel","supports","showSavedCards","showSaveOption","features","ApplePayContent","ApplePayButton","onClose","billing","shippingData","activePaymentMethod","noticeContexts","useStripeError","exportedValues","useExportedValues","useExpressBreakpointWidth","width","setPaymentMethod","useProcessPaymentIntent","useAfterProcessingPayment","messageContext","EXPRESS_PAYMENTS","paymentRequest","usePaymentRequest","canPay","applePay","handleClick","preventDefault","show","style","ApplePayEdit","registerExpressPaymentMethod","currency","total_price","country","toLowerCase","total","amount","parseInt","Bootstrap","CardIcon","htmlFor","registerCreditCardForm","breakpoint","component","classes","focus","empty","invalid","eventChange","onComplete","cardType","setCardType","elementOrder","container","setContainer","getCreditCardForm","CardForm","postalCodeEnabled","elementStatus","setElementOrder","useBreakpointWidth","getCardIconSrc","cloneElement","brand","complete","idx","nextElement","getElement","status","sprintf","SimpleForm","card","cardOptions","postalCode","billingData","postcode","hidePostalCode","isFieldRequired","iconStyle","PaymentElementComponent","cartData","clientSecret","extensions","stripe_cc","formComplete","setFormComplete","installmentsActive","shouldSavePayment","useUpdatePaymentIntent","updatePaymentIntent","PAYMENTS","paymentIntent","fields","billingDetails","wallets","googlePay","CreditCardContent","setError","CreditCardElement","getPaymentMethodArgs","elType","useSetupIntent","cartTotal","setupIntent","removeSetupIntent","Tag","CustomCardForm","StripeCardForm","ErrorBoundary","state","hasError","errorInfo","setState","componentStack","Component","publishableKey","setErrorMessage","checkoutStatus","merchantInfo","merchantId","merchantName","buttonContainer","buttonType","usePaymentsClient","button","removeButton","append","parameters","allowedAuthMethods","allowedCardNetworks","assuranceDetailsRequired","apiVersion","apiVersionMinor","shippingRates","processingCountry","totalPriceLabel","emailRequired","isEmpty","email","allowedPaymentMethods","tokenizationSpecification","gateway","BASE_PAYMENT_METHOD","shippingAddressRequired","needsShipping","transactionInfo","getTransactionInfo","callbackIntents","BASE_PAYMENT_REQUEST","billingAddressRequired","billingAddressParameters","format","phoneNumberRequired","phone","shippingOptionRequired","shippingOptionParameters","getShippingOptionParameters","shippingOptions","cartTotalItems","environment","paymentsClient","setPaymentsClient","setButton","currentBilling","currentShipping","addPaymentEvent","usePaymentEvents","setAddressData","paymentData","billingAddress","isAddressValid","phoneNumber","toCartAddress","shippingAddress","parentElement","firstChild","removeChild","loadPaymentData","parse","tokenizationData","billing_details","getBillingDetailsFromAddress","StripeError","statusCode","log","createButton","paymentOptions","paymentDataCallbacks","onPaymentAuthorized","transactionState","onPaymentDataChanged","shipping","address","shippingOptionData","intermediateAddress","selectedRates","getSelectedShippingOption","addressEqual","getIntermediateAddress","shippingEqual","success","getPaymentRequestUpdate","reason","message","intent","setShippingAddress","setSelectedRates","google","payments","api","PaymentsClient","isReadyToPayRequest","isReadyToPay","GooglePayContent","useErrorMessage","GooglePayEdit","isCartPage","getSetting","countryCode","currencyCode","code","totalPriceStatus","totalPrice","removeNumberPrecision","minorUnit","displayItems","getDisplayItems","newTransactionInfo","newShippingOptionParameters","unit","items","item","price","getShippingOptions","defaultSelectedOptionId","option","shift","shippingPackage","shipping_rates","rate","selected","getShippingOptionId","rate_id","rates","txt","innerHTML","formatPrice","description","first_name","split","join","last_name","pop","address1","address2","locality","administrativeArea","onCheckoutAfterProcessingWithSuccess","unsubscribeAfterProcessingWithSuccess","redirectUrl","handleCardAction","innerWidth","windowWidth","setWindowWith","getMaxWidth","maxWidth","setMaxWidth","clientWidth","remove","handleResize","removeEventListener","getElementById","parentNode","onShippingRateSuccess","onShippingRateFail","onShippingRateSelectSuccess","handler","setHandler","onShippingChanged","paymentEvents","setPaymentEvent","execute","removePaymentEvent","isSelectingRate","shippingRatesLoading","hasShippingRates","unsubscribeShippingRateSuccess","unsubscribeShippingRateSelectSuccess","unsubscribeShippingRateFail","hasInvalidAddress","setPaymentRequest","paymentRequestOptions","pending","requestPayerName","requestPayerEmail","requestPayerPhone","requestShipping","onShippingAddressChange","onShippingOptionChange","onPaymentMethodReceived","updatePaymentEvent","updateWith","shippingOption","paymentResponse","payerName","payerEmail","payerPhone","processingResponse","paymentDetails","stripeErrorMessage","ERROR","paymentType","currentPaymentMethodArgs","getSuccessResponse","paymentMethodId","unsubscribeProcessingPayment","confirmCardSetup","client_secret","setSetupIntent","createSetupIntent","cartContainsPreOrder","cartContainsSubscription","currentData","payment_method_data","confirmPayment","confirmParams","redirect","retrievePaymentIntent","isNextActionRequired","order_id","order_key","messages","isActive","link","setLink","linkData","linkAutofillModal","launch","recipient","stripe_cc_token_key","stripe_cc_save_source_key","LinkComponent","stripe_link_checkout","LinkCheckout","useLink","display","variablesHandler","isAvailable","available","requiredParams","accountCountry","requiredParamObj","isEligible","variables","setVariables","AfterpayPaymentMethod","OrderItemMessaging","cart","context","cartNeedsShipping","currency_minor_unit","TotalsWrapper","settings","LocalPaymentIntentContent","confirmationMethod","registerPlugin","render","ExperimentalOrderMeta","scope","BecsPaymentMethod","taxId","setTaxId","setIsActive","callback","boleto","tax_id","currentBillingData","match","atob","decodeURIComponent","return_url","order","decodeURI","order_received_url","getSourceArgs","setSource","isValid","setIsValid","currentValues","getSourceArgsInternal","getDefaultSourceArgs","returnUrl","getSuccessData","sourceId","createSource","msg","countries","LocalPaymentIntentMethod","LocalPaymentSourceMethod","useCreateSource","LocalPaymentElementContainer","useValidateCheckout","useAfterProcessLocalPayment","PAYMENT","LocalPaymentSourceContent","SepaPaymentMethod","sofort","WeChatComponent","WeChatPaymentMethod","size","deleteSourceFromStorage","QRCodeComponent","wechat","qr_code_url","height","colorDark","colorLight","correctLevel","QRCode","CorrectLevel","H","createSourceTimeoutId","clearTimeout","setTimeout","PaymentRequestContent","PaymentRequestButton","paymentRequestButton","PaymentRequestEdit","canvas","scale","devicePixelRatio","getContext","beginPath","arc","Math","PI","fillStyle","fill","handleSuccessResult","unsubscribeOnCheckoutAfterProcessingWithSuccess","stripeParams","countryLocale","SHIPPING_OPTION_REGEX","routes","creditCardForms","localPaymentMethods","PAYMENT_REQUEST_ADDRESS_MAPPINGS","addressLine","address_1","address_2","line1","line2","city","region","postal_code","route","SUCCESS","statusMessage","exclude","getLocaleFields","entries","required","localeFields","default","locale","field","packageIdx","Boolean","customerId","syncPaymentIntentWithOrder","savePaymentMethod","address_mappings","cartAddress","filterEmptyValues","cartKey","values","getCurrency","prefix","suffix","decimalSeparator","thousandSeparator","fractional","index","replace","substr","RegExp","sort","packageId","rateId","cartItems","pre_order","subscription","owner","mode","getCacheKey","exp","floor","getTime","sessionStorage","setItem","getItem","removeItem","ver1","ver2","compare","page","hasOwn","classNames","argType","inner"],"sourceRoot":""}
1
+ {"version":3,"file":"commons.js","mappings":"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","sources":["webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/construct.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/createClass.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/extends.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/inherits.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/typeof.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://wc_stripe/./node_modules/@stripe/react-stripe-js/dist/react-stripe.umd.js","webpack://wc_stripe/./node_modules/@stripe/stripe-js/dist/stripe.esm.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/installments/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/payment-method-label/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/payment-method/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/radio-option/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-create-link-token.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-initialize-plaid.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-process-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/applepay/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/applepay/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/bootstrap/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/custom-card-form.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/simple/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/stripe-card-form.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/payment-element.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/error-boundary.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/button.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/constants.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-error-message.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-payment-request.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-payments-client.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/util.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-after-process-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-breakpoint-width.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-exported-values.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-payment-events.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-payment-request.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-process-checkout-error.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-process-payment-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-setup-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-stripe-error.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-update-payment-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/hooks/use-link.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/afterpay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/alipay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/bancontact.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/becs.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/boleto.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/eps.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/fpx.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/giropay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/grabpay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-after-process-local-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-create-source.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-validate-checkout.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/ideal.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/klarna.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/local-payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/multibanco.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/oxxo.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/p24.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/sepa.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/sofort.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/wechat.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/payment-request/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/payment-request/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/saved-card-component.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/util.js","webpack://wc_stripe/./node_modules/classnames/index.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeFunction = require(\"./isNativeFunction\");\n\nvar construct = require(\"./construct\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n\t(global = global || self, factory(global.ReactStripe = {}, global.React));\n}(this, (function (exports, React) { 'use strict';\n\n\tReact = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\n\tvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\tvar ReactPropTypesSecret_1 = ReactPropTypesSecret;\n\n\tfunction emptyFunction() {}\n\n\tfunction emptyFunctionWithReset() {}\n\n\temptyFunctionWithReset.resetWarningCache = emptyFunction;\n\n\tvar factoryWithThrowingShims = function () {\n\t function shim(props, propName, componentName, location, propFullName, secret) {\n\t if (secret === ReactPropTypesSecret_1) {\n\t // It is still safe when called from React.\n\t return;\n\t }\n\n\t var err = 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');\n\t err.name = 'Invariant Violation';\n\t throw err;\n\t }\n\t shim.isRequired = shim;\n\n\t function getShim() {\n\t return shim;\n\t }\n\t // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\n\t var ReactPropTypes = {\n\t array: shim,\n\t bool: shim,\n\t func: shim,\n\t number: shim,\n\t object: shim,\n\t string: shim,\n\t symbol: shim,\n\t any: shim,\n\t arrayOf: getShim,\n\t element: shim,\n\t elementType: shim,\n\t instanceOf: getShim,\n\t node: shim,\n\t objectOf: getShim,\n\t oneOf: getShim,\n\t oneOfType: getShim,\n\t shape: getShim,\n\t exact: getShim,\n\t checkPropTypes: emptyFunctionWithReset,\n\t resetWarningCache: emptyFunction\n\t };\n\t ReactPropTypes.PropTypes = ReactPropTypes;\n\t return ReactPropTypes;\n\t};\n\n\tvar propTypes = createCommonjsModule(function (module) {\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t{\n\t // By explicitly using `prop-types` you are opting into new production behavior.\n\t // http://fb.me/prop-types-in-prod\n\t module.exports = factoryWithThrowingShims();\n\t}\n\t});\n\n\tfunction ownKeys(object, enumerableOnly) {\n\t var keys = Object.keys(object);\n\n\t if (Object.getOwnPropertySymbols) {\n\t var symbols = Object.getOwnPropertySymbols(object);\n\n\t if (enumerableOnly) {\n\t symbols = symbols.filter(function (sym) {\n\t return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n\t });\n\t }\n\n\t keys.push.apply(keys, symbols);\n\t }\n\n\t return keys;\n\t}\n\n\tfunction _objectSpread2(target) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t var source = arguments[i] != null ? arguments[i] : {};\n\n\t if (i % 2) {\n\t ownKeys(Object(source), true).forEach(function (key) {\n\t _defineProperty(target, key, source[key]);\n\t });\n\t } else if (Object.getOwnPropertyDescriptors) {\n\t Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n\t } else {\n\t ownKeys(Object(source)).forEach(function (key) {\n\t Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n\t });\n\t }\n\t }\n\n\t return target;\n\t}\n\n\tfunction _typeof(obj) {\n\t \"@babel/helpers - typeof\";\n\n\t if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n\t _typeof = function (obj) {\n\t return typeof obj;\n\t };\n\t } else {\n\t _typeof = function (obj) {\n\t return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n\t };\n\t }\n\n\t return _typeof(obj);\n\t}\n\n\tfunction _defineProperty(obj, key, value) {\n\t if (key in obj) {\n\t Object.defineProperty(obj, key, {\n\t value: value,\n\t enumerable: true,\n\t configurable: true,\n\t writable: true\n\t });\n\t } else {\n\t obj[key] = value;\n\t }\n\n\t return obj;\n\t}\n\n\tfunction _slicedToArray(arr, i) {\n\t return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n\t}\n\n\tfunction _arrayWithHoles(arr) {\n\t if (Array.isArray(arr)) return arr;\n\t}\n\n\tfunction _iterableToArrayLimit(arr, i) {\n\t var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n\t if (_i == null) return;\n\t var _arr = [];\n\t var _n = true;\n\t var _d = false;\n\n\t var _s, _e;\n\n\t try {\n\t for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n\t _arr.push(_s.value);\n\n\t if (i && _arr.length === i) break;\n\t }\n\t } catch (err) {\n\t _d = true;\n\t _e = err;\n\t } finally {\n\t try {\n\t if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n\t } finally {\n\t if (_d) throw _e;\n\t }\n\t }\n\n\t return _arr;\n\t}\n\n\tfunction _unsupportedIterableToArray(o, minLen) {\n\t if (!o) return;\n\t if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n\t var n = Object.prototype.toString.call(o).slice(8, -1);\n\t if (n === \"Object\" && o.constructor) n = o.constructor.name;\n\t if (n === \"Map\" || n === \"Set\") return Array.from(o);\n\t if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n\t}\n\n\tfunction _arrayLikeToArray(arr, len) {\n\t if (len == null || len > arr.length) len = arr.length;\n\n\t for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n\t return arr2;\n\t}\n\n\tfunction _nonIterableRest() {\n\t throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n\t}\n\n\tvar usePrevious = function usePrevious(value) {\n\t var ref = React.useRef(value);\n\t React.useEffect(function () {\n\t ref.current = value;\n\t }, [value]);\n\t return ref.current;\n\t};\n\n\tvar isUnknownObject = function isUnknownObject(raw) {\n\t return raw !== null && _typeof(raw) === 'object';\n\t};\n\tvar isPromise = function isPromise(raw) {\n\t return isUnknownObject(raw) && typeof raw.then === 'function';\n\t}; // We are using types to enforce the `stripe` prop in this lib,\n\t// but in an untyped integration `stripe` could be anything, so we need\n\t// to do some sanity validation to prevent type errors.\n\n\tvar isStripe = function isStripe(raw) {\n\t return isUnknownObject(raw) && typeof raw.elements === 'function' && typeof raw.createToken === 'function' && typeof raw.createPaymentMethod === 'function' && typeof raw.confirmCardPayment === 'function';\n\t};\n\n\tvar PLAIN_OBJECT_STR = '[object Object]';\n\tvar isEqual = function isEqual(left, right) {\n\t if (!isUnknownObject(left) || !isUnknownObject(right)) {\n\t return left === right;\n\t }\n\n\t var leftArray = Array.isArray(left);\n\t var rightArray = Array.isArray(right);\n\t if (leftArray !== rightArray) return false;\n\t var leftPlainObject = Object.prototype.toString.call(left) === PLAIN_OBJECT_STR;\n\t var rightPlainObject = Object.prototype.toString.call(right) === PLAIN_OBJECT_STR;\n\t if (leftPlainObject !== rightPlainObject) return false; // not sure what sort of special object this is (regexp is one option), so\n\t // fallback to reference check.\n\n\t if (!leftPlainObject && !leftArray) return left === right;\n\t var leftKeys = Object.keys(left);\n\t var rightKeys = Object.keys(right);\n\t if (leftKeys.length !== rightKeys.length) return false;\n\t var keySet = {};\n\n\t for (var i = 0; i < leftKeys.length; i += 1) {\n\t keySet[leftKeys[i]] = true;\n\t }\n\n\t for (var _i = 0; _i < rightKeys.length; _i += 1) {\n\t keySet[rightKeys[_i]] = true;\n\t }\n\n\t var allKeys = Object.keys(keySet);\n\n\t if (allKeys.length !== leftKeys.length) {\n\t return false;\n\t }\n\n\t var l = left;\n\t var r = right;\n\n\t var pred = function pred(key) {\n\t return isEqual(l[key], r[key]);\n\t };\n\n\t return allKeys.every(pred);\n\t};\n\n\tvar extractAllowedOptionsUpdates = function extractAllowedOptionsUpdates(options, prevOptions, immutableKeys) {\n\t if (!isUnknownObject(options)) {\n\t return null;\n\t }\n\n\t return Object.keys(options).reduce(function (newOptions, key) {\n\t var isUpdated = !isUnknownObject(prevOptions) || !isEqual(options[key], prevOptions[key]);\n\n\t if (immutableKeys.includes(key)) {\n\t if (isUpdated) {\n\t console.warn(\"Unsupported prop change: options.\".concat(key, \" is not a mutable property.\"));\n\t }\n\n\t return newOptions;\n\t }\n\n\t if (!isUpdated) {\n\t return newOptions;\n\t }\n\n\t return _objectSpread2(_objectSpread2({}, newOptions || {}), {}, _defineProperty({}, key, options[key]));\n\t }, null);\n\t};\n\n\tvar INVALID_STRIPE_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.'; // We are using types to enforce the `stripe` prop in this lib, but in a real\n\t// integration `stripe` could be anything, so we need to do some sanity\n\t// validation to prevent type errors.\n\n\tvar validateStripe = function validateStripe(maybeStripe) {\n\t if (maybeStripe === null || isStripe(maybeStripe)) {\n\t return maybeStripe;\n\t }\n\n\t throw new Error(INVALID_STRIPE_ERROR);\n\t};\n\n\tvar parseStripeProp = function parseStripeProp(raw) {\n\t if (isPromise(raw)) {\n\t return {\n\t tag: 'async',\n\t stripePromise: Promise.resolve(raw).then(validateStripe)\n\t };\n\t }\n\n\t var stripe = validateStripe(raw);\n\n\t if (stripe === null) {\n\t return {\n\t tag: 'empty'\n\t };\n\t }\n\n\t return {\n\t tag: 'sync',\n\t stripe: stripe\n\t };\n\t};\n\n\tvar ElementsContext = /*#__PURE__*/React.createContext(null);\n\tElementsContext.displayName = 'ElementsContext';\n\tvar parseElementsContext = function parseElementsContext(ctx, useCase) {\n\t if (!ctx) {\n\t throw new Error(\"Could not find Elements context; You need to wrap the part of your app that \".concat(useCase, \" in an <Elements> provider.\"));\n\t }\n\n\t return ctx;\n\t};\n\t/**\n\t * The `Elements` provider allows you to use [Element components](https://stripe.com/docs/stripe-js/react#element-components) and access the [Stripe object](https://stripe.com/docs/js/initializing) in any nested component.\n\t * Render an `Elements` provider at the root of your React app so that it is available everywhere you need it.\n\t *\n\t * To use the `Elements` provider, call `loadStripe` from `@stripe/stripe-js` with your publishable key.\n\t * The `loadStripe` function will asynchronously load the Stripe.js script and initialize a `Stripe` object.\n\t * Pass the returned `Promise` to `Elements`.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#elements-provider\n\t */\n\n\tvar Elements = function Elements(_ref) {\n\t var rawStripeProp = _ref.stripe,\n\t options = _ref.options,\n\t children = _ref.children;\n\t var parsed = React.useMemo(function () {\n\t return parseStripeProp(rawStripeProp);\n\t }, [rawStripeProp]); // For a sync stripe instance, initialize into context\n\n\t var _React$useState = React.useState(function () {\n\t return {\n\t stripe: parsed.tag === 'sync' ? parsed.stripe : null,\n\t elements: parsed.tag === 'sync' ? parsed.stripe.elements(options) : null\n\t };\n\t }),\n\t _React$useState2 = _slicedToArray(_React$useState, 2),\n\t ctx = _React$useState2[0],\n\t setContext = _React$useState2[1];\n\n\t React.useEffect(function () {\n\t var isMounted = true; // For an async stripePromise, store it in context once resolved\n\n\t if (parsed.tag === 'async' && !ctx.stripe) {\n\t parsed.stripePromise.then(function (stripe) {\n\t if (stripe && isMounted) {\n\t // Only update Elements context if the component is still mounted\n\t // and stripe is not null. We allow stripe to be null to make\n\t // handling SSR easier.\n\t setContext({\n\t stripe: stripe,\n\t elements: stripe.elements(options)\n\t });\n\t }\n\t });\n\t } else if (parsed.tag === 'sync' && !ctx.stripe) {\n\t // Or, handle a sync stripe instance going from null -> populated\n\t setContext({\n\t stripe: parsed.stripe,\n\t elements: parsed.stripe.elements(options)\n\t });\n\t }\n\n\t return function () {\n\t isMounted = false;\n\t };\n\t }, [parsed, ctx, options]); // Warn on changes to stripe prop\n\n\t var prevStripe = usePrevious(rawStripeProp);\n\t React.useEffect(function () {\n\t if (prevStripe !== null && prevStripe !== rawStripeProp) {\n\t console.warn('Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.');\n\t }\n\t }, [prevStripe, rawStripeProp]); // Apply updates to elements when options prop has relevant changes\n\n\t var prevOptions = usePrevious(options);\n\t React.useEffect(function () {\n\t if (!ctx.elements) {\n\t return;\n\t }\n\n\t var updates = extractAllowedOptionsUpdates(options, prevOptions, ['clientSecret', 'fonts']);\n\n\t if (updates) {\n\t ctx.elements.update(updates);\n\t }\n\t }, [options, prevOptions, ctx.elements]); // Attach react-stripe-js version to stripe.js instance\n\n\t React.useEffect(function () {\n\t var anyStripe = ctx.stripe;\n\n\t if (!anyStripe || !anyStripe._registerWrapper || !anyStripe.registerAppInfo) {\n\t return;\n\t }\n\n\t anyStripe._registerWrapper({\n\t name: 'react-stripe-js',\n\t version: \"1.8.0\"\n\t });\n\n\t anyStripe.registerAppInfo({\n\t name: 'react-stripe-js',\n\t version: \"1.8.0\",\n\t url: 'https://stripe.com/docs/stripe-js/react'\n\t });\n\t }, [ctx.stripe]);\n\t return /*#__PURE__*/React.createElement(ElementsContext.Provider, {\n\t value: ctx\n\t }, children);\n\t};\n\tElements.propTypes = {\n\t stripe: propTypes.any,\n\t options: propTypes.object\n\t};\n\tvar useElementsContextWithUseCase = function useElementsContextWithUseCase(useCaseMessage) {\n\t var ctx = React.useContext(ElementsContext);\n\t return parseElementsContext(ctx, useCaseMessage);\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#useelements-hook\n\t */\n\n\tvar useElements = function useElements() {\n\t var _useElementsContextWi = useElementsContextWithUseCase('calls useElements()'),\n\t elements = _useElementsContextWi.elements;\n\n\t return elements;\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#usestripe-hook\n\t */\n\n\tvar useStripe = function useStripe() {\n\t var _useElementsContextWi2 = useElementsContextWithUseCase('calls useStripe()'),\n\t stripe = _useElementsContextWi2.stripe;\n\n\t return stripe;\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#elements-consumer\n\t */\n\n\tvar ElementsConsumer = function ElementsConsumer(_ref2) {\n\t var children = _ref2.children;\n\t var ctx = useElementsContextWithUseCase('mounts <ElementsConsumer>'); // Assert to satisfy the busted React.FC return type (it should be ReactNode)\n\n\t return children(ctx);\n\t};\n\tElementsConsumer.propTypes = {\n\t children: propTypes.func.isRequired\n\t};\n\n\tvar useCallbackReference = function useCallbackReference(cb) {\n\t var ref = React.useRef(cb);\n\t React.useEffect(function () {\n\t ref.current = cb;\n\t }, [cb]);\n\t return function () {\n\t if (ref.current) {\n\t ref.current.apply(ref, arguments);\n\t }\n\t };\n\t};\n\n\tvar noop = function noop() {};\n\n\tvar capitalized = function capitalized(str) {\n\t return str.charAt(0).toUpperCase() + str.slice(1);\n\t};\n\n\tvar createElementComponent = function createElementComponent(type, isServer) {\n\t var displayName = \"\".concat(capitalized(type), \"Element\");\n\n\t var ClientElement = function ClientElement(_ref) {\n\t var id = _ref.id,\n\t className = _ref.className,\n\t _ref$options = _ref.options,\n\t options = _ref$options === void 0 ? {} : _ref$options,\n\t _ref$onBlur = _ref.onBlur,\n\t onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,\n\t _ref$onFocus = _ref.onFocus,\n\t onFocus = _ref$onFocus === void 0 ? noop : _ref$onFocus,\n\t _ref$onReady = _ref.onReady,\n\t onReady = _ref$onReady === void 0 ? noop : _ref$onReady,\n\t _ref$onChange = _ref.onChange,\n\t onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n\t _ref$onEscape = _ref.onEscape,\n\t onEscape = _ref$onEscape === void 0 ? noop : _ref$onEscape,\n\t _ref$onClick = _ref.onClick,\n\t onClick = _ref$onClick === void 0 ? noop : _ref$onClick;\n\n\t var _useElementsContextWi = useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\")),\n\t elements = _useElementsContextWi.elements;\n\n\t var elementRef = React.useRef(null);\n\t var domNode = React.useRef(null);\n\t var callOnReady = useCallbackReference(onReady);\n\t var callOnBlur = useCallbackReference(onBlur);\n\t var callOnFocus = useCallbackReference(onFocus);\n\t var callOnClick = useCallbackReference(onClick);\n\t var callOnChange = useCallbackReference(onChange);\n\t var callOnEscape = useCallbackReference(onEscape);\n\t React.useLayoutEffect(function () {\n\t if (elementRef.current == null && elements && domNode.current != null) {\n\t var element = elements.create(type, options);\n\t elementRef.current = element;\n\t element.mount(domNode.current);\n\t element.on('ready', function () {\n\t return callOnReady(element);\n\t });\n\t element.on('change', callOnChange);\n\t element.on('blur', callOnBlur);\n\t element.on('focus', callOnFocus);\n\t element.on('escape', callOnEscape); // Users can pass an onClick prop on any Element component\n\t // just as they could listen for the `click` event on any Element,\n\t // but only the PaymentRequestButton will actually trigger the event.\n\n\t element.on('click', callOnClick);\n\t }\n\t });\n\t var prevOptions = usePrevious(options);\n\t React.useEffect(function () {\n\t if (!elementRef.current) {\n\t return;\n\t }\n\n\t var updates = extractAllowedOptionsUpdates(options, prevOptions, ['paymentRequest']);\n\n\t if (updates) {\n\t elementRef.current.update(updates);\n\t }\n\t }, [options, prevOptions]);\n\t React.useLayoutEffect(function () {\n\t return function () {\n\t if (elementRef.current) {\n\t elementRef.current.destroy();\n\t elementRef.current = null;\n\t }\n\t };\n\t }, []);\n\t return /*#__PURE__*/React.createElement(\"div\", {\n\t id: id,\n\t className: className,\n\t ref: domNode\n\t });\n\t }; // Only render the Element wrapper in a server environment.\n\n\n\t var ServerElement = function ServerElement(props) {\n\t // Validate that we are in the right context by calling useElementsContextWithUseCase.\n\t useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n\t var id = props.id,\n\t className = props.className;\n\t return /*#__PURE__*/React.createElement(\"div\", {\n\t id: id,\n\t className: className\n\t });\n\t };\n\n\t var Element = isServer ? ServerElement : ClientElement;\n\t Element.propTypes = {\n\t id: propTypes.string,\n\t className: propTypes.string,\n\t onChange: propTypes.func,\n\t onBlur: propTypes.func,\n\t onFocus: propTypes.func,\n\t onReady: propTypes.func,\n\t onClick: propTypes.func,\n\t options: propTypes.object\n\t };\n\t Element.displayName = displayName;\n\t Element.__elementType = type;\n\t return Element;\n\t};\n\n\tvar isServer = typeof window === 'undefined';\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AuBankAccountElement = createElementComponent('auBankAccount', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardElement = createElementComponent('card', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardNumberElement = createElementComponent('cardNumber', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardExpiryElement = createElementComponent('cardExpiry', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardCvcElement = createElementComponent('cardCvc', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar FpxBankElement = createElementComponent('fpxBank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar IbanElement = createElementComponent('iban', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar IdealBankElement = createElementComponent('idealBank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar P24BankElement = createElementComponent('p24Bank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar EpsBankElement = createElementComponent('epsBank', isServer);\n\tvar PaymentElement = createElementComponent('payment', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar PaymentRequestButtonElement = createElementComponent('paymentRequestButton', isServer);\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar LinkAuthenticationElement = createElementComponent('linkAuthentication', isServer);\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar ShippingAddressElement = createElementComponent('shippingAddress', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AffirmMessageElement = createElementComponent('affirmMessage', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AfterpayClearpayMessageElement = createElementComponent('afterpayClearpayMessage', isServer);\n\n\texports.AffirmMessageElement = AffirmMessageElement;\n\texports.AfterpayClearpayMessageElement = AfterpayClearpayMessageElement;\n\texports.AuBankAccountElement = AuBankAccountElement;\n\texports.CardCvcElement = CardCvcElement;\n\texports.CardElement = CardElement;\n\texports.CardExpiryElement = CardExpiryElement;\n\texports.CardNumberElement = CardNumberElement;\n\texports.Elements = Elements;\n\texports.ElementsConsumer = ElementsConsumer;\n\texports.EpsBankElement = EpsBankElement;\n\texports.FpxBankElement = FpxBankElement;\n\texports.IbanElement = IbanElement;\n\texports.IdealBankElement = IdealBankElement;\n\texports.LinkAuthenticationElement = LinkAuthenticationElement;\n\texports.P24BankElement = P24BankElement;\n\texports.PaymentElement = PaymentElement;\n\texports.PaymentRequestButtonElement = PaymentRequestButtonElement;\n\texports.ShippingAddressElement = ShippingAddressElement;\n\texports.useElements = useElements;\n\texports.useStripe = useStripe;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","var V3_URL = 'https://js.stripe.com/v3';\nvar V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\nvar EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\nvar findScript = function findScript() {\n var scripts = document.querySelectorAll(\"script[src^=\\\"\".concat(V3_URL, \"\\\"]\"));\n\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nvar injectScript = function injectScript(params) {\n var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n var script = document.createElement('script');\n script.src = \"\".concat(V3_URL).concat(queryString);\n var headOrBody = document.head || document.body;\n\n if (!headOrBody) {\n throw new Error('Expected document.body not to be null. Stripe.js requires a <body> element.');\n }\n\n headOrBody.appendChild(script);\n return script;\n};\n\nvar registerWrapper = function registerWrapper(stripe, startTime) {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'stripe-js',\n version: \"1.12.1\",\n startTime: startTime\n });\n};\n\nvar stripePromise = null;\nvar loadScript = function loadScript(params) {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise(function (resolve, reject) {\n if (typeof window === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n var script = findScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n }\n\n script.addEventListener('load', function () {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n });\n script.addEventListener('error', function () {\n reject(new Error('Failed to load Stripe.js'));\n });\n } catch (error) {\n reject(error);\n return;\n }\n });\n return stripePromise;\n};\nvar initStripe = function initStripe(maybeStripe, args, startTime) {\n if (maybeStripe === null) {\n return null;\n }\n\n var stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n};\n\n// own script injection.\n\nvar stripePromise$1 = Promise.resolve().then(function () {\n return loadScript(null);\n});\nvar loadCalled = false;\nstripePromise$1[\"catch\"](function (err) {\n if (!loadCalled) {\n console.warn(err);\n }\n});\nvar loadStripe = function loadStripe() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n loadCalled = true;\n var startTime = Date.now();\n return stripePromise$1.then(function (maybeStripe) {\n return initStripe(maybeStripe, args, startTime);\n });\n};\n\nexport { loadStripe };\n","export * from './payment-method-label';\r\nexport * from './radio-option';\r\nexport * from './payment-method';\r\nexport * from './installments';","import {useState, useRef, useEffect} from '@wordpress/element';\r\nimport {__} from '@wordpress/i18n';\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport classnames from 'classnames';\r\nimport {StripeError, getRoute} from \"../../../payment-methods/util\";\r\nimport './style.scss';\r\n\r\nexport const Installments = (\r\n {\r\n paymentMethodName,\r\n getCreatePaymentMethodArgs = null,\r\n cardFormComplete = false,\r\n addPaymentMethodData = null,\r\n getPaymentMethod\r\n }) => {\r\n const [installments, setInstallments] = useState(null);\r\n const [installment, setInstallment] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const onInstallmentSelected = (e) => {\r\n setInstallment(e.target.value);\r\n if (addPaymentMethodData) {\r\n addPaymentMethodData({_stripe_installment_plan: e.target.value});\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (cardFormComplete) {\r\n // fetch the installments\r\n setLoading(true);\r\n setInstallment('');\r\n\r\n getPaymentMethod().then(async paymentMethod => {\r\n if (paymentMethod) {\r\n // fetch the installment plans\r\n const result = await apiFetch({\r\n url: getRoute('create/payment_intent'),\r\n method: 'POST',\r\n data: {payment_method_id: paymentMethod, payment_method: paymentMethodName}\r\n });\r\n setInstallments(result.installments);\r\n if (Object.keys(result.installments)?.length) {\r\n setInstallment(Object.keys(result.installments)[0]);\r\n }\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n }).finally(() => setLoading(false));\r\n }\r\n }, [cardFormComplete, getPaymentMethod]);\r\n\r\n return (\r\n <div className='wc-stripe-installments__container'>\r\n <label>\r\n {__('Pay in installments:', 'woo-stripe-payment')}\r\n <Loader loading={loading}/>\r\n </label>\r\n <InstallmentOptions\r\n installment={installment}\r\n onChange={onInstallmentSelected}\r\n installments={installments}\r\n isLoading={loading}/>\r\n </div>\r\n )\r\n}\r\n\r\nconst InstallmentOptions = ({installment, installments, onChange, isLoading}) => {\r\n let OPTIONS = null;\r\n if (isLoading) {\r\n OPTIONS = <option value=\"\" disabled>{__('Loading installments...', 'woo-stripe-payment')}</option>\r\n } else {\r\n if (installments === null) {\r\n OPTIONS = <option value=\"\" disabled>{__('Fill out card form for eligibility.', 'woo-stripe-payment')}</option>\r\n } else {\r\n OPTIONS = Object.keys(installments).map(id => {\r\n return <option key={id} value={id} dangerouslySetInnerHTML={{__html: installments[id].text}}/>\r\n });\r\n }\r\n }\r\n return (\r\n <select value={installment} onChange={onChange} className={classnames({loading: isLoading})}>\r\n {OPTIONS}\r\n </select>\r\n );\r\n}\r\n\r\nconst Loader = ({loading}) => {\r\n return (\r\n <div className=\"wc-stripe-installment-loader__container\">\r\n {loading && <div className=\"wc-stripe-installment-loader\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>}\r\n </div>\r\n );\r\n}\r\nexport default Installments;","import './style.scss';\r\n\r\nexport const PaymentMethodLabel = ({title, icons, paymentMethod, ...props}) => {\r\n const {PaymentMethodLabel: Label, PaymentMethodIcons: Icons} = props.components;\r\n if (!Array.isArray(icons)) {\r\n icons = [icons];\r\n }\r\n return (\r\n <span className={`wc-stripe-label-container ${paymentMethod}`}>\r\n <Label text={title}/>\r\n <Icons icons={icons} align='left'/>\r\n </span>\r\n )\r\n}","import {useEffect, useRef} from '@wordpress/element';\r\n\r\nexport const PaymentMethod = ({getData, content, ...props}) => {\r\n const Content = content;\r\n const desc = getData('description');\r\n const el = useRef(null);\r\n useEffect(() => {\r\n if (el.current && el.current.childNodes.length == 0) {\r\n el.current.classList.add('no-content');\r\n }\r\n });\r\n return (\r\n <>\r\n {desc && <Description desc={desc} payment_method={getData('name')}/>}\r\n <div ref={el} className='wc-stripe-blocks-payment-method-content'>\r\n <Content {...{...props, getData}}/>\r\n </div>\r\n </>);\r\n}\r\n\r\nconst Description = ({desc, payment_method}) => {\r\n return (\r\n <div className={`wc-stripe-blocks-payment-method__desc ${payment_method}`}>\r\n <p>{desc}</p>\r\n </div>\r\n )\r\n}","import classnames from 'classnames';\r\n\r\nexport const RadioControlOption = ({checked, onChange, value, label}) => {\r\n return (\r\n <label\r\n className={classnames('wc-stripe-blocks-radio-control__option', {\r\n 'wc-stripe-blocks-radio-control__option-checked': checked\r\n })}>\r\n <input\r\n className='wc-stripe-blocks-radio-control__input'\r\n type='radio'\r\n value={value}\r\n checked={checked}\r\n onChange={(event) => onChange(event.target.value)}/>\r\n <div className='wc-stripe-blocks-radio-control__label'>\r\n <span>{label}</span>\r\n </div>\r\n </label>\r\n )\r\n}\r\n\r\nexport default RadioControlOption;","export * from './use-create-link-token';\r\nexport * from './use-initialize-plaid';\r\nexport * from './use-process-payment';","import {useEffect, useState, useCallback} from '@wordpress/element';\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport {getRoute, getFromCache, storeInCache} from '../../util';\r\n\r\nexport const useCreateLinkToken = (\r\n {\r\n setValidationError\r\n }) => {\r\n const [linkToken, setLinkToken] = useState(false);\r\n\r\n const createToken = useCallback(async () => {\r\n try {\r\n const response = await apiFetch({\r\n url: getRoute('create/linkToken'),\r\n method: 'POST',\r\n data: {}\r\n });\r\n if (response.token) {\r\n storeInCache('linkToken', response.token);\r\n setLinkToken(response.token);\r\n }\r\n } catch (err) {\r\n setValidationError(err);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!linkToken) {\r\n const token = getFromCache('linkToken');\r\n if (token) {\r\n // cached token exist so use it\r\n setLinkToken(token);\r\n } else {\r\n // create the Plaid Link token\r\n createToken();\r\n }\r\n }\r\n }, [\r\n linkToken,\r\n setLinkToken\r\n ]);\r\n return linkToken;\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport Plaid from '@plaid';\r\nimport {getErrorMessage} from \"../../util\";\r\n\r\nexport const useInitializePlaid = (\r\n {\r\n getData,\r\n linkToken\r\n }) => {\r\n const linkHandler = useRef(null);\r\n const resolvePopup = useRef(null);\r\n const openLinkPopup = useCallback(() => new Promise((resolve, reject) => {\r\n resolvePopup.current = {resolve, reject};\r\n linkHandler.current.open();\r\n }), []);\r\n\r\n // if the token exists, initialize Plaid's link handler\r\n useEffect(() => {\r\n if (linkToken) {\r\n linkHandler.current = Plaid.create({\r\n clientName: getData('clientName'),\r\n env: getData('plaidEnvironment'),\r\n product: ['auth'],\r\n token: linkToken,\r\n selectAccount: true,\r\n countryCodes: ['US'],\r\n onSuccess: (publicToken, metaData) => {\r\n resolvePopup.current.resolve({publicToken, metaData});\r\n },\r\n onExit: (err) => {\r\n resolvePopup.current.reject(err ? getErrorMessage(err.error_message) : false);\r\n }\r\n });\r\n }\r\n }, [linkToken]);\r\n\r\n return openLinkPopup;\r\n}","import {useEffect, useCallback} from '@wordpress/element';\r\nimport {ensureSuccessResponse, ensureErrorResponse, deleteFromCache} from \"../../util\";\r\n\r\nexport const useProcessPayment = (\r\n {\r\n openLinkPopup,\r\n onPaymentProcessing,\r\n responseTypes,\r\n paymentMethod\r\n\r\n }) => {\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n try {\r\n // open the Plaid popup\r\n const result = await openLinkPopup();\r\n const {publicToken, metaData} = result;\r\n // remove the cached link token.\r\n deleteFromCache('linkToken');\r\n return ensureSuccessResponse(responseTypes, {\r\n meta: {\r\n paymentMethodData: {\r\n [`${paymentMethod}_token_key`]: publicToken,\r\n [`${paymentMethod}_metadata`]: JSON.stringify(metaData)\r\n }\r\n }\r\n });\r\n } catch (err) {\r\n return ensureErrorResponse(responseTypes, err);\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onPaymentProcessing,\r\n responseTypes,\r\n openLinkPopup\r\n ]);\r\n}","import './styles.scss';\r\nimport './payment-method'","import {useState} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, isTestMode} from '../util';\r\nimport {PaymentMethodLabel, PaymentMethod} from '../../components/checkout';\r\nimport SavedCardComponent from '../saved-card-component';\r\nimport {useCreateLinkToken, useInitializePlaid, useProcessPayment} from './hooks';\r\nimport {useProcessCheckoutError} from \"../hooks\";\r\nimport {__} from '@wordpress/i18n';\r\n\r\nconst getData = getSettings('stripe_ach_data');\r\n\r\nconst ACHPaymentContent = (\r\n {\r\n getData,\r\n eventRegistration,\r\n components,\r\n emitResponse,\r\n onSubmit,\r\n ...props\r\n }) => {\r\n const {responseTypes} = emitResponse;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {ValidationInputError, LoadingMask} = components;\r\n const [validationError, setValidationError] = useState(false);\r\n\r\n const linkToken = useCreateLinkToken({setValidationError});\r\n\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError\r\n });\r\n\r\n const openLinkPopup = useInitializePlaid({\r\n getData,\r\n linkToken,\r\n onSubmit\r\n });\r\n\r\n useProcessPayment({\r\n openLinkPopup,\r\n onPaymentProcessing,\r\n responseTypes,\r\n paymentMethod: getData('name')\r\n });\r\n return (\r\n <LoadingMask isLoading={!validationError && !linkToken} showSpinner={true}>\r\n {isTestMode && <ACHTestModeCredentials/>}\r\n {validationError && <ValidationInputError errorMessage={validationError}/>}\r\n </LoadingMask>\r\n )\r\n}\r\n\r\nconst ACHTestModeCredentials = () => {\r\n return (\r\n <div className='wc-stripe-blocks-ach__creds'>\r\n <label className='wc-stripe-blocks-ach__creds-label'>{__('Test Credentials', 'woo-stripe-payment')}</label>\r\n <div className='wc-stripe-blocks-ach__username'>\r\n <div>\r\n <strong>{__('username', 'woo-stripe-payment')}</strong>: user_good\r\n </div>\r\n <div>\r\n <strong>{__('password', 'woo-stripe-payment')}</strong>: pass_good\r\n </div>\r\n <div>\r\n <strong>{__('pin', 'woo-stripe-payment')}</strong>: credential_good\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nregisterPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icons')}/>,\r\n ariaLabel: 'ACH Payment',\r\n canMakePayment: ({cartTotals}) => cartTotals.currency_code === 'USD',\r\n content: <PaymentMethod\r\n getData={getData}\r\n content={ACHPaymentContent}/>,\r\n savedTokenComponent: <SavedCardComponent getData={getData}/>,\r\n edit: <ACHPaymentContent getData={getData}/>,\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n})","import './style.scss';\r\n\r\nimport './payment-method';","import {useCallback} from '@wordpress/element';\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\nimport {Elements, PaymentRequestButtonElement, useStripe} from \"@stripe/react-stripe-js\";\r\nimport ErrorBoundary from \"../error-boundary\";\r\nimport {\r\n usePaymentRequest,\r\n useProcessPaymentIntent,\r\n useExportedValues,\r\n useAfterProcessingPayment,\r\n useStripeError,\r\n useExpressBreakpointWidth\r\n} from '../hooks';\r\n\r\nconst getData = getSettings('stripe_applepay_data');\r\n\r\nconst ApplePayContent = (props) => {\r\n return (\r\n <ErrorBoundary>\r\n <div className='wc-stripe-apple-pay-container'>\r\n <Elements stripe={loadStripe}>\r\n <ApplePayButton {...props}/>\r\n </Elements>\r\n </div>\r\n </ErrorBoundary>\r\n );\r\n}\r\n\r\nconst ApplePayButton = (\r\n {\r\n getData,\r\n onClick,\r\n onClose,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n emitResponse,\r\n onSubmit,\r\n activePaymentMethod,\r\n ...props\r\n }) => {\r\n const {onPaymentProcessing} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const stripe = useStripe();\r\n const [error] = useStripeError();\r\n const canPay = (result) => result != null && result.applePay;\r\n const exportedValues = useExportedValues();\r\n useExpressBreakpointWidth({payment_method: getData('name'), width: 300});\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n exportedValues\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n messageContext: noticeContexts.EXPRESS_PAYMENTS\r\n });\r\n const {paymentRequest} = usePaymentRequest({\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n });\r\n\r\n const handleClick = useCallback((e) => {\r\n if (paymentRequest) {\r\n e.preventDefault();\r\n onClick();\r\n paymentRequest.show();\r\n }\r\n }, [paymentRequest, onClick]);\r\n\r\n if (paymentRequest) {\r\n return (\r\n <button\r\n className={`apple-pay-button ${getData('buttonStyle')}`}\r\n style={{\r\n '-apple-pay-button-type': getData('buttonType')\r\n }}\r\n onClick={handleClick}/>\r\n\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst ApplePayEdit = ({getData, ...props}) => {\r\n return (\r\n <div className={'apple-pay-block-editor'}>\r\n <img src={getData('editorIcon')}/>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: ({cartTotals, ...props}) => {\r\n if (getData('isAdmin')) {\r\n return true;\r\n }\r\n const {currency_code: currency, total_price} = cartTotals;\r\n return canMakePayment({\r\n country: getData('countryCode'),\r\n currency: currency.toLowerCase(),\r\n total: {\r\n label: getData('totalLabel'),\r\n amount: parseInt(total_price)\r\n }\r\n }, (result) => result != null && result.applePay);\r\n },\r\n content: <ApplePayContent getData={getData}/>,\r\n edit: <ApplePayEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import './style.scss';\r\nimport {registerCreditCardForm} from \"@paymentplugins/stripe/util\";\r\nimport {CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nconst Bootstrap = ({CardIcon, options, onChange}) => {\r\n return (\r\n <div className='wc-stripe-bootstrap-form'>\r\n <div className='row'>\r\n <div className='col-md-6 mb-3'>\r\n <CardNumberElement className='md-form md-outline stripe-input' options={options['cardNumber']}\r\n onChange={onChange(CardNumberElement)}/>\r\n <label htmlFor=\"stripe-card-number\">{__('Card Number', 'woo-stripe-payment')}</label>\r\n {CardIcon}\r\n </div>\r\n <div className='col-md-3 mb-3'>\r\n <CardExpiryElement className='md-form md-outline stripe-input' options={options['cardExpiry']}\r\n onChange={onChange(CardExpiryElement)}/>\r\n <label htmlFor=\"stripe-exp\">{__('Exp', 'woo-stripe-payment')}</label>\r\n </div>\r\n <div className='col-md-3 mb-3'>\r\n <CardCvcElement className=\"md-form md-outline stripe-input\" options={options['cardCvc']}\r\n onChange={onChange(CardCvcElement)}/>\r\n <label htmlFor=\"stripe-cvv\">{__('CVV', 'woo-stripe-payment')}</label>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterCreditCardForm({\r\n id: 'bootstrap',\r\n breakpoint: 475,\r\n component: <Bootstrap/>\r\n})","import {getCreditCardForm} from \"../../util\";\r\nimport {cloneElement, useRef, useCallback, useEffect, useState} from '@wordpress/element';\r\nimport {useElements, CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {sprintf, __} from '@wordpress/i18n';\r\nimport {useBreakpointWidth} from \"../../hooks\";\r\n\r\nconst classes = {\r\n focus: 'focused',\r\n empty: 'empty',\r\n invalid: 'invalid'\r\n}\r\n\r\nconst CustomCardForm = (\r\n {\r\n getData,\r\n onChange: eventChange,\r\n onComplete\r\n }) => {\r\n const [cardType, setCardType] = useState('');\r\n const elementOrder = useRef([]);\r\n const [container, setContainer] = useState(null);\r\n const elements = useElements();\r\n const id = getData('customForm');\r\n const {component: CardForm = null, breakpoint = 475} = getCreditCardForm(id);\r\n const postalCodeEnabled = getData('postalCodeEnabled');\r\n const options = {};\r\n const elementStatus = useRef({'cardNumber': {}, 'cardExpiry': {}, 'cardCvc': {}});\r\n ['cardNumber', 'cardExpiry', 'cardCvc'].forEach(type => {\r\n options[type] = {\r\n classes,\r\n ...getData('cardOptions'),\r\n ...getData('customFieldOptions')[type],\r\n }\r\n });\r\n const onChange = (element) => {\r\n setElementOrder(element);\r\n return (event) => {\r\n eventChange(event);\r\n elementStatus.current[event.elementType] = event;\r\n if (event.elementType === 'cardNumber') {\r\n if (event.brand === 'unknown') {\r\n setCardType('');\r\n } else {\r\n setCardType(event.brand);\r\n }\r\n }\r\n if (event.complete) {\r\n const idx = elementOrder.current.indexOf(element);\r\n if (elementOrder.current[idx + 1]) {\r\n const nextElement = elementOrder.current[idx + 1];\r\n elements.getElement(nextElement).focus();\r\n }\r\n }\r\n onComplete(isFormComplete());\r\n }\r\n }\r\n\r\n const isFormComplete = () => {\r\n let status = elementStatus.current;\r\n return Object.keys(status).filter(key => !!status[key].complete).length === Object.keys(status).length;\r\n }\r\n\r\n const setElementOrder = useCallback((element) => {\r\n if (!elementOrder.current.includes(element)) {\r\n elementOrder.current.push(element);\r\n }\r\n }, []);\r\n\r\n useBreakpointWidth({name: 'creditCardForm', width: breakpoint, node: container, className: 'small-form'});\r\n\r\n const getCardIconSrc = useCallback((type) => {\r\n for (let id of Object.keys(getData('cards'))) {\r\n if (id === type) {\r\n return getData('cards')[id];\r\n }\r\n }\r\n return '';\r\n }, []);\r\n\r\n if (!CardForm) {\r\n return (\r\n <div className='wc-stripe-custom-form-error'>\r\n <p>{sprintf(__('%s is not a valid blocks Stripe custom form. Please choose another custom form option in the Credit Card Settings.', 'woo-stripe-payment'), getData('customFormLabels')[id])}</p>\r\n </div>\r\n )\r\n }\r\n return (\r\n <div className={`wc-stripe-custom-form ${id}`} ref={setContainer}>\r\n {cloneElement(CardForm, {\r\n postalCodeEnabled,\r\n options,\r\n onChange,\r\n CardIcon: <CardIcon type={cardType} src={getCardIconSrc(cardType)}/>\r\n })}\r\n </div>\r\n )\r\n\r\n}\r\n\r\nconst CardIcon = ({type, src}) => {\r\n if (type) {\r\n return <img className={`wc-stripe-card ${type}`} src={src}/>\r\n }\r\n return null;\r\n}\r\n\r\nexport default CustomCardForm;\r\n","import './style.scss';\r\nimport {registerCreditCardForm} from \"@paymentplugins/stripe/util\";\r\nimport {CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {__} from \"@wordpress/i18n\";\r\nimport {useEffect, useCallback, useRef} from '@wordpress/element';\r\n\r\nconst SimpleForm = ({CardIcon, options, onChange}) => {\r\n useEffect(() => {\r\n }, []);\r\n return (\r\n <div className='wc-stripe-simple-form'>\r\n <div className=\"row\">\r\n <div className=\"field\">\r\n <div className='field-item'>\r\n <CardNumberElement id=\"stripe-card-number\" className=\"input empty\"\r\n options={options['cardNumber']}\r\n onChange={onChange(CardNumberElement)}/>\r\n <label htmlFor=\"stripe-card-number\"\r\n data-tid=\"\">{__('Card Number', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n {CardIcon}\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"field half-width\">\r\n <div className='field-item'>\r\n <CardExpiryElement id=\"stripe-exp\" className=\"input empty\" options={options['cardExpiry']}\r\n onChange={onChange(CardExpiryElement)}/>\r\n <label htmlFor=\"stripe-exp\"\r\n data-tid=\"\">{__('Expiration', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n </div>\r\n </div>\r\n <div className=\"field half-width cvc\">\r\n <div className='field-item'>\r\n <CardCvcElement id=\"stripe-cvv\" className=\"input empty\" options={options['cardCvc']}\r\n onChange={onChange(CardCvcElement)}/>\r\n <label htmlFor=\"stripe-cvv\"\r\n data-tid=\"\">{__('CVV', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterCreditCardForm({\r\n id: 'simple',\r\n component: <SimpleForm/>,\r\n breakpoint: 375\r\n})","import {CardElement} from \"@stripe/react-stripe-js\";\r\nimport {isFieldRequired} from \"../../util\";\r\nimport {useMemo} from '@wordpress/element';\r\n\r\nconst StripeCardForm = ({getData, billing, onChange: eventChange, onComplete}) => {\r\n const elementStatus = {card: {}};\r\n const onChange = (event) => {\r\n eventChange(event);\r\n elementStatus[event.elementType] = event;\r\n onComplete(isFormComplete());\r\n }\r\n const isFormComplete = () => {\r\n return Object.keys(elementStatus).filter(type => !!elementStatus[type].complete).length === Object.keys(elementStatus).length;\r\n }\r\n const cardOptions = useMemo(() => {\r\n return {\r\n ...{\r\n value: {\r\n postalCode: billing?.billingData?.postcode\r\n },\r\n hidePostalCode: isFieldRequired('postcode'),\r\n iconStyle: 'default'\r\n }, ...getData('cardOptions')\r\n };\r\n }, [billing.billingData]);\r\n return (\r\n <div className='wc-stripe-inline-form'>\r\n <CardElement options={cardOptions} onChange={onChange}/>\r\n </div>\r\n )\r\n}\r\n\r\nexport default StripeCardForm;","import './style.scss';\r\n\r\nexport * from './payment-method';\r\n\r\nimport './components/bootstrap';\r\nimport './components/simple';\r\n","import {useEffect, useState, useCallback, useMemo} from '@wordpress/element';\r\nimport {Elements, PaymentElement, useStripe, useElements} from '@stripe/react-stripe-js';\r\nimport {\r\n getSettings,\r\n initStripe as loadStripe\r\n} from '../util';\r\n\r\nimport {Installments} from '../../components/checkout/';\r\n\r\nimport {useProcessCheckoutError, useUpdatePaymentIntent} from \"../hooks\";\r\n\r\n\r\nconst getData = getSettings('stripe_cc_data');\r\n\r\nexport const PaymentElementComponent = ({cartData, ...props}) => {\r\n const clientSecret = cartData?.extensions?.stripe_cc?.clientSecret;\r\n return (\r\n <>\r\n <Elements stripe={loadStripe} options={{...getData('elementOptions'), clientSecret}}>\r\n <CardElement {...props} clientSecret={clientSecret}/>\r\n </Elements>\r\n </>\r\n );\r\n}\r\n\r\nconst CardElement = ({onComplete, clientSecret, ...props}) => {\r\n const [formComplete, setFormComplete] = useState(false);\r\n const installmentsActive = getData('installmentsActive')\r\n const elements = useElements();\r\n const stripe = useStripe();\r\n const {billing: {billingData}, eventRegistration, emitResponse, shouldSavePayment} = props;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const name = getData('name');\r\n const onChange = useCallback((event) => {\r\n setFormComplete(event.complete);\r\n }, []);\r\n const {updatePaymentIntent, addPaymentMethodData} = useUpdatePaymentIntent({\r\n clientSecret,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n shouldSavePayment,\r\n noticeContexts,\r\n name\r\n });\r\n\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext: noticeContexts.PAYMENTS\r\n });\r\n\r\n const getPaymentMethod = useCallback(async () => {\r\n let paymentMethod = null;\r\n const result = await updatePaymentIntent();\r\n if (result?.paymentIntent?.payment_method) {\r\n paymentMethod = result.paymentIntent.payment_method;\r\n }\r\n return paymentMethod;\r\n }, [updatePaymentIntent]);\r\n\r\n const options = {\r\n fields: {\r\n billingDetails: 'never'\r\n },\r\n wallets: {applePay: 'never', googlePay: 'never'}\r\n }\r\n return (\r\n <>\r\n <PaymentElement options={options} onChange={onChange}/>\r\n {installmentsActive && <Installments\r\n paymentMethodName={getData('name')}\r\n stripe={stripe}\r\n cardFormComplete={formComplete}\r\n getPaymentMethod={getPaymentMethod}\r\n addPaymentMethodData={addPaymentMethodData}/>}\r\n </>\r\n )\r\n}\r\n\r\nexport default PaymentElementComponent;","import {useEffect, useState, useCallback, useMemo} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {\r\n initStripe as loadStripe,\r\n getSettings,\r\n} from '../util';\r\nimport {Elements, CardElement, useStripe, useElements, CardNumberElement} from '@stripe/react-stripe-js';\r\nimport {PaymentMethodLabel, PaymentMethod} from '../../components/checkout';\r\nimport SavedCardComponent from '../saved-card-component';\r\nimport CustomCardForm from './components/custom-card-form';\r\nimport StripeCardForm from \"./components/stripe-card-form\";\r\nimport {Installments} from '../../components/checkout';\r\nimport PaymentElementComponent from './payment-element';\r\nimport {\r\n useProcessPaymentIntent,\r\n useAfterProcessingPayment,\r\n useSetupIntent,\r\n useStripeError\r\n} from \"../hooks\";\r\n\r\nconst getData = getSettings('stripe_cc_data');\r\n\r\nconst CreditCardContent = (props) => {\r\n const [error, setError] = useState(false);\r\n useEffect(() => {\r\n loadStripe.catch(error => {\r\n setError(error);\r\n })\r\n }, [setError]);\r\n if (error) {\r\n throw new Error(error);\r\n }\r\n if (getData('isPaymentElement')) {\r\n return (\r\n <PaymentElementComponent {...props}/>\r\n )\r\n }\r\n return (\r\n <Elements stripe={loadStripe} options={getData('elementOptions')}>\r\n <CreditCardElement {...props}/>\r\n </Elements>\r\n );\r\n};\r\n\r\nconst CreditCardElement = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n }) => {\r\n const [error, setError] = useStripeError();\r\n const [formComplete, setFormComplete] = useState(false);\r\n const {onPaymentProcessing} = eventRegistration;\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n const getPaymentMethodArgs = useCallback(() => {\r\n const elType = getData('customFormActive') ? CardNumberElement : CardElement;\r\n return {card: elements.getElement(elType)};\r\n }, [stripe, elements]);\r\n\r\n const {setupIntent, removeSetupIntent} = useSetupIntent({\r\n getData,\r\n cartTotal: billing.cartTotal,\r\n setError\r\n })\r\n\r\n const {getCreatePaymentMethodArgs, addPaymentMethodData} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n error,\r\n onPaymentProcessing,\r\n shouldSavePayment,\r\n setupIntent,\r\n removeSetupIntent,\r\n getPaymentMethodArgs,\r\n activePaymentMethod\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes: emitResponse.responseTypes,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n });\r\n\r\n const onChange = (event) => {\r\n if (event.error) {\r\n setError(event.error);\r\n } else {\r\n setError(false);\r\n }\r\n }\r\n\r\n const getPaymentMethod = useCallback(async () => {\r\n let paymentMethod = null;\r\n const result = await stripe.createPaymentMethod(getCreatePaymentMethodArgs());\r\n if (result?.paymentMethod?.id) {\r\n paymentMethod = result.paymentMethod.id;\r\n }\r\n return paymentMethod;\r\n }, [stripe, getCreatePaymentMethodArgs]);\r\n\r\n const Tag = getData('customFormActive') ? CustomCardForm : StripeCardForm;\r\n return (\r\n <div className='wc-stripe-card-container'>\r\n <Tag {...{getData, billing, onChange}} onComplete={setFormComplete}/>\r\n {getData('installmentsActive') && <Installments\r\n paymentMethodName={getData('name')}\r\n cardFormComplete={formComplete}\r\n addPaymentMethodData={addPaymentMethodData}\r\n getPaymentMethod={getPaymentMethod}/>}\r\n\r\n </div>\r\n );\r\n}\r\n\r\nregisterPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icons')}/>,\r\n ariaLabel: 'Credit Cards',\r\n canMakePayment: () => loadStripe,\r\n content: <PaymentMethod content={CreditCardContent} getData={getData}/>,\r\n savedTokenComponent: <SavedCardComponent getData={getData} method={getData('isPaymentElement') ? 'confirmCardPayment' : 'handleCardAction'}/>,\r\n edit: <PaymentMethod content={CreditCardContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: true,\r\n features: getData('features')\r\n }\r\n})","import {Component} from '@wordpress/element';\r\n\r\nclass ErrorBoundary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {hasError: false, error: null, errorInfo: null};\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n this.setState({\r\n hasError: true,\r\n error,\r\n errorInfo\r\n })\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return (\r\n <>\r\n {this.state.error && <div className='wc-stripe-block-error'>{this.state.error.toString()}</div>}\r\n {this.state.errorInfo &&\r\n <div className='wc-stripe-block-error'>{this.state.errorInfo.componentStack}</div>}\r\n </>\r\n )\r\n }\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;","import {useRef, useEffect} from '@wordpress/element';\r\nimport {usePaymentsClient, usePaymentRequest} from './hooks';\r\nimport {\r\n useProcessPaymentIntent,\r\n useStripeError,\r\n useExportedValues,\r\n useExpressBreakpointWidth, useAfterProcessingPayment\r\n} from '../hooks';\r\nimport {getSettings} from '@paymentplugins/stripe/util';\r\n\r\nconst {publishableKey} = getSettings('stripeGeneralData')();\r\n\r\nconst GooglePayButton = (\r\n {\r\n getData,\r\n setErrorMessage,\r\n billing,\r\n shippingData,\r\n canMakePayment,\r\n checkoutStatus,\r\n eventRegistration,\r\n activePaymentMethod,\r\n onClick,\r\n onClose,\r\n ...props\r\n }) => {\r\n const merchantInfo = {\r\n merchantId: getData('merchantId'),\r\n merchantName: getData('merchantName')\r\n };\r\n const [error, setError] = useStripeError();\r\n const buttonContainer = useRef();\r\n const {onSubmit, emitResponse} = props;\r\n const {onPaymentProcessing} = eventRegistration;\r\n const exportedValues = useExportedValues();\r\n const width = getData('buttonStyle').buttonType === 'long' ? 390 : 300;\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n exportedValues,\r\n onSubmit,\r\n checkoutStatus,\r\n activePaymentMethod\r\n });\r\n\r\n const paymentRequest = usePaymentRequest({\r\n getData,\r\n publishableKey,\r\n merchantInfo,\r\n billing,\r\n shippingData\r\n })\r\n\r\n const {button, removeButton} = usePaymentsClient({\r\n merchantInfo,\r\n paymentRequest,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n canMakePayment,\r\n setErrorMessage,\r\n onSubmit,\r\n setPaymentMethod,\r\n exportedValues,\r\n onClick,\r\n onClose,\r\n getData\r\n });\r\n\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes: emitResponse.responseTypes,\r\n activePaymentMethod\r\n });\r\n\r\n useExpressBreakpointWidth({payment_method: getData('name'), width});\r\n\r\n useEffect(() => {\r\n if (button) {\r\n // prevent button duplicates\r\n removeButton(buttonContainer.current);\r\n buttonContainer.current.append(button);\r\n }\r\n }, [button]);\r\n\r\n return (\r\n <div className='wc-stripe-gpay-button-container' ref={buttonContainer}></div>\r\n )\r\n}\r\n\r\nexport default GooglePayButton;","export const BASE_PAYMENT_METHOD = {\r\n type: 'CARD',\r\n parameters: {\r\n allowedAuthMethods: [\"PAN_ONLY\"],\r\n allowedCardNetworks: [\"AMEX\", \"DISCOVER\", \"INTERAC\", \"JCB\", \"MASTERCARD\", \"VISA\"],\r\n assuranceDetailsRequired: true\r\n }\r\n};\r\n\r\nexport const BASE_PAYMENT_REQUEST = {\r\n apiVersion: 2,\r\n apiVersionMinor: 0\r\n}","export * from './use-payments-client';\r\nexport * from './use-payment-request';\r\nexport * from './use-error-message';","import {useState} from '@wordpress/element';\r\n\r\nexport const useErrorMessage = () => {\r\n const [errorMessage, setErrorMessage] = useState(false);\r\n return {errorMessage, setErrorMessage};\r\n}","import {useState, useEffect, useMemo} from '@wordpress/element';\r\nimport {BASE_PAYMENT_REQUEST, BASE_PAYMENT_METHOD} from \"../constants\";\r\nimport {isEmpty, isFieldRequired} from \"../../util\";\r\nimport {getTransactionInfo, getShippingOptionParameters} from \"../util\";\r\n\r\nexport const usePaymentRequest = ({getData, publishableKey, merchantInfo, billing, shippingData}) => {\r\n const {billingData} = billing;\r\n const {shippingRates} = shippingData;\r\n const {processingCountry, totalPriceLabel} = getData();\r\n\r\n const paymentRequest = useMemo(() => {\r\n let options = {\r\n ...{\r\n emailRequired: isEmpty(billingData.email),\r\n merchantInfo,\r\n allowedPaymentMethods: [{\r\n ...{\r\n type: 'CARD',\r\n tokenizationSpecification: {\r\n type: \"PAYMENT_GATEWAY\",\r\n parameters: {\r\n gateway: 'stripe',\r\n \"stripe:version\": \"2018-10-31\",\r\n \"stripe:publishableKey\": publishableKey\r\n }\r\n }\r\n }, ...BASE_PAYMENT_METHOD\r\n }],\r\n shippingAddressRequired: shippingData.needsShipping,\r\n transactionInfo: getTransactionInfo({\r\n billing,\r\n processingCountry,\r\n totalPriceLabel\r\n }),\r\n callbackIntents: ['PAYMENT_AUTHORIZATION']\r\n }, ...BASE_PAYMENT_REQUEST\r\n };\r\n options.allowedPaymentMethods[0].parameters.billingAddressRequired = true;\r\n options.allowedPaymentMethods[0].parameters.billingAddressParameters = {\r\n format: 'FULL',\r\n phoneNumberRequired: isFieldRequired('phone', billingData.country) && isEmpty(billingData.phone)\r\n };\r\n if (options.shippingAddressRequired) {\r\n options.callbackIntents = [...options.callbackIntents, ...['SHIPPING_ADDRESS', 'SHIPPING_OPTION']];\r\n options.shippingOptionRequired = true;\r\n const shippingOptionParameters = getShippingOptionParameters(shippingRates);\r\n if (shippingOptionParameters.shippingOptions.length > 0) {\r\n options = {...options, shippingOptionParameters};\r\n }\r\n }\r\n return options;\r\n }, [\r\n billing.cartTotal,\r\n billing.cartTotalItems,\r\n billingData,\r\n shippingData\r\n ]);\r\n return paymentRequest;\r\n}","import {useState, useEffect, useCallback, useMemo, useRef} from '@wordpress/element';\r\nimport isShallowEqual from \"@wordpress/is-shallow-equal\";\r\nimport {\r\n getErrorMessage,\r\n getSelectedShippingOption,\r\n getBillingDetailsFromAddress,\r\n isAddressValid,\r\n isEmpty,\r\n StripeError,\r\n getIntermediateAddress\r\n} from \"../../util\";\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {getPaymentRequestUpdate, toCartAddress} from \"../util\";\r\nimport {__} from \"@wordpress/i18n\";\r\nimport {usePaymentEvents} from \"../../hooks\";\r\n\r\nexport const usePaymentsClient = (\r\n {\r\n merchantInfo,\r\n paymentRequest,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n canMakePayment,\r\n setErrorMessage,\r\n setPaymentMethod,\r\n exportedValues,\r\n onClick,\r\n onClose,\r\n getData\r\n }) => {\r\n const {environment} = getData();\r\n const [paymentsClient, setPaymentsClient] = useState();\r\n const [button, setButton] = useState(null);\r\n const currentBilling = useRef(billing);\r\n const currentShipping = useRef(shippingData);\r\n const stripe = useStripe();\r\n const {addPaymentEvent} = usePaymentEvents({\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n });\r\n useEffect(() => {\r\n currentBilling.current = billing;\r\n currentShipping.current = shippingData;\r\n });\r\n\r\n const setAddressData = useCallback((paymentData) => {\r\n if (paymentData?.paymentMethodData?.info?.billingAddress) {\r\n let billingAddress = paymentData.paymentMethodData.info.billingAddress;\r\n if (isAddressValid(currentBilling.current.billingData, ['phone', 'email']) && isEmpty(currentBilling.current.billingData?.phone)) {\r\n billingAddress = {phoneNumber: billingAddress.phoneNumber};\r\n }\r\n exportedValues.billingData = currentBilling.current.billingData = toCartAddress(billingAddress, {email: paymentData.email});\r\n }\r\n if (paymentData?.shippingAddress) {\r\n exportedValues.shippingAddress = toCartAddress(paymentData.shippingAddress);\r\n }\r\n }, [exportedValues, paymentRequest]);\r\n\r\n const removeButton = useCallback((parentElement) => {\r\n while (parentElement.firstChild) {\r\n parentElement.removeChild(parentElement.firstChild);\r\n }\r\n }, [button]);\r\n const handleClick = useCallback(async () => {\r\n onClick();\r\n try {\r\n let paymentData = await paymentsClient.loadPaymentData(paymentRequest);\r\n\r\n // set the address data so it can be used during the checkout process\r\n setAddressData(paymentData);\r\n\r\n const data = JSON.parse(paymentData.paymentMethodData.tokenizationData.token);\r\n\r\n let result = await stripe.createPaymentMethod({\r\n type: 'card',\r\n card: {token: data.id},\r\n billing_details: getBillingDetailsFromAddress(currentBilling.current.billingData)\r\n });\r\n\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n\r\n setPaymentMethod(result.paymentMethod.id);\r\n } catch (err) {\r\n if (err?.statusCode === \"CANCELED\") {\r\n onClose();\r\n } else {\r\n console.log(getErrorMessage(err));\r\n setErrorMessage(getErrorMessage(err));\r\n }\r\n }\r\n }, [\r\n stripe,\r\n paymentsClient,\r\n onClick\r\n ]);\r\n\r\n const createButton = useCallback(async () => {\r\n try {\r\n if (paymentsClient && !button && stripe) {\r\n await canMakePayment;\r\n setButton(paymentsClient.createButton({\r\n onClick: handleClick,\r\n ...getData('buttonStyle')\r\n }));\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, [\r\n stripe,\r\n button,\r\n paymentsClient,\r\n handleClick\r\n ]);\r\n\r\n const paymentOptions = useMemo(() => {\r\n let options = {\r\n environment,\r\n merchantInfo,\r\n paymentDataCallbacks: {\r\n onPaymentAuthorized: () => Promise.resolve({transactionState: \"SUCCESS\"})\r\n }\r\n }\r\n if (paymentRequest.shippingAddressRequired) {\r\n options.paymentDataCallbacks.onPaymentDataChanged = (paymentData) => {\r\n return new Promise((resolve, reject) => {\r\n const shipping = currentShipping.current;\r\n const {shippingAddress: address, shippingOptionData} = paymentData;\r\n const intermediateAddress = toCartAddress(address);\r\n // pass the Promise resolve to a ref so it persists beyond the re-render\r\n const selectedRates = getSelectedShippingOption(shippingOptionData.id);\r\n const addressEqual = isShallowEqual(getIntermediateAddress(shipping.shippingAddress), intermediateAddress);\r\n const shippingEqual = isShallowEqual(shipping.selectedRates, {\r\n [selectedRates[1]]: selectedRates[0]\r\n });\r\n addPaymentEvent('onShippingChanged', (success, {billing, shipping}) => {\r\n if (success) {\r\n resolve(getPaymentRequestUpdate({\r\n billing,\r\n shippingData: {\r\n needsShipping: true,\r\n shippingRates: shipping.shippingRates\r\n },\r\n processingCountry: getData('processingCountry'),\r\n totalPriceLabel: getData('totalPriceLabel')\r\n }))\r\n } else {\r\n resolve({\r\n error: {\r\n reason: 'SHIPPING_ADDRESS_UNSERVICEABLE',\r\n message: __('Your shipping address is not serviceable.', 'woo-stripe-payment'),\r\n intent: 'SHIPPING_ADDRESS'\r\n }\r\n });\r\n }\r\n }, addressEqual && shippingEqual);\r\n currentShipping.current.setShippingAddress({...currentShipping.current.shippingAddress, ...intermediateAddress});\r\n if (shippingOptionData.id !== 'shipping_option_unselected') {\r\n currentShipping.current.setSelectedRates(...selectedRates);\r\n }\r\n })\r\n }\r\n }\r\n return options;\r\n }, [paymentRequest]);\r\n\r\n useEffect(() => {\r\n setPaymentsClient(new google.payments.api.PaymentsClient(paymentOptions));\r\n }, [paymentOptions]);\r\n\r\n useEffect(() => {\r\n createButton();\r\n }, [createButton])\r\n\r\n return {\r\n button,\r\n removeButton\r\n };\r\n}","import './style.scss';\r\n\r\nexport * from './payment-method';","import {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, isCartPage} from '../util';\r\nimport {useErrorMessage} from \"./hooks\";\r\nimport GooglePayButton from './button';\r\nimport {BASE_PAYMENT_METHOD, BASE_PAYMENT_REQUEST} from './constants';\r\nimport google from '@googlepay';\r\nimport {Elements} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_googlepay_data');\r\n\r\nconst canMakePayment = (() => {\r\n const paymentsClient = new google.payments.api.PaymentsClient({\r\n environment: getData('environment'),\r\n merchantInfo: {\r\n merchantId: getData('merchantId'),\r\n merchantName: getData('merchantName')\r\n }\r\n });\r\n const isReadyToPayRequest = {...BASE_PAYMENT_REQUEST, allowedPaymentMethods: [BASE_PAYMENT_METHOD]};\r\n return paymentsClient.isReadyToPay(isReadyToPayRequest).then(() => {\r\n return true;\r\n }).catch(err => {\r\n console.log(err);\r\n return false;\r\n })\r\n})();\r\n\r\nconst GooglePayContent = ({getData, components, ...props}) => {\r\n const {ValidationInputError} = components;\r\n const {errorMessage, setErrorMessage} = useErrorMessage();\r\n return (\r\n <div className='wc-stripe-gpay-container'>\r\n <Elements stripe={loadStripe}>\r\n <GooglePayButton getData={getData}\r\n canMakePayment={canMakePayment}\r\n setErrorMessage={setErrorMessage}\r\n {...props}/>\r\n {errorMessage && <ValidationInputError errorMessage={errorMessage}/>}\r\n </Elements>\r\n </div>\r\n )\r\n}\r\n\r\nconst GooglePayEdit = ({getData, ...props}) => {\r\n const buttonType = getData('buttonStyle').buttonType;\r\n const src = getData('editorIcons')?.[buttonType] || 'long';\r\n return (\r\n <div className={`gpay-block-editor ${buttonType}`}>\r\n <img src={src}/>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: () => {\r\n if (getData('isAdmin')) {\r\n if (isCartPage()) {\r\n return getData('cartCheckoutEnabled');\r\n }\r\n return true;\r\n }\r\n if (isCartPage() && !getData('cartCheckoutEnabled')) {\r\n return false;\r\n }\r\n return loadStripe.then(stripe => {\r\n if (stripe.error) {\r\n return stripe;\r\n }\r\n return canMakePayment;\r\n });\r\n },\r\n content: <GooglePayContent getData={getData}/>,\r\n edit: <GooglePayEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import {getShippingOptionId, removeNumberPrecision, toCartAddress as mapAddressToCartAddress} from \"../util\";\r\nimport {formatPrice} from '../util';\r\nimport {getSetting} from '@woocommerce/settings'\r\n\r\nconst generalData = getSetting('stripeGeneralData');\r\n\r\nconst ADDRESS_MAPPINGS = {\r\n name: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n countryCode: 'country',\r\n address1: 'address_1',\r\n address2: 'address_2',\r\n locality: 'city',\r\n administrativeArea: 'state',\r\n postalCode: 'postcode',\r\n email: 'email',\r\n phoneNumber: 'phone'\r\n}\r\n\r\nexport const getTransactionInfo = ({billing, processingCountry, totalPriceLabel}, status = 'ESTIMATED') => {\r\n const {cartTotal, cartTotalItems, currency} = billing;\r\n const transactionInfo = {\r\n countryCode: processingCountry,\r\n currencyCode: currency.code,\r\n totalPriceStatus: status,\r\n totalPrice: removeNumberPrecision(cartTotal.value, currency.minorUnit).toString(),\r\n displayItems: getDisplayItems(cartTotalItems, currency.minorUnit),\r\n totalPriceLabel\r\n }\r\n return transactionInfo;\r\n}\r\n\r\nexport const getPaymentRequestUpdate = ({billing, shippingData, processingCountry, totalPriceLabel}) => {\r\n const {needsShipping, shippingRates} = shippingData;\r\n let update = {\r\n newTransactionInfo: getTransactionInfo({\r\n billing, processingCountry, totalPriceLabel\r\n }, 'FINAL')\r\n }\r\n if (needsShipping) {\r\n update.newShippingOptionParameters = getShippingOptionParameters(shippingRates);\r\n }\r\n return update;\r\n}\r\n\r\n/**\r\n * Return an array of line item objects\r\n * @param cartTotalItems\r\n * @param unit\r\n * @returns {[]}\r\n */\r\nconst getDisplayItems = (cartTotalItems, unit = 2) => {\r\n let items = [];\r\n const keys = ['total_tax', 'total_shipping'];\r\n cartTotalItems.forEach(item => {\r\n if (0 < item.value || (item.key && keys.includes(item.key))) {\r\n items.push({\r\n label: item.label,\r\n type: 'LINE_ITEM',\r\n price: removeNumberPrecision(item.value, unit).toString()\r\n });\r\n }\r\n })\r\n return items;\r\n}\r\n\r\nexport const getShippingOptionParameters = (shippingRates) => {\r\n const shippingOptions = getShippingOptions(shippingRates);\r\n const shippingOptionIds = shippingOptions.map(option => option.id);\r\n let defaultSelectedOptionId = shippingOptionIds.slice(0, 1).shift();\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n shippingPackage.shipping_rates.forEach(rate => {\r\n if (rate.selected) {\r\n defaultSelectedOptionId = getShippingOptionId(idx, rate.rate_id);\r\n }\r\n });\r\n });\r\n return {\r\n shippingOptions,\r\n defaultSelectedOptionId,\r\n }\r\n}\r\n\r\n//id label description\r\nexport const getShippingOptions = (shippingRates) => {\r\n let options = [];\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n let rates = shippingPackage.shipping_rates.map(rate => {\r\n let txt = document.createElement('textarea');\r\n txt.innerHTML = rate.name;\r\n let price = formatPrice(rate.price, rate.currency_code);\r\n return {\r\n id: getShippingOptionId(idx, rate.rate_id),\r\n label: txt.value,\r\n description: `${price}`\r\n }\r\n });\r\n options = [...options, ...rates];\r\n });\r\n return options;\r\n}\r\n\r\nexport const toCartAddress = mapAddressToCartAddress(ADDRESS_MAPPINGS);\r\n","export * from './use-process-payment-intent';\r\nexport * from './use-after-process-payment';\r\nexport * from './use-setup-intent';\r\nexport * from './use-stripe-error';\r\nexport * from './use-exported-values';\r\nexport * from './use-payment-request';\r\nexport * from './use-payment-events';\r\nexport * from './use-breakpoint-width';\r\nexport * from './use-process-checkout-error';\r\nexport * from './use-update-payment-intent';","import {useEffect} from '@wordpress/element'\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {handleCardAction} from \"../util\";\r\nimport {useProcessCheckoutError} from \"./use-process-checkout-error\";\r\n\r\nexport const useAfterProcessingPayment = (\r\n {\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n shouldSavePayment = false,\r\n messageContext = null\r\n }) => {\r\n const stripe = useStripe();\r\n const {onCheckoutAfterProcessingWithSuccess, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext\r\n });\r\n useEffect(() => {\r\n let unsubscribeAfterProcessingWithSuccess = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n if (getData('name') === activePaymentMethod) {\r\n //check if response is in redirect. If so, open modal\r\n return await handleCardAction({\r\n redirectUrl,\r\n responseTypes,\r\n name: activePaymentMethod,\r\n savePaymentMethod: shouldSavePayment\r\n });\r\n }\r\n return null;\r\n })\r\n return () => unsubscribeAfterProcessingWithSuccess()\r\n }, [\r\n stripe,\r\n responseTypes,\r\n onCheckoutAfterProcessingWithSuccess,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n ]);\r\n}","import {useState, useEffect, useCallback} from '@wordpress/element';\r\nimport {storeInCache, getFromCache} from \"../util\";\r\n\r\nexport const useBreakpointWidth = (\r\n {\r\n name,\r\n width,\r\n node,\r\n className\r\n }) => {\r\n const [windowWidth, setWindowWith] = useState(window.innerWidth);\r\n const getMaxWidth = useCallback((name) => {\r\n const maxWidth = getFromCache(name);\r\n return maxWidth ? parseInt(maxWidth) : 0;\r\n }, []);\r\n const setMaxWidth = useCallback((name, width) => storeInCache(name, width), []);\r\n\r\n useEffect(() => {\r\n const el = typeof node === 'function' ? node() : node;\r\n\r\n if (el) {\r\n const maxWidth = getMaxWidth(name);\r\n if (!maxWidth || width > maxWidth) {\r\n setMaxWidth(name, width);\r\n }\r\n if (el.clientWidth < width) {\r\n el.classList.add(className);\r\n } else {\r\n if (el.clientWidth > maxWidth) {\r\n el.classList.remove(className);\r\n }\r\n }\r\n }\r\n }, [windowWidth, node]);\r\n useEffect(() => {\r\n const handleResize = () => setWindowWith(window.innerWidth);\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n });\r\n}\r\n\r\nexport const useExpressBreakpointWidth = (\r\n {\r\n payment_method,\r\n width\r\n }) => {\r\n const node = useCallback(() => {\r\n const el = document.getElementById(`express-payment-method-${payment_method}`);\r\n return el ? el.parentNode : null;\r\n }, []);\r\n useBreakpointWidth({\r\n name: 'expressMaxWidth',\r\n width,\r\n node,\r\n className: 'wc-stripe-express__sm'\r\n });\r\n\r\n}","import {useRef} from '@wordpress/element';\r\n\r\nexport const useExportedValues = () => {\r\n const exportedValues = useRef({});\r\n return exportedValues.current;\r\n}","import {useEffect, useCallback, useRef, useState} from '@wordpress/element';\r\nimport {hasShippingRates} from '../util';\r\n\r\nexport const usePaymentEvents = (\r\n {\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n }) => {\r\n const {onShippingRateSuccess, onShippingRateFail, onShippingRateSelectSuccess} = eventRegistration;\r\n const currentBilling = useRef(billing);\r\n const currentShipping = useRef(shippingData);\r\n const [handler, setHandler] = useState(null);\r\n const [paymentEvents, setPaymentEvent] = useState({\r\n onShippingChanged: false\r\n });\r\n const addPaymentEvent = useCallback((name, handler, execute = false) => {\r\n if (execute) {\r\n setHandler({[name]: handler});\r\n } else {\r\n setPaymentEvent({...paymentEvents, [name]: handler});\r\n }\r\n }, [paymentEvents, setPaymentEvent]);\r\n const removePaymentEvent = useCallback((name) => {\r\n if (paymentEvents[name]) {\r\n delete paymentEvents[name];\r\n setPaymentEvent(paymentEvents);\r\n }\r\n }, [paymentEvents]);\r\n\r\n const onShippingChanged = useCallback(() => {\r\n const shipping = currentShipping.current;\r\n const billing = currentBilling.current;\r\n if (paymentEvents.onShippingChanged && !shipping.isSelectingRate && !shipping.shippingRatesLoading) {\r\n const handler = paymentEvents.onShippingChanged;\r\n let success = true;\r\n if (!hasShippingRates(shipping.shippingRates)) {\r\n success = false;\r\n }\r\n handler(success, {\r\n billing,\r\n shipping\r\n });\r\n removePaymentEvent('onShippingChanged');\r\n }\r\n }, [paymentEvents, removePaymentEvent]);\r\n\r\n useEffect(() => {\r\n currentBilling.current = billing;\r\n currentShipping.current = shippingData;\r\n });\r\n\r\n useEffect(() => {\r\n if (handler) {\r\n if (handler.onShippingChanged) {\r\n handler.onShippingChanged(true, {\r\n billing: currentBilling.current,\r\n shipping: currentShipping.current\r\n })\r\n setHandler(null);\r\n }\r\n }\r\n }, [handler]);\r\n\r\n useEffect(() => {\r\n const unsubscribeShippingRateSuccess = onShippingRateSuccess(onShippingChanged);\r\n const unsubscribeShippingRateSelectSuccess = onShippingRateSelectSuccess(onShippingChanged);\r\n const unsubscribeShippingRateFail = onShippingRateFail(({hasInvalidAddress, hasError}) => {\r\n if (paymentEvents.onShippingChanged) {\r\n const handler = paymentEvents.onShippingChanged;\r\n handler(false);\r\n removePaymentEvent('onShippingChanged');\r\n }\r\n });\r\n\r\n return () => {\r\n unsubscribeShippingRateSuccess();\r\n unsubscribeShippingRateFail();\r\n unsubscribeShippingRateSelectSuccess();\r\n }\r\n }, [\r\n paymentEvents,\r\n onShippingRateSuccess,\r\n onShippingRateFail,\r\n onShippingRateSelectSuccess\r\n ]);\r\n\r\n return {addPaymentEvent, removePaymentEvent};\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {usePaymentEvents} from './use-payment-events';\r\nimport {getIntermediateAddress} from '../util';\r\nimport isShallowEqual from '@wordpress/is-shallow-equal';\r\nimport {\r\n getDisplayItems,\r\n getShippingOptions,\r\n getSelectedShippingOption,\r\n isFieldRequired,\r\n toCartAddress as mapToCartAddress\r\n} from \"../util\";\r\n\r\nconst toCartAddress = mapToCartAddress();\r\n\r\nexport const usePaymentRequest = (\r\n {\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n }) => {\r\n const {addPaymentEvent} = usePaymentEvents({\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n });\r\n const {shippingAddress, needsShipping, shippingRates} = shippingData;\r\n const {billingData, cartTotalItems, currency, cartTotal} = billing;\r\n const [paymentRequest, setPaymentRequest] = useState(null);\r\n const paymentRequestOptions = useRef({});\r\n const currentShipping = useRef(shippingData)\r\n const currentBilling = useRef(billing);\r\n\r\n useEffect(() => {\r\n currentShipping.current = shippingData;\r\n currentBilling.current = billing;\r\n }, [shippingData]);\r\n\r\n useEffect(() => {\r\n if (stripe) {\r\n const options = {\r\n country: getData('countryCode'),\r\n currency: currency?.code.toLowerCase(),\r\n total: {\r\n amount: cartTotal.value,\r\n label: cartTotal.label,\r\n pending: true\r\n },\r\n requestPayerName: true,\r\n requestPayerEmail: isFieldRequired('email', billingData.country),\r\n requestPayerPhone: isFieldRequired('phone', billingData.country),\r\n requestShipping: needsShipping,\r\n displayItems: getDisplayItems(cartTotalItems, currency)\r\n }\r\n if (options.requestShipping) {\r\n options.shippingOptions = getShippingOptions(shippingRates);\r\n }\r\n paymentRequestOptions.current = options;\r\n const paymentRequest = stripe.paymentRequest(paymentRequestOptions.current);\r\n paymentRequest.canMakePayment().then(result => {\r\n if (canPay(result)) {\r\n setPaymentRequest(paymentRequest);\r\n } else {\r\n setPaymentRequest(null);\r\n }\r\n });\r\n }\r\n }, [\r\n stripe,\r\n cartTotal.value,\r\n billingData.country,\r\n shippingRates,\r\n cartTotalItems,\r\n currency.code\r\n ]);\r\n\r\n useEffect(() => {\r\n if (paymentRequest) {\r\n if (paymentRequestOptions.current.requestShipping) {\r\n paymentRequest.on('shippingaddresschange', onShippingAddressChange);\r\n paymentRequest.on('shippingoptionchange', onShippingOptionChange);\r\n }\r\n paymentRequest.on('cancel', onClose);\r\n paymentRequest.on('paymentmethod', onPaymentMethodReceived);\r\n }\r\n }, [\r\n paymentRequest,\r\n onShippingAddressChange,\r\n onClose,\r\n onPaymentMethodReceived\r\n ]);\r\n\r\n const updatePaymentEvent = useCallback((event) => (success, {billing, shipping}) => {\r\n const {cartTotal, cartTotalItems, currency} = billing;\r\n const {shippingRates} = shipping;\r\n if (success) {\r\n event.updateWith({\r\n status: 'success',\r\n total: {\r\n amount: cartTotal.value,\r\n label: cartTotal.label,\r\n pending: false\r\n },\r\n displayItems: getDisplayItems(cartTotalItems, currency),\r\n shippingOptions: getShippingOptions(shippingRates)\r\n });\r\n } else {\r\n event.updateWith({status: 'invalid_shipping_address'});\r\n }\r\n }, []);\r\n\r\n const onShippingAddressChange = useCallback(event => {\r\n const {shippingAddress} = event;\r\n const shipping = currentShipping.current;\r\n const intermediateAddress = toCartAddress(shippingAddress);\r\n shipping.setShippingAddress({...shipping.shippingAddress, ...intermediateAddress});\r\n const addressEqual = isShallowEqual(getIntermediateAddress(shipping.shippingAddress), intermediateAddress);\r\n addPaymentEvent('onShippingChanged', updatePaymentEvent(event), addressEqual);\r\n }, [addPaymentEvent]);\r\n\r\n const onShippingOptionChange = useCallback(event => {\r\n const {shippingOption} = event;\r\n const shipping = currentShipping.current;\r\n shipping.setSelectedRates(...getSelectedShippingOption(shippingOption.id));\r\n addPaymentEvent('onShippingChanged', updatePaymentEvent(event));\r\n }, [addPaymentEvent]);\r\n\r\n const onPaymentMethodReceived = useCallback((paymentResponse) => {\r\n const {paymentMethod, payerName = null, payerEmail = null, payerPhone = null} = paymentResponse;\r\n // set address data\r\n let billingData = {payerName, payerEmail, payerPhone};\r\n if (paymentMethod?.billing_details.address) {\r\n billingData = toCartAddress(paymentMethod.billing_details.address, billingData);\r\n }\r\n exportedValues.billingData = billingData;\r\n\r\n if (paymentResponse.shippingAddress) {\r\n exportedValues.shippingAddress = toCartAddress(paymentResponse.shippingAddress);\r\n }\r\n\r\n // set payment method\r\n setPaymentMethod(paymentMethod.id);\r\n paymentResponse.complete(\"success\");\r\n }, []);\r\n\r\n return {paymentRequest};\r\n}","import {useEffect} from '@wordpress/element';\r\n\r\nexport const useProcessCheckoutError = (\r\n {\r\n responseTypes,\r\n subscriber,\r\n messageContext = null\r\n }) => {\r\n useEffect(() => {\r\n const unsubscribe = subscriber((data) => {\r\n if (data?.processingResponse.paymentDetails?.stripeErrorMessage) {\r\n return {\r\n type: responseTypes.ERROR,\r\n message: data.processingResponse.paymentDetails.stripeErrorMessage,\r\n messageContext\r\n };\r\n }\r\n return null;\r\n });\r\n return () => unsubscribe();\r\n }, [responseTypes, subscriber]);\r\n}","import {useEffect, useState, useCallback, useRef} from '@wordpress/element';\r\nimport {useStripe} from '@stripe/react-stripe-js';\r\nimport {\r\n ensureSuccessResponse,\r\n ensureErrorResponse,\r\n getBillingDetailsFromAddress,\r\n StripeError\r\n} from '../util';\r\n\r\nexport const useProcessPaymentIntent = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n paymentType = 'card',\r\n setupIntent = null,\r\n removeSetupIntent = null,\r\n shouldSavePayment = false,\r\n exportedValues = {},\r\n getPaymentMethodArgs = () => ({})\r\n }) => {\r\n const {billingData} = billing;\r\n const {shippingAddress} = shippingData;\r\n const {responseTypes} = emitResponse;\r\n const [paymentMethod, setPaymentMethod] = useState(null);\r\n const stripe = useStripe();\r\n const currentPaymentMethodArgs = useRef(getPaymentMethodArgs);\r\n const paymentMethodData = useRef({});\r\n useEffect(() => {\r\n currentPaymentMethodArgs.current = getPaymentMethodArgs;\r\n }, [getPaymentMethodArgs]);\r\n\r\n const addPaymentMethodData = useCallback((data) => {\r\n paymentMethodData.current = {...paymentMethodData.current, ...data};\r\n }, []);\r\n\r\n const getCreatePaymentMethodArgs = useCallback(() => {\r\n const args = {\r\n type: paymentType,\r\n billing_details: getBillingDetailsFromAddress(exportedValues?.billingData ? exportedValues.billingData : billingData)\r\n }\r\n return {...args, ...currentPaymentMethodArgs.current()};\r\n }, [billingData, paymentType, getPaymentMethodArgs]);\r\n\r\n const getSuccessResponse = useCallback((paymentMethodId, shouldSavePayment) => {\r\n const response = {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: paymentMethodId,\r\n [`${getData('name')}_save_source_key`]: shouldSavePayment,\r\n ...paymentMethodData.current\r\n }\r\n }\r\n }\r\n if (exportedValues?.billingData) {\r\n response.meta.billingData = exportedValues.billingData;\r\n }\r\n if (exportedValues?.shippingAddress) {\r\n response.meta.shippingData = {address: exportedValues.shippingAddress};\r\n }\r\n return response;\r\n }, [billingData, shippingAddress]);\r\n\r\n useEffect(() => {\r\n if (paymentMethod && typeof paymentMethod === 'string') {\r\n onSubmit();\r\n }\r\n }, [paymentMethod, onSubmit]);\r\n\r\n useEffect(() => {\r\n const unsubscribeProcessingPayment = onPaymentProcessing(async () => {\r\n if (activePaymentMethod !== getData('name')) {\r\n return null;\r\n }\r\n let [result, paymentMethodId] = [null, null];\r\n try {\r\n if (error) {\r\n throw new StripeError(error);\r\n }\r\n if (setupIntent) {\r\n result = await stripe.confirmCardSetup(setupIntent.client_secret, {\r\n payment_method: getCreatePaymentMethodArgs()\r\n });\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethodId = result.setupIntent.payment_method;\r\n removeSetupIntent();\r\n } else {\r\n // payment method has already been created.\r\n if (paymentMethod) {\r\n paymentMethodId = paymentMethod;\r\n } else {\r\n //create the payment method\r\n result = await stripe.createPaymentMethod(getCreatePaymentMethodArgs());\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethodId = result.paymentMethod.id;\r\n }\r\n }\r\n return ensureSuccessResponse(responseTypes, getSuccessResponse(paymentMethodId, shouldSavePayment));\r\n } catch (e) {\r\n console.log(e);\r\n setPaymentMethod(null);\r\n return ensureErrorResponse(responseTypes, e.error);\r\n }\r\n\r\n });\r\n return () => unsubscribeProcessingPayment();\r\n }, [\r\n paymentMethod,\r\n billingData,\r\n onPaymentProcessing,\r\n stripe,\r\n setupIntent,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n ]);\r\n return {\r\n setPaymentMethod,\r\n getCreatePaymentMethodArgs,\r\n addPaymentMethodData\r\n };\r\n}","import {useEffect, useState, useCallback} from '@wordpress/element';\r\nimport apiFetch from \"@wordpress/api-fetch\";\r\nimport {\r\n getSettings,\r\n getRoute,\r\n cartContainsPreOrder,\r\n cartContainsSubscription,\r\n getFromCache,\r\n storeInCache,\r\n deleteFromCache\r\n} from '../util';\r\n\r\nexport const useSetupIntent = (\r\n {\r\n cartTotal,\r\n setError\r\n }) => {\r\n const [setupIntent, setSetupIntent] = useState(getFromCache('setupIntent'));\r\n\r\n useEffect(() => {\r\n const createSetupIntent = async () => {\r\n if (setupIntent) {\r\n return;\r\n }\r\n // only create intent under certain conditions\r\n let result = await apiFetch({\r\n url: getRoute('create/setup_intent'),\r\n method: 'POST'\r\n });\r\n if (result.code) {\r\n setError(result.message);\r\n } else {\r\n storeInCache('setupIntent', result.intent);\r\n setSetupIntent(result.intent);\r\n }\r\n }\r\n if (cartContainsPreOrder() || (cartContainsSubscription() && cartTotal.value == 0)) {\r\n if (!setupIntent) {\r\n createSetupIntent();\r\n }\r\n } else {\r\n setSetupIntent(null);\r\n }\r\n }, [cartTotal.value]);\r\n const removeSetupIntent = useCallback(() => {\r\n deleteFromCache('setupIntent');\r\n }, [cartTotal.value]);\r\n return {setupIntent, removeSetupIntent};\r\n}","import {useState} from '@wordpress/element'\r\n\r\nexport const useStripeError = () => {\r\n const [error, setError] = useState(false);\r\n return [error, setError];\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {ensureErrorResponse, ensureSuccessResponse, getBillingDetailsFromAddress, StripeError, isNextActionRequired, getRoute, handleCardAction} from '../util';\r\n\r\nexport const useUpdatePaymentIntent = (\r\n {\r\n clientSecret,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n name,\r\n shouldSavePayment,\r\n noticeContexts\r\n }\r\n) => {\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const currentData = useRef({billingData});\r\n const paymentMethodData = useRef({});\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n\r\n const getSuccessResponse = useCallback((paymentMethod, shouldSavePayment) => {\r\n const response = {\r\n meta: {\r\n paymentMethodData: {\r\n [`${name}_token_key`]: paymentMethod,\r\n [`${name}_save_source_key`]: shouldSavePayment,\r\n ...paymentMethodData.current\r\n }\r\n }\r\n }\r\n return response;\r\n }, []);\r\n\r\n const addPaymentMethodData = useCallback((data) => {\r\n paymentMethodData.current = {...paymentMethodData.current, ...data};\r\n }, []);\r\n\r\n const updatePaymentIntent = useCallback(async () => {\r\n const {billingData} = currentData.current;\r\n return await stripe.updatePaymentIntent({\r\n elements,\r\n params: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(billingData)\r\n }\r\n }\r\n });\r\n }, [stripe, elements]);\r\n\r\n const confirmPayment = useCallback(async () => {\r\n const {billingData} = currentData.current;\r\n return await stripe.confirmPayment({\r\n elements,\r\n confirmParams: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(billingData)\r\n }\r\n },\r\n redirect: 'if_required'\r\n });\r\n }, [stripe, elements]);\r\n\r\n useEffect(() => {\r\n currentData.current = {billingData};\r\n });\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n\r\n try {\r\n let paymentMethod = null;\r\n let result = await stripe.retrievePaymentIntent(clientSecret);\r\n if (result.paymentIntent.status === 'requires_action') {\r\n paymentMethod = result.paymentIntent.payment_method;\r\n await confirmPayment();\r\n } else {\r\n result = await updatePaymentIntent();\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethod = result.paymentIntent.payment_method;\r\n }\r\n return ensureSuccessResponse(responseTypes, getSuccessResponse(paymentMethod, shouldSavePayment));\r\n } catch (error) {\r\n return ensureErrorResponse(responseTypes, error, {messageContext: noticeContexts.PAYMENTS});\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onPaymentProcessing,\r\n updatePaymentIntent,\r\n confirmPayment,\r\n clientSecret,\r\n shouldSavePayment\r\n ]);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n return await handleCardAction({\r\n redirectUrl,\r\n responseTypes,\r\n name,\r\n method: 'confirmCardPayment',\r\n savePaymentMethod: shouldSavePayment\r\n })\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onCheckoutAfterProcessingWithSuccess,\r\n confirmPayment,\r\n shouldSavePayment,\r\n name\r\n ]);\r\n\r\n return {\r\n updatePaymentIntent,\r\n addPaymentMethodData\r\n }\r\n}","export * from './use-link';","import {useEffect, useState, useRef} from '@wordpress/element';\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {toCartAddress as mapToCartAddress, ensureSuccessResponse, getBillingDetailsFromAddress} from '../../util';\r\n\r\nconst toCartAddress = mapToCartAddress();\r\n\r\nexport const useLink = (\r\n {\r\n email,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n isActive,\r\n responseTypes,\r\n ...props\r\n }) => {\r\n const [link, setLink] = useState();\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n const currentData = useRef();\r\n const linkData = useRef();\r\n const {onPaymentProcessing} = eventRegistration;\r\n useEffect(() => {\r\n currentData.current = {onClick, onSubmit}\r\n });\r\n\r\n useEffect(() => {\r\n if (stripe && elements) {\r\n setLink(stripe?.linkAutofillModal(elements));\r\n }\r\n }, [stripe, elements]);\r\n\r\n useEffect(() => {\r\n if (link) {\r\n link.launch({email});\r\n }\r\n }, [link, email]);\r\n\r\n useEffect(() => {\r\n if (link) {\r\n link.on('autofill', event => {\r\n linkData.current = event;\r\n currentData.current.onSubmit();\r\n\r\n });\r\n link.on('authenticated', event => {\r\n currentData.current.onClick();\r\n })\r\n }\r\n }, [link]);\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n const response = {meta: {}};\r\n const {shippingAddress = null, billingAddress = null} = linkData.current.value;\r\n if (billingAddress) {\r\n response.meta.billingData = toCartAddress({...billingAddress.address, recipient: billingAddress.name})\r\n }\r\n if (shippingAddress) {\r\n response.meta.shippingData = toCartAddress({...shippingAddress.address, recipient: shippingAddress.name})\r\n }\r\n // update the payment intent\r\n try {\r\n const result = await stripe.updatePaymentIntent({\r\n elements,\r\n params: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(response.meta.billingData)\r\n }\r\n }\r\n });\r\n response.meta.paymentMethodData = {\r\n stripe_cc_token_key: result.paymentIntent.payment_method,\r\n stripe_cc_save_source_key: false,\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n return ensureSuccessResponse(responseTypes, response);\r\n });\r\n\r\n return () => unsubscribe();\r\n }\r\n }, [isActive, onPaymentProcessing, stripe, elements])\r\n\r\n return link;\r\n}","import {useEffect, useState} from '@wordpress/element';\r\nimport {Elements, useStripe, useElements, PaymentElement} from \"@stripe/react-stripe-js\";\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {useLink} from './hooks';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\n\r\nconst getData = getSettings('stripe_link_checkout_data');\r\n\r\nexport const LinkComponent = ({cartData, ...props}) => {\r\n const clientSecret = cartData?.extensions?.stripe_link_checkout?.clientSecret;\r\n if (clientSecret) {\r\n return (\r\n <Elements stripe={loadStripe} options={{clientSecret}}>\r\n <LinkCheckout {...props}/>\r\n </Elements>\r\n );\r\n }\r\n return null;\r\n}\r\n\r\nconst LinkCheckout = (\r\n {\r\n billing,\r\n shipping,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n activePaymentMethod,\r\n emitResponse,\r\n ...props\r\n }) => {\r\n const {billingData, currency} = billing;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const {email} = billingData;\r\n const isActive = activePaymentMethod === getData('name');\r\n useLink({\r\n email,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n isActive,\r\n responseTypes\r\n });\r\n return <div style={{display: 'none'}}><PaymentElement/></div>;\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: (props) => {\r\n return true;\r\n },\r\n content: <LinkComponent/>,\r\n edit: <LinkComponent/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import {useState, useEffect} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {AfterpayClearpayMessageElement, Elements} from \"@stripe/react-stripe-js\";\r\nimport {sprintf, __} from '@wordpress/i18n';\r\nimport {ExperimentalOrderMeta, TotalsWrapper} from '@woocommerce/blocks-checkout';\r\nimport {registerPlugin} from '@wordpress/plugins';\r\n\r\nconst getData = getSettings('stripe_afterpay_data');\r\nlet variablesHandler;\r\nconst setVariablesHandler = (handler) => {\r\n variablesHandler = handler;\r\n}\r\n\r\nconst isAvailable = ({total, currency, needsShipping}) => {\r\n let available = false;\r\n const requiredParams = getData('requiredParams');\r\n const accountCountry = getData('accountCountry');\r\n const requiredParamObj = requiredParams.hasOwnProperty(currency) ? requiredParams[currency] : false;\r\n if (requiredParamObj) {\r\n available = accountCountry === requiredParamObj?.[0] && needsShipping && (total > requiredParamObj?.[1] && total < requiredParamObj?.[2]);\r\n }\r\n return available;\r\n}\r\n\r\nconst PaymentMethodLabel = ({getData}) => {\r\n const [variables, setVariables] = useState({\r\n amount: getData('cartTotal'),\r\n currency: getData('currency'),\r\n isEligible: getData('msgOptions').isEligible\r\n });\r\n setVariablesHandler(setVariables);\r\n return (\r\n <Elements stripe={initStripe} options={getData('elementOptions')}>\r\n <div className='wc-stripe-blocks-afterpay__label'>\r\n <AfterpayClearpayMessageElement options={{\r\n ...getData('msgOptions'),\r\n ...{\r\n amount: variables.amount,\r\n currency: variables.currency,\r\n isEligible: variables.isEligible\r\n }\r\n }}/>\r\n </div>\r\n </Elements>\r\n );\r\n}\r\n\r\nconst AfterpayPaymentMethod = ({content, billing, shippingData, ...props}) => {\r\n const Content = content;\r\n const {cartTotal, currency} = billing;\r\n const {needsShipping} = shippingData\r\n useEffect(() => {\r\n variablesHandler({\r\n amount: cartTotal.value,\r\n currency: currency.code,\r\n isEligible: needsShipping\r\n });\r\n }, [\r\n cartTotal.value,\r\n currency.code,\r\n needsShipping\r\n ]);\r\n return (\r\n <>\r\n {needsShipping &&\r\n <div className='wc-stripe-blocks-payment-method-content'>\r\n <div className=\"wc-stripe-blocks-afterpay-offsite__container\">\r\n <div className=\"wc-stripe-blocks-afterpay__offsite\">\r\n <img src={getData('offSiteSrc')}/>\r\n <p>{sprintf(__('After clicking \"%s\", you will be redirected to Afterpay to complete your purchase securely.', 'woo-stripe-payment'), getData('placeOrderButtonLabel'))}</p>\r\n </div>\r\n </div>\r\n <Content {...{...props, billing, shippingData}}/>\r\n </div>}\r\n </>\r\n );\r\n}\r\n\r\nconst OrderItemMessaging = ({cart, extensions, context}) => {\r\n const {cartTotals, cartNeedsShipping: needsShipping} = cart;\r\n const {total_price, currency_code: currency} = cartTotals;\r\n const amount = parseInt(cartTotals.total_price);\r\n const total = parseInt(cartTotals.total_price) / (10 ** cartTotals.currency_minor_unit);\r\n if (!isAvailable({total, currency, needsShipping})) {\r\n return null;\r\n }\r\n return (\r\n <TotalsWrapper>\r\n <Elements stripe={initStripe} options={getData('elementOptions')}>\r\n <div className='wc-stripe-blocks-afterpay-totals__item wc-block-components-totals-item'>\r\n <AfterpayClearpayMessageElement options={{\r\n ...getData('msgOptions'),\r\n ...{\r\n amount,\r\n currency,\r\n isEligible: needsShipping\r\n }\r\n }}/>\r\n </div>\r\n </Elements>\r\n </TotalsWrapper>\r\n );\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n getData={getData}/>,\r\n ariaLabel: __('Afterpay', 'woo-stripe-payment'),\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData, ({settings, cartTotals, cartNeedsShipping}) => {\r\n const {currency_code: currency, currency_minor_unit, total_price} = cartTotals;\r\n if (variablesHandler) {\r\n variablesHandler({\r\n amount: parseInt(cartTotals.total_price),\r\n currency,\r\n isEligible: cartNeedsShipping\r\n });\r\n }\r\n const total = parseInt(total_price) / (10 ** currency_minor_unit);\r\n const available = isAvailable({total, currency, needsShipping: cartNeedsShipping});\r\n if (!available && !settings('hideIneligible')) {\r\n return true;\r\n }\r\n return available;\r\n }),\r\n content: <AfterpayPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmAfterpayClearpayPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n });\r\n\r\n const render = () => {\r\n return (\r\n <ExperimentalOrderMeta>\r\n <OrderItemMessaging/>\r\n </ExperimentalOrderMeta>\r\n )\r\n }\r\n registerPlugin('wc-stripe', {\r\n render: render,\r\n scope: 'woocommerce-checkout'\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel} from \"../../components/checkout/payment-method-label\";\r\nimport {PaymentMethod} from \"../../components/checkout\";\r\n\r\nconst getData = getSettings('stripe_alipay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Alipay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmAlipayPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_bancontact_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Bancontact',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmBancontactPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {AuBankAccountElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_becs_data');\r\n\r\nconst BecsPaymentMethod = (props) => {\r\n return (\r\n <>\r\n <PaymentMethod {...props} />\r\n <div className={'wc-stripe-blocks-mandate becs-mandate'}\r\n dangerouslySetInnerHTML={{__html: props.getData('mandate')}}/>\r\n </>\r\n );\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'BECS',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <BecsPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmAuBecsDebitPayment'}\r\n component={AuBankAccountElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {useState, useEffect, useCallback} from '@wordpress/element';\r\nimport {__} from '@wordpress/i18n';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport classnames from 'classnames';\r\nimport {ensureErrorResponse, getSettings, isTestMode} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_boleto_data');\r\n\r\nconst BoletoPaymentMethodContainer = ({eventRegistration, ...props}) => {\r\n const [taxId, setTaxId] = useState('');\r\n const [isActive, setIsActive] = useState(false);\r\n const {onPaymentProcessing} = eventRegistration;\r\n const callback = useCallback(() => {\r\n return {\r\n boleto: {\r\n tax_id: taxId\r\n }\r\n };\r\n }, [taxId]);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(() => {\r\n if (!taxId) {\r\n return ensureErrorResponse(props.emitResponse.responseTypes, __('Please enter a valid CPF/CNPJ value', 'woo-stripe-payment'));\r\n }\r\n return true;\r\n })\r\n return () => unsubscribe();\r\n }, [onPaymentProcessing, taxId]);\r\n return (\r\n <>\r\n <div className={classnames('wc-block-components-text-input', {\r\n 'is-active': isActive || taxId\r\n })}>\r\n <input\r\n type='text'\r\n id='wc-stripe-boleto-tax_id'\r\n onChange={(e) => setTaxId(e.target.value)}\r\n onFocus={() => setIsActive(true)}\r\n onBlur={() => setIsActive(false)}/>\r\n <label htmlFor='wc-stripe-boleto-tax_id'>{__(' CPF / CNPJ', ' woo-stripe-payment')}</label>\r\n </div>\r\n {isTestMode() &&\r\n <div className='wc-stripe-boleto__description'>\r\n <p>{__('Test mode values', 'woo-stripe-payment')}</p>\r\n <div>\r\n <label>CPF:</label>&nbsp;<span>000.000.000-00</span>\r\n </div>\r\n <div>\r\n <label>CNPJ:</label>&nbsp;<span>00.000.000/0000-00</span>\r\n </div>\r\n </div>}\r\n {!isTestMode() &&\r\n <div className=\"wc-stripe-boleto__description\">\r\n <p>{__('Accepted formats', 'woo-stripe-payment')}</p>\r\n <div>\r\n <label>CPF:</label>&nbsp;\r\n <span>{__('XXX.XXX.XXX-XX or XXXXXXXXXXX', 'woo-stripe-payment')}</span>\r\n </div>\r\n <div>\r\n <label>CNPJ:</label>&nbsp;\r\n <span>{__('XX.XXX.XXX/XXXX-XX or XXXXXXXXXXXXXX', 'woo-stripe-payment')}</span>\r\n </div>\r\n </div>}\r\n <LocalPaymentIntentContent callback={callback} {...{...props, ...{eventRegistration}}}/>\r\n </>\r\n )\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Boleto',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={BoletoPaymentMethodContainer}\r\n getData={getData}\r\n confirmationMethod={'confirmBoletoPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {EpsBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_eps_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'EPS',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmEpsPayment'}\r\n component={EpsBankElement}\r\n getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {FpxBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_fpx_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'FPX',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmIdealPayment'}\r\n component={FpxBankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_giropay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Giropay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmGiropayPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_grabpay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'GrabPay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmGrabPayPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","export * from './use-after-process-local-payment';\r\nexport * from './use-validate-checkout';\r\nexport * from './use-create-source';","import {useEffect, useRef} from '@wordpress/element';\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {ensureErrorResponse, getBillingDetailsFromAddress, StripeError} from \"../../util\";\r\n\r\nexport const useAfterProcessLocalPayment = (\r\n {\r\n getData,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n confirmationMethod,\r\n getPaymentMethodArgs = () => ({})\r\n }\r\n) => {\r\n const stripe = useStripe();\r\n const {onCheckoutAfterProcessingWithSuccess, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const currentBillingData = useRef(billingData);\r\n const currentPaymentMethodArgs = useRef(getPaymentMethodArgs);\r\n useEffect(() => {\r\n currentBillingData.current = billingData;\r\n }, [billingData]);\r\n\r\n useEffect(() => {\r\n currentPaymentMethodArgs.current = getPaymentMethodArgs;\r\n }, [getPaymentMethodArgs]);\r\n\r\n useEffect(() => {\r\n const unsubscribeAfterProcessingWithSuccess = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n if (getData('name') === activePaymentMethod) {\r\n try {\r\n let match = redirectUrl.match(/#response=(.+)/);\r\n if (match) {\r\n let {client_secret, return_url, ...order} = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n let result = await stripe[confirmationMethod](client_secret, {\r\n payment_method: {\r\n billing_details: getBillingDetailsFromAddress(currentBillingData.current),\r\n ...currentPaymentMethodArgs.current(currentBillingData.current)\r\n },\r\n return_url\r\n });\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n window.location = decodeURI(order.order_received_url);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n return ensureErrorResponse(responseTypes, e.error);\r\n }\r\n }\r\n })\r\n return () => unsubscribeAfterProcessingWithSuccess();\r\n }, [\r\n stripe,\r\n onCheckoutAfterProcessingWithSuccess,\r\n onCheckoutAfterProcessingWithError\r\n ]);\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {\r\n getDefaultSourceArgs,\r\n ensureSuccessResponse,\r\n ensureErrorResponse,\r\n StripeError\r\n} from \"../../util\";\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {__} from '@wordpress/i18n';\r\n\r\nexport const useCreateSource = (\r\n {\r\n getData,\r\n billing,\r\n shippingAddress,\r\n onPaymentProcessing,\r\n responseTypes,\r\n getSourceArgs = false,\r\n element = false\r\n }) => {\r\n const [source, setSource] = useState(false);\r\n const [isValid, setIsValid] = useState(false);\r\n const currentValues = useRef({\r\n billing,\r\n shippingAddress,\r\n });\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n useEffect(() => {\r\n currentValues.current = {\r\n billing,\r\n shippingAddress\r\n }\r\n });\r\n\r\n const getSourceArgsInternal = useCallback(() => {\r\n const {billing} = currentValues.current;\r\n const {cartTotal, currency, billingData} = billing;\r\n let args = getDefaultSourceArgs({\r\n type: getData('paymentType'),\r\n amount: cartTotal.value,\r\n billingData,\r\n currency: currency.code,\r\n returnUrl: getData('returnUrl')\r\n });\r\n if (getSourceArgs) {\r\n args = getSourceArgs(args, {billingData});\r\n }\r\n return args;\r\n }, []);\r\n\r\n const getSuccessData = useCallback((sourceId) => {\r\n return {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: sourceId\r\n }\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n if (source) {\r\n return ensureSuccessResponse(responseTypes, getSuccessData(source.id));\r\n }\r\n // create the source\r\n try {\r\n let result;\r\n if (element) {\r\n // validate the element\r\n if (!isValid) {\r\n throw __('Please enter your payment info before proceeding.', 'woo-stripe-payment');\r\n }\r\n result = await stripe.createSource(elements.getElement(element), getSourceArgsInternal());\r\n } else {\r\n result = await stripe.createSource(getSourceArgsInternal());\r\n }\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n setSource(result.source);\r\n return ensureSuccessResponse(responseTypes, getSuccessData(result.source.id));\r\n } catch (err) {\r\n console.log(err);\r\n return ensureErrorResponse(responseTypes, err.error || err);\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n source,\r\n onPaymentProcessing,\r\n stripe,\r\n responseTypes,\r\n element,\r\n isValid,\r\n setIsValid\r\n ]);\r\n return {setIsValid};\r\n}","import {useEffect, useRef, useState} from '@wordpress/element';\r\nimport {ensureErrorResponse} from \"../../util\";\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nexport const useValidateCheckout = (\r\n {\r\n subscriber,\r\n responseTypes,\r\n component = null,\r\n msg = __('Please enter your payment info before proceeding.', 'woo-stripe-payment')\r\n }) => {\r\n const [isValid, setIsValid] = useState(false);\r\n\r\n useEffect(() => {\r\n const unsubscribe = subscriber(() => {\r\n if (component && !isValid) {\r\n return ensureErrorResponse(responseTypes, msg);\r\n }\r\n return true;\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n subscriber,\r\n isValid,\r\n setIsValid,\r\n responseTypes,\r\n component\r\n ]);\r\n return {isValid, setIsValid};\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {IdealBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_ideal_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Ideal',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmIdealPayment'}\r\n component={IdealBankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import './klarna';\r\nimport './ideal';\r\nimport './p24';\r\nimport './bancontact';\r\nimport './giropay';\r\nimport './eps';\r\nimport './multibanco';\r\nimport './sepa';\r\nimport './sofort';\r\nimport './wechat';\r\nimport './fpx';\r\nimport './becs';\r\nimport './grabpay';\r\nimport './alipay'\r\nimport './afterpay';\r\nimport './boleto';\r\nimport './oxxo';","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, isTestMode} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nconst getData = getSettings('stripe_klarna_data');\r\n\r\nconst KlarnaPaymentMethod = (props) => {\r\n return (\r\n <>\r\n {isTestMode() &&\r\n <div className=\"wc-stripe-klarna__testmode\">\r\n <label>{__('Test mode sms', 'woo-stripe-payment')}:</label>&nbsp;<span>123456</span>\r\n </div>}\r\n <LocalPaymentIntentContent {...props}/>\r\n </>\r\n )\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Klarna',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData, ({settings, billingData, cartTotals}) => {\r\n const {country} = billingData;\r\n const {currency_code: currency} = cartTotals;\r\n const requiredParams = settings('requiredParams');\r\n return [currency] in requiredParams && requiredParams[currency].includes(country);\r\n }),\r\n content: <PaymentMethod\r\n content={KlarnaPaymentMethod}\r\n getData={getData}\r\n confirmationMethod={'confirmKlarnaPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {useCallback} from '@wordpress/element';\r\nimport {useElements, Elements} from \"@stripe/react-stripe-js\";\r\nimport {initStripe as loadStripe, cartContainsSubscription, cartContainsPreOrder} from '../util'\r\nimport {useAfterProcessLocalPayment, useValidateCheckout, useCreateSource} from \"./hooks\";\r\nimport {useProcessCheckoutError} from \"../hooks\";\r\n\r\n/**\r\n * Return true if the local payment method can be used.\r\n * @param settings\r\n * @returns {function({billingData: *, [p: string]: *}): *}\r\n */\r\nexport const canMakePayment = (settings, callback = false) => ({billingData, cartTotals, ...props}) => {\r\n const {currency_code} = cartTotals;\r\n const {country} = billingData;\r\n const countries = settings('countries');\r\n const type = settings('allowedCountries');\r\n const supports = settings('features');\r\n let canMakePayment = false;\r\n if (settings('isAdmin')) {\r\n canMakePayment = true;\r\n } else {\r\n // Check if there are any subscriptions or pre-orders in the cart.\r\n if (cartContainsSubscription() && !supports.includes('subscriptions')) {\r\n return false;\r\n } else if (cartContainsPreOrder() && !supports.includes('pre-orders')) {\r\n return false;\r\n }\r\n if (settings('currencies').includes(currency_code)) {\r\n if (type === 'all_except') {\r\n canMakePayment = !settings('exceptCountries').includes(country);\r\n } else if (type === 'specific') {\r\n canMakePayment = settings('specificCountries').includes(country);\r\n } else {\r\n canMakePayment = countries.length > 0 ? countries.includes(country) : true;\r\n }\r\n }\r\n if (callback && canMakePayment) {\r\n canMakePayment = callback({settings, billingData, cartTotals, ...props});\r\n }\r\n }\r\n return canMakePayment;\r\n}\r\n\r\nexport const LocalPaymentIntentContent = ({getData, ...props}) => {\r\n return (\r\n <Elements stripe={loadStripe} options={getData('elementOptions')}>\r\n <LocalPaymentIntentMethod {...{...props, getData}}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nexport const LocalPaymentSourceContent = (props) => {\r\n return (\r\n <Elements stripe={loadStripe}>\r\n <LocalPaymentSourceMethod {...props}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nconst LocalPaymentSourceMethod = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n getSourceArgs = false,\r\n element = false\r\n }) => {\r\n const {shippingAddress} = shippingData;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const onChange = (event) => {\r\n setIsValid(event.complete);\r\n }\r\n const {setIsValid} = useCreateSource({\r\n getData,\r\n billing,\r\n shippingAddress,\r\n onPaymentProcessing,\r\n responseTypes,\r\n getSourceArgs,\r\n element\r\n });\r\n\r\n if (element) {\r\n return (\r\n <LocalPaymentElementContainer\r\n name={getData('name')}\r\n options={getData('paymentElementOptions')}\r\n onChange={onChange}\r\n element={element}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst LocalPaymentIntentMethod = (\r\n {\r\n getData,\r\n billing,\r\n emitResponse,\r\n eventRegistration,\r\n activePaymentMethod,\r\n confirmationMethod = null,\r\n component = null,\r\n callback = null\r\n }) => {\r\n const elements = useElements();\r\n const {billingData} = billing;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const getPaymentMethodArgs = useCallback((billingData) => {\r\n if (component) {\r\n return {\r\n [getData('paymentType')]: elements.getElement(component)\r\n }\r\n } else if (callback) {\r\n return callback(billingData);\r\n }\r\n return {};\r\n }, [\r\n elements,\r\n callback\r\n ]);\r\n const {setIsValid} = useValidateCheckout({\r\n subscriber: onPaymentProcessing,\r\n responseTypes,\r\n component\r\n }\r\n );\r\n\r\n useAfterProcessLocalPayment({\r\n getData,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n confirmationMethod,\r\n getPaymentMethodArgs\r\n });\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext: noticeContexts.PAYMENT\r\n });\r\n if (component) {\r\n const onChange = (event) => setIsValid(!event.empty)\r\n return (\r\n <LocalPaymentElementContainer\r\n name={getData('name')}\r\n options={getData('paymentElementOptions')}\r\n onChange={onChange}\r\n element={component}\r\n callback={callback}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst LocalPaymentElementContainer = ({name, onChange, element, options, ...props}) => {\r\n const Tag = element;\r\n return (\r\n <div className={`wc-stripe-local-payment-container ${name} ${Tag.displayName}`}>\r\n <Tag options={options} onChange={onChange} {...props}/>\r\n </div>\r\n )\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentSourceContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_multibanco_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'MultiBanco',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod content={LocalPaymentSourceContent} getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentSourceContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {IdealBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_oxxo_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'OXXO',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmOxxoPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {P24BankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_p24_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'P24',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmP24Payment'}\r\n component={P24BankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, cartContainsPreOrder, cartContainsSubscription} from \"../util\";\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from \"./local-payment-method\";\r\nimport {IbanElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_sepa_data');\r\n\r\nconst LocalPaymentMethod = (PaymentMethod) => (props) => {\r\n return (\r\n <>\r\n <PaymentMethod {...props}/>\r\n <div className={'wc-stripe-blocks-mandate sepa-mandate'}\r\n dangerouslySetInnerHTML={{__html: props.getData('mandate')}}/>\r\n </>\r\n )\r\n}\r\n\r\nconst SepaPaymentMethod = LocalPaymentMethod(PaymentMethod);\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'SEPA',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <SepaPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmSepaDebitPayment'}\r\n component={IbanElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\n\r\nconst getData = getSettings('stripe_sofort_data');\r\n\r\nconst getConfirmationArgs = (billingData) => {\r\n return {sofort: {country: billingData.country}};\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Sofort',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmSofortPayment'}\r\n getData={getData}\r\n callback={getConfirmationArgs}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {useEffect, useRef, useState, useCallback} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {\r\n getSettings,\r\n initStripe as loadStripe,\r\n getDefaultSourceArgs,\r\n isAddressValid,\r\n StripeError,\r\n isTestMode,\r\n ensureSuccessResponse,\r\n getErrorMessage,\r\n storeInCache,\r\n getFromCache,\r\n deleteFromCache\r\n} from \"../util\";\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {Elements} from \"@stripe/react-stripe-js\";\r\nimport {useValidateCheckout} from \"./hooks\";\r\nimport {__} from '@wordpress/i18n';\r\n//import QRCode from 'QRCode';\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {useStripeError} from \"../hooks\";\r\n\r\nconst getData = getSettings('stripe_wechat_data');\r\n\r\nconst WeChatComponent = (props) => {\r\n return (\r\n <Elements stripe={loadStripe}>\r\n <WeChatPaymentMethod {...props}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nconst WeChatPaymentMethod = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n components\r\n }) => {\r\n const size = parseInt(getData('qrSize'));\r\n const {responseTypes} = emitResponse;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const {ValidationInputError} = components;\r\n const {isValid, setIsValid} = useValidateCheckout({\r\n subscriber: eventRegistration.onPaymentProcessing,\r\n responseTypes: emitResponse.responseTypes,\r\n msg: __('Please scan your QR code to continue with payment.', 'woo-stripe-payment')\r\n });\r\n\r\n const {source, error, deleteSourceFromStorage} = useCreateSource({\r\n getData,\r\n billing,\r\n responseTypes,\r\n subscriber: onPaymentProcessing\r\n })\r\n\r\n /**\r\n * delete the source from storage once payment is successful.\r\n * If test mode, redirect to the Stripe test url.\r\n * If live mode, redirect to the return Url.\r\n */\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(() => {\r\n deleteSourceFromStorage();\r\n return ensureSuccessResponse(responseTypes);\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n source,\r\n onCheckoutAfterProcessingWithSuccess,\r\n deleteSourceFromStorage\r\n ]);\r\n\r\n useEffect(() => {\r\n if (source) {\r\n setIsValid(true);\r\n }\r\n }, [source]);\r\n\r\n if (source) {\r\n return (\r\n <QRCodeComponent text={source.wechat.qr_code_url} width={size} height={size}/>\r\n );\r\n } else if (error) {\r\n return (\r\n <div className='wechat-validation-error'>\r\n <ValidationInputError errorMessage={getErrorMessage(error)}/>\r\n </div>\r\n );\r\n } else {\r\n // if billing address is not valid\r\n if (!isAddressValid(billing.billingData)) {\r\n return __('Please fill out all the required fields in order to complete the WeChat payment.', 'woo-stripe-payment');\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nconst QRCodeComponent = (\r\n {\r\n text,\r\n width = 128,\r\n height = 128,\r\n colorDark = '#424770',\r\n colorLight = '#f8fbfd',\r\n correctLevel = QRCode.CorrectLevel.H\r\n }) => {\r\n const el = useRef();\r\n useEffect(() => {\r\n new QRCode(el.current, {\r\n text,\r\n width,\r\n height,\r\n colorDark,\r\n colorLight,\r\n correctLevel\r\n })\r\n }, [el]);\r\n return (\r\n <>\r\n <div id='wc-stripe-block-qrcode' ref={el}></div>\r\n {isTestMode() && <p>\r\n {__('Test mode: Click the Place Order button to proceed.', 'woo-stripe-payment')}\r\n </p>}\r\n {!isTestMode() && <p>\r\n {__('Scan the QR code using your WeChat app. Once scanned click the Place Order button.', 'woo-stripe-payment')}\r\n </p>}\r\n </>\r\n )\r\n}\r\n\r\nconst useCreateSource = (\r\n {\r\n getData,\r\n billing,\r\n responseTypes,\r\n subscriber\r\n }) => {\r\n const stripe = useStripe();\r\n const [error, setError] = useStripeError();\r\n const [source, setSource] = useState(getFromCache('wechat:source'));\r\n const createSourceTimeoutId = useRef(null);\r\n const {cartTotal, billingData, currency} = billing;\r\n\r\n useEffect(() => {\r\n const unsubscribe = subscriber(() => {\r\n return ensureSuccessResponse(responseTypes, {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: source.id\r\n }\r\n }\r\n })\r\n });\r\n return () => unsubscribe();\r\n }, [source, subscriber]);\r\n\r\n const createSource = useCallback(async () => {\r\n // validate the billing fields. If valid, create the source.\r\n try {\r\n if (!error && isAddressValid(billingData)) {\r\n let result = await stripe.createSource(getDefaultSourceArgs({\r\n type: getData('paymentType'),\r\n amount: cartTotal.value,\r\n billingData,\r\n currency: currency.code,\r\n returnUrl: getData('returnUrl')\r\n }));\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n setSource(result.source);\r\n storeInCache('wechat:source', result.source);\r\n }\r\n } catch (err) {\r\n console.log('error: ', err);\r\n setError(err.error);\r\n }\r\n }, [\r\n stripe,\r\n source,\r\n cartTotal.value,\r\n billingData,\r\n currency,\r\n error\r\n ]);\r\n const deleteSourceFromStorage = useCallback(() => {\r\n deleteFromCache('wechat:source');\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (stripe && !source) {\r\n // if there is an existing request, cancel it.\r\n clearTimeout(createSourceTimeoutId.current);\r\n createSourceTimeoutId.current = setTimeout(createSource, 1000);\r\n }\r\n }, [\r\n stripe,\r\n source,\r\n createSource\r\n ]);\r\n\r\n return {source, setSource, error, deleteSourceFromStorage};\r\n}\r\n\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'WeChat',\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod content={WeChatComponent} getData={getData}/>,\r\n edit: <PaymentMethod content={WeChatComponent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import './style.scss';\r\n\r\nimport './payment-method';","import {useMemo, useEffect, useRef} from '@wordpress/element';\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\nimport {useBreakpointWidth, useExpressBreakpointWidth} from '../hooks';\r\nimport {Elements, PaymentRequestButtonElement, useStripe} from \"@stripe/react-stripe-js\";\r\nimport {\r\n usePaymentRequest,\r\n useProcessPaymentIntent,\r\n useExportedValues,\r\n useAfterProcessingPayment,\r\n useStripeError\r\n} from '../hooks';\r\n\r\nconst getData = getSettings('stripe_payment_request_data');\r\n\r\nconst PaymentRequestContent = (props) => {\r\n return (\r\n <div className='wc-stripe-payment-request-container'>\r\n <Elements stripe={loadStripe}>\r\n <PaymentRequestButton {...props}/>\r\n </Elements>\r\n </div>\r\n );\r\n}\r\n\r\nconst PaymentRequestButton = (\r\n {\r\n getData,\r\n onClick,\r\n onClose,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n emitResponse,\r\n onSubmit,\r\n activePaymentMethod,\r\n ...props\r\n }) => {\r\n const {onPaymentProcessing} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const stripe = useStripe();\r\n const [error] = useStripeError();\r\n const canPay = (result) => result != null && !result.applePay;\r\n const exportedValues = useExportedValues();\r\n useExpressBreakpointWidth({payment_method: getData('name'), width: 300});\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n exportedValues\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n messageContext: noticeContexts.EXPRESS_PAYMENTS\r\n });\r\n const {paymentRequest} = usePaymentRequest({\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n });\r\n\r\n const options = useMemo(() => {\r\n return {\r\n paymentRequest,\r\n style: {\r\n paymentRequestButton: getData('paymentRequestButton')\r\n }\r\n }\r\n }, [paymentRequest]);\r\n\r\n if (paymentRequest) {\r\n return (\r\n <PaymentRequestButtonElement options={options} onClick={onClick}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst PaymentRequestEdit = ({getData, ...props}) => {\r\n const canvas = useRef();\r\n useEffect(() => {\r\n const scale = window.devicePixelRatio;\r\n canvas.current.width = 20 * scale;\r\n canvas.current.height = 20 * scale;\r\n let ctx = canvas.current.getContext('2d');\r\n ctx.scale(scale, scale);\r\n ctx.beginPath();\r\n ctx.arc(10, 10, 10, 0, 2 * Math.PI);\r\n ctx.fillStyle = '#986fff';\r\n ctx.fill();\r\n });\r\n return (\r\n <div className='payment-request-block-editor'>\r\n <div className={'icon-container'}>\r\n <span>Buy now</span>\r\n <canvas className='PaymentRequestButton-icon' ref={canvas}/>\r\n <i className={'payment-request-arrow'}></i>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: ({cartTotals}) => {\r\n if (getData('isAdmin')) {\r\n return true;\r\n }\r\n const {currency_code: currency, total_price} = cartTotals;\r\n return canMakePayment({\r\n country: getData('countryCode'),\r\n currency: currency.toLowerCase(),\r\n total: {\r\n label: getData('totalLabel'),\r\n amount: parseInt(total_price)\r\n }\r\n }, (result) => result != null && !result.applePay);\r\n },\r\n content: <PaymentRequestContent getData={getData}/>,\r\n edit: <PaymentRequestEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n});","import {useEffect, useCallback} from '@wordpress/element';\r\nimport {handleCardAction} from '@paymentplugins/stripe/util';\r\n\r\nconst SavedCardComponent = (\r\n {\r\n eventRegistration,\r\n emitResponse,\r\n getData,\r\n method = 'handleCardAction'\r\n }) => {\r\n const {onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const {responseTypes} = emitResponse;\r\n const handleSuccessResult = useCallback(async ({redirectUrl}) => {\r\n return await handleCardAction({redirectUrl, getData, responseTypes, method});\r\n }, []);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(handleSuccessResult);\r\n return () => unsubscribe();\r\n }, [onCheckoutAfterProcessingWithSuccess, handleSuccessResult]);\r\n return null;\r\n}\r\n\r\nexport default SavedCardComponent;\r\n","import {loadStripe} from '@stripe/stripe-js';\r\nimport {getSetting} from '@woocommerce/settings'\r\nimport apiFetch from \"@wordpress/api-fetch\";\r\nimport {getCurrency, formatPrice as wcFormatPrice} from '@woocommerce/price-format';\r\n\r\nconst {publishableKey, stripeParams} = getSetting('stripeGeneralData');\r\nconst messages = getSetting('stripeErrorMessages');\r\nconst countryLocale = getSetting('countryLocale', {});\r\n\r\nconst SHIPPING_OPTION_REGEX = /^([\\w]+)\\:(.+)$/;\r\n\r\nconst routes = getSetting('stripeGeneralData').routes;\r\n\r\nconst creditCardForms = {};\r\n\r\nconst localPaymentMethods = [];\r\n\r\nconst CACHE_PREFIX = 'stripe:';\r\n\r\nconst PAYMENT_REQUEST_ADDRESS_MAPPINGS = {\r\n recipient: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n payerName: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n country: 'country',\r\n addressLine: (address, value) => {\r\n if (value[0]) {\r\n address.address_1 = value[0];\r\n }\r\n if (value[1]) {\r\n address.address_2 = value[1];\r\n }\r\n return address;\r\n },\r\n line1: 'address_1',\r\n line2: 'address_2',\r\n city: 'city',\r\n region: 'state',\r\n state: 'state',\r\n postalCode: 'postcode',\r\n postal_code: 'postcode',\r\n payerEmail: 'email',\r\n payerPhone: 'phone'\r\n}\r\n\r\nexport const initStripe = new Promise((resolve, reject) => {\r\n loadStripe(publishableKey, stripeParams).then(stripe => {\r\n resolve(stripe);\r\n }).catch(err => {\r\n resolve({error: err});\r\n });\r\n});\r\n\r\nexport const registerCreditCardForm = ({id, ...props}) => {\r\n creditCardForms[id] = props;\r\n}\r\n\r\nexport const getCreditCardForm = (id) => {\r\n return creditCardForms.hasOwnProperty(id) ? creditCardForms[id] : {};\r\n}\r\n\r\nexport const getRoute = (route) => {\r\n return routes?.[route] ? routes[route] : console.log(`${route} is not a valid route`);\r\n}\r\n\r\nexport const ensureSuccessResponse = (responseTypes, data = {}) => {\r\n return {type: responseTypes.SUCCESS, ...data};\r\n}\r\n\r\n/**\r\n * Returns a formatted error object used by observers\r\n * @param responseTypes\r\n * @param error\r\n * @returns {{type: *, message: *}}\r\n */\r\nexport const ensureErrorResponse = (responseTypes, error, options = {}) => {\r\n return {type: responseTypes.ERROR, message: getErrorMessage(error), ...options}\r\n};\r\n\r\n/**\r\n * Return a customized error message.\r\n * @param error\r\n */\r\nexport const getErrorMessage = (error) => {\r\n if (typeof error == 'string') {\r\n return error;\r\n }\r\n if (error?.code && messages?.[error.code]) {\r\n return messages[error.code];\r\n }\r\n if (error?.statusCode) {\r\n return messages?.[error.statusCode] ? messages[error.statusCode] : error.statusMessage;\r\n }\r\n return error.message;\r\n}\r\n\r\n/**\r\n * Return a Stripe formatted billing_details object from a WC address\r\n * @param billingAddress\r\n */\r\nexport const getBillingDetailsFromAddress = (billingAddress) => {\r\n let billing_details = {\r\n name: `${billingAddress.first_name} ${billingAddress.last_name}`,\r\n address: {\r\n city: billingAddress.city || null,\r\n country: billingAddress.country || null,\r\n line1: billingAddress.address_1 || null,\r\n line2: billingAddress.address_2 || null,\r\n postal_code: billingAddress.postcode || null,\r\n state: billingAddress.state || null\r\n }\r\n }\r\n if (billingAddress?.phone) {\r\n billing_details.phone = billingAddress.phone;\r\n }\r\n if (billingAddress?.email) {\r\n billing_details.email = billingAddress.email;\r\n }\r\n return billing_details;\r\n}\r\n\r\nexport const getSettings = (name) => (key) => {\r\n if (key) {\r\n return getSetting(name)[key];\r\n }\r\n return getSetting(name);\r\n}\r\n\r\nexport class StripeError extends Error {\r\n constructor(error) {\r\n super(error.message);\r\n this.error = error;\r\n }\r\n}\r\n\r\n/**\r\n * Returns true if the provided value is empty.\r\n * @param value\r\n * @returns {boolean}\r\n */\r\nexport const isEmpty = (value) => {\r\n if (typeof value === 'string') {\r\n return value.length == 0 || value == '';\r\n }\r\n if (Array.isArray(value)) {\r\n return array.length == 0;\r\n }\r\n if (typeof value === 'object') {\r\n return Object.keys(value).length == 0;\r\n }\r\n if (typeof value === 'undefined') {\r\n return true;\r\n }\r\n return true;\r\n}\r\n\r\nexport const removeNumberPrecision = (value, unit) => {\r\n return value / 10 ** unit;\r\n}\r\n\r\n/**\r\n *\r\n * @param address\r\n * @param country\r\n */\r\nexport const isAddressValid = (address, exclude = []) => {\r\n const fields = getLocaleFields(address.country);\r\n for (const [key, value] of Object.entries(address)) {\r\n if (!exclude.includes(key) && fields?.[key] && fields[key].required) {\r\n if (isEmpty(value)) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nexport const getLocaleFields = (country) => {\r\n let localeFields = {...countryLocale.default};\r\n if (country && countryLocale?.[country]) {\r\n localeFields = Object.entries(countryLocale[country]).reduce((locale, [key, value]) => {\r\n locale[key] = {...locale[key], ...value}\r\n return locale;\r\n }, localeFields);\r\n ['phone', 'email'].forEach(key => {\r\n let node = document.getElementById(key);\r\n if (node) {\r\n localeFields[key] = {required: node.required};\r\n }\r\n });\r\n }\r\n return localeFields;\r\n}\r\n\r\n/**\r\n * Return true if the field is required by the cart\r\n * @param field\r\n * @param country\r\n * @returns {boolean|*}\r\n */\r\nexport const isFieldRequired = (field, country = false) => {\r\n const fields = getLocaleFields(country);\r\n return [field] in fields && fields[field].required;\r\n}\r\n\r\nexport const getSelectedShippingOption = (id) => {\r\n const result = id.match(SHIPPING_OPTION_REGEX);\r\n if (result) {\r\n const {1: packageIdx, 2: rate} = result;\r\n return [rate, packageIdx];\r\n }\r\n return [];\r\n}\r\n\r\nexport const hasShippingRates = (shippingRates) => {\r\n return shippingRates.map(rate => {\r\n return rate.shipping_rates.length > 0;\r\n }).filter(Boolean).length > 0;\r\n}\r\n\r\n/**\r\n * Return true if the customer is logged in.\r\n * @param customerId\r\n * @returns {boolean}\r\n */\r\nexport const isUserLoggedIn = (customerId) => {\r\n return customerId > 0;\r\n}\r\n\r\nconst syncPaymentIntentWithOrder = async (order_id, client_secret) => {\r\n try {\r\n await apiFetch({\r\n url: routes['sync/intent'],\r\n method: 'POST',\r\n data: {order_id, client_secret}\r\n })\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nexport const handleCardAction = async (\r\n {\r\n redirectUrl,\r\n responseTypes,\r\n name,\r\n method = 'handleCardAction',\r\n savePaymentMethod = false\r\n }) => {\r\n try {\r\n let match = redirectUrl.match(/#response=(.+)/)\r\n if (match) {\r\n let {client_secret, order_id, order_key} = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n const stripe = await initStripe;\r\n let result = await stripe[method](client_secret);\r\n if (result.error) {\r\n return ensureErrorResponse(responseTypes, result.error);\r\n }\r\n // success so finish processing order then redirect to thank you page\r\n let data = {order_id, order_key, [`${name}_save_source_key`]: savePaymentMethod};\r\n let response = await apiFetch({\r\n url: getRoute('process/payment'),\r\n method: 'POST',\r\n data\r\n })\r\n if (response.messages) {\r\n return ensureErrorResponse(responseTypes, response.messages);\r\n }\r\n return ensureSuccessResponse(responseTypes, {\r\n redirectUrl: response.redirect\r\n });\r\n } else {\r\n return ensureSuccessResponse(responseTypes);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n return ensureErrorResponse(responseTypes, err);\r\n }\r\n}\r\n\r\n/**\r\n * Convert a payment wallet address to a WC cart address.\r\n * @param address_mappings\r\n * @returns {function(*, *=): {}}\r\n */\r\nexport const toCartAddress = (address_mappings = PAYMENT_REQUEST_ADDRESS_MAPPINGS) => (address, args = {}) => {\r\n const cartAddress = {};\r\n address = {...address, ...filterEmptyValues(args)};\r\n for (let [key, cartKey] of Object.entries(address_mappings)) {\r\n if (address?.[key]) {\r\n if (typeof cartKey === 'function') {\r\n cartKey(cartAddress, address[key]);\r\n } else {\r\n cartAddress[cartKey] = address[key];\r\n }\r\n }\r\n }\r\n return cartAddress;\r\n}\r\n\r\n/**\r\n * Given a WC formatted address, return only the intermediate address values\r\n * @param address\r\n * @param fields\r\n */\r\nexport const getIntermediateAddress = (address, fields = ['city', 'postcode', 'state', 'country']) => {\r\n const intermediateAddress = {};\r\n for (let key of fields) {\r\n intermediateAddress[key] = address[key];\r\n }\r\n return intermediateAddress;\r\n}\r\n\r\n/**\r\n *\r\n * @param values\r\n * @returns {{}|{[p: string]: *}}\r\n */\r\nexport const filterEmptyValues = (values) => {\r\n return Object.keys(values).filter(key => Boolean(values[key])).reduce((obj, key) => ({\r\n ...obj,\r\n [key]: values[key]\r\n }), {});\r\n}\r\n\r\nexport const formatPrice = (price, currencyCode) => {\r\n const {prefix, suffix, decimalSeparator, minorUnit, thousandSeparator} = getCurrency(currencyCode);\r\n if (price == '' || price === undefined) {\r\n return price;\r\n }\r\n\r\n price = typeof price === 'string' ? parseInt(price, 10) : price;\r\n price = price / 10 ** minorUnit;\r\n price = price.toString().replace('.', decimalSeparator);\r\n let fractional = '';\r\n const index = price.indexOf(decimalSeparator);\r\n if (index < 0) {\r\n if (minorUnit > 0) {\r\n price += `${decimalSeparator}${new Array(minorUnit + 1).join('0')}`;\r\n }\r\n } else {\r\n fractional = price.substr(index + 1);\r\n if (fractional.length < minorUnit) {\r\n price += new Array(minorUnit - fractional.length + 1).join('0');\r\n }\r\n }\r\n\r\n // separate out price and decimals so thousands separator can be added.\r\n const match = price.match(new RegExp(`(\\\\d+)\\\\${decimalSeparator}(\\\\d+)`));\r\n if (match) {\r\n ({1: price, 2: fractional} = match);\r\n }\r\n price = price.replace(new RegExp(`\\\\B(?=(\\\\d{3})+(?!\\\\d))`, 'g'), `${thousandSeparator}`);\r\n price = fractional?.length > 0 ? price + decimalSeparator + fractional : price;\r\n price = prefix + price + suffix;\r\n return price;\r\n}\r\n\r\nexport const getShippingOptions = (shippingRates) => {\r\n let options = [];\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n // sort by selected rate\r\n shippingPackage.shipping_rates.sort((rate) => {\r\n return rate.selected ? -1 : 1;\r\n });\r\n let rates = shippingPackage.shipping_rates.map(rate => {\r\n let txt = document.createElement('textarea');\r\n txt.innerHTML = rate.name;\r\n let price = formatPrice(rate.price, rate.currency_code);\r\n return {\r\n id: getShippingOptionId(idx, rate.rate_id),\r\n label: txt.value,\r\n //detail: `${price}`,\r\n amount: parseInt(rate.price, 10)\r\n }\r\n });\r\n options = [...options, ...rates];\r\n });\r\n return options;\r\n}\r\n\r\nexport const getShippingOptionId = (packageId, rateId) => `${packageId}:${rateId}`\r\n\r\nexport const getDisplayItems = (cartItems, {minorUnit}) => {\r\n let items = [];\r\n const keys = ['total_tax', 'total_shipping'];\r\n cartItems.forEach(item => {\r\n if (0 < item.value || (item.key && keys.includes(item.key))) {\r\n items.push({\r\n label: item.label,\r\n pending: false,\r\n amount: item.value\r\n });\r\n }\r\n })\r\n return items;\r\n}\r\n\r\nconst canPay = {};\r\n\r\nexport const canMakePayment = ({country, currency, total}, callback) => {\r\n return new Promise((resolve, reject) => {\r\n const key = [country, currency, total.amount].reduce((key, value) => `${key}-${value}`);\r\n if (!currency) {\r\n return resolve(false);\r\n }\r\n if (key in canPay) {\r\n return resolve(canPay[key]);\r\n }\r\n return initStripe.then(stripe => {\r\n if (stripe.error) {\r\n return reject(stripe.error);\r\n }\r\n const request = stripe.paymentRequest({\r\n country,\r\n currency,\r\n total\r\n });\r\n request.canMakePayment().then(result => {\r\n canPay[key] = callback(result);\r\n return resolve(canPay[key]);\r\n });\r\n }).catch(reject);\r\n });\r\n};\r\n\r\nexport const registerLocalPaymentMethod = (paymentMethod) => {\r\n localPaymentMethods.push(paymentMethod);\r\n}\r\n\r\nexport const getLocalPaymentMethods = () => localPaymentMethods;\r\n\r\nexport const cartContainsPreOrder = () => {\r\n const data = getSetting('stripePaymentData');\r\n return data && data.pre_order;\r\n}\r\n\r\nexport const cartContainsSubscription = () => {\r\n const data = getSetting('stripePaymentData');\r\n return data && data.subscription;\r\n}\r\n\r\nexport const getDefaultSourceArgs = ({type, amount, billingData, currency, returnUrl}) => {\r\n return {\r\n type,\r\n amount,\r\n currency,\r\n owner: getBillingDetailsFromAddress(billingData),\r\n redirect: {\r\n return_url: returnUrl\r\n }\r\n }\r\n}\r\n\r\nexport const isTestMode = () => {\r\n return getSetting('stripeGeneralData').mode === 'test';\r\n}\r\n\r\nconst getCacheKey = (key) => `${CACHE_PREFIX}${key}`;\r\n\r\nexport const storeInCache = (key, value) => {\r\n const exp = Math.floor(new Date().getTime() / 1000) + (60 * 15);\r\n if ('sessionStorage' in window) {\r\n sessionStorage.setItem(getCacheKey(key), JSON.stringify({value, exp}));\r\n }\r\n}\r\n\r\nexport const getFromCache = (key) => {\r\n if ('sessionStorage' in window) {\r\n try {\r\n const item = JSON.parse(sessionStorage.getItem(getCacheKey(key)));\r\n if (item) {\r\n const {value, exp} = item;\r\n if (Math.floor(new Date().getTime() / 1000) > exp) {\r\n deleteFromCache(getCacheKey(key));\r\n } else {\r\n return value;\r\n }\r\n }\r\n } catch (err) {\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport const deleteFromCache = (key) => {\r\n if ('sessionStorage' in window) {\r\n sessionStorage.removeItem(getCacheKey(key));\r\n }\r\n}\r\n\r\nexport const versionCompare = (ver1, ver2, compare) => {\r\n switch (compare) {\r\n case '<':\r\n return ver1 < ver2;\r\n case '>':\r\n return ver1 > ver2;\r\n case '<=':\r\n return ver1 <= ver2;\r\n case '>=':\r\n return ver1 >= ver2;\r\n case '=':\r\n return ver1 == ver2;\r\n }\r\n return false;\r\n}\r\n\r\nexport const isCartPage = () => getSetting('stripeGeneralData').page === 'cart';\r\n\r\nexport const isCheckoutPage = () => getSetting('stripeGeneralData').page === 'checkout';\r\n\r\nexport const isNextActionRequired = (url) => {\r\n let match = url.match(/#response=(.+)/);\r\n let args = null;\r\n if (match) {\r\n args = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n }\r\n return args;\r\n}","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"names":["module","exports","arr","len","length","i","arr2","Array","isArray","arrayLikeToArray","self","ReferenceError","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","fn","this","args","arguments","apply","err","undefined","instance","Constructor","TypeError","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","Class","Reflect","construct","a","push","Function","bind","prototype","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","protoProps","staticProps","obj","_extends","assign","source","hasOwnProperty","call","_getPrototypeOf","o","getPrototypeOf","__proto__","subClass","superClass","create","constructor","__esModule","toString","indexOf","sham","Proxy","Date","e","iter","Symbol","iterator","from","_arr","_n","_d","_e","_s","_i","next","objectWithoutPropertiesLoose","excluded","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","sourceKeys","keys","_typeof","assertThisInitialized","_setPrototypeOf","p","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arrayWithoutHoles","iterableToArray","nonIterableSpread","minLen","n","slice","name","test","isNativeFunction","_wrapNativeSuper","_cache","Map","has","get","set","Wrapper","React","emptyFunction","emptyFunctionWithReset","resetWarningCache","propTypes","shim","propName","componentName","location","propFullName","secret","Error","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","factoryWithThrowingShims","ownKeys","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread2","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","usePrevious","ref","useRef","useEffect","current","isUnknownObject","raw","PLAIN_OBJECT_STR","isEqual","left","right","leftArray","leftPlainObject","leftKeys","rightKeys","keySet","allKeys","l","r","every","extractAllowedOptionsUpdates","options","prevOptions","immutableKeys","reduce","newOptions","isUpdated","includes","console","warn","concat","validateStripe","maybeStripe","elements","createToken","createPaymentMethod","confirmCardPayment","parseStripeProp","isPromise","tag","stripePromise","stripe","ElementsContext","createContext","displayName","Elements","_ref","rawStripeProp","children","parsed","useMemo","_React$useState2","useState","ctx","setContext","isMounted","prevStripe","updates","update","anyStripe","_registerWrapper","registerAppInfo","version","url","createElement","Provider","useElementsContextWithUseCase","useCaseMessage","useCase","parseElementsContext","useContext","ElementsConsumer","_ref2","useCallbackReference","cb","noop","createElementComponent","type","isServer","str","charAt","toUpperCase","Element","id","className","_ref$options","_ref$onBlur","onBlur","_ref$onFocus","onFocus","_ref$onReady","onReady","_ref$onChange","onChange","_ref$onEscape","onEscape","_ref$onClick","onClick","elementRef","domNode","callOnReady","callOnBlur","callOnFocus","callOnClick","callOnChange","callOnEscape","useLayoutEffect","mount","on","destroy","__elementType","window","AuBankAccountElement","CardElement","CardNumberElement","CardExpiryElement","CardCvcElement","FpxBankElement","IbanElement","IdealBankElement","P24BankElement","EpsBankElement","PaymentElement","PaymentRequestButtonElement","LinkAuthenticationElement","ShippingAddressElement","AffirmMessageElement","AfterpayClearpayMessageElement","useElements","useStripe","factory","V3_URL","V3_URL_REGEX","EXISTING_SCRIPT_MESSAGE","initStripe","startTime","registerWrapper","stripePromise$1","params","Stripe","script","scripts","document","querySelectorAll","src","findScript","queryString","advancedFraudSignals","headOrBody","head","body","appendChild","injectScript","addEventListener","loadCalled","loadStripe","_len","_key","now","Installments","paymentMethodName","getCreatePaymentMethodArgs","cardFormComplete","addPaymentMethodData","getPaymentMethod","installments","setInstallments","installment","setInstallment","loading","setLoading","paymentMethod","getRoute","method","data","payment_method_id","payment_method","result","catch","log","finally","__","Loader","InstallmentOptions","_stripe_installment_plan","isLoading","OPTIONS","disabled","map","dangerouslySetInnerHTML","__html","text","title","icons","components","Label","PaymentMethodLabel","Icons","PaymentMethodIcons","align","getData","content","Content","desc","el","childNodes","classList","add","Description","RadioControlOption","checked","label","event","setValidationError","linkToken","setLinkToken","useCallback","response","token","storeInCache","getFromCache","linkHandler","resolvePopup","openLinkPopup","open","Plaid","clientName","env","product","selectAccount","countryCodes","onSuccess","publicToken","metaData","onExit","getErrorMessage","error_message","onPaymentProcessing","responseTypes","unsubscribe","deleteFromCache","ensureSuccessResponse","meta","paymentMethodData","JSON","stringify","ensureErrorResponse","getSettings","ACHPaymentContent","eventRegistration","emitResponse","onSubmit","onCheckoutAfterProcessingWithError","ValidationInputError","LoadingMask","validationError","useCreateLinkToken","useProcessCheckoutError","subscriber","useInitializePlaid","useProcessPayment","showSpinner","isTestMode","ACHTestModeCredentials","errorMessage","registerPaymentMethod","ariaLabel","canMakePayment","cartTotals","currency_code","PaymentMethod","savedTokenComponent","edit","placeOrderButtonLabel","supports","showSavedCards","showSaveOption","features","ApplePayContent","ApplePayButton","onClose","billing","shippingData","activePaymentMethod","noticeContexts","useStripeError","exportedValues","useExportedValues","useExpressBreakpointWidth","width","setPaymentMethod","useProcessPaymentIntent","useAfterProcessingPayment","messageContext","EXPRESS_PAYMENTS","paymentRequest","usePaymentRequest","canPay","applePay","handleClick","preventDefault","show","style","ApplePayEdit","registerExpressPaymentMethod","currency","total_price","country","toLowerCase","total","amount","parseInt","Bootstrap","CardIcon","htmlFor","registerCreditCardForm","breakpoint","component","classes","focus","empty","invalid","eventChange","onComplete","cardType","setCardType","elementOrder","container","setContainer","getCreditCardForm","CardForm","postalCodeEnabled","elementStatus","setElementOrder","useBreakpointWidth","getCardIconSrc","cloneElement","brand","complete","idx","nextElement","getElement","status","sprintf","SimpleForm","card","cardOptions","postalCode","billingData","postcode","hidePostalCode","isFieldRequired","iconStyle","PaymentElementComponent","cartData","clientSecret","extensions","stripe_cc","formComplete","setFormComplete","installmentsActive","shouldSavePayment","useUpdatePaymentIntent","updatePaymentIntent","PAYMENTS","paymentIntent","fields","billingDetails","wallets","googlePay","CreditCardContent","setError","CreditCardElement","getPaymentMethodArgs","elType","useSetupIntent","cartTotal","setupIntent","removeSetupIntent","Tag","CustomCardForm","StripeCardForm","ErrorBoundary","state","hasError","errorInfo","setState","componentStack","Component","publishableKey","setErrorMessage","checkoutStatus","merchantInfo","merchantId","merchantName","buttonContainer","buttonType","usePaymentsClient","button","removeButton","append","parameters","allowedAuthMethods","allowedCardNetworks","assuranceDetailsRequired","apiVersion","apiVersionMinor","shippingRates","processingCountry","totalPriceLabel","emailRequired","isEmpty","email","allowedPaymentMethods","tokenizationSpecification","gateway","BASE_PAYMENT_METHOD","shippingAddressRequired","needsShipping","transactionInfo","getTransactionInfo","callbackIntents","BASE_PAYMENT_REQUEST","billingAddressRequired","billingAddressParameters","format","phoneNumberRequired","phone","shippingOptionRequired","shippingOptionParameters","getShippingOptionParameters","shippingOptions","cartTotalItems","environment","paymentsClient","setPaymentsClient","setButton","currentBilling","currentShipping","addPaymentEvent","usePaymentEvents","setAddressData","paymentData","billingAddress","isAddressValid","phoneNumber","toCartAddress","shippingAddress","parentElement","firstChild","removeChild","loadPaymentData","parse","tokenizationData","billing_details","getBillingDetailsFromAddress","StripeError","statusCode","createButton","paymentOptions","paymentDataCallbacks","onPaymentAuthorized","transactionState","onPaymentDataChanged","shipping","address","shippingOptionData","intermediateAddress","selectedRates","getSelectedShippingOption","addressEqual","getIntermediateAddress","shippingEqual","success","getPaymentRequestUpdate","reason","message","intent","setShippingAddress","setSelectedRates","google","payments","api","PaymentsClient","isReadyToPayRequest","isReadyToPay","GooglePayContent","useErrorMessage","GooglePayEdit","isCartPage","getSetting","countryCode","currencyCode","code","totalPriceStatus","totalPrice","removeNumberPrecision","minorUnit","displayItems","getDisplayItems","newTransactionInfo","newShippingOptionParameters","unit","items","item","price","getShippingOptions","defaultSelectedOptionId","option","shift","shippingPackage","shipping_rates","rate","selected","getShippingOptionId","rate_id","rates","txt","innerHTML","formatPrice","description","first_name","split","join","last_name","pop","address1","address2","locality","administrativeArea","onCheckoutAfterProcessingWithSuccess","unsubscribeAfterProcessingWithSuccess","redirectUrl","handleCardAction","savePaymentMethod","innerWidth","windowWidth","setWindowWith","getMaxWidth","maxWidth","setMaxWidth","clientWidth","remove","handleResize","removeEventListener","getElementById","parentNode","onShippingRateSuccess","onShippingRateFail","onShippingRateSelectSuccess","handler","setHandler","onShippingChanged","paymentEvents","setPaymentEvent","execute","removePaymentEvent","isSelectingRate","shippingRatesLoading","hasShippingRates","unsubscribeShippingRateSuccess","unsubscribeShippingRateSelectSuccess","unsubscribeShippingRateFail","hasInvalidAddress","setPaymentRequest","paymentRequestOptions","pending","requestPayerName","requestPayerEmail","requestPayerPhone","requestShipping","onShippingAddressChange","onShippingOptionChange","onPaymentMethodReceived","updatePaymentEvent","updateWith","shippingOption","paymentResponse","payerName","payerEmail","payerPhone","processingResponse","paymentDetails","stripeErrorMessage","ERROR","paymentType","currentPaymentMethodArgs","getSuccessResponse","paymentMethodId","unsubscribeProcessingPayment","confirmCardSetup","client_secret","setSetupIntent","createSetupIntent","cartContainsPreOrder","cartContainsSubscription","currentData","payment_method_data","confirmPayment","confirmParams","redirect","retrievePaymentIntent","isActive","link","setLink","linkData","linkAutofillModal","launch","recipient","stripe_cc_token_key","stripe_cc_save_source_key","LinkComponent","stripe_link_checkout","LinkCheckout","useLink","display","variablesHandler","isAvailable","available","requiredParams","accountCountry","requiredParamObj","isEligible","variables","setVariables","AfterpayPaymentMethod","OrderItemMessaging","cart","context","cartNeedsShipping","currency_minor_unit","TotalsWrapper","settings","LocalPaymentIntentContent","confirmationMethod","registerPlugin","render","ExperimentalOrderMeta","scope","BecsPaymentMethod","taxId","setTaxId","setIsActive","callback","boleto","tax_id","currentBillingData","match","atob","decodeURIComponent","return_url","order","decodeURI","order_received_url","getSourceArgs","setSource","isValid","setIsValid","currentValues","getSourceArgsInternal","getDefaultSourceArgs","returnUrl","getSuccessData","sourceId","createSource","msg","countries","LocalPaymentIntentMethod","LocalPaymentSourceMethod","useCreateSource","LocalPaymentElementContainer","useValidateCheckout","useAfterProcessLocalPayment","PAYMENT","LocalPaymentSourceContent","SepaPaymentMethod","sofort","WeChatComponent","WeChatPaymentMethod","size","deleteSourceFromStorage","QRCodeComponent","wechat","qr_code_url","height","colorDark","colorLight","correctLevel","QRCode","