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,107 @@
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 checkout form' do
14
+ buyer = {
15
+ id: 'BY789',
16
+ name: 'John',
17
+ surname: 'Doe',
18
+ identityNumber: '74300864791',
19
+ email: 'email@email.com',
20
+ gsmNumber: '+905350000000',
21
+ registrationDate: '2013-04-21 15:12:09',
22
+ lastLoginDate: '2015-10-05 12:43:35',
23
+ registrationAddress: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
24
+ city: 'Istanbul',
25
+ country: 'Turkey',
26
+ zipCode: '34732',
27
+ ip: '85.34.78.112'
28
+ }
29
+ address = {
30
+ address: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
31
+ zipCode: '34732',
32
+ contactName: 'John Doe',
33
+ city: 'Istanbul',
34
+ country: 'Turkey'
35
+ }
36
+
37
+ item1 = {
38
+ id: 'BI101',
39
+ name: 'Binocular',
40
+ category1: 'Collectibles',
41
+ category2: 'Accessories',
42
+ itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
43
+ price: '0.3',
44
+ subMerchantKey: 'sub merchant key',
45
+ subMerchantPrice: '0.27'
46
+ }
47
+ item2 = {
48
+ id: 'BI102',
49
+ name: 'Game code',
50
+ category1: 'Game',
51
+ category2: 'Online Game Items',
52
+ itemType: Iyzipay::Model::BasketItemType::VIRTUAL,
53
+ price: '0.5',
54
+ subMerchantKey: 'sub merchant key',
55
+ subMerchantPrice: '0.42'
56
+ }
57
+ item3 = {
58
+ id: 'BI103',
59
+ name: 'Usb',
60
+ category1: 'Electronics',
61
+ category2: 'Usb / Cable',
62
+ itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
63
+ price: '0.2',
64
+ subMerchantKey: 'sub merchant key',
65
+ subMerchantPrice: '0.18'
66
+ }
67
+ request = {
68
+ locale: 'tr',
69
+ conversationId: '123456789',
70
+ price: '1.0',
71
+ paidPrice: '1.0',
72
+ basketId: 'B67832',
73
+ paymentGroup: Iyzipay::Model::PaymentGroup::PRODUCT,
74
+ callbackUrl: 'https://www.merchant.com/callback',
75
+ buyer: buyer,
76
+ billingAddress: address,
77
+ shippingAddress: address,
78
+ basketItems: [item1, item2, item3]
79
+ }
80
+ checkout_form_initialize = Iyzipay::Model::CheckoutFormInitialize.new.create(request, @options)
81
+
82
+ begin
83
+ $stderr.puts checkout_form_initialize.inspect
84
+ rescue
85
+ $stderr.puts 'oops'
86
+ raise
87
+ end
88
+ end
89
+
90
+ it 'should retrieve checkout form payment' do
91
+ request = {
92
+ locale: 'tr',
93
+ conversationId: '123456789',
94
+ token: 'b4d8088e-ce35-452d-94c9-d5bd9f385557'
95
+ }
96
+ checkout_form_payment = Iyzipay::Model::CheckoutForm.new.retrieve(request, @options)
97
+ begin
98
+ $stderr.puts checkout_form_payment.inspect
99
+ rescue
100
+ $stderr.puts 'oops'
101
+ raise
102
+ end
103
+ end
104
+
105
+ after :each do
106
+ end
107
+ end
@@ -0,0 +1,49 @@
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 send money to sub merchant' do
14
+ request = {
15
+ locale: 'tr',
16
+ conversationId: '123456789',
17
+ subMerchantKey: 'sub merchant key',
18
+ price: '1.0',
19
+ reason: 'reason text',
20
+ }
21
+ cross_booking = Iyzipay::Model::CrossBookingToSubMerchant.new.create(request, @options)
22
+ begin
23
+ $stderr.puts cross_booking.inspect
24
+ rescue
25
+ $stderr.puts 'oops'
26
+ raise
27
+ end
28
+ end
29
+
30
+ it 'should receive money from sub merchant' do
31
+ request = {
32
+ locale: 'tr',
33
+ conversationId: '123456789',
34
+ subMerchantKey: 'sub merchant key',
35
+ price: '1.0',
36
+ reason: 'reason text',
37
+ }
38
+ cross_booking = Iyzipay::Model::CrossBookingFromSubMerchant.new.create(request, @options)
39
+ begin
40
+ $stderr.puts cross_booking.inspect
41
+ rescue
42
+ $stderr.puts 'oops'
43
+ raise
44
+ end
45
+ end
46
+
47
+ after :each do
48
+ end
49
+ end
@@ -0,0 +1,31 @@
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 retrieve bin number' do
14
+ request = {
15
+ locale: 'tr',
16
+ conversationId: '123456789',
17
+ binNumber: '454671',
18
+ price: '1',
19
+ }
20
+ installment_info = Iyzipay::Model::InstallmentInfo.new.retrieve(request, @options)
21
+ begin
22
+ $stderr.puts installment_info.inspect
23
+ rescue
24
+ $stderr.puts 'oops'
25
+ raise
26
+ end
27
+ end
28
+
29
+ after :each do
30
+ end
31
+ 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: '258',
18
+ paidPrice: '1',
19
+ ip: '85.34.78.112',
20
+ }
21
+ payment = Iyzipay::Model::PaymentPostAuth.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,117 @@
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 create payment with physical and virtual item for standard merchant' 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
+ buyer = {
23
+ id: 'BY789',
24
+ name: 'John',
25
+ surname: 'Doe',
26
+ identityNumber: '74300864791',
27
+ email: 'email@email.com',
28
+ gsmNumber: '+905350000000',
29
+ registrationDate: '2013-04-21 15:12:09',
30
+ lastLoginDate: '2015-10-05 12:43:35',
31
+ registrationAddress: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
32
+ city: 'Istanbul',
33
+ country: 'Turkey',
34
+ zipCode: '34732',
35
+ ip: '85.34.78.112'
36
+ }
37
+ address = {
38
+ address: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
39
+ zipCode: '34732',
40
+ contactName: 'John Doe',
41
+ city: 'Istanbul',
42
+ country: 'Turkey'
43
+ }
44
+
45
+ item1 = {
46
+ id: 'BI101',
47
+ name: 'Binocular',
48
+ category1: 'Collectibles',
49
+ category2: 'Accessories',
50
+ itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
51
+ price: '0.3',
52
+ subMerchantKey: 'sub merchant key',
53
+ subMerchantPrice: '0.27'
54
+ }
55
+ item2 = {
56
+ id: 'BI102',
57
+ name: 'Game code',
58
+ category1: 'Game',
59
+ category2: 'Online Game Items',
60
+ itemType: Iyzipay::Model::BasketItemType::VIRTUAL,
61
+ price: '0.5',
62
+ subMerchantKey: 'sub merchant key',
63
+ subMerchantPrice: '0.42'
64
+ }
65
+ item3 = {
66
+ id: 'BI103',
67
+ name: 'Usb',
68
+ category1: 'Electronics',
69
+ category2: 'Usb / Cable',
70
+ itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
71
+ price: '0.2',
72
+ subMerchantKey: 'sub merchant key',
73
+ subMerchantPrice: '0.18'
74
+ }
75
+ request = {
76
+ locale: 'tr',
77
+ conversationId: '123456789',
78
+ price: '1.0',
79
+ paidPrice: '1.1',
80
+ installment: 1,
81
+ paymentChannel: Iyzipay::Model::PaymentChannel::WEB,
82
+ basketId: 'B67832',
83
+ paymentGroup: Iyzipay::Model::PaymentGroup::PRODUCT,
84
+ paymentCard: payment_card,
85
+ buyer: buyer,
86
+ billingAddress: address,
87
+ shippingAddress: address,
88
+ basketItems: [item1, item2, item3]
89
+ }
90
+ payment_pre_auth = Iyzipay::Model::PaymentPreAuth.new.create(request, @options)
91
+ begin
92
+ $stderr.puts payment_pre_auth.inspect
93
+ rescue
94
+ $stderr.puts 'oops'
95
+ raise
96
+ end
97
+ end
98
+
99
+ it 'should retrieve payment' do
100
+ request = {
101
+ locale: 'tr',
102
+ conversationId: '123456789',
103
+ paymentId: '1',
104
+ paymentConversationId: '123456789',
105
+ }
106
+ payment_pre_auth = Iyzipay::Model::PaymentPreAuth.new.retrieve(request, @options)
107
+ begin
108
+ $stderr.puts payment_pre_auth.inspect
109
+ rescue
110
+ $stderr.puts 'oops'
111
+ raise
112
+ end
113
+ end
114
+
115
+ after :each do
116
+ end
117
+ end
@@ -0,0 +1,101 @@
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 create payment with physical and virtual item for market place' 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
+ buyer = {
23
+ id: 'BY789',
24
+ name: 'John',
25
+ surname: 'Doe',
26
+ identityNumber: '74300864791',
27
+ email: 'email@email.com',
28
+ gsmNumber: '+905350000000',
29
+ registrationDate: '2013-04-21 15:12:09',
30
+ lastLoginDate: '2015-10-05 12:43:35',
31
+ registrationAddress: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
32
+ city: 'Istanbul',
33
+ country: 'Turkey',
34
+ zipCode: '34732',
35
+ ip: '85.34.78.112'
36
+ }
37
+ address = {
38
+ address: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
39
+ zipCode: '34732',
40
+ contactName: 'John Doe',
41
+ city: 'Istanbul',
42
+ country: 'Turkey'
43
+ }
44
+
45
+ item1 = {
46
+ id: 'BI101',
47
+ name: 'Binocular',
48
+ category1: 'Collectibles',
49
+ category2: 'Accessories',
50
+ itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
51
+ price: '0.3',
52
+ subMerchantKey: 'sub merchant key',
53
+ subMerchantPrice: '0.27'
54
+ }
55
+ item2 = {
56
+ id: 'BI102',
57
+ name: 'Game code',
58
+ category1: 'Game',
59
+ category2: 'Online Game Items',
60
+ itemType: Iyzipay::Model::BasketItemType::VIRTUAL,
61
+ price: '0.5',
62
+ subMerchantKey: 'sub merchant key',
63
+ subMerchantPrice: '0.42'
64
+ }
65
+ item3 = {
66
+ id: 'BI103',
67
+ name: 'Usb',
68
+ category1: 'Electronics',
69
+ category2: 'Usb / Cable',
70
+ itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
71
+ price: '0.2',
72
+ subMerchantKey: 'sub merchant key',
73
+ subMerchantPrice: '0.18'
74
+ }
75
+ request = {
76
+ locale: 'tr',
77
+ conversationId: '123456789',
78
+ price: '1.0',
79
+ paidPrice: '1.1',
80
+ installment: 1,
81
+ paymentChannel: Iyzipay::Model::PaymentChannel::WEB,
82
+ basketId: 'B67832',
83
+ paymentGroup: Iyzipay::Model::PaymentGroup::PRODUCT,
84
+ paymentCard: payment_card,
85
+ buyer: buyer,
86
+ billingAddress: address,
87
+ shippingAddress: address,
88
+ basketItems: [item1, item2, item3]
89
+ }
90
+ payment = Iyzipay::Model::Payment.new.create(request, @options)
91
+ begin
92
+ $stderr.puts payment.inspect
93
+ rescue
94
+ $stderr.puts 'oops'
95
+ raise
96
+ end
97
+ end
98
+
99
+ after :each do
100
+ end
101
+ end
@@ -0,0 +1,49 @@
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 refund payment' do
14
+ request = {
15
+ locale: 'tr',
16
+ conversationId: '123456789',
17
+ paymentTransactionId: '702',
18
+ price: '0.1',
19
+ ip: '85.34.78.112'
20
+ }
21
+ refund = Iyzipay::Model::Refund.new.create(request, @options)
22
+ begin
23
+ $stderr.puts refund.inspect
24
+ rescue
25
+ $stderr.puts 'oops'
26
+ raise
27
+ end
28
+ end
29
+
30
+ it 'should refund payment charged from merchant' do
31
+ request = {
32
+ locale: 'tr',
33
+ conversationId: '123456789',
34
+ paymentTransactionId: '258',
35
+ price: '0.1',
36
+ ip: '85.34.78.112'
37
+ }
38
+ refund = Iyzipay::Model::RefundChargedFromMerchant.new.create(request, @options)
39
+ begin
40
+ $stderr.puts refund.inspect
41
+ rescue
42
+ $stderr.puts 'oops'
43
+ raise
44
+ end
45
+ end
46
+
47
+ after :each do
48
+ end
49
+ end