effective_orders 6.1.0 → 6.1.2
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 819088f5b5cc1bd4d6965080f951be723aa5f0a10139ba7a724eae767e47b560
|
4
|
+
data.tar.gz: a2b5b57a2612d0b810b90e04481ad221c28335b8f0148e71de223180fa36525e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31f30605ef8af6b7802264d741c7db94b434bd83ec8d917dbbe3f8e175fc516149806600b3237df2fc533fe486b419075f46a335dc6fdd0a43a993b9625a2ce2
|
7
|
+
data.tar.gz: 33652d1539fb9cc7ad2fbf53fa245272ddb6d17e75e3c2830c2292005169656704dbff0845b2cc1a5c14d93fd4492198dd82ec9fa88bf95274465a3ed995a77f
|
data/README.md
CHANGED
@@ -10,13 +10,13 @@ Sends order receipt emails automatically.
|
|
10
10
|
|
11
11
|
Has Order History, My Purchases, My Sales and Admin screens.
|
12
12
|
|
13
|
-
## effective_orders
|
13
|
+
## effective_orders 6.0
|
14
14
|
|
15
|
-
This is the
|
15
|
+
This is the 6.0 series of effective_orders.
|
16
16
|
|
17
17
|
This requires Twitter Bootstrap 4 and Rails 5.1+
|
18
18
|
|
19
|
-
Please check out [Effective Orders 3.x](https://github.com/code-and-effect/effective_orders/tree/bootstrap3) for more information using this gem with Bootstrap 3.
|
19
|
+
Please check out [Effective Orders 3.x](https://github.com/code-and-effect/effective_orders/tree/bootstrap3) for more information using this gem with Bootstrap 3. Deprecated and not maintained.
|
20
20
|
|
21
21
|
## Getting Started
|
22
22
|
|
@@ -614,6 +614,8 @@ We are also going to use ngrok to give us a public facing URL
|
|
614
614
|
|
615
615
|
Visit https://esqa.moneris.com/mpg/ and login with: demouser / store1 / password
|
616
616
|
|
617
|
+
Or for the prod environment https://www3.moneris.com/mpg
|
618
|
+
|
617
619
|
- Select Admin -> Moneris Checkout Config from the menu
|
618
620
|
- Click Create Profile
|
619
621
|
|
@@ -665,6 +667,15 @@ config.moneris_checkout = {
|
|
665
667
|
|
666
668
|
[Testing a Solution](https://developer.moneris.com/en/More/Testing/Testing%20a%20Solution)
|
667
669
|
|
670
|
+
### Create a Production Store
|
671
|
+
|
672
|
+
Visit https://www3.moneris.com/mpg and follow the above instructions
|
673
|
+
|
674
|
+
The Checkout Id, something like `chktJF76Btore1` is on the configuration page.
|
675
|
+
|
676
|
+
The Store Id, something like `gwca12345` should match the login information
|
677
|
+
|
678
|
+
To find the Api Token, click Admin -> Store Settings -> and copy the API key there
|
668
679
|
|
669
680
|
|
670
681
|
## Paying via Moneris (hosted pay page - old)
|
@@ -50,6 +50,17 @@ module Effective
|
|
50
50
|
redirect_to declined_url.gsub(':id', @order.to_param.to_s)
|
51
51
|
end
|
52
52
|
|
53
|
+
def order_not_processed(declined_url: nil)
|
54
|
+
# No change to the order
|
55
|
+
|
56
|
+
if flash[:danger].blank?
|
57
|
+
flash[:danger] = 'Payment was not processed. Please try again.'
|
58
|
+
end
|
59
|
+
|
60
|
+
declined_url = effective_orders.declined_order_path(':id') if declined_url.blank?
|
61
|
+
redirect_to declined_url.gsub(':id', @order.to_param.to_s)
|
62
|
+
end
|
63
|
+
|
53
64
|
end
|
54
65
|
end
|
55
66
|
end
|
@@ -11,7 +11,14 @@ module Effective
|
|
11
11
|
|
12
12
|
EffectiveResources.authorize!(self, :update, @order)
|
13
13
|
|
14
|
-
|
14
|
+
payment_intent_id = stripe_params[:payment_intent_id]
|
15
|
+
|
16
|
+
if payment_intent_id.blank?
|
17
|
+
flash[:danger] = 'Unable to process stripe order without payment. please try again.'
|
18
|
+
return order_not_processed(declined_url: stripe_params[:declined_url])
|
19
|
+
end
|
20
|
+
|
21
|
+
payment = validate_stripe_payment(payment_intent_id)
|
15
22
|
|
16
23
|
if payment.blank?
|
17
24
|
return order_declined(payment: payment, provider: 'stripe', declined_url: stripe_params[:declined_url])
|
@@ -37,6 +44,8 @@ module Effective
|
|
37
44
|
end
|
38
45
|
|
39
46
|
def validate_stripe_payment(payment_intent_id)
|
47
|
+
raise('expected stripe payment intent id to be present') if payment_intent_id.blank?
|
48
|
+
|
40
49
|
intent = EffectiveOrders.with_stripe { ::Stripe::PaymentIntent.retrieve(payment_intent_id) }
|
41
50
|
raise('expected stripe intent to be present') if intent.blank?
|
42
51
|
return unless intent.status == 'succeeded'
|
@@ -59,19 +59,23 @@ module EffectiveStripeHelper
|
|
59
59
|
def stripe_payment_intent_payload(order, customer)
|
60
60
|
customer.create_stripe_customer! # Only creates if customer not already present
|
61
61
|
|
62
|
+
remember_card = EffectiveOrders.stripe[:remember_card]
|
63
|
+
token_required = customer.token_required?
|
64
|
+
|
62
65
|
payment = {
|
63
66
|
amount: order.total_with_surcharge,
|
64
67
|
currency: EffectiveOrders.stripe[:currency],
|
65
68
|
customer: customer.stripe_customer_id,
|
66
|
-
payment_method: customer.payment_method_id.presence,
|
67
69
|
description: stripe_order_description(order),
|
68
70
|
metadata: { order_id: order.id }
|
69
71
|
}
|
70
72
|
|
71
|
-
|
73
|
+
if remember_card && customer.payment_method_id.present?
|
74
|
+
payment[:payment_method] = customer.payment_method_id
|
75
|
+
end
|
72
76
|
|
73
77
|
# Always prompt them for a card unless remember card
|
74
|
-
token_required = true unless
|
78
|
+
token_required = true unless remember_card
|
75
79
|
|
76
80
|
intent = begin
|
77
81
|
Rails.logger.info "[STRIPE] create payment intent : #{payment}"
|
@@ -85,13 +89,18 @@ module EffectiveStripeHelper
|
|
85
89
|
payload = {
|
86
90
|
key: EffectiveOrders.stripe[:publishable_key],
|
87
91
|
client_secret: intent.client_secret,
|
88
|
-
payment_method: intent.payment_method,
|
89
|
-
|
90
|
-
active_card: customer.active_card,
|
91
92
|
email: customer.email,
|
92
93
|
token_required: token_required
|
93
94
|
}
|
94
95
|
|
96
|
+
if remember_card && customer.active_card.present? && intent.payment_method.present?
|
97
|
+
payload[:active_card] = customer.active_card
|
98
|
+
end
|
99
|
+
|
100
|
+
if intent.payment_method.present?
|
101
|
+
payload[:payment_method] = intent.payment_method
|
102
|
+
end
|
103
|
+
|
95
104
|
payload
|
96
105
|
end
|
97
106
|
|
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.1.
|
4
|
+
version: 6.1.2
|
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: 2022-12-
|
11
|
+
date: 2022-12-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|