iyzipay 1.0.29

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 (84) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +14 -0
  7. data/Gemfile +8 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +3 -0
  10. data/Rakefile +5 -0
  11. data/VERSION +1 -0
  12. data/contributors +2 -0
  13. data/iyzipay.gemspec +24 -0
  14. data/lib/Iyzipay.rb +16 -0
  15. data/lib/iyzipay/http_client.rb +19 -0
  16. data/lib/iyzipay/iyzipay_resource.rb +59 -0
  17. data/lib/iyzipay/model.rb +43 -0
  18. data/lib/iyzipay/model/address.rb +17 -0
  19. data/lib/iyzipay/model/approval.rb +17 -0
  20. data/lib/iyzipay/model/basic_bkm.rb +17 -0
  21. data/lib/iyzipay/model/basic_bkm_initialize.rb +24 -0
  22. data/lib/iyzipay/model/basic_payment.rb +26 -0
  23. data/lib/iyzipay/model/basic_payment_post_auth.rb +19 -0
  24. data/lib/iyzipay/model/basic_payment_pre_auth.rb +26 -0
  25. data/lib/iyzipay/model/basic_threeds_initialize.rb +26 -0
  26. data/lib/iyzipay/model/basic_threeds_initialize_pre_auth.rb +26 -0
  27. data/lib/iyzipay/model/basic_threeds_payment.rb +18 -0
  28. data/lib/iyzipay/model/basket.rb +26 -0
  29. data/lib/iyzipay/model/basket_item_type.rb +8 -0
  30. data/lib/iyzipay/model/bin_number.rb +17 -0
  31. data/lib/iyzipay/model/bkm.rb +17 -0
  32. data/lib/iyzipay/model/bkm_initialize.rb +24 -0
  33. data/lib/iyzipay/model/bounced_bank_transfer_list.rb +17 -0
  34. data/lib/iyzipay/model/buyer.rb +25 -0
  35. data/lib/iyzipay/model/cancel.rb +18 -0
  36. data/lib/iyzipay/model/checkout_form.rb +17 -0
  37. data/lib/iyzipay/model/checkout_form_initialize.rb +29 -0
  38. data/lib/iyzipay/model/checkout_form_initialize_pre_auth.rb +29 -0
  39. data/lib/iyzipay/model/cross_booking_from_sub_merchant.rb +19 -0
  40. data/lib/iyzipay/model/cross_booking_to_sub_merchant.rb +19 -0
  41. data/lib/iyzipay/model/disapproval.rb +17 -0
  42. data/lib/iyzipay/model/installment_details.rb +19 -0
  43. data/lib/iyzipay/model/installment_info.rb +18 -0
  44. data/lib/iyzipay/model/installment_prices.rb +19 -0
  45. data/lib/iyzipay/model/payment.rb +28 -0
  46. data/lib/iyzipay/model/payment_card.rb +22 -0
  47. data/lib/iyzipay/model/payment_channel.rb +14 -0
  48. data/lib/iyzipay/model/payment_group.rb +9 -0
  49. data/lib/iyzipay/model/payment_post_auth.rb +19 -0
  50. data/lib/iyzipay/model/payment_pre_auth.rb +44 -0
  51. data/lib/iyzipay/model/payout_completed_transaction_list.rb +17 -0
  52. data/lib/iyzipay/model/refund.rb +19 -0
  53. data/lib/iyzipay/model/refund_charged_from_merchant.rb +19 -0
  54. data/lib/iyzipay/model/sub_merchant.rb +68 -0
  55. data/lib/iyzipay/model/sub_merchant_type.rb +9 -0
  56. data/lib/iyzipay/model/threeds_initialize.rb +28 -0
  57. data/lib/iyzipay/model/threeds_initialize_pre_auth.rb +31 -0
  58. data/lib/iyzipay/model/threeds_payment.rb +34 -0
  59. data/lib/iyzipay/options.rb +7 -0
  60. data/lib/iyzipay/pki_builder.rb +101 -0
  61. data/lib/iyzipay/version.rb +3 -0
  62. data/spec/approval_spec.rb +45 -0
  63. data/spec/basic_bkm_spec.rb +261 -0
  64. data/spec/basic_payment_post_auth_spec.rb +32 -0
  65. data/spec/basic_payment_pre_auth_spec.rb +71 -0
  66. data/spec/basic_payment_spec.rb +71 -0
  67. data/spec/basic_threeds_pre_auth_spec.rb +85 -0
  68. data/spec/basic_threeds_spec.rb +101 -0
  69. data/spec/bin_number_spec.rb +30 -0
  70. data/spec/bkm_spec.rb +111 -0
  71. data/spec/cancel_spec.rb +31 -0
  72. data/spec/checkout_form_pre_auth_spec.rb +92 -0
  73. data/spec/checkout_form_spec.rb +107 -0
  74. data/spec/cross_booking_spec.rb +49 -0
  75. data/spec/installment_spec.rb +31 -0
  76. data/spec/payment_post_auth_spec.rb +32 -0
  77. data/spec/payment_pre_auth_spec.rb +117 -0
  78. data/spec/payment_spec.rb +101 -0
  79. data/spec/refund_spec.rb +49 -0
  80. data/spec/retrieve_transactions_spec.rb +45 -0
  81. data/spec/spec_helper.rb +80 -0
  82. data/spec/sub_merchant_spec.rb +174 -0
  83. data/spec/threeds_pre_auth_spec.rb +139 -0
  84. metadata +185 -0
@@ -0,0 +1,3 @@
1
+ module Iyzipay
2
+ VERSION = IO.read("VERSION")
3
+ end
@@ -0,0 +1,45 @@
1
+ # coding: utf-8
2
+
3
+ require_relative 'spec_helper'
4
+
5
+ RSpec.describe 'Iyzipay' do
6
+ before :all do
7
+ @options = Iyzipay::Options.new
8
+ @options.api_key = 'your api key'
9
+ @options.secret_key = 'your secret key'
10
+ @options.base_url = 'https://api.iyzipay.com'
11
+ end
12
+
13
+ it 'should approve payment item' do
14
+ request = {
15
+ locale: 'tr',
16
+ conversationId: '123456789',
17
+ paymentTransactionId: '699'
18
+ }
19
+ approval = Iyzipay::Model::Approval.new.create(request, @options)
20
+ begin
21
+ $stderr.puts approval.inspect
22
+ rescue
23
+ $stderr.puts 'oops'
24
+ raise
25
+ end
26
+ end
27
+
28
+ it 'should disapprove payment item' do
29
+ request = {
30
+ locale: 'tr',
31
+ conversationId: '123456789',
32
+ paymentTransactionId: '699'
33
+ }
34
+ disapproval = Iyzipay::Model::Disapproval.new.create(request, @options)
35
+ begin
36
+ $stderr.puts disapproval.inspect
37
+ rescue
38
+ $stderr.puts 'oops'
39
+ raise
40
+ end
41
+ end
42
+
43
+ after :each do
44
+ end
45
+ end
@@ -0,0 +1,261 @@
1
+ # coding: utf-8
2
+
3
+ require_relative 'spec_helper'
4
+
5
+ RSpec.describe 'Iyzipay' do
6
+ before :all do
7
+ @options = Iyzipay::Options.new
8
+ @options.api_key = 'your api key'
9
+ @options.secret_key = 'your secret key'
10
+ @options.base_url = 'https://api.iyzipay.com'
11
+ end
12
+
13
+ it 'should initialize bkm express' do
14
+ request = {
15
+ locale: 'tr',
16
+ conversationId: '123456789',
17
+ price: '1.0',
18
+ callbackUrl: 'https://www.merchant.com/callback',
19
+ buyerId: '100',
20
+ buyerEmail: 'john@doe.com',
21
+ buyerIp: '85.34.78.112',
22
+ connectorName: '294-isbank',
23
+ installmentDetails: [isbank_installment_details, finansbank_installment_details, akbank_installment_details, ykb_installment_details, denizbank_installment_details, halkbank_installment_details]
24
+ }
25
+ bkm_initialize = Iyzipay::Model::BasicBkmInitialize.new.create(request, @options)
26
+
27
+ begin
28
+ $stderr.puts bkm_initialize.inspect
29
+
30
+ bkm_initialize_dict = JSON.parse(bkm_initialize)
31
+ unless bkm_initialize_dict['htmlContent'].nil?
32
+ $stderr.puts Base64.decode64(bkm_initialize_dict['htmlContent']).inspect
33
+ end
34
+ rescue
35
+ $stderr.puts 'oops'
36
+ raise
37
+ end
38
+ end
39
+
40
+ it 'should retrieve bkm express payment' do
41
+ request = {
42
+ locale: 'tr',
43
+ conversationId: '123456789',
44
+ token: 'mockToken_1462524972636'
45
+ }
46
+ bkm = Iyzipay::Model::BasicBkm.new.retrieve(request, @options)
47
+ begin
48
+ $stderr.puts bkm.inspect
49
+ rescue
50
+ $stderr.puts 'oops'
51
+ raise
52
+ end
53
+ end
54
+
55
+ def isbank_installment_details
56
+ single_installment = {
57
+ installmentNumber: 1,
58
+ totalPrice: '1'
59
+ }
60
+ two_installments = {
61
+ installmentNumber: 2,
62
+ totalPrice: '1.1'
63
+ }
64
+ three_installments = {
65
+ installmentNumber: 3,
66
+ totalPrice: '1.1'
67
+ }
68
+ six_installments = {
69
+ installmentNumber: 6,
70
+ totalPrice: '1.2'
71
+ }
72
+ nine_installments = {
73
+ installmentNumber: 9,
74
+ totalPrice: '1.4'
75
+ }
76
+ {
77
+ bankId: 64,
78
+ conversationId: '123456789',
79
+ price: '1.0',
80
+ callbackUrl: 'https://www.merchant.com/callback',
81
+ buyerId: '100',
82
+ buyerEmail: 'john@doe.com',
83
+ buyerIp: '85.34.78.112',
84
+ connectorName: '294-isbank',
85
+ installmentPrices: [single_installment, two_installments, three_installments, six_installments, nine_installments]
86
+ }
87
+ end
88
+
89
+ def finansbank_installment_details
90
+ single_installment = {
91
+ installmentNumber: 1,
92
+ totalPrice: '1'
93
+ }
94
+ two_installments = {
95
+ installmentNumber: 2,
96
+ totalPrice: '1.1'
97
+ }
98
+ three_installments = {
99
+ installmentNumber: 3,
100
+ totalPrice: '1.1'
101
+ }
102
+ six_installments = {
103
+ installmentNumber: 6,
104
+ totalPrice: '1.2'
105
+ }
106
+ nine_installments = {
107
+ installmentNumber: 9,
108
+ totalPrice: '1.4'
109
+ }
110
+ {
111
+ bankId: 111,
112
+ conversationId: '123456789',
113
+ price: '1.0',
114
+ callbackUrl: 'https://www.merchant.com/callback',
115
+ buyerId: '100',
116
+ buyerEmail: 'john@doe.com',
117
+ buyerIp: '85.34.78.112',
118
+ connectorName: '294-isbank',
119
+ installmentPrices: [single_installment, two_installments, three_installments, six_installments, nine_installments]
120
+ }
121
+ end
122
+
123
+ def akbank_installment_details
124
+ single_installment = {
125
+ installmentNumber: 1,
126
+ totalPrice: '1'
127
+ }
128
+ two_installments = {
129
+ installmentNumber: 2,
130
+ totalPrice: '1.1'
131
+ }
132
+ three_installments = {
133
+ installmentNumber: 3,
134
+ totalPrice: '1.1'
135
+ }
136
+ six_installments = {
137
+ installmentNumber: 6,
138
+ totalPrice: '1.2'
139
+ }
140
+ nine_installments = {
141
+ installmentNumber: 9,
142
+ totalPrice: '1.4'
143
+ }
144
+ {
145
+ bankId: 46,
146
+ conversationId: '123456789',
147
+ price: '1.0',
148
+ callbackUrl: 'https://www.merchant.com/callback',
149
+ buyerId: '100',
150
+ buyerEmail: 'john@doe.com',
151
+ buyerIp: '85.34.78.112',
152
+ connectorName: '294-isbank',
153
+ installmentPrices: [single_installment, two_installments, three_installments, six_installments, nine_installments]
154
+ }
155
+ end
156
+
157
+ def ykb_installment_details
158
+ single_installment = {
159
+ installmentNumber: 1,
160
+ totalPrice: '1'
161
+ }
162
+ two_installments = {
163
+ installmentNumber: 2,
164
+ totalPrice: '1.1'
165
+ }
166
+ three_installments = {
167
+ installmentNumber: 3,
168
+ totalPrice: '1.1'
169
+ }
170
+ six_installments = {
171
+ installmentNumber: 6,
172
+ totalPrice: '1.2'
173
+ }
174
+ nine_installments = {
175
+ installmentNumber: 9,
176
+ totalPrice: '1.4'
177
+ }
178
+ {
179
+ bankId: 67,
180
+ conversationId: '123456789',
181
+ price: '1.0',
182
+ callbackUrl: 'https://www.merchant.com/callback',
183
+ buyerId: '100',
184
+ buyerEmail: 'john@doe.com',
185
+ buyerIp: '85.34.78.112',
186
+ connectorName: '294-isbank',
187
+ installmentPrices: [single_installment, two_installments, three_installments, six_installments, nine_installments]
188
+ }
189
+ end
190
+
191
+ def denizbank_installment_details
192
+ single_installment = {
193
+ installmentNumber: 1,
194
+ totalPrice: '1'
195
+ }
196
+ two_installments = {
197
+ installmentNumber: 2,
198
+ totalPrice: '1.1'
199
+ }
200
+ three_installments = {
201
+ installmentNumber: 3,
202
+ totalPrice: '1.1'
203
+ }
204
+ six_installments = {
205
+ installmentNumber: 6,
206
+ totalPrice: '1.2'
207
+ }
208
+ nine_installments = {
209
+ installmentNumber: 9,
210
+ totalPrice: '1.4'
211
+ }
212
+ {
213
+ bankId: 134,
214
+ conversationId: '123456789',
215
+ price: '1.0',
216
+ callbackUrl: 'https://www.merchant.com/callback',
217
+ buyerId: '100',
218
+ buyerEmail: 'john@doe.com',
219
+ buyerIp: '85.34.78.112',
220
+ connectorName: '294-isbank',
221
+ installmentPrices: [single_installment, two_installments, three_installments, six_installments, nine_installments]
222
+ }
223
+ end
224
+
225
+ def halkbank_installment_details
226
+ single_installment = {
227
+ installmentNumber: 1,
228
+ totalPrice: '1'
229
+ }
230
+ two_installments = {
231
+ installmentNumber: 2,
232
+ totalPrice: '1.1'
233
+ }
234
+ three_installments = {
235
+ installmentNumber: 3,
236
+ totalPrice: '1.1'
237
+ }
238
+ six_installments = {
239
+ installmentNumber: 6,
240
+ totalPrice: '1.2'
241
+ }
242
+ nine_installments = {
243
+ installmentNumber: 9,
244
+ totalPrice: '1.4'
245
+ }
246
+ {
247
+ bankId: 12,
248
+ conversationId: '123456789',
249
+ price: '1.0',
250
+ callbackUrl: 'https://www.merchant.com/callback',
251
+ buyerId: '100',
252
+ buyerEmail: 'john@doe.com',
253
+ buyerIp: '85.34.78.112',
254
+ connectorName: '294-isbank',
255
+ installmentPrices: [single_installment, two_installments, three_installments, six_installments, nine_installments]
256
+ }
257
+ end
258
+
259
+ after :each do
260
+ end
261
+ end
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+
3
+ require_relative 'spec_helper'
4
+
5
+ RSpec.describe 'Iyzipay' do
6
+ before :all do
7
+ @options = Iyzipay::Options.new
8
+ @options.api_key = 'your api key'
9
+ @options.secret_key = 'your secret key'
10
+ @options.base_url = 'https://api.iyzipay.com'
11
+ end
12
+
13
+ it 'should post auth' do
14
+ request = {
15
+ locale: 'tr',
16
+ conversationId: '123456789',
17
+ paymentId: '252',
18
+ paidPrice: '1',
19
+ ip: '85.34.78.112',
20
+ }
21
+ payment = Iyzipay::Model::BasicPaymentPostAuth.new.create(request, @options)
22
+ begin
23
+ $stderr.puts payment.inspect
24
+ rescue
25
+ $stderr.puts 'oops'
26
+ raise
27
+ end
28
+ end
29
+
30
+ after :each do
31
+ end
32
+ end
@@ -0,0 +1,71 @@
1
+ # coding: utf-8
2
+
3
+ require_relative 'spec_helper'
4
+
5
+ RSpec.describe 'Iyzipay' do
6
+ before :all do
7
+ @options = Iyzipay::Options.new
8
+ @options.api_key = 'your api key'
9
+ @options.secret_key = 'your secret key'
10
+ @options.base_url = 'https://api.iyzipay.com'
11
+ end
12
+
13
+ it 'should pay with card' do
14
+ payment_card = {
15
+ cardHolderName: 'John Doe',
16
+ cardNumber: '5528790000000008',
17
+ expireYear: '2030',
18
+ expireMonth: '12',
19
+ cvc: '123',
20
+ registerCard: 0
21
+ }
22
+ request = {
23
+ locale: 'tr',
24
+ conversationId: '123456789',
25
+ buyerEmail: 'john@doe.com',
26
+ buyerId: 'B2323',
27
+ buyerIp: '85.34.78.112',
28
+ connectorName: 'isbank',
29
+ installment: 1,
30
+ paidPrice: '1',
31
+ price: '1',
32
+ paymentCard: payment_card
33
+ }
34
+ payment = Iyzipay::Model::BasicPaymentPreAuth.new.create(request, @options)
35
+ begin
36
+ $stderr.puts payment.inspect
37
+ rescue
38
+ $stderr.puts 'oops'
39
+ raise
40
+ end
41
+ end
42
+
43
+ it 'should pay with card token' do
44
+ payment_card = {
45
+ cardToken: 'card token',
46
+ cardUserKey: 'card user key'
47
+ }
48
+ request = {
49
+ locale: 'tr',
50
+ conversationId: '123456789',
51
+ buyerEmail: 'john@doe.com',
52
+ buyerId: 'B2323',
53
+ buyerIp: '85.34.78.112',
54
+ connectorName: 'isbank',
55
+ installment: 1,
56
+ paidPrice: '1',
57
+ price: '1',
58
+ paymentCard: payment_card
59
+ }
60
+ payment = Iyzipay::Model::BasicPaymentPreAuth.new.create(request, @options)
61
+ begin
62
+ $stderr.puts payment.inspect
63
+ rescue
64
+ $stderr.puts 'oops'
65
+ raise
66
+ end
67
+ end
68
+
69
+ after :each do
70
+ end
71
+ end
@@ -0,0 +1,71 @@
1
+ # coding: utf-8
2
+
3
+ require_relative 'spec_helper'
4
+
5
+ RSpec.describe 'Iyzipay' do
6
+ before :all do
7
+ @options = Iyzipay::Options.new
8
+ @options.api_key = 'your api key'
9
+ @options.secret_key = 'your secret key'
10
+ @options.base_url = 'https://api.iyzipay.com'
11
+ end
12
+
13
+ it 'should pay with card' do
14
+ payment_card = {
15
+ cardHolderName: 'John Doe',
16
+ cardNumber: '5528790000000008',
17
+ expireYear: '2030',
18
+ expireMonth: '12',
19
+ cvc: '123',
20
+ registerCard: 0
21
+ }
22
+ request = {
23
+ locale: 'tr',
24
+ conversationId: '123456789',
25
+ buyerEmail: 'john@doe.com',
26
+ buyerId: 'B2323',
27
+ buyerIp: '85.34.78.112',
28
+ connectorName: 'isbank',
29
+ installment: 1,
30
+ paidPrice: '1',
31
+ price: '1',
32
+ paymentCard: payment_card
33
+ }
34
+ payment = Iyzipay::Model::BasicPayment.new.create(request, @options)
35
+ begin
36
+ $stderr.puts payment.inspect
37
+ rescue
38
+ $stderr.puts 'oops'
39
+ raise
40
+ end
41
+ end
42
+
43
+ it 'should pay with card token' do
44
+ payment_card = {
45
+ cardToken: 'card token',
46
+ cardUserKey: 'card user key'
47
+ }
48
+ request = {
49
+ locale: 'tr',
50
+ conversationId: '123456789',
51
+ buyerEmail: 'john@doe.com',
52
+ buyerId: 'B2323',
53
+ buyerIp: '85.34.78.112',
54
+ connectorName: 'isbank',
55
+ installment: 1,
56
+ paidPrice: '1',
57
+ price: '1',
58
+ paymentCard: payment_card
59
+ }
60
+ payment = Iyzipay::Model::BasicPayment.new.create(request, @options)
61
+ begin
62
+ $stderr.puts payment.inspect
63
+ rescue
64
+ $stderr.puts 'oops'
65
+ raise
66
+ end
67
+ end
68
+
69
+ after :each do
70
+ end
71
+ end