iyzi 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 47aa48b209a4d375ae07f367e7604e1533ecd1cf
4
- data.tar.gz: 45cdcb29aee854fe0acac23c1b2a92118cdd7b7e
3
+ metadata.gz: 67529622a7e13c1afcf8c83f6d3a0aba39d9e1f9
4
+ data.tar.gz: ca660fff6fab7ae0b46a7af4a67c0a5c09ada3b8
5
5
  SHA512:
6
- metadata.gz: 421d6331bd482c3b16d1f2791ecfcb4273b5434622f3e94af545732a72b9ef867e36a121635c14067961c80208c6b271ba65e8301b1c8b8326c42fdeece36191
7
- data.tar.gz: 51e97458e7a466b5c6656f25f58ab48e6e25350d837ea384d736cdffe6e927123c5f72f53731b57a8d5e690f2caa7df14274236abc577a123b25d611537fea5b
6
+ metadata.gz: 3a4c037fa67e416340dae6c51e9c0bc20f1110afb4650d64bab7e1d1bc67f40dd058a0decfa27c3707533b082a5ddb9429fac67253c89c1bd9943d9f9f63f9ce
7
+ data.tar.gz: 161c9cd9182a4a4825ab966761b8d53631270d55fe1fa2acdb09108d60dc9fc159eed6654ad92d606e81f5bd9a35f981086894386c35b9d90b821269f086110f
data/README.md CHANGED
@@ -52,8 +52,8 @@ Checked items are supported
52
52
  - [x] Yeni Alt Üye İşyeri Ekleme Servisi /onboarding/submerchant POST
53
53
  - [x] Alt Üye İşyeri Güncelleme Servisi /onboarding/submerchant PUT
54
54
  - [x] Ödeme (Auth) Servisi /payment/iyzipos/auth/ecom POST
55
- - [ ] 3D Secure Ödeme (initialize 3DS) Başlatma Servisi /payment/iyzipos/initialize3ds/ecom POST
56
- - [ ] 3D Secure Ödeme (Auth 3DS) Servisi /payment/iyzipos/auth3ds/ecom POST
55
+ - [x] 3D Secure Ödeme (initialize 3DS) Başlatma Servisi /payment/iyzipos/initialize3ds/ecom POST
56
+ - [x] 3D Secure Ödeme (Auth 3DS) Servisi /payment/iyzipos/auth3ds/ecom POST
57
57
  - [ ] Ön Otorizasyon (PreAuth) Servisi /payment/iyzipos/preauth/ecom POST
58
58
  - [ ] Son Otorizasyon (PostAuth=Capture) Servisi /payment/iyzipos/postauth POST
59
59
  - [ ] İptal (Cancel) Servisi /payment/iyzipos/cancel POST
@@ -65,7 +65,7 @@ Checked items are supported
65
65
  - [ ] Mahsuplaşma - Alt Üye İşyerinden Para Alma Servisi /crossbooking/receive POST
66
66
  - [x] Servis Ayakta mı Testi (Healthcheck) /payment/test GET
67
67
  - [x] BIN Kontrol Servisi /payment/bin/check POST
68
- - [ ] Taksit Matrisi (Installment) Servisi /payment/iyzipos/installment POST
68
+ - [x] Taksit Matrisi (Installment) Servisi /payment/iyzipos/installment POST
69
69
  - [x] Ödemeden Bağımsız Kart Ekleme Servisi /cardstorage/card POST
70
70
  - [x] Ödemeden Bağımsız Kart Silme Servisi /cardstorage/card DELETE
71
71
  - [x] Ödemeden Bağımsız Kart Bilgilerini Çekme Servisi /cardstorage/cards POST
@@ -21,6 +21,8 @@ require 'iyzi/pki_builders/store_card'
21
21
  require 'iyzi/pki_builders/payment_auth'
22
22
  require 'iyzi/pki_builders/bin_control'
23
23
  require 'iyzi/pki_builders/installment_info'
24
+ require 'iyzi/pki_builders/threeds_initialize'
25
+ require 'iyzi/pki_builders/threeds_payment_create'
24
26
 
25
27
  # Requests
26
28
  require 'iyzi/request'
@@ -32,6 +34,8 @@ require 'iyzi/requests/card_storage'
32
34
  require 'iyzi/requests/payment_auth'
33
35
  require 'iyzi/requests/bin_control'
34
36
  require 'iyzi/requests/installment_info'
37
+ require 'iyzi/requests/threeds_initialize'
38
+ require 'iyzi/requests/threeds_payment_create'
35
39
 
36
40
  # Misc
37
41
  require 'active_support/all'
@@ -17,6 +17,10 @@ module Iyzi
17
17
  # PAYMENT AUTH
18
18
  PAYMENT_AUTH_CREATE = '/payment/iyzipos/auth/ecom'.freeze
19
19
 
20
+ # 3DS
21
+ THREEDS_INITIALIZE = '/payment/iyzipos/initialize3ds/ecom'.freeze
22
+ THREEDS_PAYMENT_CREATE = '/payment/iyzipos/auth3ds/ecom'.freeze
23
+
20
24
  # HTTP VERBS
21
25
  HTTP_POST = 'post'.freeze
22
26
  HTTP_GET = 'get'.freeze
@@ -0,0 +1,40 @@
1
+ module Iyzi
2
+ module PkiBuilders
3
+ class ThreedsInitialize < PkiBuilder
4
+ ATTRIBUTES_ORDER = %w{
5
+ locale
6
+ conversationId
7
+ price
8
+ paidPrice
9
+ installment
10
+ paymentChannel
11
+ basketId
12
+ paymentGroup
13
+ paymentCard
14
+ buyer
15
+ shippingAddress
16
+ billingAddress
17
+ basketItems
18
+ paymentSource
19
+ currency
20
+ posOrderId
21
+ connectorName
22
+ callbackUrl
23
+ }.freeze
24
+
25
+ TYPE_CAST = {
26
+ price: 'add_price',
27
+ paidPrice: 'add_price',
28
+ paymentCard: 'add_payment_card',
29
+ buyer: 'add_buyer',
30
+ shippingAddress: 'add_address',
31
+ billingAddress: 'add_address',
32
+ basketItems: 'add_basket_items'
33
+ }.freeze
34
+
35
+ def initialize(values = {})
36
+ super(values, ATTRIBUTES_ORDER, TYPE_CAST)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,16 @@
1
+ module Iyzi
2
+ module PkiBuilders
3
+ class ThreedsPaymentCreate < PkiBuilder
4
+ ATTRIBUTES_ORDER = %w{
5
+ locale
6
+ conversationId
7
+ paymentId
8
+ conversationData
9
+ }.freeze
10
+
11
+ def initialize(values = {})
12
+ super(values, ATTRIBUTES_ORDER)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -19,6 +19,12 @@ module Iyzi
19
19
  @options = options
20
20
  @options[:locale] = options[:locale] || DEFAULT_LOCALE
21
21
  @options[:currency] = Currency.find(options[:currency]) if options[:currency].present?
22
+
23
+ # In #add method of `PkiBuilder`, we ignore empty strings
24
+ # So, in order to get valid signature, we need to make sure that
25
+ # there is no empty value in request body
26
+ @options.delete_if { |key, value| value.is_a?(String) && value.empty? }
27
+
22
28
  @pki = to_pki
23
29
  @random_string = secure_random_string
24
30
  # config must have all required params
@@ -0,0 +1,13 @@
1
+ module Iyzi
2
+ module Requests
3
+ class ThreedsInitialize < Request
4
+ def initialize(options = {})
5
+ super(Endpoints::HTTP_POST, Endpoints::THREEDS_INITIALIZE, options)
6
+ end
7
+
8
+ def to_pki
9
+ PkiBuilders::ThreedsInitialize.new(iyzi_options).request_string
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module Iyzi
2
+ module Requests
3
+ class ThreedsPaymentCreate < Request
4
+ def initialize(options = {})
5
+ super(Endpoints::HTTP_POST, Endpoints::THREEDS_PAYMENT_CREATE, options)
6
+ end
7
+
8
+ def to_pki
9
+ PkiBuilders::ThreedsPaymentCreate.new(iyzi_options).request_string
10
+ end
11
+ end
12
+ end
13
+ end
@@ -35,5 +35,13 @@ module Iyzi
35
35
  def installment_info(options, &block)
36
36
  Requests::InstallmentInfo.new(options).response(&block)
37
37
  end
38
+
39
+ def threeds_initialize(options, &block)
40
+ Requests::ThreedsInitialize.new(options).response(&block)
41
+ end
42
+
43
+ def threeds_payment_create(options, &block)
44
+ Requests::ThreedsPaymentCreate.new(options).response(&block)
45
+ end
38
46
  end
39
47
  end
@@ -1,3 +1,3 @@
1
1
  module Iyzi
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iyzi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Demirhan Aydin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-28 00:00:00.000000000 Z
11
+ date: 2017-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -160,7 +160,6 @@ files:
160
160
  - ".codeclimate.yml"
161
161
  - ".gitignore"
162
162
  - ".rspec"
163
- - ".ruby-version"
164
163
  - ".travis.yml"
165
164
  - Gemfile
166
165
  - LICENSE.txt
@@ -189,6 +188,8 @@ files:
189
188
  - lib/iyzi/pki_builders/payment_card.rb
190
189
  - lib/iyzi/pki_builders/store_card.rb
191
190
  - lib/iyzi/pki_builders/sub_merchant.rb
191
+ - lib/iyzi/pki_builders/threeds_initialize.rb
192
+ - lib/iyzi/pki_builders/threeds_payment_create.rb
192
193
  - lib/iyzi/request.rb
193
194
  - lib/iyzi/requests/api_test.rb
194
195
  - lib/iyzi/requests/bin_control.rb
@@ -198,6 +199,8 @@ files:
198
199
  - lib/iyzi/requests/installment_info.rb
199
200
  - lib/iyzi/requests/payment_auth.rb
200
201
  - lib/iyzi/requests/sub_merchant.rb
202
+ - lib/iyzi/requests/threeds_initialize.rb
203
+ - lib/iyzi/requests/threeds_payment_create.rb
201
204
  - lib/iyzi/resources.rb
202
205
  - lib/iyzi/utils.rb
203
206
  - lib/iyzi/version.rb
@@ -1 +0,0 @@
1
- ruby-2.2.3