mollie-api-ruby 2.2.1 → 3.1.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 (197) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +37 -8
  4. data/examples/apis/api_docs.rb +1 -1
  5. data/examples/apis/chargebacks.rb +17 -0
  6. data/examples/apis/connect.rb +1 -1
  7. data/examples/apis/customers.rb +7 -6
  8. data/examples/apis/invoices.rb +2 -2
  9. data/examples/apis/issuers.rb +2 -2
  10. data/examples/apis/mandates.rb +5 -5
  11. data/examples/apis/methods.rb +2 -2
  12. data/examples/apis/organizations.rb +1 -1
  13. data/examples/apis/payments.rb +43 -9
  14. data/examples/apis/permissions.rb +2 -2
  15. data/examples/apis/profiles.rb +7 -7
  16. data/examples/apis/refunds.rb +1 -1
  17. data/examples/apis/settlements.rb +5 -5
  18. data/examples/apis/subscriptions.rb +7 -7
  19. data/examples/config.ru +6 -7
  20. data/lib/{mollie/api/cacert.pem → cacert.pem} +0 -0
  21. data/lib/mollie-api-ruby.rb +1 -0
  22. data/lib/mollie.rb +39 -0
  23. data/lib/mollie/base.rb +91 -0
  24. data/lib/mollie/chargeback.rb +36 -0
  25. data/lib/mollie/client.rb +125 -0
  26. data/lib/mollie/customer.rb +36 -0
  27. data/lib/mollie/customer/mandate.rb +33 -0
  28. data/lib/mollie/customer/payment.rb +6 -0
  29. data/lib/mollie/customer/subscription.rb +65 -0
  30. data/lib/mollie/exception.rb +8 -0
  31. data/lib/mollie/invoice.rb +66 -0
  32. data/lib/mollie/issuer.rb +5 -0
  33. data/lib/mollie/list.rb +40 -0
  34. data/lib/mollie/method.rb +38 -0
  35. data/lib/mollie/organization.rb +24 -0
  36. data/lib/mollie/payment.rb +142 -0
  37. data/lib/mollie/payment/chargeback.rb +6 -0
  38. data/lib/mollie/payment/refund.rb +6 -0
  39. data/lib/mollie/permission.rb +26 -0
  40. data/lib/mollie/profile.rb +78 -0
  41. data/lib/mollie/profile/api_key.rb +19 -0
  42. data/lib/mollie/refund.rb +42 -0
  43. data/lib/mollie/relation.rb +36 -0
  44. data/lib/mollie/settlement.rb +36 -0
  45. data/lib/mollie/settlement/chargeback.rb +6 -0
  46. data/lib/mollie/settlement/payment.rb +6 -0
  47. data/lib/mollie/settlement/refund.rb +6 -0
  48. data/lib/mollie/util.rb +57 -0
  49. data/lib/mollie/version.rb +3 -0
  50. data/mollie.gemspec +2 -2
  51. data/test/helper.rb +5 -1
  52. data/test/mollie/base_test.rb +182 -0
  53. data/test/mollie/chargeback_test.rb +35 -0
  54. data/test/mollie/client_test.rb +122 -0
  55. data/test/mollie/customer/mandate_test.rb +43 -0
  56. data/test/mollie/customer/payment_test.rb +23 -0
  57. data/test/mollie/customer/subscription_test.rb +66 -0
  58. data/test/mollie/customer_test.rb +128 -0
  59. data/test/mollie/invoice_test.rb +55 -0
  60. data/test/mollie/issuer_test.rb +19 -0
  61. data/test/mollie/list_test.rb +40 -0
  62. data/test/mollie/method_test.rb +29 -0
  63. data/test/mollie/organization_test.rb +41 -0
  64. data/test/mollie/payment/chargeback_test.rb +22 -0
  65. data/test/mollie/payment/refund_test.rb +22 -0
  66. data/test/mollie/payment_test.rb +161 -0
  67. data/test/mollie/permission_test.rb +21 -0
  68. data/test/mollie/profile/apikey_test.rb +31 -0
  69. data/test/mollie/profile_test.rb +98 -0
  70. data/test/mollie/refund_test.rb +40 -0
  71. data/test/mollie/settlement/chargeback_test.rb +22 -0
  72. data/test/mollie/settlement/payment_test.rb +22 -0
  73. data/test/mollie/settlement/refund_test.rb +22 -0
  74. data/test/mollie/settlement_test.rb +156 -0
  75. data/website-docs/chargebacks/list-all.rb +12 -0
  76. data/website-docs/connect/authorize.rb +15 -0
  77. data/website-docs/connect/tokens.rb +14 -0
  78. data/website-docs/customers/create-payment.rb +13 -0
  79. data/website-docs/customers/create.rb +12 -0
  80. data/website-docs/customers/delete.rb +10 -0
  81. data/website-docs/customers/get.rb +10 -0
  82. data/website-docs/customers/list-payments.rb +10 -0
  83. data/website-docs/customers/list.rb +12 -0
  84. data/website-docs/customers/update.rb +11 -0
  85. data/website-docs/invoices/get.rb +10 -0
  86. data/website-docs/invoices/list.rb +12 -0
  87. data/website-docs/issuers/get.rb +10 -0
  88. data/website-docs/issuers/list.rb +12 -0
  89. data/website-docs/mandates/create.rb +16 -0
  90. data/website-docs/mandates/delete.rb +10 -0
  91. data/website-docs/mandates/get.rb +10 -0
  92. data/website-docs/mandates/list.rb +12 -0
  93. data/website-docs/methods/get.rb +10 -0
  94. data/website-docs/methods/list.rb +12 -0
  95. data/website-docs/organisations/get.rb +10 -0
  96. data/website-docs/payments/create-refund.rb +14 -0
  97. data/website-docs/payments/create.rb +16 -0
  98. data/website-docs/payments/delete-refund.rb +13 -0
  99. data/website-docs/payments/delete.rb +12 -0
  100. data/website-docs/payments/get-chargeback.rb +11 -0
  101. data/website-docs/payments/get-refund.rb +11 -0
  102. data/website-docs/payments/get.rb +10 -0
  103. data/website-docs/payments/list-chargeback.rb +13 -0
  104. data/website-docs/payments/list-refunds.rb +13 -0
  105. data/website-docs/payments/list.rb +12 -0
  106. data/website-docs/payments/payment-webhook.rb +21 -0
  107. data/website-docs/permissions/get.rb +10 -0
  108. data/website-docs/permissions/list.rb +12 -0
  109. data/website-docs/profiles/create.rb +15 -0
  110. data/website-docs/profiles/delete.rb +10 -0
  111. data/website-docs/profiles/get-key.rb +11 -0
  112. data/website-docs/profiles/get.rb +10 -0
  113. data/website-docs/profiles/list-keys.rb +13 -0
  114. data/website-docs/profiles/list.rb +12 -0
  115. data/website-docs/profiles/reset-key.rb +13 -0
  116. data/website-docs/profiles/update.rb +12 -0
  117. data/website-docs/refunds/list.rb +12 -0
  118. data/website-docs/settlements/get.rb +10 -0
  119. data/website-docs/settlements/list-chargebacks.rb +13 -0
  120. data/website-docs/settlements/list-payments.rb +13 -0
  121. data/website-docs/settlements/list-refunds.rb +13 -0
  122. data/website-docs/settlements/list.rb +12 -0
  123. data/website-docs/settlements/next.rb +9 -0
  124. data/website-docs/settlements/open.rb +9 -0
  125. data/website-docs/subscriptions/create.rb +14 -0
  126. data/website-docs/subscriptions/delete.rb +10 -0
  127. data/website-docs/subscriptions/get.rb +10 -0
  128. data/website-docs/subscriptions/list.rb +12 -0
  129. metadata +134 -104
  130. data/lib/mollie/api/client.rb +0 -161
  131. data/lib/mollie/api/client/version.rb +0 -7
  132. data/lib/mollie/api/exception.rb +0 -10
  133. data/lib/mollie/api/object/base.rb +0 -18
  134. data/lib/mollie/api/object/customer.rb +0 -28
  135. data/lib/mollie/api/object/customer/mandate.rb +0 -37
  136. data/lib/mollie/api/object/customer/subscription.rb +0 -69
  137. data/lib/mollie/api/object/invoice.rb +0 -70
  138. data/lib/mollie/api/object/issuer.rb +0 -9
  139. data/lib/mollie/api/object/list.rb +0 -44
  140. data/lib/mollie/api/object/method.rb +0 -42
  141. data/lib/mollie/api/object/organization.rb +0 -28
  142. data/lib/mollie/api/object/payment.rb +0 -137
  143. data/lib/mollie/api/object/payment/refund.rb +0 -47
  144. data/lib/mollie/api/object/permission.rb +0 -12
  145. data/lib/mollie/api/object/profile.rb +0 -78
  146. data/lib/mollie/api/object/profile/apikey.rb +0 -23
  147. data/lib/mollie/api/object/settlement.rb +0 -32
  148. data/lib/mollie/api/resource/base.rb +0 -53
  149. data/lib/mollie/api/resource/customers.rb +0 -11
  150. data/lib/mollie/api/resource/customers/mandates.rb +0 -27
  151. data/lib/mollie/api/resource/customers/payments.rb +0 -27
  152. data/lib/mollie/api/resource/customers/subscriptions.rb +0 -27
  153. data/lib/mollie/api/resource/invoices.rb +0 -11
  154. data/lib/mollie/api/resource/issuers.rb +0 -11
  155. data/lib/mollie/api/resource/methods.rb +0 -11
  156. data/lib/mollie/api/resource/organizations.rb +0 -11
  157. data/lib/mollie/api/resource/payments.rb +0 -11
  158. data/lib/mollie/api/resource/payments/refunds.rb +0 -27
  159. data/lib/mollie/api/resource/permissions.rb +0 -31
  160. data/lib/mollie/api/resource/profiles.rb +0 -11
  161. data/lib/mollie/api/resource/profiles/apikeys.rb +0 -33
  162. data/lib/mollie/api/resource/refunds.rb +0 -11
  163. data/lib/mollie/api/resource/settlements.rb +0 -19
  164. data/lib/mollie/api/resource/settlements/payments.rb +0 -27
  165. data/lib/mollie/api/util.rb +0 -53
  166. data/test/mollie/api/client_test.rb +0 -111
  167. data/test/mollie/api/object/base_test.rb +0 -21
  168. data/test/mollie/api/object/customer/mandate_test.rb +0 -47
  169. data/test/mollie/api/object/customer/subscription_test.rb +0 -70
  170. data/test/mollie/api/object/customer_test.rb +0 -35
  171. data/test/mollie/api/object/invoice_test.rb +0 -59
  172. data/test/mollie/api/object/issuer_test.rb +0 -23
  173. data/test/mollie/api/object/list_test.rb +0 -44
  174. data/test/mollie/api/object/method_test.rb +0 -33
  175. data/test/mollie/api/object/organization_test.rb +0 -45
  176. data/test/mollie/api/object/payment/refund_test.rb +0 -46
  177. data/test/mollie/api/object/payment_test.rb +0 -106
  178. data/test/mollie/api/object/permission_test.rb +0 -25
  179. data/test/mollie/api/object/profile/apikey_test.rb +0 -35
  180. data/test/mollie/api/object/profile_test.rb +0 -72
  181. data/test/mollie/api/object/settlement_test.rb +0 -140
  182. data/test/mollie/api/resource/base_test.rb +0 -83
  183. data/test/mollie/api/resource/customers/mandates_test.rb +0 -23
  184. data/test/mollie/api/resource/customers/payments_test.rb +0 -23
  185. data/test/mollie/api/resource/customers/subscriptions_test.rb +0 -23
  186. data/test/mollie/api/resource/customers_test.rb +0 -13
  187. data/test/mollie/api/resource/invoices_test.rb +0 -13
  188. data/test/mollie/api/resource/issuers_test.rb +0 -13
  189. data/test/mollie/api/resource/methods_test.rb +0 -13
  190. data/test/mollie/api/resource/organizations_test.rb +0 -13
  191. data/test/mollie/api/resource/payments/refunds_test.rb +0 -23
  192. data/test/mollie/api/resource/payments_test.rb +0 -13
  193. data/test/mollie/api/resource/permissions_test.rb +0 -13
  194. data/test/mollie/api/resource/profiles/apikeys_test.rb +0 -23
  195. data/test/mollie/api/resource/profiles_test.rb +0 -13
  196. data/test/mollie/api/resource/settlements_test.rb +0 -13
  197. data/test/mollie/api/util_test.rb +0 -47
@@ -0,0 +1,33 @@
1
+ module Mollie
2
+ class Customer
3
+ class Mandate < Base
4
+ STATUS_VALID = "valid"
5
+ STATUS_INVALID = "invalid"
6
+
7
+ attr_accessor :id,
8
+ :status,
9
+ :method,
10
+ :customer_id,
11
+ :details,
12
+ :created_datetime,
13
+ :mandate_reference
14
+
15
+
16
+ def details=(details)
17
+ @details = OpenStruct.new(details) if details.is_a?(Hash)
18
+ end
19
+
20
+ def created_datetime=(created_datetime)
21
+ @created_datetime = Time.parse(created_datetime.to_s) rescue nil
22
+ end
23
+
24
+ def valid?
25
+ status == STATUS_VALID
26
+ end
27
+
28
+ def invalid?
29
+ status == STATUS_INVALID
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,6 @@
1
+ module Mollie
2
+ class Customer
3
+ class Payment < Mollie::Payment
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,65 @@
1
+ module Mollie
2
+ class Customer
3
+ class Subscription < Base
4
+ STATUS_ACTIVE = "active"
5
+ STATUS_PENDING = "pending" # Waiting for a valid mandate.
6
+ STATUS_CANCELLED = "cancelled"
7
+ STATUS_SUSPENDED = "suspended" # Active, but mandate became invalid.
8
+ STATUS_COMPLETED = "completed"
9
+
10
+ attr_accessor :resource,
11
+ :id,
12
+ :customer_id,
13
+ :mode,
14
+ :created_datetime,
15
+ :status,
16
+ :amount,
17
+ :times,
18
+ :interval,
19
+ :description,
20
+ :method,
21
+ :cancelled_datetime,
22
+ :links
23
+
24
+ def active?
25
+ status == STATUS_ACTIVE
26
+ end
27
+
28
+ def pending?
29
+ status == STATUS_PENDING
30
+ end
31
+
32
+ def suspended?
33
+ status == STATUS_SUSPENDED
34
+ end
35
+
36
+ def cancelled?
37
+ status == STATUS_CANCELLED
38
+ end
39
+
40
+ def completed?
41
+ status == STATUS_COMPLETED
42
+ end
43
+
44
+ def created_datetime=(created_datetime)
45
+ @created_datetime = Time.parse(created_datetime.to_s) rescue nil
46
+ end
47
+
48
+ def cancelled_datetime=(cancelled_datetime)
49
+ @cancelled_datetime = Time.parse(cancelled_datetime.to_s) rescue nil
50
+ end
51
+
52
+ def amount=(amount)
53
+ @amount = BigDecimal.new(amount.to_s)
54
+ end
55
+
56
+ def times=(times)
57
+ @times = times.to_i
58
+ end
59
+
60
+ def webhook_url
61
+ links && links['webhook_url']
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,8 @@
1
+ module Mollie
2
+ class Exception < StandardError
3
+ @field = nil
4
+ @code = nil
5
+
6
+ attr_accessor :field, :code
7
+ end
8
+ end
@@ -0,0 +1,66 @@
1
+ module Mollie
2
+ class Invoice < Base
3
+ STATUS_OPEN = "open"
4
+ STATUS_PAID = "paid"
5
+ STATUS_OVERDUE = "overdue"
6
+
7
+ class Amount < Base
8
+ attr_accessor :net, :vat, :gross
9
+
10
+ def net=(net)
11
+ @net = BigDecimal.new(net.to_s)
12
+ end
13
+
14
+ def vat=(vat)
15
+ @vat = BigDecimal.new(vat.to_s, 2)
16
+ end
17
+
18
+ def gross=(gross)
19
+ @gross = BigDecimal.new(gross.to_s)
20
+ end
21
+ end
22
+
23
+ class Line < Base
24
+ attr_accessor :period, :description, :count, :vat_percentage, :amount
25
+
26
+ def amount=(amount)
27
+ @amount = BigDecimal.new(amount.to_s)
28
+ end
29
+ end
30
+
31
+ attr_accessor :resource, :id, :reference, :vat_number, :status,
32
+ :issue_date, :due_date, :amount, :lines, :links
33
+
34
+ def open?
35
+ status == STATUS_OPEN
36
+ end
37
+
38
+ def paid?
39
+ status == STATUS_PAID
40
+ end
41
+
42
+ def overdue?
43
+ status == STATUS_OVERDUE
44
+ end
45
+
46
+ def amount=(amount)
47
+ @amount = Amount.new(amount)
48
+ end
49
+
50
+ def issue_date=(issue_date)
51
+ @issue_date = Time.parse(issue_date) rescue nil
52
+ end
53
+
54
+ def due_date=(due_date)
55
+ @due_date = Time.parse(due_date) rescue nil
56
+ end
57
+
58
+ def lines=(lines)
59
+ @lines = lines.map { |line| Line.new(line) }
60
+ end
61
+
62
+ def pdf
63
+ links && links['pdf']
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,5 @@
1
+ module Mollie
2
+ class Issuer < Base
3
+ attr_accessor :id, :name, :method
4
+ end
5
+ end
@@ -0,0 +1,40 @@
1
+ module Mollie
2
+ class List < Base
3
+ include Enumerable
4
+
5
+ attr_accessor :total_count,
6
+ :offset,
7
+ :count,
8
+ :links,
9
+ :data
10
+
11
+ def initialize(list_attributes, klass)
12
+ list_attributes['data'] ||= []
13
+ super list_attributes
14
+
15
+ @data = self.data.map do |attributes|
16
+ klass.new attributes
17
+ end
18
+ end
19
+
20
+ def each(&block)
21
+ @data.each(&block)
22
+ end
23
+
24
+ def first_url
25
+ links && links['first']
26
+ end
27
+
28
+ def previous_url
29
+ links && links['previous']
30
+ end
31
+
32
+ def next_url
33
+ links && links['next']
34
+ end
35
+
36
+ def last_url
37
+ links && links['last']
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,38 @@
1
+ module Mollie
2
+ class Method < Base
3
+ IDEAL = "ideal"
4
+ CREDITCARD = "creditcard"
5
+ MISTERCASH = "mistercash"
6
+ SOFORT = "sofort"
7
+ BANKTRANSFER = "banktransfer"
8
+ DIRECTDEBIT = "directdebit"
9
+ BITCOIN = "bitcoin"
10
+ PAYPAL = "paypal"
11
+ KBC = "kbc"
12
+ BELFIUS = "belfius"
13
+ PAYSAFECARD = "paysafecard"
14
+ PODIUMCADEAUKAART = "podiumcadeaukaart"
15
+ GIFTCARD = "giftcard"
16
+
17
+ attr_accessor :id,
18
+ :description,
19
+ :amount,
20
+ :image
21
+
22
+ def normal_image
23
+ image['normal']
24
+ end
25
+
26
+ def bigger_image
27
+ image['bigger']
28
+ end
29
+
30
+ def minimum_amount
31
+ BigDecimal.new(amount['minimum'].to_s)
32
+ end
33
+
34
+ def maximum_amount
35
+ BigDecimal.new(amount['maximum'].to_s)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,24 @@
1
+ module Mollie
2
+ class Organization < Base
3
+ attr_accessor :id,
4
+ :name,
5
+ :email,
6
+ :address,
7
+ :postal_code,
8
+ :city,
9
+ :country,
10
+ :country_code,
11
+ :registration_type,
12
+ :registration_number,
13
+ :registration_datetime,
14
+ :verified_datetime
15
+
16
+ def registration_datetime=(registration_datetime)
17
+ @registration_datetime = Time.parse(registration_datetime.to_s) rescue nil
18
+ end
19
+
20
+ def verified_datetime=(verified_datetime)
21
+ @verified_datetime = Time.parse(verified_datetime.to_s) rescue nil
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,142 @@
1
+ module Mollie
2
+ class Payment < Base
3
+ STATUS_OPEN = "open"
4
+ STATUS_CANCELLED = "cancelled"
5
+ STATUS_EXPIRED = "expired"
6
+ STATUS_PAID = "paid"
7
+ STATUS_PAIDOUT = "paidout"
8
+ STATUS_FAILED = "failed"
9
+ STATUS_REFUNDED = "refunded"
10
+ STATUS_PENDING = "pending"
11
+ STATUS_CHARGED_BACK = "charged_back"
12
+
13
+ RECURRINGTYPE_NONE = nil
14
+ RECURRINGTYPE_FIRST = "first"
15
+ RECURRINGTYPE_RECURRING = "recurring"
16
+
17
+ attr_accessor :id,
18
+ :mode,
19
+ :created_datetime,
20
+ :status,
21
+ :paid_datetime,
22
+ :cancelled_datetime,
23
+ :expired_datetime,
24
+ :expiry_period,
25
+ :amount,
26
+ :amount_refunded,
27
+ :amount_remaining,
28
+ :description,
29
+ :method,
30
+ :metadata,
31
+ :locale,
32
+ :profile_id,
33
+ :settlement_id,
34
+ :customer_id,
35
+ :recurring_type,
36
+ :mandate_id,
37
+ :subscription_id,
38
+ :country_code,
39
+ :links,
40
+ :details
41
+
42
+ def open?
43
+ status == STATUS_OPEN
44
+ end
45
+
46
+ def cancelled?
47
+ status == STATUS_CANCELLED
48
+ end
49
+
50
+ def expired?
51
+ status == STATUS_EXPIRED
52
+ end
53
+
54
+ def paid?
55
+ !!paid_datetime
56
+ end
57
+
58
+ def paidout?
59
+ status == STATUS_PAIDOUT
60
+ end
61
+
62
+ def refunded?
63
+ status == STATUS_REFUNDED
64
+ end
65
+
66
+ def failed?
67
+ status == STATUS_FAILED
68
+ end
69
+
70
+ def pending?
71
+ status == STATUS_PENDING
72
+ end
73
+
74
+ def charged_back?
75
+ status == STATUS_CHARGED_BACK
76
+ end
77
+
78
+ def details=(details)
79
+ @details = OpenStruct.new(details) if details.is_a?(Hash)
80
+ end
81
+
82
+ def metadata=(metadata)
83
+ @metadata = OpenStruct.new(metadata) if metadata.is_a?(Hash)
84
+ end
85
+
86
+ def created_datetime=(created_datetime)
87
+ @created_datetime = Time.parse(created_datetime.to_s) rescue nil
88
+ end
89
+
90
+ def paid_datetime=(paid_datetime)
91
+ @paid_datetime = Time.parse(paid_datetime.to_s) rescue nil
92
+ end
93
+
94
+ def cancelled_datetime=(cancelled_datetime)
95
+ @cancelled_datetime = Time.parse(cancelled_datetime.to_s) rescue nil
96
+ end
97
+
98
+ def expired_datetime=(expired_datetime)
99
+ @expired_datetime = Time.parse(expired_datetime.to_s) rescue nil
100
+ end
101
+
102
+ def amount=(amount)
103
+ @amount = BigDecimal.new(amount.to_s) if amount
104
+ end
105
+
106
+ def amount_remaining=(amount_remaining)
107
+ @amount_remaining = BigDecimal.new(amount_remaining.to_s) if amount_remaining
108
+ end
109
+
110
+ def amount_refunded=(amount_refunded)
111
+ @amount_refunded = BigDecimal.new(amount_refunded.to_s) if amount_refunded
112
+ end
113
+
114
+ def payment_url
115
+ links && links['payment_url']
116
+ end
117
+
118
+ def webhook_url
119
+ links && links['webhook_url']
120
+ end
121
+
122
+ def redirect_url
123
+ links && links['redirect_url']
124
+ end
125
+
126
+ def refunds_url
127
+ links && links['refunds']
128
+ end
129
+
130
+ def settlement
131
+ links && links['settlement']
132
+ end
133
+
134
+ def refunds
135
+ Relation.new(self, Payment::Refund)
136
+ end
137
+
138
+ def chargebacks
139
+ Relation.new(self, Payment::Chargeback)
140
+ end
141
+ end
142
+ end
@@ -0,0 +1,6 @@
1
+ module Mollie
2
+ class Payment
3
+ class Chargeback < Mollie::Chargeback
4
+ end
5
+ end
6
+ end