midas_client 0.1.3.1 → 0.1.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3ec35f5131e1304acf26ba2dd20420837d3bbec
4
- data.tar.gz: 3d1f73a438cf3b5dda84e28787da901659b6c730
3
+ metadata.gz: eaa1f0b9f00f761ddb1fea5221356e477eec03e8
4
+ data.tar.gz: 7296d7353c63bb51d0e02eb532b717885adf2912
5
5
  SHA512:
6
- metadata.gz: f29c794f3ee70d79875afbf75dc98f9e6dcc8011fffc9172b27bd5e0d3001cac3fdf2fb85bee800e4697622a4a5aa29e30f0e95fc2916d0b581b726ab68f0cd4
7
- data.tar.gz: cb324eac3066f58d782e36170e30b132d687e5c3c6d8267b768b97a6f2dce546c3285771659dd2275ab1d25281d3f2d86f5a236140fc72ab8dc999f2570fb88c
6
+ metadata.gz: 9c879d8a5f158b5ff7e66205ce77b78a51c47bf29de984accc5d471ce3174bde19d39ae0a761144b6ba954b13b345481a8a0a5844e22e9a361751be5248ead46
7
+ data.tar.gz: 550858eabc66e24994fe45faca5f502595232c12eaa4c86774d9000386c3bff33c3336b8aa1b71b4736f74c09012c850379333ad2b2eafea7432ee0a93be31d0
data/README.md CHANGED
@@ -42,18 +42,26 @@ Response
42
42
  $ [17/05/2017 20:48:06.103][RESPONSE] {:result=>{:success=>true, :code=>"010", :message=>"O cartao jah foi armazenado anteriormente"}, :brand=>"MASTER", :cardToken=>"f887d732863eb3ef2e45c0bd8b57ed33"}
43
43
 
44
44
  ## Change Releases
45
+ VERSION - 0.1.4 - 2017/06/01
46
+
47
+ - List POS operation
48
+ - Create a new POS operation
49
+ - Bug fix at MidasClient::Request.external_request method
50
+ - read.me
51
+
45
52
  VERSION - 0.1.3.1 - 2017/05/28
53
+
46
54
  - publishing stable gem
47
55
  - read.me
48
56
 
49
57
  VERSION - 0.1.3 - 2017/05/22
58
+
50
59
  - Removing Rails log dependency
51
60
  - Removing Rails.env dependency
52
61
  - read.me
53
62
 
54
63
  VERSION - 0.1.2 - 2017/05/19
55
64
 
56
- Subscriptions
57
65
  - Update Subscription
58
66
  - Update Invoice
59
67
  - bugfix
@@ -61,13 +69,11 @@ Subscriptions
61
69
 
62
70
  VERSION - 0.1.1 - 2017/05/16
63
71
 
64
- Subscriptions
65
72
  - Implementing logging features
66
73
  - bugfix
67
74
 
68
75
  VERSION - 0.1.0 - 2017/05/15
69
76
 
70
- Transactions
71
77
  - Creditcard Store (tokenization)
72
78
  - Synchronous Transaction (Authorize + Capture)
73
79
  - Asynchronous Transaction (Authorize + Capture)
@@ -77,8 +83,6 @@ Transactions
77
83
  - Cancellation
78
84
  - Refund
79
85
  - Query Transaction
80
-
81
- Subscriptions
82
86
  - Create Subscription
83
87
  - Cancel Subscription
84
88
  - Subscription by Token
@@ -10,6 +10,8 @@ require_relative "midas_client/endpoints"
10
10
  require_relative "midas_client/request"
11
11
  require_relative "midas_client/transaction"
12
12
  require_relative "midas_client/subscription"
13
+ require_relative "midas_client/query"
14
+ require_relative "midas_client/management"
13
15
 
14
16
 
15
17
  #Dir[File.expand_path('../midas_client/resources/*.rb', __FILE__)].map do |path|
@@ -11,15 +11,16 @@ module MidasClient
11
11
 
12
12
  DEVELOPMENT ={
13
13
  url: 'https://sandbox.ansertecnologia.net',
14
- context: '/midas-core/v2',
14
+ management_auth: 'Basic bWlkYXM6bXRmYndZQDE5Nzc='
15
15
  }
16
16
 
17
17
  PRODUCTION ={
18
18
  url: 'https://api.ansertecnologia.net',
19
- context: '/midas-core/v2',
19
+ management_auth: 'Basic bWlkYXM6aWNzZFA/MTk5OQ=='
20
20
  }
21
21
 
22
22
  OPERATIONS = {
23
+ context: '/midas-core/v2',
23
24
  store: '/creditcard',
24
25
  synchronous_transaction: '/transaction/creditcard',
25
26
  asynchronous_transaction: '/transaction/creditcard/dispatch',
@@ -28,10 +29,11 @@ module MidasClient
28
29
  cancel: '/transaction/creditcard/{transactionToken}/cancel',
29
30
  refund: '/transaction/creditcard/{transactionToken}/refund',
30
31
  query_by_transaction: '/transaction/{transactionToken}',
31
- callback: 'http://matricula.crossfitlendarios.com.br/callback',
32
+ callback: 'http://matricula.crossfitlendarios.com.br/callback'
32
33
  }
33
34
 
34
35
  SUBSCRIPTIONS = {
36
+ context: '/midas-core/v2',
35
37
  by_token: '/subscription/{subscriptionToken}',
36
38
  invoices: '/subscription/{subscriptionToken}/invoices',
37
39
  invoice_transactions: '/invoice/{invoiceToken}/transactions',
@@ -43,8 +45,15 @@ module MidasClient
43
45
  }
44
46
 
45
47
  QUERIES = {
46
- by_period: '/transactions',
47
- subscriptions: '/subscriptions'
48
+ context: '/midas-query/v2',
49
+ by_period: '/transactions?startDate={startDate}&endDate={endDate}&status={status}',
48
50
  }
51
+
52
+ MANAGEMENTS = {
53
+ context: '/midas-managment/v2',
54
+ create_pos: '/pointofsale',
55
+ list_pos: '/pointofsale'
56
+ }
57
+
49
58
  end
50
59
  end
@@ -0,0 +1,83 @@
1
+ module MidasClient
2
+ class Management < Request
3
+
4
+ include EndPoints
5
+
6
+ # This method LIST all POS in MIDAS.
7
+ # This is a is synchronous operation, using method GET
8
+ #
9
+ # Params:
10
+ # None
11
+ #
12
+ #
13
+ # Response:
14
+ # {
15
+ # "result": {
16
+ # "success": true,
17
+ # "code": "000",
18
+ # "message": "Sucesso"
19
+ # },
20
+ # "pointsOfSale": [
21
+ # {
22
+ # "code": "pdv01",
23
+ # "description": "PDV de Teste 1 (Cielo)"
24
+ # },
25
+ # {
26
+ # "code": "pdv02",
27
+ #
28
+ # "description": "PDV de Teste 2 (Stone)"
29
+ # }]
30
+ # }
31
+ #
32
+ def self.list_pos()
33
+ # define o método de envio da requisição
34
+ method = :get
35
+
36
+ # monta a URL de chamada da requisição
37
+ endpoint = EndPoints.get_env[:url] + EndPoints::MANAGEMENTS[:context] + EndPoints::MANAGEMENTS[:list_pos]
38
+
39
+ # monta authorization base64 no header
40
+ headers={content_type: :json, accept: :json, authorization: EndPoints.get_env[:management_auth]}
41
+
42
+ # faz a chamada a plataforma de pagamento (MIDAS)
43
+ external_request(method, endpoint, {}, headers)
44
+
45
+ end
46
+
47
+ # This method creates an POS in midas.
48
+ # This is a is synchronous operation, using method POST
49
+ #
50
+ # Params:
51
+ # code: string - Represents the name of the POS
52
+ # description: string - Description about the POS
53
+ #
54
+ #
55
+ # Response:
56
+ # result: {
57
+ # success: true/false
58
+ # code: "XXX"
59
+ # message: "Some message to you"
60
+ # },
61
+ # accessToken: "3Lpv2ecaeBa4Kffuf0CbWfF1j6I5eg=="
62
+ #
63
+ def self.create_pos(code, description)
64
+ # define o método de envio da requisição
65
+ method = :post
66
+
67
+ # monta a URL de chamada da requisição
68
+ endpoint = EndPoints.get_env[:url] + EndPoints::MANAGEMENTS[:context] + EndPoints::MANAGEMENTS[:create_pos]
69
+
70
+ # monta os parâmetros da requisição na url
71
+ params = { code: code, description: description}
72
+
73
+ # monta authorization base64 no header
74
+ headers={content_type: :json, accept: :json, authorization: EndPoints.get_env[:management_auth]}
75
+
76
+ # faz a chamada a plataforma de pagamento (MIDAS)
77
+ response = external_request(method, endpoint, params, headers)
78
+
79
+ return response[:result], response[:acessToken]
80
+
81
+ end
82
+ end
83
+ end
@@ -18,17 +18,18 @@ module MidasClient
18
18
  # message: "Some message to you"
19
19
  # }
20
20
  def transaction_by_date(start_date=(Date.today - 7).strftime('%Y-%m-%d'), end_date = Date.today.strftime('%Y-%m-%d'), status = nil)
21
+ log "Entrei em transaction_by_date"
21
22
  # define o método de envio da requisição
22
23
  method = :get
23
24
 
24
25
  # monta a URL de chamada da requisição
25
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::QUERIES[:by_period]
26
+ endpoint = EndPoints.get_env[:url] + EndPoints::QUERIES[:context] + EndPoints::QUERIES[:by_period].gsub("{startDate}", start_date).gsub("{endDate}", end_date)
26
27
 
27
28
  # monta os parâmetros da requisição na url
28
- params = status.blank? ? { startDate: start_date, endDate: end_date} : { startDate: start_date, endDate: end_date, status: status}
29
+ endpoint = status.blank? ? endpoint.gsub("{status}", '') : endpoint.gsub("{status}", status)
29
30
 
30
31
  # faz a chamada a plataforma de pagamento (MIDAS)
31
- response = request(method, endpoint, self.login, self.password, params)
32
+ response = request(method, endpoint, self.login, self.password, {})
32
33
 
33
34
  result = response[:result]
34
35
  pagging = response[:pagging]
@@ -5,10 +5,10 @@ module MidasClient
5
5
 
6
6
  attr_accessor :login, :password
7
7
 
8
- def initialize(login, password, option={})
8
+ def initialize(login=nil, password=nil, option={})
9
9
  @login = login
10
10
  @password = password
11
- log("POS #{login} INITIALIZED!")
11
+ login.blank? ? log("POS STATIC INITIALIZED!") : log("POS #{login} INITIALIZED!")
12
12
  end
13
13
 
14
14
  # Method that's wrap generic response
@@ -57,6 +57,8 @@ module MidasClient
57
57
 
58
58
  # Method to call any other
59
59
  def self.external_request(method, endpoint, parameters={}, headers={content_type: :json, accept: :json})
60
+ extend Util
61
+
60
62
  # inicia a contagem da execução
61
63
  start_time_execution = Time.now
62
64
 
@@ -78,7 +80,7 @@ module MidasClient
78
80
  response = base_result(false, '999', "Operação não concluída. Motivo: #{e.to_s}")
79
81
  ensure
80
82
  total_time_execution = Time.now - start_time_execution
81
- log "[EXTERNAL][RESPONSE][#{method}] URL: #{endpoint} TEMPO: #{total_time_execution}s RESULT: #{self.sanitize_pci(response)}"
83
+ log "[EXTERNAL][RESPONSE][#{method}] URL: #{endpoint} TEMPO: #{total_time_execution}s RESULT: #{sanitize_pci(response)}"
82
84
  end
83
85
  response
84
86
  end
@@ -63,7 +63,7 @@ module MidasClient
63
63
  method = :post
64
64
 
65
65
  # monta a URL de chamada da requisição
66
- endpoint= EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::SUBSCRIPTIONS[:create]
66
+ endpoint= EndPoints.get_env[:url] + EndPoints::SUBSCRIPTIONS[:context] + EndPoints::SUBSCRIPTIONS[:create]
67
67
 
68
68
 
69
69
  params[:externalDate] = (params[:externaldate].blank? ? Time.now.iso8601(1) : params[:externaldate])
@@ -97,7 +97,7 @@ module MidasClient
97
97
  method = :put
98
98
 
99
99
  # monta a URL de chamada da requisição
100
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::SUBSCRIPTIONS[:cancel].gsub('{subscriptionToken}', subscription_token)
100
+ endpoint = EndPoints.get_env[:url] + EndPoints::SUBSCRIPTIONS[:context] + EndPoints::SUBSCRIPTIONS[:cancel].gsub('{subscriptionToken}', subscription_token)
101
101
 
102
102
  # faz a chamada a plataforma de pagamento (MIDAS)
103
103
  response = request(method, endpoint, self.login, self.password, {})
@@ -126,7 +126,7 @@ module MidasClient
126
126
  method = :put
127
127
 
128
128
  # monta a URL de chamada da requisição
129
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::SUBSCRIPTIONS[:update].gsub('{subscriptionToken}', subscription_token)
129
+ endpoint = EndPoints.get_env[:url] + EndPoints::SUBSCRIPTIONS[:context] + EndPoints::SUBSCRIPTIONS[:update].gsub('{subscriptionToken}', subscription_token)
130
130
 
131
131
  # faz a chamada a plataforma de pagamento (MIDAS) para atualizar o valor de face e callback da assinatura
132
132
  response = request(method, endpoint, self.login, self.password, params)
@@ -188,7 +188,7 @@ module MidasClient
188
188
  method = :get
189
189
 
190
190
  # monta a URL de chamada da requisição
191
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::SUBSCRIPTIONS[:by_token].gsub('{subscriptionToken}', subscription_token)
191
+ endpoint = EndPoints.get_env[:url] + EndPoints::SUBSCRIPTIONS[:context] + EndPoints::SUBSCRIPTIONS[:by_token].gsub('{subscriptionToken}', subscription_token)
192
192
 
193
193
  # faz a chamada a plataforma de pagamento (MIDAS)
194
194
  response = request(method, endpoint, self.login, self.password, {})
@@ -225,7 +225,7 @@ module MidasClient
225
225
  method = :get
226
226
 
227
227
  # monta a URL de chamada da requisição
228
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::SUBSCRIPTIONS[:invoices].gsub('{subscriptionToken}', subscription_token)
228
+ endpoint = EndPoints.get_env[:url] + EndPoints::SUBSCRIPTIONS[:context] + EndPoints::SUBSCRIPTIONS[:invoices].gsub('{subscriptionToken}', subscription_token)
229
229
 
230
230
  # faz a chamada a plataforma de pagamento (MIDAS)
231
231
  response = request(method, endpoint, self.login, self.password, {})
@@ -255,7 +255,7 @@ module MidasClient
255
255
  method = :put
256
256
 
257
257
  # monta a URL de chamada da requisição
258
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::SUBSCRIPTIONS[:update_card].gsub('{subscriptionToken}', subscription_token)
258
+ endpoint = EndPoints.get_env[:url] + EndPoints::SUBSCRIPTIONS[:context] + EndPoints::SUBSCRIPTIONS[:update_card].gsub('{subscriptionToken}', subscription_token)
259
259
 
260
260
  params = {
261
261
  cardToken: new_card_token
@@ -288,7 +288,7 @@ module MidasClient
288
288
  method = :put
289
289
 
290
290
  # monta a URL de chamada da requisição
291
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::SUBSCRIPTIONS[:update_invoice].gsub('{invoiceToken}', invoice_token)
291
+ endpoint = EndPoints.get_env[:url] + EndPoints::SUBSCRIPTIONS[:context] + EndPoints::SUBSCRIPTIONS[:update_invoice].gsub('{invoiceToken}', invoice_token)
292
292
 
293
293
  # faz a chamada a plataforma de pagamento (MIDAS)
294
294
  response = request(method, endpoint, self.login, self.password, params)
@@ -43,7 +43,7 @@ module MidasClient
43
43
  method = :post
44
44
 
45
45
  # monta a URL de chamada da requisição
46
- endpoint= EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::OPERATIONS[:store]
46
+ endpoint= EndPoints.get_env[:url] + EndPoints::OPERATIONS[:context] + EndPoints::OPERATIONS[:store]
47
47
 
48
48
  # faz a chamada a plataforma de pagamento (MIDAS)
49
49
  response = request(method, endpoint, login, password, params)
@@ -80,7 +80,7 @@ module MidasClient
80
80
  method = :post
81
81
 
82
82
  # monta a URL de chamada da requisição
83
- endpoint= EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::OPERATIONS[:synchronous_transaction]
83
+ endpoint= EndPoints.get_env[:url] + EndPoints::OPERATIONS[:context] + EndPoints::OPERATIONS[:synchronous_transaction]
84
84
 
85
85
  # regulariza o formato da data
86
86
  params[:externaldate] = params[:externaldate].blank? ? Time.now.iso8601(1) : params[:externaldate]
@@ -122,7 +122,7 @@ module MidasClient
122
122
  method = :post
123
123
 
124
124
  # monta a URL de chamada da requisição
125
- endpoint= EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::OPERATIONS[:asynchronous_transaction]
125
+ endpoint= EndPoints.get_env[:url] + EndPoints::OPERATIONS[:context] + EndPoints::OPERATIONS[:asynchronous_transaction]
126
126
 
127
127
  # regulariza o formato da data
128
128
  params[:externalDate] = (params[:externaldate].blank? ? Time.now.iso8601(1) : params[:externaldate])
@@ -169,7 +169,7 @@ module MidasClient
169
169
  method = :post
170
170
 
171
171
  # monta a URL de chamada da requisição
172
- endpoint= EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::OPERATIONS[:asynchronous_debit_transaction]
172
+ endpoint= EndPoints.get_env[:url] + EndPoints::OPERATIONS[:context] + EndPoints::OPERATIONS[:asynchronous_debit_transaction]
173
173
 
174
174
  # regulariza formato da data
175
175
  params[:externalDate] = (params[:externaldate].blank? ? Time.now.iso8601(1) : params[:externaldate])
@@ -218,7 +218,7 @@ module MidasClient
218
218
  method = :post
219
219
 
220
220
  # monta a URL de chamada da requisição
221
- endpoint= EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::OPERATIONS[:authorize]
221
+ endpoint= EndPoints.get_env[:url] + EndPoints::OPERATIONS[:context] + EndPoints::OPERATIONS[:authorize]
222
222
 
223
223
  # regulariza o formato da data
224
224
  params[:externalDate] = (params[:externaldate].blank? ? Time.now.iso8601(1) : params[:externaldate])
@@ -247,7 +247,7 @@ module MidasClient
247
247
  method = :put
248
248
 
249
249
  # monta a URL de chamada da requisição
250
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::OPERATIONS[:confirm].gsub('{transactionToken}', transaction_token)
250
+ endpoint = EndPoints.get_env[:url] + EndPoints::OPERATIONS[:context] + EndPoints::OPERATIONS[:confirm].gsub('{transactionToken}', transaction_token)
251
251
 
252
252
  # faz a chamada a plataforma de pagamento (MIDAS)
253
253
  response = self.request(method, endpoint, self.login, self.password, {})
@@ -273,7 +273,7 @@ module MidasClient
273
273
  method = :put
274
274
 
275
275
  # monta a URL de chamada da requisição
276
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::OPERATIONS[:cancel].gsub('{transactionToken}', transaction_token)
276
+ endpoint = EndPoints.get_env[:url] + EndPoints::OPERATIONS[:context] + EndPoints::OPERATIONS[:cancel].gsub('{transactionToken}', transaction_token)
277
277
 
278
278
  # faz a chamada a plataforma de pagamento (MIDAS)
279
279
  response = self.request(method, endpoint, self.login, self.password, {})
@@ -300,7 +300,7 @@ module MidasClient
300
300
  method = :put
301
301
 
302
302
  # monta a URL de chamada da requisição
303
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::OPERATIONS[:refund].gsub('{transactionToken}', transaction_token)
303
+ endpoint = EndPoints.get_env[:url] + EndPoints::OPERATIONS[:context] + EndPoints::OPERATIONS[:refund].gsub('{transactionToken}', transaction_token)
304
304
 
305
305
  # faz a chamada a plataforma de pagamento (MIDAS)
306
306
  response = request(method, endpoint, self.login, self.password, {})
@@ -327,7 +327,7 @@ module MidasClient
327
327
  method = :get
328
328
 
329
329
  # monta a URL de chamada da requisição
330
- endpoint = EndPoints.get_env[:url] + EndPoints.get_env[:context] + EndPoints::OPERATIONS[:query_by_transaction].gsub('{transactionToken}', transaction_token)
330
+ endpoint = EndPoints.get_env[:url] + EndPoints::OPERATIONS[:context] + EndPoints::OPERATIONS[:query_by_transaction].gsub('{transactionToken}', transaction_token)
331
331
 
332
332
  response = request(method, endpoint, login, password, params)
333
333
 
@@ -1,6 +1,8 @@
1
1
  module MidasClient
2
2
  module Util
3
3
 
4
+ attr_accessor :logger
5
+
4
6
  def logger(progname = '[MIDAS_CLIENT]')
5
7
  @logger ||= Logger.new($stdout).tap do |log|
6
8
  log.progname = progname
@@ -1,3 +1,3 @@
1
1
  module MidasClient
2
- VERSION = "0.1.3.1"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: midas_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3.1
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Andre Oliveira
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-29 00:00:00.000000000 Z
11
+ date: 2017-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -98,6 +98,7 @@ files:
98
98
  - Rakefile
99
99
  - lib/midas_client.rb
100
100
  - lib/midas_client/endpoints.rb
101
+ - lib/midas_client/management.rb
101
102
  - lib/midas_client/query.rb
102
103
  - lib/midas_client/request.rb
103
104
  - lib/midas_client/subscription.rb