mollie-api-ruby 2.2.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
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,40 @@
1
+ require 'helper'
2
+
3
+ module Mollie
4
+ class RefundTest < Test::Unit::TestCase
5
+ def test_setting_attributes
6
+ attributes = {
7
+ id: "re_4qqhO89gsT",
8
+ payment: {
9
+ id: "tr_WDqYK6vllg",
10
+ },
11
+ amount: "5.95",
12
+ refunded_datetime: "2016-10-08T07:59:53.0Z",
13
+ status: "pending"
14
+ }
15
+
16
+ refund = Refund.new(attributes)
17
+
18
+ assert_equal "re_4qqhO89gsT", refund.id
19
+ assert_equal BigDecimal.new("5.95"), refund.amount
20
+ assert_kind_of Payment, refund.payment
21
+ assert_equal Time.parse("2016-10-08T07:59:53.0Z"), refund.refunded_datetime
22
+ assert_equal Refund::STATUS_PENDING, refund.status
23
+ end
24
+
25
+ def test_pending?
26
+ assert Refund.new(status: Refund::STATUS_PENDING).pending?
27
+ assert !Refund.new(status: 'not-pending').pending?
28
+ end
29
+
30
+ def test_processing?
31
+ assert Refund.new(status: Refund::STATUS_PROCESSING).processing?
32
+ assert !Refund.new(status: 'not-processing').processing?
33
+ end
34
+
35
+ def test_refunded?
36
+ assert Refund.new(status: Refund::STATUS_REFUNDED).refunded?
37
+ assert !Refund.new(status: 'not-refunded').refunded?
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,22 @@
1
+ require 'helper'
2
+
3
+ module Mollie
4
+ class Settlement
5
+ class ChargebackTest < Test::Unit::TestCase
6
+ def test_kind_of_chargeback
7
+ chargeback = Mollie::Settlement::Chargeback.new({})
8
+ assert_kind_of Mollie::Chargeback, chargeback
9
+ end
10
+
11
+ def test_list_chargebacks
12
+ stub_request(:get, "https://api.mollie.nl/v1/settlements/set-id/chargebacks?count=50&offset=0")
13
+ .to_return(:status => 200, :body => %{{"data" : [{"id":"chg-id", "settlement_id":"set-id"}]}}, :headers => {})
14
+
15
+ chargebacks = Chargeback.all(settlement_id: "set-id")
16
+
17
+ assert_equal "chg-id", chargebacks.first.id
18
+ assert_equal "set-id", chargebacks.first.settlement_id
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ require 'helper'
2
+
3
+ module Mollie
4
+ class Settlement
5
+ class PaymentTest < Test::Unit::TestCase
6
+ def test_kind_of_payment
7
+ payment = Mollie::Settlement::Payment.new({})
8
+ assert_kind_of Mollie::Payment, payment
9
+ end
10
+
11
+ def test_list_payments
12
+ stub_request(:get, "https://api.mollie.nl/v1/settlements/set-id/payments?count=50&offset=0")
13
+ .to_return(:status => 200, :body => %{{"data" : [{"id":"pay-id", "settlement_id":"set-id"}]}}, :headers => {})
14
+
15
+ payments = Payment.all(settlement_id: "set-id")
16
+
17
+ assert_equal "pay-id", payments.first.id
18
+ assert_equal "set-id", payments.first.settlement_id
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ require 'helper'
2
+
3
+ module Mollie
4
+ class Settlement
5
+ class RefundTest < Test::Unit::TestCase
6
+ def test_kind_of_refund
7
+ refund = Mollie::Settlement::Refund.new({})
8
+ assert_kind_of Mollie::Refund, refund
9
+ end
10
+
11
+ def test_list_refunds
12
+ stub_request(:get, "https://api.mollie.nl/v1/settlements/set-id/refunds?count=50&offset=0")
13
+ .to_return(:status => 200, :body => %{{"data" : [{"id":"re-id", "payment": {"id":"pay-id"}}]}}, :headers => {})
14
+
15
+ refunds = Mollie::Settlement::Refund.all(settlement_id: "set-id")
16
+
17
+ assert_equal "re-id", refunds.first.id
18
+ assert_equal "pay-id", refunds.first.payment.id
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,156 @@
1
+ require 'helper'
2
+
3
+ module Mollie
4
+ class SettlementTest < Test::Unit::TestCase
5
+ def test_setting_attributes
6
+ attributes = {
7
+ id: 'stl_jDk30akdN',
8
+ reference: '1234567.1511.03',
9
+ settled_datetime: '2015-11-06T06:00:02.0Z',
10
+ amount: 39.75,
11
+ periods: {
12
+ "2015" => {
13
+ "11" => {
14
+ revenue: [
15
+ {
16
+ description: 'iDEAL',
17
+ method: 'ideal',
18
+ count: 6,
19
+ amount: {
20
+ net: 86.1000,
21
+ vat: nil,
22
+ gross: 86.1000
23
+ }
24
+ },
25
+ {
26
+ description: 'Refunds iDEAL',
27
+ method: 'refund',
28
+ count: 2,
29
+ amount: {
30
+ net: -43.2000,
31
+ vat: nil,
32
+ gross: -43.2000
33
+ }
34
+ }
35
+ ],
36
+ costs: [
37
+ {
38
+ description: 'iDEAL',
39
+ method: 'ideal',
40
+ count: 6,
41
+ rate: {
42
+ fixed: 0.3500,
43
+ percentage: nil
44
+ },
45
+ amount: {
46
+ net: 2.1000,
47
+ vat: 0.4410,
48
+ gross: 2.5410
49
+ }
50
+ },
51
+ {
52
+ description: 'Refunds iDEAL',
53
+ method: 'refund',
54
+ count: 2,
55
+ rate: {
56
+ fixed: 0.2500,
57
+ percentage: nil
58
+ },
59
+ amount: {
60
+ net: 0.5000,
61
+ vat: 0.1050,
62
+ gross: 0.6050
63
+ }
64
+ }
65
+ ]
66
+ }
67
+ }
68
+ },
69
+ links: {
70
+ 'payments' => 'https://api.mollie.nl/v1/settlements/stl_jDk30akdN/payments',
71
+ },
72
+ payment_ids: [
73
+ 'tr_PBHPvA2ViG',
74
+ 'tr_GAHivPBVP2',
75
+ 'tr_2VBPiPvGAH',
76
+ 'tr_2iHGBvPPVA',
77
+ 'tr_VPH2iPGvAB',
78
+ 'tr_AGPVviP2BH',
79
+ ],
80
+ refund_ids: [
81
+ 're_PvGHiV2BPA',
82
+ 're_APBiGPH2vV',
83
+ ]
84
+ }
85
+
86
+ settlement = Settlement.new(attributes)
87
+
88
+ assert_equal 'stl_jDk30akdN', settlement.id
89
+ assert_equal '1234567.1511.03', settlement.reference
90
+ assert_equal Time.parse('2015-11-06T06:00:02.0Z'), settlement.settled_datetime
91
+ assert_equal 39.75, settlement.amount
92
+
93
+ assert_equal 'iDEAL', settlement.periods[:'2015'][:'11'].revenue[0].description
94
+ assert_equal 'ideal', settlement.periods[:'2015'][:'11'].revenue[0][:method]
95
+ assert_equal 6, settlement.periods[:'2015'][:'11'].revenue[0].count
96
+ assert_equal 86.1, settlement.periods[:'2015'][:'11'].revenue[0].amount.net
97
+ assert_equal nil, settlement.periods[:'2015'][:'11'].revenue[0].amount.vat
98
+ assert_equal 86.1, settlement.periods[:'2015'][:'11'].revenue[0].amount.gross
99
+
100
+ assert_equal 'Refunds iDEAL', settlement.periods[:'2015'][:'11'].revenue[1].description
101
+ assert_equal 'refund', settlement.periods[:'2015'][:'11'].revenue[1][:method]
102
+ assert_equal 2, settlement.periods[:'2015'][:'11'].revenue[1].count
103
+ assert_equal -43.2, settlement.periods[:'2015'][:'11'].revenue[1].amount.net
104
+ assert_equal nil, settlement.periods[:'2015'][:'11'].revenue[1].amount.vat
105
+ assert_equal -43.2, settlement.periods[:'2015'][:'11'].revenue[1].amount.gross
106
+
107
+ assert_equal 'iDEAL', settlement.periods[:'2015'][:'11'].costs[0].description
108
+ assert_equal 'ideal', settlement.periods[:'2015'][:'11'].costs[0][:method]
109
+ assert_equal 6, settlement.periods[:'2015'][:'11'].costs[0].count
110
+ assert_equal 0.35, settlement.periods[:'2015'][:'11'].costs[0].rate.fixed
111
+ assert_equal nil, settlement.periods[:'2015'][:'11'].costs[0].rate.percentage
112
+ assert_equal 2.1, settlement.periods[:'2015'][:'11'].costs[0].amount.net
113
+ assert_equal 0.441, settlement.periods[:'2015'][:'11'].costs[0].amount.vat
114
+ assert_equal 2.541, settlement.periods[:'2015'][:'11'].costs[0].amount.gross
115
+
116
+ assert_equal 'Refunds iDEAL', settlement.periods[:'2015'][:'11'].costs[1].description
117
+ assert_equal 'refund', settlement.periods[:'2015'][:'11'].costs[1][:method]
118
+ assert_equal 2, settlement.periods[:'2015'][:'11'].costs[1].count
119
+ assert_equal 0.25, settlement.periods[:'2015'][:'11'].costs[1].rate.fixed
120
+ assert_equal nil, settlement.periods[:'2015'][:'11'].costs[1].rate.percentage
121
+ assert_equal 0.5, settlement.periods[:'2015'][:'11'].costs[1].amount.net
122
+ assert_equal 0.105, settlement.periods[:'2015'][:'11'].costs[1].amount.vat
123
+ assert_equal 0.605, settlement.periods[:'2015'][:'11'].costs[1].amount.gross
124
+
125
+ assert_equal 'https://api.mollie.nl/v1/settlements/stl_jDk30akdN/payments', settlement.payments
126
+ assert_equal 'tr_PBHPvA2ViG', settlement.payment_ids[0]
127
+ assert_equal 'tr_GAHivPBVP2', settlement.payment_ids[1]
128
+ assert_equal 'tr_2VBPiPvGAH', settlement.payment_ids[2]
129
+ assert_equal 'tr_2iHGBvPPVA', settlement.payment_ids[3]
130
+ assert_equal 'tr_VPH2iPGvAB', settlement.payment_ids[4]
131
+ assert_equal 'tr_AGPVviP2BH', settlement.payment_ids[5]
132
+ assert_equal 're_PvGHiV2BPA', settlement.refund_ids[0]
133
+ assert_equal 're_APBiGPH2vV', settlement.refund_ids[1]
134
+ end
135
+
136
+ def test_open_settlement
137
+ stub_request(:get, "https://api.mollie.nl/v1/settlements/open")
138
+ .to_return(:status => 200, :body => %{{"id":"set-id"}}, :headers => {})
139
+
140
+ settlement = Settlement.open
141
+
142
+ assert_kind_of Settlement, settlement
143
+ assert_equal "set-id", settlement.id
144
+ end
145
+
146
+ def test_next_settlement
147
+ stub_request(:get, "https://api.mollie.nl/v1/settlements/next")
148
+ .to_return(:status => 200, :body => %{{"id":"set-id"}}, :headers => {})
149
+
150
+ settlement = Settlement.next
151
+
152
+ assert_kind_of Settlement, settlement
153
+ assert_equal "set-id", settlement.id
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,12 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ offset = 0
5
+ limit = 50
6
+ chargebacks = Mollie::Chargeback.all(
7
+ offset, limit,
8
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
9
+ )
10
+ rescue Mollie::Exception => e
11
+ puts 'An error has occurred: ' << e.message
12
+ end
@@ -0,0 +1,15 @@
1
+ require 'rack/oauth2'
2
+
3
+ client = Rack::OAuth2::Client.new(
4
+ identifier: client_id,
5
+ secret: secret,
6
+ state: 'some_state',
7
+ redirect_uri: redirect_url,
8
+ authorization_endpoint: 'https://www.mollie.com/oauth2/authorize',
9
+ token_endpoint: 'https://api.mollie.nl/oauth2/tokens'
10
+ )
11
+ redirect_to client.authorization_uri(
12
+ state: 'some_state',
13
+ scope: 'payments.read refunds.write',
14
+ approval_prompt: true
15
+ )
@@ -0,0 +1,14 @@
1
+ require 'rack/oauth2'
2
+
3
+ client = Rack::OAuth2::Client.new(
4
+ identifier: client_id,
5
+ secret: secret,
6
+ state: 'some_state',
7
+ redirect_uri: redirect_url,
8
+ authorization_endpoint: 'https://www.mollie.com/oauth2/authorize',
9
+ token_endpoint: 'https://api.mollie.nl/oauth2/tokens'
10
+ )
11
+
12
+ # Use the code returned as parameter on the redirect endpoint
13
+ client.authorization_code = params['code']
14
+ client.access_token!.access_token
@@ -0,0 +1,13 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ payment = Mollie::Customer::Payment.create(
5
+ customer_id: 'cst_8wmqcHMN4U',
6
+ amount: '10.0',
7
+ description: 'First payment',
8
+ redirect_url: 'https://webshop.example.org/order/12345/',
9
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
10
+ )
11
+ rescue Mollie::Exception => e
12
+ puts 'An error has occurred: ' << e.message
13
+ end
@@ -0,0 +1,12 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ customer = Mollie::Customer.create(
5
+ name: "John",
6
+ email: "john@example.com",
7
+ locale: "en_US",
8
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
9
+ )
10
+ rescue Mollie::Exception => e
11
+ puts 'An error has occurred: ' << e.message
12
+ end
@@ -0,0 +1,10 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ Mollie::Customer.delete(
5
+ "cst_8wmqcHMN4U",
6
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
7
+ )
8
+ rescue Mollie::Exception => e
9
+ puts 'An error has occurred: ' << e.message
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ customer = Mollie::Customer.get(
5
+ "cst_8wmqcHMN4U",
6
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
7
+ )
8
+ rescue Mollie::Exception => e
9
+ puts 'An error has occurred: ' << e.message
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ payments = Mollie::Customer::Payment.all(
5
+ customer_id: "cst_8wmqcHMN4U",
6
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
7
+ )
8
+ rescue Mollie::Exception => e
9
+ puts 'An error has occurred: ' << e.message
10
+ end
@@ -0,0 +1,12 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ offset = 0
5
+ limit = 50
6
+ customers = Mollie::Customer.all(
7
+ offset, limit,
8
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
9
+ )
10
+ rescue Mollie::Exception => e
11
+ puts 'An error has occurred: ' << e.message
12
+ end
@@ -0,0 +1,11 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ customer = Mollie::Customer.update(
5
+ "cst_8wmqcHMN4U",
6
+ email: "otherjohn@example.com",
7
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
8
+ )
9
+ rescue Mollie::Exception => e
10
+ puts 'An error has occurred: ' << e.message
11
+ end
@@ -0,0 +1,10 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ invoice = Mollie::Invoice.get(
5
+ "inv_xBEbP9rvAq",
6
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
7
+ )
8
+ rescue Mollie::Exception => e
9
+ puts 'An error has occurred: ' << e.message
10
+ end
@@ -0,0 +1,12 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ offset = 0
5
+ limit = 50
6
+ invoices = Mollie::Invoice.all(
7
+ offset, limit,
8
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
9
+ )
10
+ rescue Mollie::Exception => e
11
+ puts 'An error has occurred: ' << e.message
12
+ end
@@ -0,0 +1,10 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ issuer = Mollie::Issuer.get(
5
+ "ideal_ABNANL2A",
6
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
7
+ )
8
+ rescue Mollie::Exception => e
9
+ puts 'An error has occurred: ' << e.message
10
+ end
@@ -0,0 +1,12 @@
1
+ require 'mollie-api-ruby'
2
+
3
+ begin
4
+ offset = 0
5
+ limit = 50
6
+ issuers = Mollie::Issuer.all(
7
+ offset, limit,
8
+ api_key: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'
9
+ )
10
+ rescue Mollie::Exception => e
11
+ puts 'An error has occurred: ' << e.message
12
+ end