effective_orders 6.29.3 → 6.29.4

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: cef36eb0c984554b2dca3c452b1109ca9d93212550b2ce26ea6409c54bf28a3b
4
- data.tar.gz: 346cf647a1049b044a5da3b68a88f1bc26249d00c33d3a73a7c4c01874a7a8b4
3
+ metadata.gz: 035c812dd03e065b9385b58d2d10d3409bce2e7afac2a0e38ba00647f831cb04
4
+ data.tar.gz: f97db7d459d71ea2e11f64256a74f8f5d26adc8812a9b77c69b348c3210c08cd
5
5
  SHA512:
6
- metadata.gz: fa90e1f0246b84bc405c89c14a84eda81054ede6c959ef62f45d03f7b971429e1aa13f16f1875c0b787d2d97794e9eae7298d140d191fcc5ce4865f4cd1cf9e6
7
- data.tar.gz: 1ee2c4b5f30586fc6018bd78f5b66b7f03893c8be6174c9b0926364c88d57f985b2104391035f4fd6f7c5e082fb50365fa3758710d17593e468b733c23466e18
6
+ metadata.gz: fbbeb2c78da17cb03200d4eec40f1ece524652d60450c5e43b077ffb59c5da4c2494b1a83b5b19ec1deef7a77a46ef94c76e055481152f3a5ca43ac399cda8f5
7
+ data.tar.gz: 217a023107ae3fd4990f3222fafe528d0782a489f001b4703a4b0667864fad82c1abfa67d5682e3ae70314fcb8f99dd49919df4871296779465d9563393a43f3
@@ -12,5 +12,8 @@
12
12
  - provider_locals = { order: order, deferred_url: deferred_url, declined_url: declined_url }
13
13
 
14
14
  .d-flex.justify-content-around
15
- - EffectiveOrders.deferred_providers.each do |provider|
16
- = render partial: "/effective/orders/#{provider}/form", locals: provider_locals
15
+ - EffectiveOrders.deferred_providers.map(&:to_sym).each do |provider|
16
+ - if (restriction = EffectiveOrders.payment_restriction(provider, order))
17
+ .alert.alert-warning.mx-2 #{order_checkout_label(provider)} #{restriction}
18
+ - else
19
+ = render partial: "/effective/orders/#{provider}/form", locals: provider_locals
@@ -19,4 +19,7 @@
19
19
  %br
20
20
  Use credit card number 5555 5555 5555 4444 with any future expiry and any CVC.
21
21
 
22
- = render('effective/orders/deluxe/element')
22
+ - if (restriction = EffectiveOrders.payment_restriction(:deluxe, order))
23
+ .alert.alert-warning #{order_checkout_label(:deluxe)} #{restriction}
24
+ - else
25
+ = render('effective/orders/deluxe/element')
@@ -13,4 +13,7 @@
13
13
  %br
14
14
  Use credit card number 5555 5555 5555 4444 with any future expiry and any CVC.
15
15
 
16
- = render('effective/orders/deluxe_delayed/element')
16
+ - if (restriction = EffectiveOrders.payment_restriction(:deluxe_delayed, order))
17
+ .alert.alert-warning #{order_checkout_label(:deluxe_delayed)} #{restriction}
18
+ - else
19
+ = render('effective/orders/deluxe_delayed/element')
@@ -19,4 +19,7 @@
19
19
  %br
20
20
  Use credit card number 4242 4242 4242 4242 with any future Expiry date and CVV 123
21
21
 
22
- = render('effective/orders/helcim/element')
22
+ - if (restriction = EffectiveOrders.payment_restriction(:helcim, order))
23
+ .alert.alert-warning #{order_checkout_label(:helcim)} #{restriction}
24
+ - else
25
+ = render('effective/orders/helcim/element')
@@ -44,4 +44,7 @@
44
44
  = hidden_field_tag(:ship_postal_code, address.postal_code)
45
45
  = hidden_field_tag(:ship_country, address.country)
46
46
 
47
- = f.submit order_checkout_label(:moneris), border: false
47
+ - if (restriction = EffectiveOrders.payment_restriction(:moneris, order))
48
+ .alert.alert-warning #{order_checkout_label(:moneris)} #{restriction}
49
+ - else
50
+ = f.submit order_checkout_label(:moneris), border: false
@@ -11,7 +11,10 @@
11
11
  -# This is set by the moneris_checkout.js javascript
12
12
  = f.hidden_field :ticket
13
13
 
14
- = render('effective/orders/moneris_checkout/element')
14
+ - if (restriction = EffectiveOrders.payment_restriction(:moneris_checkout, order))
15
+ .alert.alert-warning #{order_checkout_label(:moneris_checkout)} #{restriction}
16
+ - else
17
+ = render('effective/orders/moneris_checkout/element')
15
18
 
16
19
  .mt-3.text-center
17
20
  %em
@@ -18,14 +18,17 @@
18
18
  -# This is set by the stripe.js javascript
19
19
  = f.hidden_field :payment_intent_id, required: true
20
20
 
21
- - if stripe[:token_required]
22
- %p Please enter your credit card information.
23
- = render('effective/orders/stripe/element')
21
+ - if (restriction = EffectiveOrders.payment_restriction(:stripe, order))
22
+ .alert.alert-warning #{order_checkout_label(:stripe)} #{restriction}
24
23
  - else
25
- %p Your existing card <strong>#{stripe[:active_card]}</strong> will be charged.
26
-
27
- = collapse('Use this card instead...', class: 'update-stripe-payment-method') do
24
+ - if stripe[:token_required]
25
+ %p Please enter your credit card information.
28
26
  = render('effective/orders/stripe/element')
27
+ - else
28
+ %p Your existing card <strong>#{stripe[:active_card]}</strong> will be charged.
29
+
30
+ = collapse('Use this card instead...', class: 'update-stripe-payment-method') do
31
+ = render('effective/orders/stripe/element')
29
32
 
30
- .mt-4.stripe-submit-button{style: 'display: none;'}
31
- = f.submit order_checkout_label(:stripe), center: true, border: false
33
+ .mt-4.stripe-submit-button{style: 'display: none;'}
34
+ = f.submit order_checkout_label(:stripe), center: true, border: false
@@ -128,6 +128,8 @@ EffectiveOrders.setup do |config|
128
128
  ## Payment Provider specific options ##
129
129
  #######################################
130
130
 
131
+ # You can add min_price and max_price to any payment provider configuration
132
+
131
133
  # Cheque
132
134
  # This is an deferred payment
133
135
  config.cheque = false
@@ -175,7 +177,9 @@ EffectiveOrders.setup do |config|
175
177
  # partner_token: '',
176
178
  # currency: 'CAD',
177
179
  # brand_color: '815AF0', # 6-digit hex color without any # sign
178
- # fee_saver: false
180
+ # fee_saver: false,
181
+ # min_price: nil,
182
+ # max_price: nil
179
183
  # }
180
184
 
181
185
  # Moneris
@@ -1,3 +1,3 @@
1
1
  module EffectiveOrders
2
- VERSION = '6.29.3'.freeze
2
+ VERSION = '6.29.4'.freeze
3
3
  end
@@ -259,6 +259,22 @@ module EffectiveOrders
259
259
  true
260
260
  end
261
261
 
262
+ def self.payment_restriction(payment_provider, order)
263
+ provider = try(payment_provider)
264
+ raise("Unexpected payment provider: #{payment_provider || 'nil'}") unless provider.kind_of?(Hash)
265
+
266
+ if (price = provider[:min_price]).present? && order.total < provider[:min_price]
267
+ return "is only available for invoices over $#{'%0.2f' % (price / 100.00)}"
268
+ end
269
+
270
+ if (price = provider[:max_price]).present? && order.total > provider[:max_price]
271
+ return "is only available for invoices up to $#{'%0.2f' % (price / 100.00)}"
272
+ end
273
+
274
+ # No restrictions
275
+ nil
276
+ end
277
+
262
278
  def self.with_stripe(&block)
263
279
  raise('expected stripe to be enabled') unless stripe?
264
280
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_orders
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.29.3
4
+ version: 6.29.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-11-14 00:00:00.000000000 Z
11
+ date: 2025-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails