spree-paypal_merchant 5.2.0

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.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +67 -0
  3. data/LICENSE +10 -0
  4. data/README.md +84 -0
  5. data/Rakefile +27 -0
  6. data/app/models/spree/payment_sessions/paypal_merchant.rb +94 -0
  7. data/app/models/spree/paypal_merchant/base.rb +14 -0
  8. data/app/models/spree/paypal_merchant/gateway/payment_sessions.rb +308 -0
  9. data/app/models/spree/paypal_merchant/gateway.rb +324 -0
  10. data/app/models/spree/paypal_merchant/order.rb +89 -0
  11. data/app/models/spree/paypal_merchant/order_decorator.rb +24 -0
  12. data/app/models/spree/paypal_merchant/payment_method_decorator.rb +29 -0
  13. data/app/models/spree/paypal_merchant/payment_sources/apple_pay.rb +49 -0
  14. data/app/models/spree/paypal_merchant/payment_sources/card.rb +42 -0
  15. data/app/models/spree/paypal_merchant/payment_sources/paypal.rb +37 -0
  16. data/app/models/spree/paypal_merchant/store_decorator.rb +19 -0
  17. data/app/presenters/spree/paypal_merchant/order_presenter.rb +148 -0
  18. data/app/serializers/spree/api/v3/payment_method_serializer_decorator.rb +20 -0
  19. data/app/services/spree/paypal_merchant/capture_order.rb +44 -0
  20. data/app/services/spree/paypal_merchant/create_payment.rb +49 -0
  21. data/app/services/spree/paypal_merchant/create_source.rb +110 -0
  22. data/app/views/spree/admin/payment_methods/configuration_guides/_spree_paypal_merchant.html.erb +17 -0
  23. data/app/views/spree/admin/payment_methods/descriptions/_spree_paypal_merchant.html.erb +10 -0
  24. data/app/views/spree/admin/payments/source_forms/_spree_paypal_merchant.html.erb +7 -0
  25. data/app/views/spree/payment_sources/_paypal_merchant.html.erb +17 -0
  26. data/config/initializers/spree.rb +8 -0
  27. data/db/migrate/20250528095719_create_spree_paypal_merchant_orders.rb +31 -0
  28. data/db/migrate/20261003120000_rename_spree_paypal_platform_to_paypal_merchant.rb +46 -0
  29. data/lib/generators/spree/paypal_merchant/install/install_generator.rb +39 -0
  30. data/lib/spree/paypal_merchant/engine.rb +41 -0
  31. data/lib/spree/paypal_merchant/factories.rb +60 -0
  32. data/lib/spree/paypal_merchant/version.rb +8 -0
  33. data/lib/spree/paypal_merchant.rb +32 -0
  34. data/lib/spree-paypal_merchant.rb +6 -0
  35. metadata +176 -0
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spree_core'
4
+ require 'paypal_server_sdk'
5
+ require 'spree/paypal_merchant/version'
6
+ require 'spree/paypal_merchant/engine'
7
+
8
+ module Spree
9
+ module PaypalMerchant
10
+ ##
11
+ # Table prefix for models nested under this module.
12
+ #
13
+ # Must live on the module, not on {Base}. ActiveRecord walks
14
+ # `module_parents` for `table_name_prefix` and finds `Spree` first
15
+ # (`"spree_"`) unless this closer parent defines it.
16
+ #
17
+ # @return [String]
18
+ #
19
+ def self.table_name_prefix
20
+ 'spree_paypal_merchant_'
21
+ end
22
+
23
+ ##
24
+ # STI type names that count as this gem's gateway.
25
+ #
26
+ # @return [Array<String>]
27
+ #
28
+ def self.gateway_type_names
29
+ ([Gateway.name] + Gateway.descendants.map(&:name)).uniq
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Bundler auto-requires a gem by its *name*, so `gem "spree-paypal_merchant"`
4
+ # issues `require "spree-paypal_merchant"`. The real entry point is
5
+ # `spree/paypal_merchant` (matching Spree::PaypalMerchant).
6
+ require 'spree/paypal_merchant'
metadata ADDED
@@ -0,0 +1,176 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spree-paypal_merchant
3
+ version: !ruby/object:Gem::Version
4
+ version: 5.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Aypex
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: paypal-server-sdk
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '2.3'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '2.3'
26
+ - !ruby/object:Gem::Dependency
27
+ name: spree
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 5.6.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 5.6.0
40
+ - !ruby/object:Gem::Dependency
41
+ name: spree_admin
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 5.6.0
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 5.6.0
54
+ - !ruby/object:Gem::Dependency
55
+ name: dotenv
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: spree_dev_tools
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: vcr
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: webmock
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: A Spree 5.6+ payment method for PayPal Checkout. Creates and captures
111
+ PayPal Orders via payment sessions, pins the storefront address, and records PayPal
112
+ wallet, Apple Pay, and card sources.
113
+ email: hello@aypex.io
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - CHANGELOG.md
119
+ - LICENSE
120
+ - README.md
121
+ - Rakefile
122
+ - app/models/spree/payment_sessions/paypal_merchant.rb
123
+ - app/models/spree/paypal_merchant/base.rb
124
+ - app/models/spree/paypal_merchant/gateway.rb
125
+ - app/models/spree/paypal_merchant/gateway/payment_sessions.rb
126
+ - app/models/spree/paypal_merchant/order.rb
127
+ - app/models/spree/paypal_merchant/order_decorator.rb
128
+ - app/models/spree/paypal_merchant/payment_method_decorator.rb
129
+ - app/models/spree/paypal_merchant/payment_sources/apple_pay.rb
130
+ - app/models/spree/paypal_merchant/payment_sources/card.rb
131
+ - app/models/spree/paypal_merchant/payment_sources/paypal.rb
132
+ - app/models/spree/paypal_merchant/store_decorator.rb
133
+ - app/presenters/spree/paypal_merchant/order_presenter.rb
134
+ - app/serializers/spree/api/v3/payment_method_serializer_decorator.rb
135
+ - app/services/spree/paypal_merchant/capture_order.rb
136
+ - app/services/spree/paypal_merchant/create_payment.rb
137
+ - app/services/spree/paypal_merchant/create_source.rb
138
+ - app/views/spree/admin/payment_methods/configuration_guides/_spree_paypal_merchant.html.erb
139
+ - app/views/spree/admin/payment_methods/descriptions/_spree_paypal_merchant.html.erb
140
+ - app/views/spree/admin/payments/source_forms/_spree_paypal_merchant.html.erb
141
+ - app/views/spree/payment_sources/_paypal_merchant.html.erb
142
+ - config/initializers/spree.rb
143
+ - db/migrate/20250528095719_create_spree_paypal_merchant_orders.rb
144
+ - db/migrate/20261003120000_rename_spree_paypal_platform_to_paypal_merchant.rb
145
+ - lib/generators/spree/paypal_merchant/install/install_generator.rb
146
+ - lib/spree-paypal_merchant.rb
147
+ - lib/spree/paypal_merchant.rb
148
+ - lib/spree/paypal_merchant/engine.rb
149
+ - lib/spree/paypal_merchant/factories.rb
150
+ - lib/spree/paypal_merchant/version.rb
151
+ homepage: https://github.com/aypex-io/spree-paypal_merchant
152
+ licenses:
153
+ - MIT
154
+ metadata:
155
+ source_code_uri: https://github.com/aypex-io/spree-paypal_merchant
156
+ bug_tracker_uri: https://github.com/aypex-io/spree-paypal_merchant/issues
157
+ changelog_uri: https://github.com/aypex-io/spree-paypal_merchant/blob/main/CHANGELOG.md
158
+ rubygems_mfa_required: 'true'
159
+ rdoc_options: []
160
+ require_paths:
161
+ - lib
162
+ required_ruby_version: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '3.3'
167
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
172
+ requirements: []
173
+ rubygems_version: 4.0.20
174
+ specification_version: 4
175
+ summary: PayPal Checkout for Spree, including Apple Pay and Card Fields
176
+ test_files: []