midas_client 0.1.3.1 → 0.1.4

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: 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