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,85 @@
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 threeds pre auth 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: '100',
27
+ buyerIp: '85.34.78.112',
28
+ connectorName: '294-isbank',
29
+ installment: 1,
30
+ paidPrice: '1',
31
+ price: '1',
32
+ callbackUrl: 'https://www.merchant.com/callback',
33
+ paymentCard: payment_card
34
+ }
35
+ threeds_initialize = Iyzipay::Model::BasicThreedsInitializePreAuth.new.create(request, @options)
36
+
37
+ begin
38
+ $stderr.puts threeds_initialize.inspect
39
+
40
+ threeds_initialize_dict = JSON.parse(threeds_initialize)
41
+ unless threeds_initialize_dict['threeDSHtmlContent'].nil?
42
+ $stderr.puts Base64.decode64(threeds_initialize_dict['threeDSHtmlContent']).inspect
43
+ end
44
+ rescue
45
+ $stderr.puts 'oops'
46
+ raise
47
+ end
48
+ end
49
+
50
+ it 'should initialize threeds pre auth with card token' do
51
+ payment_card = {
52
+ cardToken: 'card token',
53
+ cardUserKey: 'card user key'
54
+ }
55
+ request = {
56
+ locale: 'tr',
57
+ conversationId: '123456789',
58
+ buyerEmail: 'john@doe.com',
59
+ buyerId: '100',
60
+ buyerIp: '85.34.78.112',
61
+ connectorName: 'isbank',
62
+ installment: 1,
63
+ paidPrice: '1',
64
+ price: '1',
65
+ callbackUrl: 'https://www.merchant.com/callback',
66
+ paymentCard: payment_card
67
+ }
68
+ threeds_initialize = Iyzipay::Model::BasicThreedsInitializePreAuth.new.create(request, @options)
69
+
70
+ begin
71
+ $stderr.puts threeds_initialize.inspect
72
+
73
+ threeds_initialize_dict = JSON.parse(threeds_initialize)
74
+ unless threeds_initialize_dict['threeDSHtmlContent'].nil?
75
+ $stderr.puts Base64.decode64(threeds_initialize_dict['threeDSHtmlContent']).inspect
76
+ end
77
+ rescue
78
+ $stderr.puts 'oops'
79
+ raise
80
+ end
81
+ end
82
+
83
+ after :each do
84
+ end
85
+ 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 initialize threeds 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: '100',
27
+ buyerIp: '85.34.78.112',
28
+ connectorName: '294-isbank',
29
+ installment: 1,
30
+ paidPrice: '1',
31
+ price: '1',
32
+ callbackUrl: 'https://www.merchant.com/callback',
33
+ paymentCard: payment_card
34
+ }
35
+ threeds_initialize = Iyzipay::Model::BasicThreedsInitialize.new.create(request, @options)
36
+
37
+ begin
38
+ $stderr.puts threeds_initialize.inspect
39
+
40
+ threeds_initialize_dict = JSON.parse(threeds_initialize)
41
+ unless threeds_initialize_dict['threeDSHtmlContent'].nil?
42
+ $stderr.puts Base64.decode64(threeds_initialize_dict['threeDSHtmlContent']).inspect
43
+ end
44
+ rescue
45
+ $stderr.puts 'oops'
46
+ raise
47
+ end
48
+ end
49
+
50
+ it 'should initialize threeds with card token' do
51
+ payment_card = {
52
+ cardToken: 'card token',
53
+ cardUserKey: 'card user key'
54
+ }
55
+ request = {
56
+ locale: 'tr',
57
+ conversationId: '123456789',
58
+ buyerEmail: 'john@doe.com',
59
+ buyerId: '100',
60
+ buyerIp: '85.34.78.112',
61
+ connectorName: 'isbank',
62
+ installment: 1,
63
+ paidPrice: '1',
64
+ price: '1',
65
+ callbackUrl: 'https://www.merchant.com/callback',
66
+ paymentCard: payment_card
67
+ }
68
+ threeds_initialize = Iyzipay::Model::BasicThreedsInitialize.new.create(request, @options)
69
+
70
+ begin
71
+ $stderr.puts threeds_initialize.inspect
72
+
73
+ threeds_initialize_dict = JSON.parse(threeds_initialize)
74
+ unless threeds_initialize_dict['threeDSHtmlContent'].nil?
75
+ $stderr.puts Base64.decode64(threeds_initialize_dict['threeDSHtmlContent']).inspect
76
+ end
77
+ rescue
78
+ $stderr.puts 'oops'
79
+ raise
80
+ end
81
+ end
82
+
83
+ it 'should auth threeds' do
84
+ request = {
85
+ locale: 'tr',
86
+ conversationId: '123456789',
87
+ paymentId: '1'
88
+ }
89
+ basic_threeds = Iyzipay::Model::BasicThreedsPayment.new.create(request, @options)
90
+
91
+ begin
92
+ $stderr.puts basic_threeds.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,30 @@
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
+ }
19
+ bin_number = Iyzipay::Model::BinNumber.new.retrieve(request, @options)
20
+ begin
21
+ $stderr.puts bin_number.inspect
22
+ rescue
23
+ $stderr.puts 'oops'
24
+ raise
25
+ end
26
+ end
27
+
28
+ after :each do
29
+ end
30
+ end
data/spec/bkm_spec.rb ADDED
@@ -0,0 +1,111 @@
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
+ 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
+ basketId: 'B67832',
72
+ paymentGroup: Iyzipay::Model::PaymentGroup::PRODUCT,
73
+ callbackUrl: 'https://www.merchant.com/callback',
74
+ buyer: buyer,
75
+ billingAddress: address,
76
+ shippingAddress: address,
77
+ basketItems: [item1, item2, item3]
78
+ }
79
+ bkm_initialize = Iyzipay::Model::BkmInitialize.new.create(request, @options)
80
+
81
+ begin
82
+ $stderr.puts bkm_initialize.inspect
83
+
84
+ bkm_initialize_dict = JSON.parse(bkm_initialize)
85
+ unless bkm_initialize_dict['htmlContent'].nil?
86
+ $stderr.puts Base64.decode64(bkm_initialize_dict['htmlContent']).inspect
87
+ end
88
+ rescue
89
+ $stderr.puts 'oops'
90
+ raise
91
+ end
92
+ end
93
+
94
+ it 'should retrieve bkm express payment' do
95
+ request = {
96
+ locale: 'tr',
97
+ conversationId: '123456789',
98
+ token: '1462280336796'
99
+ }
100
+ bkm = Iyzipay::Model::Bkm.new.retrieve(request, @options)
101
+ begin
102
+ $stderr.puts bkm.inspect
103
+ rescue
104
+ $stderr.puts 'oops'
105
+ raise
106
+ end
107
+ end
108
+
109
+ after :each do
110
+ end
111
+ 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 cancel payment' do
14
+ request = {
15
+ locale: 'tr',
16
+ conversationId: '123456789',
17
+ paymentId: '238',
18
+ ip: '85.34.78.112'
19
+ }
20
+ cancel = Iyzipay::Model::Cancel.new.create(request, @options)
21
+ begin
22
+ $stderr.puts cancel.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,92 @@
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::CheckoutFormInitializePreAuth.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
+ after :each do
91
+ end
92
+ end