workarea-sezzle 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  3. data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  5. data/.gitignore +23 -0
  6. data/.rubocop.yml +405 -0
  7. data/.scss-lint.yml +204 -0
  8. data/Gemfile +17 -0
  9. data/LICENSE +7 -0
  10. data/README.md +95 -0
  11. data/Rakefile +56 -0
  12. data/Workarea +0 -0
  13. data/app/assets/images/workarea/admin/sezzle/.keep +0 -0
  14. data/app/assets/images/workarea/sezzle_logo_white.svg +1 -0
  15. data/app/assets/images/workarea/storefront/sezzle/.keep +0 -0
  16. data/app/assets/javascripts/workarea/admin/sezzle/.keep +0 -0
  17. data/app/assets/javascripts/workarea/storefront/sezzle/.keep +0 -0
  18. data/app/assets/stylesheets/workarea/admin/sezzle/.keep +0 -0
  19. data/app/assets/stylesheets/workarea/admin/sezzle/components/_payment_icon.scss +13 -0
  20. data/app/assets/stylesheets/workarea/storefront/sezzle/.keep +0 -0
  21. data/app/assets/stylesheets/workarea/storefront/sezzle/components/_payment_icon.scss +13 -0
  22. data/app/assets/stylesheets/workarea/storefront/sezzle/components/_sezzle.scss +13 -0
  23. data/app/controllers/.keep +0 -0
  24. data/app/controllers/workarea/storefront/checkout/place_order_controller.decorator +11 -0
  25. data/app/controllers/workarea/storefront/sezzle_controller.rb +109 -0
  26. data/app/helpers/.keep +0 -0
  27. data/app/mailers/.keep +0 -0
  28. data/app/models/.keep +0 -0
  29. data/app/models/workarea/payment/authorize/sezzle.rb +32 -0
  30. data/app/models/workarea/payment/capture/sezzle.rb +85 -0
  31. data/app/models/workarea/payment/purchase/sezzle.rb +30 -0
  32. data/app/models/workarea/payment/refund/sezzle.rb +47 -0
  33. data/app/models/workarea/payment/tender/sezzle.rb +15 -0
  34. data/app/models/workarea/paymentl.decorator +32 -0
  35. data/app/services/workarea/sezzle/order_builder.rb +135 -0
  36. data/app/view_models/workarea/storefront/checkout/payment_view_model.decorator +11 -0
  37. data/app/views/.keep +0 -0
  38. data/app/views/workarea/admin/orders/tenders/_sezzle.html.haml +3 -0
  39. data/app/views/workarea/storefront/carts/_sezzle_widget.html.haml +5 -0
  40. data/app/views/workarea/storefront/checkouts/_sezzle_payment.html.haml +8 -0
  41. data/app/views/workarea/storefront/order_mailer/tenders/_sezzle.html.haml +1 -0
  42. data/app/views/workarea/storefront/order_mailer/tenders/_sezzle.text.erb +1 -0
  43. data/app/views/workarea/storefront/orders/tenders/_sezzle.html.haml +4 -0
  44. data/app/views/workarea/storefront/products/_sezzle_widget.html.haml +10 -0
  45. data/app/views/workarea/storefront/sezzle/_script.html.haml +22 -0
  46. data/bin/rails +25 -0
  47. data/config/initializers/appends.rb +30 -0
  48. data/config/initializers/configurations.rb +41 -0
  49. data/config/initializers/workarea.rb +21 -0
  50. data/config/locales/en.yml +43 -0
  51. data/config/routes.rb +5 -0
  52. data/lib/workarea/sezzle.rb +53 -0
  53. data/lib/workarea/sezzle/authentication.rb +49 -0
  54. data/lib/workarea/sezzle/bogus_gateway.rb +128 -0
  55. data/lib/workarea/sezzle/engine.rb +10 -0
  56. data/lib/workarea/sezzle/gateway.rb +90 -0
  57. data/lib/workarea/sezzle/response.rb +27 -0
  58. data/lib/workarea/sezzle/version.rb +5 -0
  59. data/module +0 -0
  60. data/test/dummy/.ruby-version +1 -0
  61. data/test/dummy/Rakefile +6 -0
  62. data/test/dummy/app/assets/config/manifest.js +2 -0
  63. data/test/dummy/app/assets/images/.keep +0 -0
  64. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  65. data/test/dummy/app/controllers/application_controller.rb +2 -0
  66. data/test/dummy/app/controllers/concerns/.keep +0 -0
  67. data/test/dummy/app/helpers/application_helper.rb +2 -0
  68. data/test/dummy/app/javascript/packs/application.js +14 -0
  69. data/test/dummy/app/jobs/application_job.rb +7 -0
  70. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  71. data/test/dummy/app/models/concerns/.keep +0 -0
  72. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  73. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  74. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  75. data/test/dummy/bin/rails +4 -0
  76. data/test/dummy/bin/rake +4 -0
  77. data/test/dummy/bin/setup +25 -0
  78. data/test/dummy/config.ru +5 -0
  79. data/test/dummy/config/application.rb +34 -0
  80. data/test/dummy/config/boot.rb +5 -0
  81. data/test/dummy/config/environment.rb +5 -0
  82. data/test/dummy/config/environments/development.rb +53 -0
  83. data/test/dummy/config/environments/production.rb +101 -0
  84. data/test/dummy/config/environments/test.rb +47 -0
  85. data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
  86. data/test/dummy/config/initializers/assets.rb +12 -0
  87. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  88. data/test/dummy/config/initializers/content_security_policy.rb +28 -0
  89. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  90. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  91. data/test/dummy/config/initializers/inflections.rb +16 -0
  92. data/test/dummy/config/initializers/mime_types.rb +4 -0
  93. data/test/dummy/config/initializers/workarea.rb +5 -0
  94. data/test/dummy/config/initializers/wrap_parameters.rb +9 -0
  95. data/test/dummy/config/locales/en.yml +33 -0
  96. data/test/dummy/config/puma.rb +38 -0
  97. data/test/dummy/config/routes.rb +5 -0
  98. data/test/dummy/config/spring.rb +6 -0
  99. data/test/dummy/db/seeds.rb +2 -0
  100. data/test/dummy/lib/assets/.keep +0 -0
  101. data/test/dummy/log/.keep +0 -0
  102. data/test/integration/workarea/storefront/sezzle_integration_test.rb +205 -0
  103. data/test/models/workarea/payment/sezzle_payment_integration_test.rb +82 -0
  104. data/test/services/workarea/sezzle/order_builder_test.rb +116 -0
  105. data/test/teaspoon_env.rb +6 -0
  106. data/test/test_helper.rb +10 -0
  107. data/workarea-sezzle.gemspec +20 -0
  108. metadata +163 -0
@@ -0,0 +1,204 @@
1
+ # Extension of the default configuration:
2
+ # https://github.com/causes/scss-lint/blob/master/config/default.yml
3
+
4
+ linters:
5
+ Comment:
6
+ enabled: false
7
+
8
+ DeclarationOrder:
9
+ enabled: true
10
+
11
+ ElsePlacement:
12
+ enabled: true
13
+
14
+ EmptyRule:
15
+ enabled: false
16
+
17
+ HexLength:
18
+ enabled: true
19
+ style: long
20
+
21
+ Indentation:
22
+ enabled: true
23
+ allow_non_nested_indentation: true
24
+ character: space
25
+ width: 4
26
+
27
+ LeadingZero:
28
+ enabled: true
29
+ style: include_zero
30
+
31
+ MergeableSelector:
32
+ enabled: true
33
+ force_nesting: false
34
+
35
+ PropertySortOrder:
36
+ enabled: true
37
+ ignore_unspecified: false
38
+ separate_groups: false
39
+ order:
40
+ - content
41
+ - display
42
+ -
43
+ - flex
44
+ - flex-basis
45
+ - flex-direction
46
+ - flex-grow
47
+ - flex-shrink
48
+ - flex-wrap
49
+ -
50
+ - align-items
51
+ - align-self
52
+ - order
53
+ - justify-content
54
+ -
55
+ - position
56
+ - top
57
+ - right
58
+ - bottom
59
+ - left
60
+ - z-index
61
+ -
62
+ - margin
63
+ - margin-top
64
+ - margin-right
65
+ - margin-bottom
66
+ - margin-left
67
+ -
68
+ - margin-collapse
69
+ - margin-top-collapse
70
+ - margin-right-collapse
71
+ - margin-bottom-collapse
72
+ - margin-left-collapse
73
+ -
74
+ - padding
75
+ - padding-top
76
+ - padding-right
77
+ - padding-bottom
78
+ - padding-left
79
+ -
80
+ - width
81
+ - height
82
+ - max-width
83
+ - max-height
84
+ - min-width
85
+ - min-height
86
+ -
87
+ - float
88
+ - clear
89
+ -
90
+ - color
91
+ -
92
+ - font
93
+ - font-size
94
+ - font-style
95
+ - font-family
96
+ - font-weight
97
+ - font-variant
98
+ - font-smoothing
99
+ - font-stretch
100
+ -
101
+ - line-height
102
+ - letter-spacing
103
+ - word-spacing
104
+ -
105
+ - text-align
106
+ - text-indent
107
+ - text-shadow
108
+ - text-overflow
109
+ - text-rendering
110
+ - text-transform
111
+ - text-decoration
112
+ - text-size-adjust
113
+ -
114
+ - word-break
115
+ - word-wrap
116
+ -
117
+ - white-space
118
+ -
119
+ - background
120
+ - background-size
121
+ - background-color
122
+ - background-image
123
+ - background-repeat
124
+ - background-position
125
+ - background-attachment
126
+ -
127
+ - border
128
+ - border-top
129
+ - border-right
130
+ - border-bottom
131
+ - border-left
132
+ -
133
+ - border-image
134
+ - border-spacing
135
+ - border-collapse
136
+ -
137
+ - border-color
138
+ - border-top-color
139
+ - border-right-color
140
+ - border-bottom-color
141
+ - border-left-color
142
+ -
143
+ - border-style
144
+ - border-top-style
145
+ - border-right-style
146
+ - border-bottom-style
147
+ - border-left-style
148
+ -
149
+ - border-width
150
+ - border-top-width
151
+ - border-right-width
152
+ - border-bottom-width
153
+ - border-left-width
154
+ -
155
+ - border-radius
156
+ - border-top-right-radius
157
+ - border-bottom-right-radius
158
+ - border-bottom-left-radius
159
+ - border-top-left-radius
160
+ - border-radius-topright
161
+ - border-radius-bottomright
162
+ - border-radius-bottomleft
163
+ - border-radius-topleft
164
+ -
165
+ - box-shadow
166
+
167
+ SelectorFormat:
168
+ enabled: true
169
+ convention: hyphenated_BEM
170
+
171
+ SingleLinePerSelector:
172
+ enabled: false
173
+
174
+ SpaceAfterPropertyColon:
175
+ enabled: true
176
+ style: at_least_one_space
177
+
178
+ SpaceBeforeBrace:
179
+ enabled: true
180
+ style: space
181
+ allow_single_line_padding: true
182
+
183
+ VariableForProperty:
184
+ enabled: true
185
+ properties:
186
+ - color
187
+ - font-family
188
+ - background-color
189
+
190
+ PseudoElement:
191
+ enabled: false
192
+
193
+ # These default settings may be problematic to implementors. They are not
194
+ # ommitted so that they may be adjusted as needed during an implementation.
195
+ #
196
+ # For documentation:
197
+ # https://github.com/causes/scss-lint/blob/master/lib/scss_lint/linter/README.md
198
+
199
+ DuplicateProperty:
200
+ enabled: true
201
+
202
+ PropertySpelling:
203
+ enabled: true
204
+ extra_properties: [] # Add experimental CSS to this array, if needed
data/Gemfile ADDED
@@ -0,0 +1,17 @@
1
+ source 'https://rubygems.org'
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
+
4
+ # Declare your gem's dependencies in sezzle.gemspec.
5
+ # Bundler will treat runtime dependencies like base dependencies, and
6
+ # development dependencies will be added by default to the :development group.
7
+ gemspec
8
+
9
+ # Declare any dependencies that are still in development here instead of in
10
+ # your gemspec. These might include edge Rails or gems from your path or
11
+ # Git. Remember to move these dependencies to your gemspec before releasing
12
+ # your gem to rubygems.org.
13
+
14
+ # To use a debugger
15
+ gem 'byebug', group: [:development, :test]
16
+
17
+ gem 'workarea', github: 'workarea-commerce/workarea' , branch: 'v3.5-stable'
data/LICENSE ADDED
@@ -0,0 +1,7 @@
1
+ Copyright 2020
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,95 @@
1
+ Workarea Sezzle
2
+ ================================================================================
3
+
4
+ A Sezzle payments plugin for the Workarea Commerce platform. This integration allows checking out
5
+ with Sezzle as well as handles displaying the relevant pricing messaging on cart and product displays.
6
+
7
+
8
+ Getting Started
9
+ --------------------------------------------------------------------------------
10
+
11
+ This gem contains a Rails engine that must be mounted onto a host Rails application.
12
+
13
+ Then add the gem to your application's Gemfile specifying the source:
14
+
15
+ # ...
16
+ gem 'workarea-sezzle'
17
+ # ...
18
+
19
+ Update your application's bundle.
20
+
21
+ cd path/to/application
22
+ bundle
23
+
24
+ Features
25
+ --------------------------------------------------------------------------------
26
+
27
+ This integration supports the following features:
28
+ * Adding the Sezzle payment method to payment page.
29
+ * Support for AUTH and Capture payment intents.
30
+ * Ability to refund and capture Sezzle orders after payment.
31
+ * Admin configuration panel.
32
+
33
+ Development and Integration Notes
34
+ --------------------------------------------------------------------------------
35
+ Sezzle messaging is displayed on product detail pages (PDP) and cart pages using Sezzle JS. A merchant ID must be configured in order to display this messaging. Sezzle JS documenation can be found at [https://docs.sezzle.com/#sezzlejs](https://docs.sezzle.com/#sezzlejs).
36
+
37
+ Workarea Sezzle makes use of the following Workarea view append points for messaging display:
38
+
39
+ storefront.product_pricing_details
40
+ storefront.cart_additional_information
41
+ Make sure that any custom views in your host app have not removed these append points.
42
+
43
+
44
+ Sezzle supports two payment flows. Immediate capture of funds and an initial authorization with a capture at a later date. This behavior is controlled by the payment intent via the API when the order is sent to Sezzle. The default for this integration is authorization and capture at a later date, because this flow is used in Workarea by default. **Make sure that Sezzle payment intent matches the payment flow for your application.**
45
+
46
+ If you are hosting with Workarea Commerce Cloud make sure that you add the API endpoints to the proxy. This can be done with the Workarea CLI available to Commerce Cloud customers.
47
+
48
+
49
+ Configuration
50
+ --------------------------------------------------------------------------------
51
+
52
+ **For Workarea v3.5 and Greater**
53
+ Sezzle can be configured via the settings section in the Workarea admin console.
54
+ Available settings are:
55
+ * public key
56
+ * private key
57
+ * merchant ID
58
+ * test mode - will use the sandbox url instead live
59
+ * payment intent (AUTH or CAPTURE)
60
+
61
+
62
+ **For Workarea v3.0 to V3.4**
63
+ Add the following to your secrets:
64
+
65
+ sezzle:
66
+ api_private_key: YOUR-PUBLIC-KEY
67
+ api_public_key: YOUR-PRIVATE-KEY
68
+ test: true
69
+
70
+ Payment intent and merchant ID can be set in an initializer.
71
+
72
+ Workarea.config.sezzle_merchant_id = 'YOUR MERCHANT ID'
73
+ Workarea.config.sezzle_payment_action = 'AUTH'
74
+
75
+ Your merchant ID and API keys can be found in the Sezzle admin. Contact your Sezzle representative if you will be using the sandbox as it will have different API credentials for the sandbox and production environments.
76
+
77
+ Contributing
78
+ --------------------------------------------------------------------------------
79
+ We encourage contributions to this project. Please fork and submit a pull request with the minimum viable code for your bug fixes or feature enhancements.
80
+
81
+ **Found A Bug?**
82
+ Please open a Github issue with steps on how to reproduce. Be sure to follow the instructions when creating the issue.
83
+
84
+
85
+ Documentation
86
+ --------------------------------------------------------------------------------
87
+ See [https://docs.sezzle.com](https://docs.sezzle.com) for Sezzle Documentation.
88
+
89
+ See [https://developer.workarea.com](https://developer.workarea.com) for Workarea platform documentation.
90
+
91
+
92
+ License
93
+ --------------------------------------------------------------------------------
94
+
95
+ Workarea Sezzle is released under the MIT open source agreement.
@@ -0,0 +1,56 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+ RDoc::Task.new(:rdoc) do |rdoc|
9
+ rdoc.rdoc_dir = 'rdoc'
10
+ rdoc.title = 'Sezzle'
11
+ rdoc.options << '--line-numbers'
12
+ rdoc.rdoc_files.include('README.md')
13
+ rdoc.rdoc_files.include('lib/**/*.rb')
14
+ end
15
+
16
+ APP_RAKEFILE = File.expand_path('../test/dummy/Rakefile', __FILE__)
17
+ load 'rails/tasks/engine.rake'
18
+ load 'rails/tasks/statistics.rake'
19
+ load 'workarea/changelog.rake'
20
+
21
+ require 'rake/testtask'
22
+ Rake::TestTask.new(:test) do |t|
23
+ t.libs << 'lib'
24
+ t.libs << 'test'
25
+ t.pattern = 'test/**/*_test.rb'
26
+ t.verbose = false
27
+ end
28
+ task default: :test
29
+
30
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
31
+ require 'workarea/sezzle/version'
32
+
33
+ desc "Release version #{Workarea::Sezzle::VERSION} of the gem"
34
+ task :release do
35
+ # Rake::Task['workarea:changelog'].execute
36
+ # system 'git add CHANGELOG.md'
37
+ # system 'git commit -m "Update CHANGELOG"'
38
+
39
+ system "git tag -a v#{Workarea::Sezzle::VERSION} -m 'Tagging #{Workarea::Sezzle::VERSION}'"
40
+ system 'git push origin HEAD --follow-tags'
41
+
42
+ system 'gem build workarea-sezzle.gemspec'
43
+ system "gem push workarea-sezzle-#{Workarea::Sezzle::VERSION}.gem"
44
+ system "rm workarea-sezzle-#{Workarea::Sezzle::VERSION}.gem"
45
+ end
46
+
47
+ desc 'Run the JavaScript tests'
48
+ ENV['TEASPOON_RAILS_ENV'] = File.expand_path('../test/dummy/config/environment', __FILE__)
49
+ task teaspoon: 'app:teaspoon'
50
+
51
+ desc 'Start a server at http://localhost:3000/teaspoon for JavaScript tests'
52
+ task :teaspoon_server do
53
+ Dir.chdir('test/dummy')
54
+ teaspoon_env = File.expand_path('../test/teaspoon_env.rb', __FILE__)
55
+ system "RAILS_ENV=test TEASPOON_ENV=#{teaspoon_env} rails s"
56
+ end
File without changes
@@ -0,0 +1 @@
1
+ <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 798 199.52"><defs><linearGradient id="a" x1="76.84" y1="65.89" x2="44.41" y2="104.54" gradientTransform="matrix(1 0 0 -1 0 202)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ce5dcb"/><stop offset=".21" stop-color="#c558cc"/><stop offset=".55" stop-color="#ac4acf"/><stop offset=".98" stop-color="#8534d4"/><stop offset="1" stop-color="#8333d4"/></linearGradient><linearGradient id="b" x1="78.02" y1="109.87" x2="147.69" y2="109.87" gradientTransform="matrix(1 0 0 -1 0 202)" gradientUnits="userSpaceOnUse"><stop offset=".02" stop-color="#ff5667"/><stop offset=".66" stop-color="#fc8b82"/><stop offset="1" stop-color="#fba28e"/></linearGradient><linearGradient id="c" x1="-.01" y1="134.92" x2="95.89" y2="134.92" gradientTransform="matrix(1 0 0 -1 0 202)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#00b874"/><stop offset=".51" stop-color="#29d3a2"/><stop offset=".68" stop-color="#53dfb6"/><stop offset="1" stop-color="#9ff4d9"/></linearGradient><linearGradient id="d" x1="65.35" y1="69.57" x2="161.25" y2="69.57" gradientTransform="matrix(1 0 0 -1 0 202)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fcd77e"/><stop offset=".52" stop-color="#fea500"/><stop offset="1" stop-color="#ff5b00"/></linearGradient></defs><path d="M13.53 134.17a46.2 46.2 0 0065.35 0l1.73-1.73c9-9-9-56.32 0-65.35z" fill="url(#a)"/><path d="M82.35 65.36l-1.73 1.73c-9 9 9 56.32 0 65.34l67.07-67.07a46.21 46.21 0 00-65.34 0" fill="url(#b)"/><path d="M13.53 68.83a46.19 46.19 0 000 65.34l68.83-68.83a46.21 46.21 0 000-65.34z" fill="url(#c)"/><path d="M78.88 134.17a46.22 46.22 0 000 65.35l68.83-68.83a46.19 46.19 0 000-65.34z" fill="url(#d)"/><path d="M415.45 100.12a51.62 51.62 0 00-99.11 28.94v.13c.88 2.94 2.29 6.7 2.32 6.76 4.39 10.28 11.74 18.12 22.47 24A51.68 51.68 0 00406 147.22l.42-.52a51.83 51.83 0 004.56-6.81 8.8 8.8 0 00-15.35-8.59 33.68 33.68 0 01-8.54 10 5.81 5.81 0 00-.74.68 34.22 34.22 0 01-36.74 2.56 33.51 33.51 0 01-12.7-12.26L409.53 111a8.77 8.77 0 005.92-10.88zM366 80.51a34.21 34.21 0 0128.59 15.6l.52.83-63.28 18.56a34.22 34.22 0 0134.15-35zm39.41 66zm103.3 3.07h-48.07l53.75-79a4.86 4.86 0 00-4-7.6H442a8.23 8.23 0 100 16.46h45.8l-53.74 79a4.85 4.85 0 004 7.59h70.64a8.23 8.23 0 000-16.45zm106.49 0h-48.06l53.75-79a4.85 4.85 0 00-4-7.59h-68.36a8.23 8.23 0 000 16.46h45.8l-53.74 79a4.85 4.85 0 004 7.59h70.61a8.23 8.23 0 000-16.46zm47.46-131.11a8.24 8.24 0 00-8.23 8.23v131.41a8.23 8.23 0 0016.46 0V26.7a8.24 8.24 0 00-8.23-8.23zm134.99 81.65a51.27 51.27 0 00-6.16-13.49 51.62 51.62 0 00-57.9-21.51 51.63 51.63 0 00-35.06 63.94v.14c.88 2.93 2.29 6.69 2.32 6.76 4.39 10.28 11.74 18.12 22.47 24a51.7 51.7 0 0064.79-12.71l.43-.55a51.66 51.66 0 004.55-6.8 8.8 8.8 0 00-15.35-8.59 33.7 33.7 0 01-8.54 10 6 6 0 00-.75.68 34.22 34.22 0 01-36.74 2.56A33.6 33.6 0 01719 132.3l72.7-21.3a8.77 8.77 0 005.95-10.88zm-49.48-19.61a34.21 34.21 0 0128.59 15.6l.52.83L714 115.5a34.22 34.22 0 0134.15-35zm-459.4 39.77a27.44 27.44 0 00-10.47-8.84c-7.36-3.75-16.92-5.47-26.07-6.9l-1.45-.22c-6.43-1-13.08-2-17.35-4.2-3.23-1.64-4.38-3.48-4.38-7.07 0-7 7.56-12.19 17.6-12.19 12 0 18.66 3.5 26.15 8.07a8.86 8.86 0 109.2-15.12 76 76 0 00-14.42-7.23 61.22 61.22 0 00-21-3.43c-9.24 0-17.88 2.8-24.33 7.91a27.71 27.71 0 00-11 22c0 10.3 4.88 18.22 14.11 22.89 6.78 3.43 14.84 4.68 22.63 5.89l1.43.22c20 3.13 25.75 6 25.75 12.56 0 8.19-8.2 13.55-20.89 13.66h-.46a41.33 41.33 0 01-25.35-8c-.68-.46-1.26-.87-1.84-1.23a8.86 8.86 0 10-9.38 15l1 .65.24.16A59.1 59.1 0 00253.9 166h.61c11-.1 20.48-3.06 27.37-8.58a28.75 28.75 0 0011.12-22.8 24.91 24.91 0 00-4.23-14.34z" fill="#fff"/></svg>
@@ -0,0 +1,13 @@
1
+ /*------------------------------------*\
2
+ #PAYMENT-ICON
3
+ \*------------------------------------*/
4
+
5
+ $payment-icon-sezzle-width: 58px !default;
6
+ $payment-icon-sezzle-background: #382757 !default;
7
+
8
+ .payment-icon--sezzle {
9
+ padding: 0 ($spacing-unit / 2);
10
+ width: $payment-icon-sezzle-width;
11
+ background: $payment-icon-sezzle-background;
12
+ border-radius: 3px;
13
+ }
@@ -0,0 +1,13 @@
1
+ /*------------------------------------*\
2
+ #PAYMENT-ICON
3
+ \*------------------------------------*/
4
+
5
+ $payment-icon-sezzle-width: 58px !default;
6
+ $payment-icon-sezzle-background: #382757 !default;
7
+
8
+ .payment-icon--sezzle {
9
+ padding: 0 ($spacing-unit / 2);
10
+ width: $payment-icon-sezzle-width;
11
+ background: $payment-icon-sezzle-background;
12
+ border-radius: 3px;
13
+ }
@@ -0,0 +1,13 @@
1
+ /*------------------------------------*\
2
+ #SEZZLE
3
+ \*------------------------------------*/
4
+
5
+ .sezzle {}
6
+ .sezzle--product {}
7
+ .sezzle--cart {}
8
+
9
+ .sezzle__prices {
10
+ display: none;
11
+ }
12
+
13
+ .sezzle__price {}
File without changes