spree_mollie_gateway 0.1.1 → 1.0.0.pre.beta3
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 +5 -5
- data/.gitignore +3 -1
- data/.travis.yml +12 -1
- data/CONTRIBUTING.md +28 -0
- data/Gemfile.lock +322 -2
- data/README.md +29 -54
- data/Rakefile +19 -4
- data/app/controllers/spree/api/v1/mollie_controller.rb +16 -0
- data/app/controllers/spree/checkout_controller_decorator.rb +5 -6
- data/app/controllers/spree/mollie_controller.rb +20 -8
- data/app/models/mollie/client_decorator.rb +13 -0
- data/app/models/spree/gateway/mollie_gateway.rb +108 -53
- data/app/models/spree/mollie_logger.rb +9 -0
- data/app/models/spree/{mollie_transaction.rb → mollie_payment_source.rb} +7 -3
- data/app/models/spree/order_decorator.rb +24 -0
- data/app/models/spree/payment/processing_decorator.rb +8 -2
- data/app/models/spree/payment_decorator.rb +16 -0
- data/app/models/spree/user_decorator.rb +4 -2
- data/app/views/spree/checkout/payment/_molliegateway.html.erb +40 -3
- data/app/views/spree/shared/_payment.html.erb +1 -1
- data/config/routes.rb +11 -1
- data/db/migrate/{20180214133044_create_spree_mollie_transactions.rb → 20180214133044_create_spree_mollie_payment_sources.rb} +2 -2
- data/db/migrate/20180301084841_add_mollie_customer_id_to_spree_user.rb +2 -1
- data/docs/api/methods.md +61 -0
- data/docs/api/readme.md +7 -0
- data/docs/debugging.md +26 -0
- data/lib/spree_mollie_gateway/engine.rb +13 -3
- data/lib/spree_mollie_gateway/factories.rb +10 -0
- data/lib/spree_mollie_gateway/version.rb +1 -1
- data/spree_mollie_gateway.gemspec +27 -12
- metadata +231 -8
- data/app/models/mollie/provider.rb +0 -5
@@ -1,8 +1,10 @@
|
|
1
|
-
Spree
|
1
|
+
Spree.user_class.class_eval do
|
2
2
|
after_create :create_mollie_customer
|
3
3
|
|
4
4
|
def create_mollie_customer
|
5
|
-
|
5
|
+
# Don't create Mollie customers is spree_auth_devise is not installed.
|
6
|
+
return unless defined? Spree::User
|
7
|
+
mollie_gateway = Spree::PaymentMethod.find_by_type 'Spree::Gateway::MollieGateway'
|
6
8
|
mollie_customer = mollie_gateway.create_customer(self)
|
7
9
|
update mollie_customer_id: mollie_customer.id
|
8
10
|
end
|
@@ -1,12 +1,49 @@
|
|
1
1
|
<ul class="list-group">
|
2
2
|
<% payment_method.available_payment_methods.each do |method| %>
|
3
|
-
|
3
|
+
<% prefix = "payment_source[#{payment_method.id}]" %>
|
4
|
+
<div class="radio list-group-item">
|
4
5
|
|
5
|
-
<label
|
6
|
-
<%= radio_button(
|
6
|
+
<label>
|
7
|
+
<%= radio_button(prefix, :payment_method_name, method.id, class: 'js-mollie-payment-method') %>
|
7
8
|
<%= image_tag(method.image['normal']) %>
|
8
9
|
<%= method.description %>
|
9
10
|
</label>
|
11
|
+
|
12
|
+
<%= select_tag "#{prefix}[issuer]", options_for_select(method.issuers.collect {|p| [p['name'], p['id']]}), {class: 'form-control js-mollie-issuers mollie-issuer-list', disabled: true, prompt: 'Select an issuer', data: {method: method.id}} if method.issuers.present? %>
|
10
13
|
</div>
|
11
14
|
<% end %>
|
12
15
|
</ul>
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
/**
|
19
|
+
* Make sure the issuer select boxes are disabled by default to prevent empty issuer submissions.
|
20
|
+
*/
|
21
|
+
var paymentMethodRadioElements = document.querySelectorAll('.js-mollie-payment-method');
|
22
|
+
|
23
|
+
function disableAllIssuerSelectBoxes() {
|
24
|
+
var issuerSelectElements = document.querySelectorAll('.js-mollie-issuers');
|
25
|
+
for (var i = 0; i < issuerSelectElements.length; i++) {
|
26
|
+
issuerSelectElements[i].setAttribute('disabled', 'true');
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
for (var i = 0; i < paymentMethodRadioElements.length; i++) {
|
31
|
+
paymentMethodRadioElements[i].addEventListener('change', function (e) {
|
32
|
+
disableAllIssuerSelectBoxes();
|
33
|
+
var issuerSelect = document.querySelector('[data-method="' + e.target.value + '"]');
|
34
|
+
if (issuerSelect) {
|
35
|
+
issuerSelect.removeAttribute('disabled');
|
36
|
+
}
|
37
|
+
});
|
38
|
+
}
|
39
|
+
</script>
|
40
|
+
|
41
|
+
<style type="text/css">
|
42
|
+
.mollie-issuer-list {
|
43
|
+
margin-top: 15px;
|
44
|
+
}
|
45
|
+
|
46
|
+
.mollie-issuer-list[disabled] {
|
47
|
+
display: none;
|
48
|
+
}
|
49
|
+
</style>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
</span>
|
12
12
|
<br />
|
13
13
|
<span class="full-name"><%= source.name %></span>
|
14
|
-
<% elsif source.is_a?(Spree::
|
14
|
+
<% elsif source.is_a?(Spree::MolliePaymentSource) %>
|
15
15
|
<span class="full-name"><%= source.name %></span>
|
16
16
|
<% else %>
|
17
17
|
<%= content_tag(:span, payment.payment_method.name) %>
|
data/config/routes.rb
CHANGED
@@ -1,6 +1,16 @@
|
|
1
|
-
Spree::Core::Engine.
|
1
|
+
Spree::Core::Engine.routes.draw do
|
2
2
|
resource :mollie, only: [], controller: :mollie do
|
3
3
|
post 'update_payment_status/:order_number', action: :update_payment_status, as: 'mollie_update_payment_status'
|
4
4
|
get 'validate_payment/:order_number', action: :validate_payment, as: 'mollie_validate_payment'
|
5
5
|
end
|
6
|
+
|
7
|
+
namespace :api do
|
8
|
+
namespace :v1 do
|
9
|
+
resources :mollie, only: [] do
|
10
|
+
collection do
|
11
|
+
get :methods
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
6
16
|
end
|
@@ -1,6 +1,6 @@
|
|
1
|
-
class
|
1
|
+
class CreateSpreeMolliePaymentSources < ActiveRecord::Migration[5.1]
|
2
2
|
def change
|
3
|
-
create_table :
|
3
|
+
create_table :spree_mollie_payment_sources do |t|
|
4
4
|
t.string :payment_id
|
5
5
|
t.string :payment_method_name
|
6
6
|
t.string :issuer
|
@@ -1,5 +1,6 @@
|
|
1
1
|
class AddMollieCustomerIdToSpreeUser < ActiveRecord::Migration[5.1]
|
2
2
|
def change
|
3
|
-
|
3
|
+
return unless Spree::Gateway::MollieGateway.allow_one_click_payments?
|
4
|
+
add_column Spree.user_class.table_name, :mollie_customer_id, :string
|
4
5
|
end
|
5
6
|
end
|
data/docs/api/methods.md
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
# Get Mollie payment methods
|
2
|
+
|
3
|
+
Returns a list of Mollie payment methods (and its issuers) which are enabled for your website profile.
|
4
|
+
|
5
|
+
## Parameters
|
6
|
+
This endpoint behaves just like very other Spree API endpoint. If your endpoints require authentication, make sure you sent the `X-Spree-Token` header.
|
7
|
+
|
8
|
+
## Example request
|
9
|
+
|
10
|
+
```bash
|
11
|
+
curl "http://localhost:3000/api/v1/mollie/methods" \
|
12
|
+
-H 'Content-Type: application/json; charset=utf-8'
|
13
|
+
```
|
14
|
+
|
15
|
+
## Example response
|
16
|
+
|
17
|
+
```bash
|
18
|
+
HTTP/1.1 200 OK
|
19
|
+
Content-Type: application/json; charset=utf-8
|
20
|
+
|
21
|
+
[
|
22
|
+
{
|
23
|
+
"attributes": {
|
24
|
+
"resource": "method",
|
25
|
+
"id": "ideal",
|
26
|
+
"description": "iDEAL",
|
27
|
+
"amount": {
|
28
|
+
"minimum": "0.01",
|
29
|
+
"maximum": "50000.00"
|
30
|
+
},
|
31
|
+
"image": {
|
32
|
+
"normal": "https://www.mollie.com/images/payscreen/methods/ideal.png",
|
33
|
+
"bigger": "https://www.mollie.com/images/payscreen/methods/ideal%402x.png"
|
34
|
+
},
|
35
|
+
"issuers": [
|
36
|
+
{
|
37
|
+
"resource": "issuer",
|
38
|
+
"id": "ideal_TESTNL99",
|
39
|
+
"name": "TBM Bank",
|
40
|
+
"method": "ideal",
|
41
|
+
"image": {
|
42
|
+
"normal": "https://www.mollie.com/images/checkout/v2/ideal-issuer-icons/TESTNL99.png",
|
43
|
+
"bigger": "https://www.mollie.com/images/checkout/v2/ideal-issuer-icons/TESTNL99%402x.png"
|
44
|
+
}
|
45
|
+
}
|
46
|
+
]
|
47
|
+
},
|
48
|
+
"id": "ideal",
|
49
|
+
"description": "iDEAL",
|
50
|
+
"amount": {
|
51
|
+
"minimum": "0.01",
|
52
|
+
"maximum": "50000.00"
|
53
|
+
},
|
54
|
+
"image": {
|
55
|
+
"normal": "https://www.mollie.com/images/payscreen/methods/ideal.png",
|
56
|
+
"bigger": "https://www.mollie.com/images/payscreen/methods/ideal%402x.png"
|
57
|
+
}
|
58
|
+
}
|
59
|
+
]
|
60
|
+
|
61
|
+
```
|
data/docs/api/readme.md
ADDED
data/docs/debugging.md
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# Debugging
|
2
|
+
|
3
|
+
The Mollie gateway keeps track of all events which are related to payment details and payment state updates. It uses a separate log, which is located in `log/mollie.log`.
|
4
|
+
|
5
|
+
## Example
|
6
|
+
|
7
|
+
```
|
8
|
+
❯ tail -fn20 log/mollie.log
|
9
|
+
D, [2018-03-17T16:48:43.881508 #45974] DEBUG -- : About to create payment for order R066092806-P9ND5B3J
|
10
|
+
D, [2018-03-17T16:48:44.081895 #45974] DEBUG -- : Payment tr_12345678 created for order R066092806-P9ND5B3J
|
11
|
+
D, [2018-03-17T16:48:44.104215 #45974] DEBUG -- : For order R066092806 redirect user to payment URL: https://www.mollie.com/paymentscreen/issuer/select/ideal
|
12
|
+
D, [2018-03-17T16:48:49.488303 #45974] DEBUG -- : Webhook called for payment tr_12345678
|
13
|
+
D, [2018-03-17T16:48:49.697996 #45974] DEBUG -- : Updating order state for payment. Payment has state paid
|
14
|
+
D, [2018-03-17T16:48:49.788303 #45974] DEBUG -- : Redirect URL visited for order R066092806-P9ND5B3J
|
15
|
+
D, [2018-03-17T16:48:50.927236 #45974] DEBUG -- : Created a Mollie Customer for Spree user with ID cst_234890239
|
16
|
+
D, [2018-03-17T16:55:13.466887 #45974] DEBUG -- : About to create payment for order R287180370-PAP5KQV3
|
17
|
+
D, [2018-03-17T16:55:13.572465 #45974] DEBUG -- : Payment tr_12345678 created for order R287180370-PAP5KQV3
|
18
|
+
D, [2018-03-17T16:55:26.796272 #45974] DEBUG -- : Webhook called for payment tr_12345678
|
19
|
+
D, [2018-03-17T16:55:28.298622 #45974] DEBUG -- : Updating order state for payment. Payment has state paid
|
20
|
+
D, [2018-03-17T16:55:28.384232 #45974] DEBUG -- : Redirect URL visited for order R287180370-PAP5KQV3
|
21
|
+
D, [2018-03-17T17:11:06.855310 #45974] DEBUG -- : Webhook called for payment tr_12345678
|
22
|
+
D, [2018-03-17T17:11:09.569485 #45974] DEBUG -- : Updating order state for payment. Payment has state expired
|
23
|
+
D, [2018-03-18T13:58:14.360501 #54712] DEBUG -- : Starting refund for order R287180370
|
24
|
+
D, [2018-03-18T13:58:18.992075 #54712] DEBUG -- : Successfully refunded 0.01 for order R287180370
|
25
|
+
D, [2018-03-18T14:12:10.495217 #54712] DEBUG -- : Could not create payment for order R541579556-PEKXA7RN: Unauthorized request
|
26
|
+
```
|
@@ -1,18 +1,28 @@
|
|
1
|
-
require 'mollie-api-ruby'
|
2
|
-
|
3
1
|
module SpreeMollieGateway
|
4
2
|
class Engine < ::Rails::Engine
|
3
|
+
require 'spree/core'
|
4
|
+
require 'mollie-api-ruby'
|
5
|
+
|
5
6
|
isolate_namespace SpreeMollieGateway
|
6
7
|
|
7
8
|
config.autoload_paths += %W(#{config.root}/lib)
|
8
9
|
|
10
|
+
# Use rspec for tests
|
11
|
+
config.generators do |g|
|
12
|
+
g.test_framework :rspec
|
13
|
+
end
|
14
|
+
|
9
15
|
def self.activate
|
10
16
|
Dir.glob(File.join(File.dirname(__FILE__), "../../app/**/*_decorator*.rb")) do |c|
|
11
17
|
Rails.configuration.cache_classes ? require(c) : load(c)
|
12
18
|
end
|
13
19
|
|
14
|
-
Rails.application.config.spree.payment_methods << Spree::Gateway::MollieGateway
|
20
|
+
::Rails.application.config.spree.payment_methods << Spree::Gateway::MollieGateway
|
15
21
|
Spree::PermittedAttributes.source_attributes << :payment_method_name
|
22
|
+
Spree::PermittedAttributes.source_attributes << :issuer
|
23
|
+
Spree::Api::ApiHelpers.payment_source_attributes << :payment_method_name
|
24
|
+
Spree::Api::ApiHelpers.payment_source_attributes << :issuer
|
25
|
+
Spree::Api::ApiHelpers.payment_source_attributes << :payment_url
|
16
26
|
end
|
17
27
|
|
18
28
|
config.to_prepare &method(:activate).to_proc
|
@@ -0,0 +1,10 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
# Define your Spree extensions Factories within this file to enable applications, and other extensions to use and override them.
|
3
|
+
#
|
4
|
+
# Example adding this to your spec_helper will load these Factories for use:
|
5
|
+
# require 'spree_mollie_gateway/factories'
|
6
|
+
|
7
|
+
Dir[Dir.pwd + '/spec/factories/**/*'].each do |factory|
|
8
|
+
require File.expand_path(factory)
|
9
|
+
end
|
10
|
+
end
|
@@ -1,17 +1,16 @@
|
|
1
|
-
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
3
|
+
require 'spree_mollie_gateway/version'
|
5
4
|
|
6
5
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
6
|
+
spec.name = 'spree_mollie_gateway'
|
8
7
|
spec.version = SpreeMollieGateway::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
8
|
+
spec.authors = ['Vernon de Goede']
|
9
|
+
spec.email = ['vernon@mollie.com']
|
11
10
|
|
12
11
|
spec.summary = %q{Mollie payments for Spree Commerce.}
|
13
12
|
spec.description = %q{Mollie payment gateway for Spree Commerce.}
|
14
|
-
spec.homepage =
|
13
|
+
spec.homepage = 'https://www.mollie.com'
|
15
14
|
|
16
15
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
17
16
|
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
@@ -25,13 +24,29 @@ Gem::Specification.new do |spec|
|
|
25
24
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
26
25
|
f.match(%r{^(test|spec|features)/})
|
27
26
|
end
|
28
|
-
spec.bindir =
|
27
|
+
spec.bindir = 'exe'
|
29
28
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
30
|
-
spec.require_paths = [
|
29
|
+
spec.require_paths = ['lib']
|
30
|
+
|
31
|
+
spree_version = '>= 3.1.0', '< 4.0'
|
32
|
+
spec.add_dependency 'spree_core', spree_version
|
33
|
+
spec.add_dependency 'spree_backend', spree_version
|
34
|
+
spec.add_dependency 'spree_frontend', spree_version
|
35
|
+
spec.add_dependency 'spree_extension'
|
31
36
|
|
32
|
-
spec.add_development_dependency
|
33
|
-
spec.add_development_dependency
|
34
|
-
spec.add_development_dependency
|
37
|
+
spec.add_development_dependency 'factory_bot'
|
38
|
+
spec.add_development_dependency 'bundler', '~> 1.16'
|
39
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
40
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
41
|
+
spec.add_development_dependency 'rspec-rails', '~> 3.7.2'
|
42
|
+
spec.add_development_dependency 'ffaker'
|
43
|
+
spec.add_development_dependency 'sass-rails'
|
44
|
+
spec.add_development_dependency 'selenium-webdriver'
|
45
|
+
spec.add_development_dependency 'simplecov'
|
46
|
+
spec.add_development_dependency 'sqlite3'
|
47
|
+
spec.add_development_dependency 'mysql2'
|
48
|
+
spec.add_development_dependency 'coffee-rails'
|
49
|
+
spec.add_development_dependency 'database_cleaner'
|
35
50
|
|
36
51
|
spec.add_runtime_dependency 'mollie-api-ruby', '~> 3.1', '>= 3.1.3'
|
37
52
|
end
|
metadata
CHANGED
@@ -1,15 +1,103 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_mollie_gateway
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0.pre.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vernon de Goede
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: spree_core
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 3.1.0
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '4.0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.1.0
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '4.0'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: spree_backend
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 3.1.0
|
40
|
+
- - "<"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '4.0'
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 3.1.0
|
50
|
+
- - "<"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '4.0'
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: spree_frontend
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 3.1.0
|
60
|
+
- - "<"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '4.0'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 3.1.0
|
70
|
+
- - "<"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '4.0'
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: spree_extension
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
type: :runtime
|
81
|
+
prerelease: false
|
82
|
+
version_requirements: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: factory_bot
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
type: :development
|
95
|
+
prerelease: false
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
13
101
|
- !ruby/object:Gem::Dependency
|
14
102
|
name: bundler
|
15
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +140,132 @@ dependencies:
|
|
52
140
|
- - "~>"
|
53
141
|
- !ruby/object:Gem::Version
|
54
142
|
version: '3.0'
|
143
|
+
- !ruby/object:Gem::Dependency
|
144
|
+
name: rspec-rails
|
145
|
+
requirement: !ruby/object:Gem::Requirement
|
146
|
+
requirements:
|
147
|
+
- - "~>"
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 3.7.2
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
154
|
+
- - "~>"
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: 3.7.2
|
157
|
+
- !ruby/object:Gem::Dependency
|
158
|
+
name: ffaker
|
159
|
+
requirement: !ruby/object:Gem::Requirement
|
160
|
+
requirements:
|
161
|
+
- - ">="
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
164
|
+
type: :development
|
165
|
+
prerelease: false
|
166
|
+
version_requirements: !ruby/object:Gem::Requirement
|
167
|
+
requirements:
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '0'
|
171
|
+
- !ruby/object:Gem::Dependency
|
172
|
+
name: sass-rails
|
173
|
+
requirement: !ruby/object:Gem::Requirement
|
174
|
+
requirements:
|
175
|
+
- - ">="
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: '0'
|
178
|
+
type: :development
|
179
|
+
prerelease: false
|
180
|
+
version_requirements: !ruby/object:Gem::Requirement
|
181
|
+
requirements:
|
182
|
+
- - ">="
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: '0'
|
185
|
+
- !ruby/object:Gem::Dependency
|
186
|
+
name: selenium-webdriver
|
187
|
+
requirement: !ruby/object:Gem::Requirement
|
188
|
+
requirements:
|
189
|
+
- - ">="
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '0'
|
192
|
+
type: :development
|
193
|
+
prerelease: false
|
194
|
+
version_requirements: !ruby/object:Gem::Requirement
|
195
|
+
requirements:
|
196
|
+
- - ">="
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
version: '0'
|
199
|
+
- !ruby/object:Gem::Dependency
|
200
|
+
name: simplecov
|
201
|
+
requirement: !ruby/object:Gem::Requirement
|
202
|
+
requirements:
|
203
|
+
- - ">="
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0'
|
206
|
+
type: :development
|
207
|
+
prerelease: false
|
208
|
+
version_requirements: !ruby/object:Gem::Requirement
|
209
|
+
requirements:
|
210
|
+
- - ">="
|
211
|
+
- !ruby/object:Gem::Version
|
212
|
+
version: '0'
|
213
|
+
- !ruby/object:Gem::Dependency
|
214
|
+
name: sqlite3
|
215
|
+
requirement: !ruby/object:Gem::Requirement
|
216
|
+
requirements:
|
217
|
+
- - ">="
|
218
|
+
- !ruby/object:Gem::Version
|
219
|
+
version: '0'
|
220
|
+
type: :development
|
221
|
+
prerelease: false
|
222
|
+
version_requirements: !ruby/object:Gem::Requirement
|
223
|
+
requirements:
|
224
|
+
- - ">="
|
225
|
+
- !ruby/object:Gem::Version
|
226
|
+
version: '0'
|
227
|
+
- !ruby/object:Gem::Dependency
|
228
|
+
name: mysql2
|
229
|
+
requirement: !ruby/object:Gem::Requirement
|
230
|
+
requirements:
|
231
|
+
- - ">="
|
232
|
+
- !ruby/object:Gem::Version
|
233
|
+
version: '0'
|
234
|
+
type: :development
|
235
|
+
prerelease: false
|
236
|
+
version_requirements: !ruby/object:Gem::Requirement
|
237
|
+
requirements:
|
238
|
+
- - ">="
|
239
|
+
- !ruby/object:Gem::Version
|
240
|
+
version: '0'
|
241
|
+
- !ruby/object:Gem::Dependency
|
242
|
+
name: coffee-rails
|
243
|
+
requirement: !ruby/object:Gem::Requirement
|
244
|
+
requirements:
|
245
|
+
- - ">="
|
246
|
+
- !ruby/object:Gem::Version
|
247
|
+
version: '0'
|
248
|
+
type: :development
|
249
|
+
prerelease: false
|
250
|
+
version_requirements: !ruby/object:Gem::Requirement
|
251
|
+
requirements:
|
252
|
+
- - ">="
|
253
|
+
- !ruby/object:Gem::Version
|
254
|
+
version: '0'
|
255
|
+
- !ruby/object:Gem::Dependency
|
256
|
+
name: database_cleaner
|
257
|
+
requirement: !ruby/object:Gem::Requirement
|
258
|
+
requirements:
|
259
|
+
- - ">="
|
260
|
+
- !ruby/object:Gem::Version
|
261
|
+
version: '0'
|
262
|
+
type: :development
|
263
|
+
prerelease: false
|
264
|
+
version_requirements: !ruby/object:Gem::Requirement
|
265
|
+
requirements:
|
266
|
+
- - ">="
|
267
|
+
- !ruby/object:Gem::Version
|
268
|
+
version: '0'
|
55
269
|
- !ruby/object:Gem::Dependency
|
56
270
|
name: mollie-api-ruby
|
57
271
|
requirement: !ruby/object:Gem::Requirement
|
@@ -82,16 +296,21 @@ files:
|
|
82
296
|
- ".gitignore"
|
83
297
|
- ".rspec"
|
84
298
|
- ".travis.yml"
|
299
|
+
- CONTRIBUTING.md
|
85
300
|
- Gemfile
|
86
301
|
- Gemfile.lock
|
87
302
|
- README.md
|
88
303
|
- Rakefile
|
304
|
+
- app/controllers/spree/api/v1/mollie_controller.rb
|
89
305
|
- app/controllers/spree/checkout_controller_decorator.rb
|
90
306
|
- app/controllers/spree/mollie_controller.rb
|
91
|
-
- app/models/mollie/
|
307
|
+
- app/models/mollie/client_decorator.rb
|
92
308
|
- app/models/spree/gateway/mollie_gateway.rb
|
93
|
-
- app/models/spree/
|
309
|
+
- app/models/spree/mollie_logger.rb
|
310
|
+
- app/models/spree/mollie_payment_source.rb
|
311
|
+
- app/models/spree/order_decorator.rb
|
94
312
|
- app/models/spree/payment/processing_decorator.rb
|
313
|
+
- app/models/spree/payment_decorator.rb
|
95
314
|
- app/models/spree/user_decorator.rb
|
96
315
|
- app/views/spree/admin/payments/source_forms/_molliegateway.html.erb
|
97
316
|
- app/views/spree/admin/payments/source_views/_molliegateway.html.erb
|
@@ -100,11 +319,15 @@ files:
|
|
100
319
|
- bin/console
|
101
320
|
- bin/setup
|
102
321
|
- config/routes.rb
|
103
|
-
- db/migrate/
|
322
|
+
- db/migrate/20180214133044_create_spree_mollie_payment_sources.rb
|
104
323
|
- db/migrate/20180301084841_add_mollie_customer_id_to_spree_user.rb
|
324
|
+
- docs/api/methods.md
|
325
|
+
- docs/api/readme.md
|
326
|
+
- docs/debugging.md
|
105
327
|
- lib/generators/spree_mollie_gateway/install/install_generator.rb
|
106
328
|
- lib/spree_mollie_gateway.rb
|
107
329
|
- lib/spree_mollie_gateway/engine.rb
|
330
|
+
- lib/spree_mollie_gateway/factories.rb
|
108
331
|
- lib/spree_mollie_gateway/version.rb
|
109
332
|
- spree_mollie_gateway.gemspec
|
110
333
|
homepage: https://www.mollie.com
|
@@ -122,12 +345,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
122
345
|
version: '0'
|
123
346
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
347
|
requirements:
|
125
|
-
- - "
|
348
|
+
- - ">"
|
126
349
|
- !ruby/object:Gem::Version
|
127
|
-
version:
|
350
|
+
version: 1.3.1
|
128
351
|
requirements: []
|
129
352
|
rubyforge_project:
|
130
|
-
rubygems_version: 2.6
|
353
|
+
rubygems_version: 2.7.6
|
131
354
|
signing_key:
|
132
355
|
specification_version: 4
|
133
356
|
summary: Mollie payments for Spree Commerce.
|