mollie-api-ruby 4.1.1 → 4.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 +4 -4
- data/lib/mollie/customer/subscription.rb +11 -0
- data/lib/mollie/payment.rb +26 -0
- data/lib/mollie/version.rb +1 -1
- data/test/mollie/customer/subscription_test.rb +6 -0
- data/test/mollie/payment_test.rb +17 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7b56045be6251dae1feef223df7cb6fde128a7e0dbfba0644e8dfce52b0b461
|
4
|
+
data.tar.gz: 31f3621caaaab1d414349d5e431d90802698b8405e2f3ffc1afe1c1fe6b361cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb8cc9bdbbcb699b85b14c86750a3cc8cd7ea4e5182a31c57917f334c8f3ea982773bb443d1a20b4a38f5c5355aa85f88db45bf74fa2b98042dbb409311342cf
|
7
|
+
data.tar.gz: aa386b489ebf28c44851d6b6517fb0a2ebc1666af242acc01ce379f7e1f104fda68668b45ce4285662c3296837b433db263932a53f9b5d74479b91f7d0ffcf07
|
@@ -14,9 +14,12 @@ module Mollie
|
|
14
14
|
:status,
|
15
15
|
:amount,
|
16
16
|
:times,
|
17
|
+
:times_remaining,
|
17
18
|
:interval,
|
19
|
+
:next_payment_date,
|
18
20
|
:description,
|
19
21
|
:method,
|
22
|
+
:mandate_id,
|
20
23
|
:canceled_at,
|
21
24
|
:webhook_url
|
22
25
|
|
@@ -64,6 +67,14 @@ module Mollie
|
|
64
67
|
@times = times.to_i
|
65
68
|
end
|
66
69
|
|
70
|
+
def next_payment_date=(next_payment_date)
|
71
|
+
@next_payment_date = begin
|
72
|
+
Date.parse(next_payment_date)
|
73
|
+
rescue StandardError
|
74
|
+
nil
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
67
78
|
def customer(options = {})
|
68
79
|
Customer.get(customer_id, options)
|
69
80
|
end
|
data/lib/mollie/payment.rb
CHANGED
@@ -16,6 +16,7 @@ module Mollie
|
|
16
16
|
:mode,
|
17
17
|
:created_at,
|
18
18
|
:status,
|
19
|
+
:authorized_at,
|
19
20
|
:paid_at,
|
20
21
|
:is_cancelable,
|
21
22
|
:canceled_at,
|
@@ -23,6 +24,7 @@ module Mollie
|
|
23
24
|
:expires_at,
|
24
25
|
:failed_at,
|
25
26
|
:amount,
|
27
|
+
:amount_captured,
|
26
28
|
:amount_refunded,
|
27
29
|
:amount_remaining,
|
28
30
|
:description,
|
@@ -74,6 +76,14 @@ module Mollie
|
|
74
76
|
status == STATUS_AUTHORIZED
|
75
77
|
end
|
76
78
|
|
79
|
+
def refunded?
|
80
|
+
if amount_refunded
|
81
|
+
amount_refunded.value > 0
|
82
|
+
else
|
83
|
+
false
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
77
87
|
def cancelable?
|
78
88
|
is_cancelable
|
79
89
|
end
|
@@ -104,6 +114,14 @@ module Mollie
|
|
104
114
|
end
|
105
115
|
end
|
106
116
|
|
117
|
+
def authorized_at=(authorized_at)
|
118
|
+
@authorized_at = begin
|
119
|
+
Time.parse(authorized_at.to_s)
|
120
|
+
rescue StandardError
|
121
|
+
nil
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
107
125
|
def paid_at=(paid_at)
|
108
126
|
@paid_at = begin
|
109
127
|
Time.parse(paid_at.to_s)
|
@@ -148,6 +166,10 @@ module Mollie
|
|
148
166
|
@settlement_amount = Mollie::Amount.new(settlement_amount)
|
149
167
|
end
|
150
168
|
|
169
|
+
def amount_captured
|
170
|
+
@amount_captured = Mollie::Amount.new(amount_captured)
|
171
|
+
end
|
172
|
+
|
151
173
|
def amount_remaining=(amount_remaining)
|
152
174
|
@amount_remaining = Mollie::Amount.new(amount_remaining)
|
153
175
|
end
|
@@ -175,6 +197,10 @@ module Mollie
|
|
175
197
|
Payment::Chargeback.all(options.merge(payment_id: id))
|
176
198
|
end
|
177
199
|
|
200
|
+
def captures(options = {})
|
201
|
+
Payment::Capture.all(options.merge(payment_id: id))
|
202
|
+
end
|
203
|
+
|
178
204
|
def customer(options = {})
|
179
205
|
return if customer_id.nil?
|
180
206
|
Customer.get(customer_id, options)
|
data/lib/mollie/version.rb
CHANGED
@@ -12,9 +12,12 @@ module Mollie
|
|
12
12
|
status: 'active',
|
13
13
|
amount: { 'value' => '25.00', 'currency' => 'EUR' },
|
14
14
|
times: 4,
|
15
|
+
times_remaining: 3,
|
15
16
|
interval: '3 months',
|
17
|
+
next_payment_date: '2016-09-01',
|
16
18
|
description: 'Quarterly payment',
|
17
19
|
method: 'creditcard',
|
20
|
+
mandate_id: 'mdt_38HS4fsS',
|
18
21
|
canceled_at: '2016-06-01T12:23:34.0Z',
|
19
22
|
webhook_url: 'https://example.org/payments/webhook'
|
20
23
|
}
|
@@ -29,9 +32,12 @@ module Mollie
|
|
29
32
|
assert_equal BigDecimal('25.00'), subscription.amount.value
|
30
33
|
assert_equal 'EUR', subscription.amount.currency
|
31
34
|
assert_equal 4, subscription.times
|
35
|
+
assert_equal 3, subscription.times_remaining
|
32
36
|
assert_equal '3 months', subscription.interval
|
37
|
+
assert_equal Date.parse('2016-09-01'), subscription.next_payment_date
|
33
38
|
assert_equal 'Quarterly payment', subscription.description
|
34
39
|
assert_equal 'creditcard', subscription.method
|
40
|
+
assert_equal 'mdt_38HS4fsS', subscription.mandate_id
|
35
41
|
assert_equal Time.parse('2016-06-01T12:23:34.0Z'), subscription.canceled_at
|
36
42
|
assert_equal 'https://example.org/payments/webhook', subscription.webhook_url
|
37
43
|
end
|
data/test/mollie/payment_test.rb
CHANGED
@@ -24,6 +24,7 @@ module Mollie
|
|
24
24
|
consumer_bic: 'INGBNL2A'
|
25
25
|
},
|
26
26
|
status: 'paid',
|
27
|
+
authorized_at: '2018-03-19T09:14:37+00:00',
|
27
28
|
paid_at: '2018-03-20T09:14:37+00:00',
|
28
29
|
is_cancelable: false,
|
29
30
|
expires_at: '2018-03-20T09:28:37+00:00',
|
@@ -58,6 +59,7 @@ module Mollie
|
|
58
59
|
assert_equal Time.parse('2018-03-20T09:13:37+00:00'), payment.created_at
|
59
60
|
assert_equal 'paid', payment.status
|
60
61
|
assert_equal true, payment.paid?
|
62
|
+
assert_equal Time.parse('2018-03-19T09:14:37+00:00'), payment.authorized_at
|
61
63
|
assert_equal Time.parse('2018-03-20T09:14:37+00:00'), payment.paid_at
|
62
64
|
assert_equal 10.00, payment.amount.value
|
63
65
|
assert_equal 'EUR', payment.amount.currency
|
@@ -111,6 +113,13 @@ module Mollie
|
|
111
113
|
assert !Payment.new(status: 'not-authorized').authorized?
|
112
114
|
end
|
113
115
|
|
116
|
+
def test_refunded?
|
117
|
+
assert Payment.new(amount_refunded: { value: '10.00', currency: 'EUR' }).refunded?
|
118
|
+
assert Payment.new(amount_refunded: { value: '0.01', currency: 'EUR' }).refunded?
|
119
|
+
assert_false Payment.new(amount_refunded: { value: '0', currency: 'EUR' }).refunded?
|
120
|
+
assert_false Payment.new([]).refunded?
|
121
|
+
end
|
122
|
+
|
114
123
|
def test_create_payment
|
115
124
|
stub_request(:post, 'https://api.mollie.com/v2/payments')
|
116
125
|
.with(body: %({"amount":{"value":1.95,"currency":"EUR"}}))
|
@@ -231,6 +240,14 @@ module Mollie
|
|
231
240
|
assert_equal 'chb-id', chargebacks.first.id
|
232
241
|
end
|
233
242
|
|
243
|
+
def test_list_captures
|
244
|
+
stub_request(:get, 'https://api.mollie.com/v2/payments/pay-id/captures')
|
245
|
+
.to_return(status: 200, body: %({"_embedded" : {"captures" :[{"id":"cpt-id", "payment_id":"pay-id"}]}}), headers: {})
|
246
|
+
|
247
|
+
captures = Payment.new(id: 'pay-id').captures
|
248
|
+
assert_equal 'cpt-id', captures.first.id
|
249
|
+
end
|
250
|
+
|
234
251
|
def test_get_settlement
|
235
252
|
stub_request(:get, 'https://api.mollie.com/v2/payments/tr_WDqYK6vllg')
|
236
253
|
.to_return(status: 200, body: %(
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mollie-api-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.1.
|
4
|
+
version: 4.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mollie B.V.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|