spree_vpago 2.3.11 → 2.3.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 135ae8e71835e73aacb8af2817bf0702b7a9b09e5e7a978380235b6e694b286e
4
- data.tar.gz: a9d35bf4ce64a37c90e50217be487b218674ba1c7e5abdfbeb5117407371994e
3
+ metadata.gz: f7c6fc347bce48aed54a98bf47d4432f79ec1144a882f7c6cf14b55ad1f87663
4
+ data.tar.gz: c62d76d1e6661bc0460b3a4be75feeb6d4c6c8a3b1278d1b62dccb53324b6e1a
5
5
  SHA512:
6
- metadata.gz: 51e6f6db2eee4946a21b5d344718432befd1ceb9f67a89c5d2af44dcd1ce707fc369a10d5a4c14aca07e20ac15904fd63581191623070fec92397eaea1efb12a
7
- data.tar.gz: fd4dc35df53a19b819bcdb761d76d8badf59b6d1416232978167a4fab9733781c2a4bc5a5605319736c7bcb47ec1e82f805142fe3094b1562cb79b6c392e671f
6
+ metadata.gz: 2973459504b60f1f6308e6f0db319c1b2e25f19747d2f94aeb3bf48f69b75e87c508f57c197a49440920464952df30e1cb3b6797ba9a782ff375ec1a7c0b0893
7
+ data.tar.gz: e8418cf6a8298850075104813a93da543ab148327d7ee6cafdd63be2c1ce5eb64fe457888d695af4931a1b459ee3e60282553e22875a7b530d3099d002c60b8b
@@ -12,7 +12,7 @@ on:
12
12
  - 112-ci-cd
13
13
  - 245-build-and-publish-gem
14
14
  tags:
15
- - "*"
15
+ - "*"
16
16
  jobs:
17
17
  test_and_publish_gem:
18
18
  runs-on: ubuntu-latest
@@ -66,11 +66,11 @@ jobs:
66
66
  # run: |
67
67
  # bundle exec brakeman
68
68
 
69
- # - name: Run test
70
- # env:
71
- # DATABASE_URL: postgres://myuser:mypassword@localhost:5432/test_db
72
- # run: |
73
- # bundle exec rake
69
+ - name: Run test
70
+ env:
71
+ DATABASE_URL: postgres://myuser:mypassword@localhost:5432/test_db
72
+ run: |
73
+ bundle exec rake
74
74
 
75
75
  - name: Build gem
76
76
  env:
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- spree_vpago (2.3.11)
4
+ spree_vpago (2.3.12)
5
5
  faraday
6
6
  google-cloud-firestore
7
7
  spree_api (>= 4.5)
@@ -128,7 +128,7 @@ GEM
128
128
  babel-source (>= 4.0, < 6)
129
129
  execjs (~> 2.0)
130
130
  base64 (0.3.0)
131
- bcrypt (3.1.22)
131
+ bcrypt (3.1.21)
132
132
  bigdecimal (3.1.8)
133
133
  bootstrap (4.6.2.1)
134
134
  autoprefixer-rails (>= 9.1.0)
@@ -176,11 +176,10 @@ GEM
176
176
  rainbow (>= 2.1.0)
177
177
  diff-lcs (1.5.0)
178
178
  docile (1.4.0)
179
- doorkeeper (5.9.6)
179
+ doorkeeper (5.8.2)
180
180
  railties (>= 5)
181
181
  erubi (1.12.0)
182
- execjs (2.10.2)
183
- json (>= 2)
182
+ execjs (2.10.0)
184
183
  factory_bot (4.11.1)
185
184
  activesupport (>= 3.0.0)
186
185
  faraday (2.7.4)
@@ -189,7 +188,7 @@ GEM
189
188
  faraday-http-cache (2.5.0)
190
189
  faraday (>= 0.8)
191
190
  faraday-net_http (3.0.2)
192
- faraday-retry (2.4.0)
191
+ faraday-retry (2.3.2)
193
192
  faraday (~> 2.0)
194
193
  ffaker (2.21.0)
195
194
  ffi (1.15.5)
@@ -199,7 +198,7 @@ GEM
199
198
  flatpickr (4.6.13.1)
200
199
  friendly_id (5.5.0)
201
200
  activerecord (>= 4.0.0)
202
- gapic-common (1.3.0)
201
+ gapic-common (1.2.0)
203
202
  faraday (>= 1.9, < 3.a)
204
203
  faraday-retry (>= 1.0, < 3.a)
205
204
  google-cloud-env (~> 2.2)
@@ -222,45 +221,45 @@ GEM
222
221
  globalid (1.1.0)
223
222
  activesupport (>= 5.0)
224
223
  glyphicons (1.0.2)
225
- google-cloud-core (1.9.0)
224
+ google-cloud-core (1.8.0)
226
225
  google-cloud-env (>= 1.0, < 3.a)
227
226
  google-cloud-errors (~> 1.0)
228
- google-cloud-env (2.4.0)
227
+ google-cloud-env (2.3.1)
229
228
  base64 (~> 0.2)
230
229
  faraday (>= 1.0, < 3.a)
231
- google-cloud-errors (1.7.0)
232
- google-cloud-firestore (3.2.0)
230
+ google-cloud-errors (1.5.0)
231
+ google-cloud-firestore (3.1.1)
233
232
  bigdecimal (~> 3.0)
234
233
  concurrent-ruby (~> 1.0)
235
234
  google-cloud-core (~> 1.7)
236
235
  google-cloud-firestore-v1 (~> 2.0)
237
236
  rbtree (~> 0.4.2)
238
- google-cloud-firestore-v1 (2.4.0)
239
- gapic-common (~> 1.3)
237
+ google-cloud-firestore-v1 (2.3.0)
238
+ gapic-common (~> 1.2)
240
239
  google-cloud-errors (~> 1.0)
241
240
  google-cloud-location (~> 1.0)
242
- google-cloud-location (1.5.1)
243
- gapic-common (~> 1.3)
241
+ google-cloud-location (1.2.1)
242
+ gapic-common (~> 1.2)
244
243
  google-cloud-errors (~> 1.0)
245
244
  google-logging-utils (0.2.0)
246
- google-protobuf (4.33.6)
245
+ google-protobuf (4.33.4)
247
246
  bigdecimal
248
247
  rake (>= 13)
249
- googleapis-common-protos (1.10.0)
248
+ googleapis-common-protos (1.9.0)
250
249
  google-protobuf (~> 4.26)
251
250
  googleapis-common-protos-types (~> 1.21)
252
251
  grpc (~> 1.41)
253
- googleapis-common-protos-types (1.23.0)
252
+ googleapis-common-protos-types (1.22.0)
254
253
  google-protobuf (~> 4.26)
255
- googleauth (1.17.4)
254
+ googleauth (1.16.1)
256
255
  faraday (>= 1.0, < 3.a)
257
256
  google-cloud-env (~> 2.2)
258
257
  google-logging-utils (~> 0.1)
259
258
  jwt (>= 1.4, < 4.0)
259
+ multi_json (~> 1.11)
260
260
  os (>= 0.9, < 2.0)
261
- pstore (~> 0.1)
262
261
  signet (>= 0.16, < 2.a)
263
- grpc (1.83.1)
262
+ grpc (1.76.0)
264
263
  google-protobuf (>= 3.25, < 5.0)
265
264
  googleapis-common-protos-types (~> 1.0)
266
265
  hashdiff (1.1.0)
@@ -370,7 +369,6 @@ GEM
370
369
  pry (0.14.2)
371
370
  coderay (~> 1.1)
372
371
  method_source (~> 1.0)
373
- pstore (0.2.1)
374
372
  public_suffix (5.0.1)
375
373
  puma (6.2.2)
376
374
  nio4r (~> 2.0)
@@ -414,13 +412,13 @@ GEM
414
412
  activerecord (>= 6.0.4)
415
413
  activesupport (>= 6.0.4)
416
414
  i18n
417
- rbtree (0.4.7)
415
+ rbtree (0.4.6)
418
416
  redis (5.0.6)
419
417
  redis-client (>= 0.9.0)
420
418
  redis-client (0.14.1)
421
419
  connection_pool
422
420
  regexp_parser (2.11.3)
423
- responders (3.2.1)
421
+ responders (3.2.0)
424
422
  actionpack (>= 7.0)
425
423
  railties (>= 7.0)
426
424
  rexml (3.2.9)
@@ -494,10 +492,11 @@ GEM
494
492
  websocket (~> 1.0)
495
493
  shoulda-matchers (6.2.0)
496
494
  activesupport (>= 5.2.0)
497
- signet (0.22.0)
495
+ signet (0.21.0)
498
496
  addressable (~> 2.8)
499
497
  faraday (>= 0.17.5, < 3.a)
500
498
  jwt (>= 1.5, < 4.0)
499
+ multi_json (~> 1.10)
501
500
  simplecov (0.22.0)
502
501
  docile (~> 1.1)
503
502
  simplecov-html (~> 0.11)
@@ -594,8 +593,9 @@ GEM
594
593
  actionmailer
595
594
  spree_core (>= 4.5.3)
596
595
  sprockets (>= 4.0)
597
- spree_extension (1.0.2)
598
- thor (~> 1.0)
596
+ spree_extension (0.1.0)
597
+ activerecord (>= 4.2)
598
+ spree_core
599
599
  spree_multi_vendor (2.4.1)
600
600
  deface (~> 1.0)
601
601
  spree (>= 4.3.0.rc1)
@@ -0,0 +1,21 @@
1
+ module Spree
2
+ module Admin
3
+ class PaymentAcledaV2BaseController < Spree::Admin::BaseController
4
+ include Spree::Backend::Callbacks
5
+
6
+ before_action :load_payment, only: %i[show update]
7
+ before_action :validate_order, only: [:update]
8
+
9
+ def validate_order
10
+ return unless @payment.order.completed?
11
+
12
+ flash[:error] = Spree.t('vpago.payments.not_allow_for_order_completed')
13
+ redirect_to admin_order_payment_path(order_id: @payment.order.number, id: @payment.number)
14
+ end
15
+
16
+ def load_payment
17
+ @payment = Payment.find_by!(number: params[:id])
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,26 @@
1
+ module Spree
2
+ module Admin
3
+ class PaymentAcledaV2CheckersController < PaymentAcledaV2BaseController
4
+ include Spree::Backend::Callbacks
5
+
6
+ def update
7
+ options = {
8
+ updated_by_user_id: try_spree_current_user.id,
9
+ updated_reason: Spree.t('vpago.payments.checker_updated_by_description')
10
+ }
11
+ spree_updater = Vpago::AcledaV2::PaymentRequestUpdater.new(@payment, options)
12
+ spree_updater.call
13
+
14
+ @payment.reload
15
+
16
+ if @payment.order.completed?
17
+ flash[:success] = Spree.t(:successfully_updated, resource: Spree.t(:payments))
18
+ else
19
+ flash[:error] = Spree.t(:unsuccessfully_updated, resource: Spree.t(:payments))
20
+ end
21
+
22
+ redirect_to admin_order_payment_path(order_id: @payment.order.number, id: @payment.number)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,38 @@
1
+ module Spree
2
+ module Admin
3
+ class PaymentAcledaV2QueriersController < PaymentAcledaV2BaseController
4
+ include Spree::Backend::Callbacks
5
+
6
+ around_action :set_writing_role, only: %i[show]
7
+
8
+ def show
9
+ tran_status = @payment.payment_method.check_transaction(@payment)
10
+
11
+ if tran_status.success?
12
+ @payment.update_column(:gateway_status, true)
13
+ flash[:success] =
14
+ Spree.t('vpago.payments.payment_found_with_result', result: tran_status.json_response)
15
+ else
16
+ flash[:error] = Spree.t('vpago.payments.payment_not_found_with_error', error: tran_status.error_message)
17
+ end
18
+
19
+ redirect_to admin_order_payment_path(order_id: @payment.order.number, id: @payment.number)
20
+ rescue Faraday::TimeoutError, Faraday::ConnectionFailed => e
21
+ VpagoLogger.error(
22
+ label: 'Spree::Admin::PaymentAcledaV2QueriersController#show gateway_timeout',
23
+ data: { payment_number: @payment.number, error_class: e.class.name, error_message: e.message }
24
+ )
25
+ flash[:error] = Spree.t('vpago.payments.gateway_timeout')
26
+ redirect_to admin_order_payment_path(order_id: @payment.order.number, id: @payment.number)
27
+ end
28
+
29
+ private
30
+
31
+ def set_writing_role
32
+ ActiveRecord::Base.connected_to(role: :writing) do
33
+ yield if block_given?
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,21 @@
1
+ module Spree
2
+ module Admin
3
+ class PaymentVattanacBaseController < Spree::Admin::BaseController
4
+ include Spree::Backend::Callbacks
5
+
6
+ before_action :load_payment, only: %i[show update]
7
+ before_action :validate_order, only: [:update]
8
+
9
+ def validate_order
10
+ return unless @payment.order.completed?
11
+
12
+ flash[:error] = Spree.t('vpago.payments.not_allow_for_order_completed')
13
+ redirect_to admin_order_payment_path(order_id: @payment.order.number, id: @payment.number)
14
+ end
15
+
16
+ def load_payment
17
+ @payment = Payment.find_by!(number: params[:id])
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,26 @@
1
+ module Spree
2
+ module Admin
3
+ class PaymentVattanacCheckersController < PaymentVattanacBaseController
4
+ include Spree::Backend::Callbacks
5
+
6
+ def update
7
+ options = {
8
+ updated_by_user_id: try_spree_current_user.id,
9
+ updated_reason: Spree.t('vpago.payments.checker_updated_by_description')
10
+ }
11
+ spree_updater = Vpago::Vattanac::PaymentRequestUpdater.new(@payment, options)
12
+ spree_updater.call
13
+
14
+ @payment.reload
15
+
16
+ if @payment.order.completed?
17
+ flash[:success] = Spree.t(:successfully_updated, resource: Spree.t(:payments))
18
+ else
19
+ flash[:error] = Spree.t(:unsuccessfully_updated, resource: Spree.t(:payments))
20
+ end
21
+
22
+ redirect_to admin_order_payment_path(order_id: @payment.order.number, id: @payment.number)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,38 @@
1
+ module Spree
2
+ module Admin
3
+ class PaymentVattanacQueriersController < PaymentVattanacBaseController
4
+ include Spree::Backend::Callbacks
5
+
6
+ around_action :set_writing_role, only: %i[show]
7
+
8
+ def show
9
+ tran_status = @payment.payment_method.check_transaction(@payment)
10
+
11
+ if tran_status.success?
12
+ @payment.update_column(:gateway_status, true)
13
+ flash[:success] =
14
+ Spree.t('vpago.payments.payment_found_with_result', result: tran_status.json_response)
15
+ else
16
+ flash[:error] = Spree.t('vpago.payments.payment_not_found_with_error', error: tran_status.error_message)
17
+ end
18
+
19
+ redirect_to admin_order_payment_path(order_id: @payment.order.number, id: @payment.number)
20
+ rescue Faraday::TimeoutError, Faraday::ConnectionFailed => e
21
+ VpagoLogger.error(
22
+ label: 'Spree::Admin::PaymentVattanacQueriersController#show gateway_timeout',
23
+ data: { payment_number: @payment.number, error_class: e.class.name, error_message: e.message }
24
+ )
25
+ flash[:error] = Spree.t('vpago.payments.gateway_timeout')
26
+ redirect_to admin_order_payment_path(order_id: @payment.order.number, id: @payment.number)
27
+ end
28
+
29
+ private
30
+
31
+ def set_writing_role
32
+ ActiveRecord::Base.connected_to(role: :writing) do
33
+ yield if block_given?
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -80,6 +80,10 @@ module Vpago
80
80
  ::Vpago::Acleda::PaymentRequestUpdater
81
81
  elsif type_acleda_mobile?
82
82
  ::Vpago::AcledaMobile::PaymentRequestUpdater
83
+ elsif type_acleda_v2?
84
+ ::Vpago::AcledaV2::PaymentRequestUpdater
85
+ elsif type_vattanac?
86
+ ::Vpago::Vattanac::PaymentRequestUpdater
83
87
  end
84
88
  end
85
89
 
@@ -107,6 +111,10 @@ module Vpago
107
111
  type == Spree::PaymentMethod::TYPE_WINGSDK
108
112
  end
109
113
 
114
+ def type_vattanac?
115
+ type == Spree::PaymentMethod::TYPE_VATTANAC
116
+ end
117
+
110
118
  def type_vattanac_mini_app?
111
119
  type == Spree::PaymentMethod::TYPE_VATTANAC_MINI_APP
112
120
  end
@@ -1,5 +1,5 @@
1
1
  <%= render 'spree/admin/payments/source_views/vpago_payment_tmpl',
2
2
  payment: payment,
3
- check_status_url: '',
4
- heal_payment_url: '',
3
+ check_status_url: admin_payment_acleda_v2_querier_path(payment),
4
+ heal_payment_url: admin_payment_acleda_v2_checker_path(payment),
5
5
  manual_update_payment_url: '' %>
@@ -1,6 +1,6 @@
1
1
  <%= render 'spree/admin/payments/source_views/vpago_payment_tmpl',
2
- payment: payment,
3
- check_status_url: '',
4
- heal_payment_url: '',
2
+ payment: payment,
3
+ check_status_url: admin_payment_vattanac_querier_path(payment),
4
+ heal_payment_url: admin_payment_vattanac_checker_path(payment),
5
5
  manual_update_payment_url: ''
6
6
  %>
data/config/routes.rb CHANGED
@@ -73,6 +73,12 @@ Spree::Core::Engine.add_routes do
73
73
  resources :payment_payway_checkers
74
74
  resources :payment_payway_markers
75
75
 
76
+ resources :payment_acleda_v2_queriers, only: [:show]
77
+ resources :payment_acleda_v2_checkers, only: [:update]
78
+
79
+ resources :payment_vattanac_queriers, only: [:show]
80
+ resources :payment_vattanac_checkers, only: [:update]
81
+
76
82
  resources :products do
77
83
  resources :payout_profile_products
78
84
  end
@@ -1,7 +1,7 @@
1
1
  module SpreeVpago
2
2
  module_function
3
3
 
4
- VERSION = '2.3.11'.freeze
4
+ VERSION = '2.3.12'.freeze
5
5
 
6
6
  def version
7
7
  Gem::Version.new VERSION
@@ -0,0 +1,54 @@
1
+ module Vpago
2
+ module AcledaV2
3
+ class PaymentRequestUpdater < ::Vpago::PaymentRequestUpdater
4
+ def call
5
+ return if @payment.order.paid?
6
+
7
+ if items_eligible?
8
+ process_payment_status
9
+ else
10
+ mark_items_as_ineligible
11
+ end
12
+ end
13
+
14
+ private
15
+
16
+ def process_payment_status
17
+ checker = @payment.payment_method.check_transaction(@payment)
18
+
19
+ if checker.success?
20
+ mark_payment_as_success
21
+ elsif checker.failed? && !ignore_on_failed?
22
+ mark_payment_as_failed(checker.error_message)
23
+ end
24
+ rescue Faraday::TimeoutError, Faraday::ConnectionFailed => e
25
+ VpagoLogger.error(
26
+ label: 'Vpago::AcledaV2::PaymentRequestUpdater#process_payment_status gateway_timeout',
27
+ data: { payment_number: @payment.number, error_class: e.class.name, error_message: e.message }
28
+ )
29
+ end
30
+
31
+ def items_eligible?
32
+ @payment&.order&.line_items&.all?(&:sufficient_stock?) == true # rubocop:disable Style/SafeNavigationChainLength
33
+ end
34
+
35
+ def mark_items_as_ineligible
36
+ @error_message = 'Items are not eligible due to insufficient stock'
37
+ marker_options = @options.merge(status: false, description: @error_message)
38
+ ::Vpago::PaymentStatusMarker.new(@payment, marker_options).call
39
+ end
40
+
41
+ def mark_payment_as_success
42
+ @error_message = nil
43
+ marker_options = @options.merge(status: true, description: nil)
44
+ ::Vpago::PaymentStatusMarker.new(@payment, marker_options).call
45
+ end
46
+
47
+ def mark_payment_as_failed(error_message)
48
+ @error_message = error_message
49
+ marker_options = @options.merge(status: false, description: @error_message)
50
+ ::Vpago::PaymentStatusMarker.new(@payment, marker_options).call
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ module Vpago
2
+ module Vattanac
3
+ class PaymentRequestUpdater < ::Vpago::PaymentRequestUpdater
4
+ def call
5
+ return if @payment.order.paid?
6
+
7
+ if items_eligible?
8
+ process_payment_status
9
+ else
10
+ mark_items_as_ineligible
11
+ end
12
+ end
13
+
14
+ private
15
+
16
+ def process_payment_status
17
+ checker = @payment.payment_method.check_transaction(@payment)
18
+
19
+ if checker.success?
20
+ mark_payment_as_success
21
+ elsif checker.failed? && !ignore_on_failed?
22
+ mark_payment_as_failed(checker.error_message)
23
+ end
24
+ rescue Faraday::TimeoutError, Faraday::ConnectionFailed => e
25
+ VpagoLogger.error(
26
+ label: 'Vpago::Vattanac::PaymentRequestUpdater#process_payment_status gateway_timeout',
27
+ data: { payment_number: @payment.number, error_class: e.class.name, error_message: e.message }
28
+ )
29
+ end
30
+
31
+ def items_eligible?
32
+ @payment&.order&.line_items&.all?(&:sufficient_stock?) == true # rubocop:disable Style/SafeNavigationChainLength
33
+ end
34
+
35
+ def mark_items_as_ineligible
36
+ @error_message = 'Items are not eligible due to insufficient stock'
37
+ marker_options = @options.merge(status: false, description: @error_message)
38
+ ::Vpago::PaymentStatusMarker.new(@payment, marker_options).call
39
+ end
40
+
41
+ def mark_payment_as_success
42
+ @error_message = nil
43
+ marker_options = @options.merge(status: true, description: nil)
44
+ ::Vpago::PaymentStatusMarker.new(@payment, marker_options).call
45
+ end
46
+
47
+ def mark_payment_as_failed(error_message)
48
+ @error_message = error_message
49
+ marker_options = @options.merge(status: false, description: @error_message)
50
+ ::Vpago::PaymentStatusMarker.new(@payment, marker_options).call
51
+ end
52
+ end
53
+ end
54
+ end
@@ -13,6 +13,22 @@ module Vpago
13
13
  @response.dig('data', 'status') == 'SUCCESS'
14
14
  end
15
15
 
16
+ def error_message
17
+ @response.dig('msgEntity', 'message') || @response.dig('data', 'message') || 'Unknown error'
18
+ end
19
+
20
+ # msgEntity.code is the API-envelope result code ("0" = call succeeded; check
21
+ # data.status for the actual transaction state). Any other code is a gateway-level
22
+ # error with no transaction data (e.g. "03" / "Transaction not found") and is
23
+ # treated as terminal failure.
24
+ def failed?
25
+ @response.dig('msgEntity', 'code').to_s != '0'
26
+ end
27
+
28
+ def pending?
29
+ !success? && !failed?
30
+ end
31
+
16
32
  private
17
33
 
18
34
  def payload
@@ -20,4 +36,4 @@ module Vpago
20
36
  end
21
37
  end
22
38
  end
23
- end
39
+ end
@@ -1,10 +1,238 @@
1
1
  {
2
- "systemParams": "darwin-arm64-93",
3
- "modulesFolders": [],
2
+ "systemParams": "linux-x64-127",
3
+ "modulesFolders": [
4
+ "node_modules"
5
+ ],
4
6
  "flags": [],
5
7
  "linkedModules": [],
6
- "topLevelPatterns": [],
7
- "lockfileEntries": {},
8
+ "topLevelPatterns": [
9
+ "@spree/dashboard@^0.2.1",
10
+ "chai@^5.2.0",
11
+ "esbuild@^0.24.2",
12
+ "firebase@^11.2.0",
13
+ "mocha@^11.1.0"
14
+ ],
15
+ "lockfileEntries": {
16
+ "@esbuild/aix-ppc64@0.24.2": "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz#38848d3e25afe842a7943643cbcd387cc6e13461",
17
+ "@esbuild/android-arm64@0.24.2": "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz#f592957ae8b5643129fa889c79e69cd8669bb894",
18
+ "@esbuild/android-arm@0.24.2": "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.2.tgz#72d8a2063aa630308af486a7e5cbcd1e134335b3",
19
+ "@esbuild/android-x64@0.24.2": "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.2.tgz#9a7713504d5f04792f33be9c197a882b2d88febb",
20
+ "@esbuild/darwin-arm64@0.24.2": "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz#02ae04ad8ebffd6e2ea096181b3366816b2b5936",
21
+ "@esbuild/darwin-x64@0.24.2": "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz#9ec312bc29c60e1b6cecadc82bd504d8adaa19e9",
22
+ "@esbuild/freebsd-arm64@0.24.2": "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz#5e82f44cb4906d6aebf24497d6a068cfc152fa00",
23
+ "@esbuild/freebsd-x64@0.24.2": "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz#3fb1ce92f276168b75074b4e51aa0d8141ecce7f",
24
+ "@esbuild/linux-arm64@0.24.2": "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz#856b632d79eb80aec0864381efd29de8fd0b1f43",
25
+ "@esbuild/linux-arm@0.24.2": "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz#c846b4694dc5a75d1444f52257ccc5659021b736",
26
+ "@esbuild/linux-ia32@0.24.2": "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz#f8a16615a78826ccbb6566fab9a9606cfd4a37d5",
27
+ "@esbuild/linux-loong64@0.24.2": "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz#1c451538c765bf14913512c76ed8a351e18b09fc",
28
+ "@esbuild/linux-mips64el@0.24.2": "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz#0846edeefbc3d8d50645c51869cc64401d9239cb",
29
+ "@esbuild/linux-ppc64@0.24.2": "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz#8e3fc54505671d193337a36dfd4c1a23b8a41412",
30
+ "@esbuild/linux-riscv64@0.24.2": "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz#6a1e92096d5e68f7bb10a0d64bb5b6d1daf9a694",
31
+ "@esbuild/linux-s390x@0.24.2": "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz#ab18e56e66f7a3c49cb97d337cd0a6fea28a8577",
32
+ "@esbuild/linux-x64@0.24.2": "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz#8140c9b40da634d380b0b29c837a0b4267aff38f",
33
+ "@esbuild/netbsd-arm64@0.24.2": "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz#65f19161432bafb3981f5f20a7ff45abb2e708e6",
34
+ "@esbuild/netbsd-x64@0.24.2": "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz#7a3a97d77abfd11765a72f1c6f9b18f5396bcc40",
35
+ "@esbuild/openbsd-arm64@0.24.2": "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz#58b00238dd8f123bfff68d3acc53a6ee369af89f",
36
+ "@esbuild/openbsd-x64@0.24.2": "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz#0ac843fda0feb85a93e288842936c21a00a8a205",
37
+ "@esbuild/sunos-x64@0.24.2": "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz#8b7aa895e07828d36c422a4404cc2ecf27fb15c6",
38
+ "@esbuild/win32-arm64@0.24.2": "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz#c023afb647cabf0c3ed13f0eddfc4f1d61c66a85",
39
+ "@esbuild/win32-ia32@0.24.2": "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz#96c356132d2dda990098c8b8b951209c3cd743c2",
40
+ "@esbuild/win32-x64@0.24.2": "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz#34aa0b52d0fbb1a654b596acfa595f0c7b77a77b",
41
+ "@firebase/analytics-compat@0.2.17": "https://registry.yarnpkg.com/@firebase/analytics-compat/-/analytics-compat-0.2.17.tgz#c3cfc8ffb863d574ec26d86f9c8344d752832995",
42
+ "@firebase/analytics-types@0.8.3": "https://registry.yarnpkg.com/@firebase/analytics-types/-/analytics-types-0.8.3.tgz#d08cd39a6209693ca2039ba7a81570dfa6c1518f",
43
+ "@firebase/analytics@0.10.11": "https://registry.yarnpkg.com/@firebase/analytics/-/analytics-0.10.11.tgz#6896413e92613573af775c45050af889a43676da",
44
+ "@firebase/app-check-compat@0.3.18": "https://registry.yarnpkg.com/@firebase/app-check-compat/-/app-check-compat-0.3.18.tgz#abe63858fca86b61ea431e0d9e58ccb8bac1b275",
45
+ "@firebase/app-check-interop-types@0.3.3": "https://registry.yarnpkg.com/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz#ed9c4a4f48d1395ef378f007476db3940aa5351a",
46
+ "@firebase/app-check-types@0.5.3": "https://registry.yarnpkg.com/@firebase/app-check-types/-/app-check-types-0.5.3.tgz#38ba954acf4bffe451581a32fffa20337f11d8e5",
47
+ "@firebase/app-check@0.8.11": "https://registry.yarnpkg.com/@firebase/app-check/-/app-check-0.8.11.tgz#3c67148046fea0a0a9a1eecf1a17fdc31a76eda7",
48
+ "@firebase/app-compat@0.2.50": "https://registry.yarnpkg.com/@firebase/app-compat/-/app-compat-0.2.50.tgz#665b6db432414229b96763e6b1cf5e38463c58d0",
49
+ "@firebase/app-types@0.9.3": "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.9.3.tgz#8408219eae9b1fb74f86c24e7150a148460414ad",
50
+ "@firebase/app@0.11.1": "https://registry.yarnpkg.com/@firebase/app/-/app-0.11.1.tgz#20663522be71307c8e5c74828bb621cdcdd3f5b4",
51
+ "@firebase/auth-compat@0.5.18": "https://registry.yarnpkg.com/@firebase/auth-compat/-/auth-compat-0.5.18.tgz#ba1674287e6df4f95675866d6f960a9fc4a9abfc",
52
+ "@firebase/auth-interop-types@0.2.4": "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz#176a08686b0685596ff03d7879b7e4115af53de0",
53
+ "@firebase/auth-types@0.13.0": "https://registry.yarnpkg.com/@firebase/auth-types/-/auth-types-0.13.0.tgz#ae6e0015e3bd4bfe18edd0942b48a0a118a098d9",
54
+ "@firebase/auth@1.9.0": "https://registry.yarnpkg.com/@firebase/auth/-/auth-1.9.0.tgz#eea1ab78fd3d68db3cdef69a0d7fba3663a940c5",
55
+ "@firebase/component@0.6.12": "https://registry.yarnpkg.com/@firebase/component/-/component-0.6.12.tgz#08905a534e9b769164e7e1b1e80f6e7611eb67f3",
56
+ "@firebase/data-connect@0.3.0": "https://registry.yarnpkg.com/@firebase/data-connect/-/data-connect-0.3.0.tgz#5602986c28e2ac94df2499a7cf68ad622957089e",
57
+ "@firebase/database-compat@2.0.3": "https://registry.yarnpkg.com/@firebase/database-compat/-/database-compat-2.0.3.tgz#87f18e814c06d62fea4bfb10d3b833f4259345ca",
58
+ "@firebase/database-types@1.0.8": "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-1.0.8.tgz#eddcce594be118bf9aebb043b5a6d51cfb6de620",
59
+ "@firebase/database@1.0.12": "https://registry.yarnpkg.com/@firebase/database/-/database-1.0.12.tgz#4e1807b82dc734df8596eac44d7766ff96c2de24",
60
+ "@firebase/firestore-compat@0.3.43": "https://registry.yarnpkg.com/@firebase/firestore-compat/-/firestore-compat-0.3.43.tgz#c62994b9b26d011a96265d6aa524a0d6b45a2c1b",
61
+ "@firebase/firestore-types@3.0.3": "https://registry.yarnpkg.com/@firebase/firestore-types/-/firestore-types-3.0.3.tgz#7d0c3dd8850c0193d8f5ee0cc8f11961407742c1",
62
+ "@firebase/firestore@4.7.8": "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-4.7.8.tgz#38b124a4d50a390934f70d916a84546376abdf4e",
63
+ "@firebase/functions-compat@0.3.19": "https://registry.yarnpkg.com/@firebase/functions-compat/-/functions-compat-0.3.19.tgz#f1d1ce51674a6ee8d5449b721374d35243dc3002",
64
+ "@firebase/functions-types@0.6.3": "https://registry.yarnpkg.com/@firebase/functions-types/-/functions-types-0.6.3.tgz#f5faf770248b13f45d256f614230da6a11bfb654",
65
+ "@firebase/functions@0.12.2": "https://registry.yarnpkg.com/@firebase/functions/-/functions-0.12.2.tgz#bea33b35437278228be563dfc02520d8623d43f4",
66
+ "@firebase/installations-compat@0.2.12": "https://registry.yarnpkg.com/@firebase/installations-compat/-/installations-compat-0.2.12.tgz#ee6396f3cc787c0dd4fc5dd87fec1db9dbb40c97",
67
+ "@firebase/installations-types@0.5.3": "https://registry.yarnpkg.com/@firebase/installations-types/-/installations-types-0.5.3.tgz#cac8a14dd49f09174da9df8ae453f9b359c3ef2f",
68
+ "@firebase/installations@0.6.12": "https://registry.yarnpkg.com/@firebase/installations/-/installations-0.6.12.tgz#6d9ad14e60caa8fae4ec0120c0e46ceb9d6fbdae",
69
+ "@firebase/logger@0.4.4": "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.4.4.tgz#29e8379d20fd1149349a195ee6deee4573a86f48",
70
+ "@firebase/messaging-compat@0.2.16": "https://registry.yarnpkg.com/@firebase/messaging-compat/-/messaging-compat-0.2.16.tgz#533af4542a54b932146d175d5687aedd428be972",
71
+ "@firebase/messaging-interop-types@0.2.3": "https://registry.yarnpkg.com/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz#e647c9cd1beecfe6a6e82018a6eec37555e4da3e",
72
+ "@firebase/messaging@0.12.16": "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.12.16.tgz#bd8a768274bdc4368396bd9eaa356bffb998bef2",
73
+ "@firebase/performance-compat@0.2.13": "https://registry.yarnpkg.com/@firebase/performance-compat/-/performance-compat-0.2.13.tgz#29bb94909c10553b40ca97e7f7d0e163bad8a77d",
74
+ "@firebase/performance-types@0.2.3": "https://registry.yarnpkg.com/@firebase/performance-types/-/performance-types-0.2.3.tgz#5ce64e90fa20ab5561f8b62a305010cf9fab86fb",
75
+ "@firebase/performance@0.7.0": "https://registry.yarnpkg.com/@firebase/performance/-/performance-0.7.0.tgz#1cd82039f7e06e0f059287dfa21705c68ec9a691",
76
+ "@firebase/remote-config-compat@0.2.12": "https://registry.yarnpkg.com/@firebase/remote-config-compat/-/remote-config-compat-0.2.12.tgz#ae0b597b3228deef0e3c6b2c6e631f19213eca4c",
77
+ "@firebase/remote-config-types@0.4.0": "https://registry.yarnpkg.com/@firebase/remote-config-types/-/remote-config-types-0.4.0.tgz#91b9a836d5ca30ced68c1516163b281fbb544537",
78
+ "@firebase/remote-config@0.5.0": "https://registry.yarnpkg.com/@firebase/remote-config/-/remote-config-0.5.0.tgz#30212fa77adba8a62fc6408eb32122147ae80790",
79
+ "@firebase/storage-compat@0.3.16": "https://registry.yarnpkg.com/@firebase/storage-compat/-/storage-compat-0.3.16.tgz#49ab9c572bb172e6335c099d95a48bee0f17cc98",
80
+ "@firebase/storage-types@0.8.3": "https://registry.yarnpkg.com/@firebase/storage-types/-/storage-types-0.8.3.tgz#2531ef593a3452fc12c59117195d6485c6632d3d",
81
+ "@firebase/storage@0.13.6": "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.13.6.tgz#322def6cda335df991ce9787aa5ef5650db901bd",
82
+ "@firebase/util@1.10.3": "https://registry.yarnpkg.com/@firebase/util/-/util-1.10.3.tgz#63fc5fea7b36236219c4875731597494416678d1",
83
+ "@firebase/vertexai@1.0.4": "https://registry.yarnpkg.com/@firebase/vertexai/-/vertexai-1.0.4.tgz#1966ddfb32492d004f595f639e57162d488c84ba",
84
+ "@firebase/webchannel-wrapper@1.0.3": "https://registry.yarnpkg.com/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.3.tgz#a73bab8eb491d7b8b7be2f0e6c310647835afe83",
85
+ "@grpc/grpc-js@~1.9.0": "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.9.15.tgz#433d7ac19b1754af690ea650ab72190bd700739b",
86
+ "@grpc/proto-loader@^0.7.8": "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.13.tgz#f6a44b2b7c9f7b609f5748c6eac2d420e37670cf",
87
+ "@hotwired/stimulus@^3.0.1": "https://registry.yarnpkg.com/@hotwired/stimulus/-/stimulus-3.2.2.tgz#071aab59c600fed95b97939e605ff261a4251608",
88
+ "@hotwired/turbo-rails@^7.1.3": "https://registry.yarnpkg.com/@hotwired/turbo-rails/-/turbo-rails-7.3.0.tgz#422c21752509f3edcd6c7b2725bbe9e157815f51",
89
+ "@hotwired/turbo@^7.3.0": "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-7.3.0.tgz#2226000fff1aabda9fd9587474565c9929dbf15d",
90
+ "@isaacs/cliui@^8.0.2": "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550",
91
+ "@pkgjs/parseargs@^0.11.0": "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33",
92
+ "@protobufjs/aspromise@^1.1.1": "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf",
93
+ "@protobufjs/aspromise@^1.1.2": "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf",
94
+ "@protobufjs/base64@^1.1.2": "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735",
95
+ "@protobufjs/codegen@^2.0.4": "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb",
96
+ "@protobufjs/eventemitter@^1.1.0": "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70",
97
+ "@protobufjs/fetch@^1.1.0": "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45",
98
+ "@protobufjs/float@^1.0.2": "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1",
99
+ "@protobufjs/inquire@^1.1.0": "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089",
100
+ "@protobufjs/path@^1.1.2": "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d",
101
+ "@protobufjs/pool@^1.1.0": "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54",
102
+ "@protobufjs/utf8@^1.1.0": "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570",
103
+ "@rails/actioncable@^7.0": "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-7.2.201.tgz#bfb3da01b3e2462f5a18f372c52dedd7de76037f",
104
+ "@rails/request.js@^0.0.6": "https://registry.yarnpkg.com/@rails/request.js/-/request.js-0.0.6.tgz#5f0347a9f363e50ec45118c7134080490cda81d8",
105
+ "@spree/dashboard@^0.2.0": "https://registry.yarnpkg.com/@spree/dashboard/-/dashboard-0.2.1.tgz#6a799c6e6c696b72a88fa67f9edb4a55dca31d1a",
106
+ "@spree/dashboard@^0.2.1": "https://registry.yarnpkg.com/@spree/dashboard/-/dashboard-0.2.1.tgz#6a799c6e6c696b72a88fa67f9edb4a55dca31d1a",
107
+ "@types/node@>=12.12.47": "https://registry.yarnpkg.com/@types/node/-/node-22.13.5.tgz#23add1d71acddab2c6a4d31db89c0f98d330b511",
108
+ "@types/node@>=13.7.0": "https://registry.yarnpkg.com/@types/node/-/node-22.13.5.tgz#23add1d71acddab2c6a4d31db89c0f98d330b511",
109
+ "ansi-colors@^4.1.3": "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b",
110
+ "ansi-regex@^5.0.1": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304",
111
+ "ansi-regex@^6.0.1": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654",
112
+ "ansi-styles@^4.0.0": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937",
113
+ "ansi-styles@^4.1.0": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937",
114
+ "ansi-styles@^6.1.0": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5",
115
+ "anymatch@~3.1.2": "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e",
116
+ "argparse@^2.0.1": "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38",
117
+ "assertion-error@^2.0.1": "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7",
118
+ "balanced-match@^1.0.0": "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee",
119
+ "binary-extensions@^2.0.0": "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522",
120
+ "bootstrap@4.6.1": "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.6.1.tgz#bc25380c2c14192374e8dec07cf01b2742d222a2",
121
+ "brace-expansion@^2.0.1": "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae",
122
+ "braces@~3.0.2": "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789",
123
+ "browser-stdout@^1.3.1": "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60",
124
+ "camelcase@^6.0.0": "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a",
125
+ "chai@^5.2.0": "https://registry.yarnpkg.com/chai/-/chai-5.2.0.tgz#1358ee106763624114addf84ab02697e411c9c05",
126
+ "chalk@^4.1.0": "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01",
127
+ "check-error@^2.1.1": "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc",
128
+ "chokidar@^3.5.3": "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b",
129
+ "cliui@^8.0.1": "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa",
130
+ "color-convert@^2.0.1": "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3",
131
+ "color-name@~1.1.4": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2",
132
+ "cross-spawn@^7.0.6": "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f",
133
+ "debug@^4.3.5": "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a",
134
+ "decamelize@^4.0.0": "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837",
135
+ "deep-eql@^5.0.1": "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341",
136
+ "diff@^5.2.0": "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531",
137
+ "eastasianwidth@^0.2.0": "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb",
138
+ "emoji-regex@^8.0.0": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37",
139
+ "emoji-regex@^9.2.2": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72",
140
+ "esbuild@^0.24.2": "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.2.tgz#b5b55bee7de017bff5fb8a4e3e44f2ebe2c3567d",
141
+ "escalade@^3.1.1": "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5",
142
+ "escape-string-regexp@^4.0.0": "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34",
143
+ "faye-websocket@0.11.4": "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da",
144
+ "fill-range@^7.1.1": "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292",
145
+ "find-up@^5.0.0": "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc",
146
+ "firebase@^11.2.0": "https://registry.yarnpkg.com/firebase/-/firebase-11.3.1.tgz#1507b2b1e3af17418fbe009e82d7bc30a6b5117c",
147
+ "flat@^5.0.2": "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241",
148
+ "flatpickr@4.6.9": "https://registry.yarnpkg.com/flatpickr/-/flatpickr-4.6.9.tgz#9a13383e8a6814bda5d232eae3fcdccb97dc1499",
149
+ "foreground-child@^3.1.0": "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f",
150
+ "fsevents@~2.3.2": "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6",
151
+ "get-caller-file@^2.0.5": "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e",
152
+ "glob-parent@~5.1.2": "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4",
153
+ "glob@^10.4.5": "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956",
154
+ "has-flag@^4.0.0": "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b",
155
+ "he@^1.2.0": "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f",
156
+ "http-parser-js@>=0.5.1": "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.9.tgz#b817b3ca0edea6236225000d795378707c169cec",
157
+ "idb@7.1.1": "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b",
158
+ "is-binary-path@~2.1.0": "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09",
159
+ "is-extglob@^2.1.1": "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2",
160
+ "is-fullwidth-code-point@^3.0.0": "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d",
161
+ "is-glob@^4.0.1": "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084",
162
+ "is-glob@~4.0.1": "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084",
163
+ "is-number@^7.0.0": "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b",
164
+ "is-plain-obj@^2.1.0": "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287",
165
+ "is-unicode-supported@^0.1.0": "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7",
166
+ "isexe@^2.0.0": "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10",
167
+ "jackspeak@^3.1.2": "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a",
168
+ "jquery@3.5.1": "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5",
169
+ "js-yaml@^4.1.0": "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602",
170
+ "locate-path@^6.0.0": "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286",
171
+ "lodash.camelcase@^4.3.0": "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6",
172
+ "log-symbols@^4.1.0": "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503",
173
+ "long@^5.0.0": "https://registry.yarnpkg.com/long/-/long-5.3.1.tgz#9d4222d3213f38a5ec809674834e0f0ab21abe96",
174
+ "loupe@^3.1.0": "https://registry.yarnpkg.com/loupe/-/loupe-3.1.3.tgz#042a8f7986d77f3d0f98ef7990a2b2fef18b0fd2",
175
+ "lru-cache@^10.2.0": "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119",
176
+ "minimatch@^5.1.6": "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96",
177
+ "minimatch@^9.0.4": "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5",
178
+ "minipass@^5.0.0 || ^6.0.2 || ^7.0.0": "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707",
179
+ "minipass@^7.1.2": "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707",
180
+ "mocha@^11.1.0": "https://registry.yarnpkg.com/mocha/-/mocha-11.1.0.tgz#20d7c6ac4d6d6bcb60a8aa47971fca74c65c3c66",
181
+ "ms@^2.1.3": "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2",
182
+ "normalize-path@^3.0.0": "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65",
183
+ "normalize-path@~3.0.0": "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65",
184
+ "p-limit@^3.0.2": "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b",
185
+ "p-locate@^5.0.0": "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834",
186
+ "package-json-from-dist@^1.0.0": "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505",
187
+ "path-exists@^4.0.0": "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3",
188
+ "path-key@^3.1.0": "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375",
189
+ "path-scurry@^1.11.1": "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2",
190
+ "pathval@^2.0.0": "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25",
191
+ "picomatch@^2.0.4": "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42",
192
+ "picomatch@^2.2.1": "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42",
193
+ "popper.js@1.16.1": "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b",
194
+ "protobufjs@^7.2.5": "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.4.0.tgz#7efe324ce9b3b61c82aae5de810d287bc08a248a",
195
+ "randombytes@^2.1.0": "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a",
196
+ "readdirp@~3.6.0": "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7",
197
+ "require-directory@^2.1.1": "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42",
198
+ "safe-buffer@>=5.1.0": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6",
199
+ "safe-buffer@^5.1.0": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6",
200
+ "serialize-javascript@^6.0.2": "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2",
201
+ "shebang-command@^2.0.0": "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea",
202
+ "shebang-regex@^3.0.0": "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172",
203
+ "signal-exit@^4.0.1": "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04",
204
+ "sortablejs@^1.14.0": "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.15.6.tgz#ff93699493f5b8ab8d828f933227b4988df1d393",
205
+ "stimulus-sortable@^3.1.0": "https://registry.yarnpkg.com/stimulus-sortable/-/stimulus-sortable-3.3.0.tgz#92b4ef4697fcd7a10cc4f898dccc45e9065fb0a0",
206
+ "string-width-cjs@npm:string-width@^4.2.0": "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010",
207
+ "string-width@^4.1.0": "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010",
208
+ "string-width@^4.2.0": "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010",
209
+ "string-width@^4.2.3": "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010",
210
+ "string-width@^5.0.1": "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794",
211
+ "string-width@^5.1.2": "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794",
212
+ "strip-ansi-cjs@npm:strip-ansi@^6.0.1": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9",
213
+ "strip-ansi@^6.0.0": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9",
214
+ "strip-ansi@^6.0.1": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9",
215
+ "strip-ansi@^7.0.1": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45",
216
+ "strip-json-comments@^3.1.1": "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006",
217
+ "supports-color@^7.1.0": "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da",
218
+ "supports-color@^8.1.1": "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c",
219
+ "to-regex-range@^5.0.1": "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4",
220
+ "tslib@^2.1.0": "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f",
221
+ "undici-types@~6.20.0": "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433",
222
+ "web-vitals@^4.2.4": "https://registry.yarnpkg.com/web-vitals/-/web-vitals-4.2.4.tgz#1d20bc8590a37769bd0902b289550936069184b7",
223
+ "websocket-driver@>=0.5.1": "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760",
224
+ "websocket-extensions@>=0.1.1": "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42",
225
+ "which@^2.0.1": "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1",
226
+ "workerpool@^6.5.1": "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544",
227
+ "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43",
228
+ "wrap-ansi@^7.0.0": "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43",
229
+ "wrap-ansi@^8.1.0": "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214",
230
+ "y18n@^5.0.5": "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55",
231
+ "yargs-parser@^21.1.1": "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35",
232
+ "yargs-unparser@^2.0.0": "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb",
233
+ "yargs@^17.7.2": "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269",
234
+ "yocto-queue@^0.1.0": "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
235
+ },
8
236
  "files": [],
9
237
  "artifacts": {}
10
238
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_vpago
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.11
4
+ version: 2.3.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - You
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-31 00:00:00.000000000 Z
11
+ date: 2026-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -151,11 +151,17 @@ files:
151
151
  - app/assets/javascripts/vpago/vpago_payments/user_informers/firebase.js
152
152
  - app/controllers/.gitkeep
153
153
  - app/controllers/spree/acleda_redirects_controller.rb
154
+ - app/controllers/spree/admin/payment_acleda_v2_base_controller.rb
155
+ - app/controllers/spree/admin/payment_acleda_v2_checkers_controller.rb
156
+ - app/controllers/spree/admin/payment_acleda_v2_queriers_controller.rb
154
157
  - app/controllers/spree/admin/payment_methods_controller_decorator.rb
155
158
  - app/controllers/spree/admin/payment_payway_base_controller.rb
156
159
  - app/controllers/spree/admin/payment_payway_checkers_controller.rb
157
160
  - app/controllers/spree/admin/payment_payway_markers_controller.rb
158
161
  - app/controllers/spree/admin/payment_payway_queriers_controller.rb
162
+ - app/controllers/spree/admin/payment_vattanac_base_controller.rb
163
+ - app/controllers/spree/admin/payment_vattanac_checkers_controller.rb
164
+ - app/controllers/spree/admin/payment_vattanac_queriers_controller.rb
159
165
  - app/controllers/spree/admin/payment_wing_sdk_base_controller.rb
160
166
  - app/controllers/spree/admin/payment_wing_sdk_checkers_controller.rb
161
167
  - app/controllers/spree/admin/payment_wing_sdk_markers_controller.rb
@@ -400,6 +406,7 @@ files:
400
406
  - lib/vpago/acleda_mobile/transaction_status.rb
401
407
  - lib/vpago/acleda_v2/base.rb
402
408
  - lib/vpago/acleda_v2/checkout.rb
409
+ - lib/vpago/acleda_v2/payment_request_updater.rb
403
410
  - lib/vpago/acleda_v2/transaction_status.rb
404
411
  - lib/vpago/http_timeouts.rb
405
412
  - lib/vpago/payment_amount_calculator.rb
@@ -425,6 +432,7 @@ files:
425
432
  - lib/vpago/true_money/transaction_status.rb
426
433
  - lib/vpago/vattanac/base.rb
427
434
  - lib/vpago/vattanac/checkout.rb
435
+ - lib/vpago/vattanac/payment_request_updater.rb
428
436
  - lib/vpago/vattanac/transaction_status.rb
429
437
  - lib/vpago/vattanac_mini_app/base.rb
430
438
  - lib/vpago/vattanac_mini_app/checkout.rb