stone_ecommerce 1.3.0 → 1.4.0

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NTM3MDk5OGY4Y2RjNmU4YzRhNDI5NTU0YTg3Yjc1ODBkM2M4MDZiYw==
4
+ YWFiNTRjYThjMDg0OWY1Y2U4MTVlZmQ4NzFiMjgyZmUyZmZmYjY0Mw==
5
5
  data.tar.gz: !binary |-
6
- NDJmYTAxNzA3MjUzYWFjYzk1ZDFkZWU3YjJkYTk2ZjM3MDc0MjRlYg==
6
+ ZTAwN2I5MjBlNTBhOThmNzZiNzlmMTNjZmZiZDZmODNhYjAzZDIzYw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NGU3YjE1ZDVkNGEwNmNkODBjOWZhNjNhZTcwYjIzOTFmNmRmODhiODA4MGRh
10
- MTM5YmY3ODNmZWRkMTIwMmM2MjhiNTZiNjQ4YzZlMDE2MzU2NmFiYTUyNzM1
11
- ZDU3ZWY1MzgzYjhhMDJlN2RjNmJmYmFjYWZiMjJkODY5ZjQ2ZWM=
9
+ N2IwYTA0Y2YwNWIzYzBiZjQ3M2UzYmJmNTVmYTg0NGUxM2Q5MjVjNGRjNThh
10
+ ZTRhOWRhYWMwMzM5NzJlNWVjNTMwZTkzZjdiMzcyYjFiZjUwYThjMDNjNzQ5
11
+ ODVlMWVkNjFiOTk4NDcyMDJmOTQ4NzhhNzIzOGI3MDVjNmQyYzI=
12
12
  data.tar.gz: !binary |-
13
- ZjJiNjAzY2E2OTc2MWI2YTBjODlmOWU0YTQ0NzliNTFmMTRmYzEzZjYyOWFh
14
- N2U1YjA1ZmQzYTc3MmMyMWE1YzBkZDQ3YzE5MjQzMjE2MjhkNWY1YjFlOThi
15
- MDFjODZjNGIwMjA3YTIwNTI0MWEzZjE1OGY2ODk1YzIyYTE1ZmM=
13
+ OWRiMGFkMmE5OGVkMTJmOGQ3ODU4MWNhZmU0NWY2Y2U5NjNkNjJkMGNmOTRi
14
+ NTkzZTMzNmRkZDY2OTA0ZTliMjFiNzgzNjgwOGY5MTFkZTJhZTU1ZDA2NDk5
15
+ YWZjZWRmZGUzZWQ1ZjRiMjhmNjA3ZDQ3MmI1MjFlZTcxMmZhYTU=
@@ -4,15 +4,9 @@ module Gateway
4
4
  class Gateway
5
5
  extend Gem::Deprecate
6
6
 
7
- attr_reader :serviceEnvironment
7
+ attr_reader :service_environment
8
8
 
9
- attr_reader :merchantKey
10
-
11
- def initialize(environment=:sandbox, merchantKey)
12
- @serviceEnvironment = environment
13
- @merchantKey = merchantKey
14
- @@SERVICE_HEADERS = {:MerchantKey => "#{@merchantKey}", :Accept => 'application/json', :"Content-Type" => 'application/json'}
15
- end
9
+ attr_reader :merchant_key
16
10
 
17
11
  # URL de producao
18
12
  @@SERVICE_URL_PRODUCTION = 'https://transaction.stone.com.br'
@@ -24,27 +18,50 @@ module Gateway
24
18
  @@SERVICE_URL_SANDBOX = 'https://transaction.stone.com.br'
25
19
 
26
20
  # URL do postnotification de producao
27
- @@SERVICE_URL_NOTIFICATION_PRODUCTION = ''
21
+ @@SERVICE_URL_REPORT_FILE_PRODUCTION = ''
28
22
 
29
23
  # URL do postnotification de sandbox
30
- @@SERVICE_URL_NOTIFICATION_SANDBOX = ''
24
+ @@SERVICE_URL_REPORT_FILE_SANDBOX = ''
25
+
26
+ # Service Url
27
+ @@SERVICE_URL = ''
28
+
29
+ # Service Url Notification
30
+ @@SERVICE_URL_REPORT_FILE = ''
31
+
32
+ def initialize(environment=:sandbox, merchant_key)
33
+ @service_environment = environment
34
+
35
+ if @service_environment == :staging
36
+ @@SERVICE_URL = @@SERVICE_URL_STAGING
37
+ @@SERVICE_URL_REPORT_FILE = @@SERVICE_URL_REPORT_FILE_PRODUCTION
38
+
39
+ # se for producao, faz a chamada por aqui
40
+ elsif @service_environment == :production
41
+ @@SERVICE_URL = @@SERVICE_URL_PRODUCTION
42
+ @@SERVICE_URL_REPORT_FILE = @@SERVICE_URL_REPORT_FILE_PRODUCTION
43
+
44
+ # se for sandbox
45
+ elsif @service_environment == :sandbox
46
+ @@SERVICE_URL = @@SERVICE_URL_SANDBOX
47
+ @@SERVICE_URL_REPORT_FILE = @@SERVICE_URL_REPORT_FILE_SANDBOX
48
+ end
49
+
50
+ @merchant_key = merchant_key
51
+ @@SERVICE_HEADERS = {:MerchantKey => "#{@merchant_key}", :Accept => 'application/json', :"Content-Type" => 'application/json'}
52
+ end
53
+
54
+ def self.new_with_urls (environment_url=@@SERVICE_URL_SANDBOX, report_file_url=@@SERVICE_URL_REPORT_FILE_SANDBOX, merchant_key)
55
+ @@SERVICE_URL = environment_url
56
+ @@SERVICE_URL_REPORT_FILE = report_file_url
57
+ self.new(nil, merchant_key)
58
+ end
31
59
 
32
60
  # permite que o integrador adicione uma busca por transacoes utilizando alguns criterios
33
61
  def Query(querySaleRequestEnum, key)
34
62
  # try, tenta fazer o request
35
63
  begin
36
- # se for homologacao faz a chamada por aqui
37
- if @serviceEnvironment == :staging
38
- getRequest(@@SERVICE_URL_STAGING + '/Sale/Query/' + querySaleRequestEnum + '=' + key)
39
-
40
- # se for producao, faz a chamada por aqui
41
- elsif @serviceEnvironment == :production
42
- getRequest(@@SERVICE_URL_PRODUCTION + '/Sale/Query/' + querySaleRequestEnum + '=' + key)
43
-
44
- # se for sandbox
45
- elsif @serviceEnvironment == :sandbox
46
- getRequest(@@SERVICE_URL_SANDBOX + '/Sale/Query/' + querySaleRequestEnum + '=' + key)
47
- end
64
+ getRequest(@@SERVICE_URL + '/Sale/Query/' + querySaleRequestEnum + '=' + key)
48
65
 
49
66
  # se der algum erro, trata aqui
50
67
  rescue Exception => e
@@ -212,14 +229,7 @@ module Gateway
212
229
  return e.message
213
230
  end
214
231
 
215
- if @serviceEnvironment == :staging
216
- url = @@SERVICE_URL_STAGING + '/Sale/'
217
- elsif @serviceEnvironment == :production
218
- url = @@SERVICE_URL_PRODUCTION + '/Sale/'
219
- elsif @serviceEnvironment == :sandbox
220
- url = @@SERVICE_URL_SANDBOX + '/Sale/'
221
- end
222
- postRequest(saleHash.to_json, url)
232
+ postRequest(saleHash.to_json, @@SERVICE_URL + '/Sale/')
223
233
  end
224
234
 
225
235
  # permite forcar a retentativa manualmente de uma transacao (podendo ser tambem uma recorrencia) nao autorizada
@@ -243,14 +253,8 @@ module Gateway
243
253
  rescue Exception => e
244
254
  return e.message
245
255
  end
246
- if @serviceEnvironment == :staging
247
- url = @@SERVICE_URL_STAGING + '/Sale/Retry'
248
- elsif @serviceEnvironment == :production
249
- url = @@SERVICE_URL_PRODUCTION + '/Sale/Retry'
250
- elsif @serviceEnvironment == :sandbox
251
- url = @@SERVICE_URL_SANDBOX + '/Sale/Retry'
252
- end
253
- postRequest(saleHash.to_json, url)
256
+
257
+ postRequest(saleHash.to_json, @@SERVICE_URL + '/Sale/Retry')
254
258
  end
255
259
 
256
260
  # eh uma forma de desfazer uma transação com cartao de credito mesmo a transacao sendo capturada
@@ -268,14 +272,8 @@ module Gateway
268
272
  rescue Exception => e
269
273
  return e.message
270
274
  end
271
- if @serviceEnvironment == :staging
272
- url = @@SERVICE_URL_STAGING + '/Sale/Cancel'
273
- elsif @serviceEnvironment == :production
274
- url = @@SERVICE_URL_PRODUCTION + '/Sale/Cancel'
275
- elsif @serviceEnvironment == :sandbox
276
- url = @@SERVICE_URL_SANDBOX + '/Sale/Cancel'
277
- end
278
- postRequest(saleHash.to_json, url)
275
+
276
+ postRequest(saleHash.to_json, @@SERVICE_URL + '/Sale/Cancel')
279
277
  end
280
278
 
281
279
  # confirmacao de uma transacao de cartao de credito que ja fora autorizada
@@ -293,14 +291,8 @@ module Gateway
293
291
  rescue Exception => e
294
292
  return e.message
295
293
  end
296
- if @serviceEnvironment == :staging
297
- url = @@SERVICE_URL_STAGING + '/Sale/Capture'
298
- elsif @serviceEnvironment == :production
299
- url = @@SERVICE_URL_PRODUCTION + '/Sale/Capture'
300
- elsif @serviceEnvironment == :sandbox
301
- url = @@SERVICE_URL_SANDBOX + '/Sale/Capture'
302
- end
303
- postRequest(saleHash.to_json, url)
294
+
295
+ postRequest(saleHash.to_json, @@SERVICE_URL + '/Sale/Capture')
304
296
  end
305
297
 
306
298
  # faz um parse do xml de post notificaton
@@ -317,16 +309,7 @@ module Gateway
317
309
  # faz uma requisicao e retorna uma string com o transaction report file
318
310
  def TransactionReportFile(date)
319
311
  begin
320
- if @serviceEnvironment == :staging
321
- url = @@SERVICE_URL_NOTIFICATION_PRODUCTION + date.strftime("%Y%m%d")
322
- elsif @serviceEnvironment == :production
323
- url = @@SERVICE_URL_NOTIFICATION_PRODUCTION + date.strftime("%Y%m%d")
324
- elsif @serviceEnvironment == :sandbox
325
- url = @@SERVICE_URL_NOTIFICATION_SANDBOX + date.strftime("%Y%m%d")
326
- end
327
-
328
- response = getReportFile(url)
329
-
312
+ response = getReportFile(@@SERVICE_URL_REPORT_FILE + '/TransactionReportFile/GetStream?fileDate=' + date.strftime("%Y%m%d"))
330
313
  rescue RestClient::ExceptionWithResponse => err
331
314
  return err.response
332
315
  end
@@ -373,19 +356,7 @@ module Gateway
373
356
  def GetCreditCardWithBuyerKey(buyer_key)
374
357
  # try, tenta fazer o request
375
358
  begin
376
-
377
- # se for homologacao faz a chamada por aqui
378
- if @serviceEnvironment == :staging
379
- response = getRequest(@@SERVICE_URL_STAGING + '/CreditCard/BuyerKey=' + buyer_key)
380
-
381
- # se for producao, faz a chamada por aqui
382
- elsif @serviceEnvironment == :production
383
- response = getRequest(@@SERVICE_URL_PRODUCTION + '/CreditCard/BuyerKey=' + buyer_key)
384
-
385
- # se for sandbox, faz a chamada por aqui
386
- elsif @serviceEnvironment == :sandbox
387
- response = getRequest(@@SERVICE_URL_SANDBOX + '/CreditCard/BuyerKey=' + buyer_key)
388
- end
359
+ response = getRequest(@@SERVICE_URL + '/CreditCard/BuyerKey=' + buyer_key)
389
360
 
390
361
  # se der algum erro, trata aqui
391
362
  rescue Exception => e
@@ -400,18 +371,7 @@ module Gateway
400
371
  def GetCreditCard(instant_buy_key)
401
372
  # try, tenta fazer o request
402
373
  begin
403
- # se for homologacao faz a chamada por aqui
404
- if @serviceEnvironment == :staging
405
- getRequest(@@SERVICE_URL_STAGING + '/CreditCard/' + instant_buy_key)
406
-
407
- # se for producao, faz a chamada por aqui
408
- elsif @serviceEnvironment == :production
409
- getRequest(@@SERVICE_URL_PRODUCTION + '/CreditCard/' + instant_buy_key)
410
-
411
- # se for sandbox
412
- elsif @serviceEnvironment == :sandbox
413
- getRequest(@@SERVICE_URL_SANDBOX + '/CreditCard/' + instant_buy_key)
414
- end
374
+ getRequest(@@SERVICE_URL + '/CreditCard/' + instant_buy_key)
415
375
 
416
376
  # se der algum erro, trata aqui
417
377
  rescue Exception => e
@@ -429,20 +389,7 @@ module Gateway
429
389
  sale_hash['BillingAddress'] = nil
430
390
  end
431
391
 
432
- # se for homologacao faz a chamada por aqui
433
- if @serviceEnvironment == :staging
434
- url = @@SERVICE_URL_STAGING + '/CreditCard/'
435
-
436
- # se for producao, faz a chamada por aqui
437
- elsif @serviceEnvironment == :production
438
- url = @@SERVICE_URL_PRODUCTION + '/CreditCard/'
439
-
440
- # se for sandbox, faz a chamada por aqui
441
- elsif @serviceEnvironment == :sandbox
442
- url = @@SERVICE_URL_SANDBOX + '/CreditCard/'
443
- end
444
-
445
- response = postRequest(sale_hash.to_json, url)
392
+ response = postRequest(sale_hash.to_json, @@SERVICE_URL + '/CreditCard/')
446
393
 
447
394
  # se der algum erro, trata aqui
448
395
  rescue Exception => e
@@ -457,20 +404,7 @@ module Gateway
457
404
  begin
458
405
  sale_hash = update_instant_buy_data_request.to_json
459
406
 
460
- # se for homologacao faz a chamada por aqui
461
- if @serviceEnvironment == :staging
462
- url = @@SERVICE_URL_STAGING + '/CreditCard/' + instant_buy_key
463
-
464
- # se for producao, faz a chamada por aqui
465
- elsif @serviceEnvironment == :production
466
- url = @@SERVICE_URL_PRODUCTION + '/CreditCard/' + instant_buy_key
467
-
468
- # se for sandbox, faz a chamada por aqui
469
- elsif @serviceEnvironment == :sandbox
470
- url = @@SERVICE_URL_SANDBOX + '/CreditCard/' + instant_buy_key
471
- end
472
-
473
- response = patchRequest(sale_hash.to_json, url)
407
+ response = patchRequest(sale_hash.to_json, @@SERVICE_URL + '/CreditCard/' + instant_buy_key)
474
408
  # se der algum erro, trata aqui
475
409
  rescue Exception => e
476
410
  return e.message
@@ -483,18 +417,7 @@ module Gateway
483
417
  def DeleteCreditCard(instant_buy_key)
484
418
  # try, tenta fazer o request
485
419
  begin
486
- # se for homologacao faz a chamada por aqui
487
- if @serviceEnvironment == :staging
488
- deleteRequest(@@SERVICE_URL_STAGING + '/CreditCard/' + instant_buy_key)
489
-
490
- # se for producao, faz a chamada por aqui
491
- elsif @serviceEnvironment == :production
492
- deleteRequest(@@SERVICE_URL_PRODUCTION + '/CreditCard/' + instant_buy_key)
493
-
494
- # se for sandbox
495
- elsif @serviceEnvironment == :sandbox
496
- deleteRequest(@@SERVICE_URL_SANDBOX + '/CreditCard/' + instant_buy_key)
497
- end
420
+ deleteRequest(@@SERVICE_URL + '/CreditCard/' + instant_buy_key)
498
421
 
499
422
  # se der algum erro, trata aqui
500
423
  rescue Exception => e
@@ -506,19 +429,7 @@ module Gateway
506
429
  def GetBuyer(buyer_key)
507
430
  # try, tenta fazer o request
508
431
  begin
509
-
510
- # se for homologacao faz a chamada por aqui
511
- if @serviceEnvironment == :staging
512
- response = getRequest(@@SERVICE_URL_STAGING + '/Buyer/' + buyer_key)
513
-
514
- # se for producao, faz a chamada por aqui
515
- elsif @serviceEnvironment == :production
516
- response = getRequest(@@SERVICE_URL_PRODUCTION + '/Buyer/' + buyer_key)
517
-
518
- # se for sandbox, faz a chamada por aqui
519
- elsif @serviceEnvironment == :sandbox
520
- response = getRequest(@@SERVICE_URL_SANDBOX + '/Buyer/' + buyer_key)
521
- end
432
+ response = getRequest(@@SERVICE_URL + '/Buyer/' + buyer_key)
522
433
 
523
434
  # se der algum erro, trata aqui
524
435
  rescue Exception => e
@@ -543,20 +454,7 @@ module Gateway
543
454
  end
544
455
  end
545
456
 
546
- # se for homologacao faz a chamada por aqui
547
- if @serviceEnvironment == :staging
548
- url = @@SERVICE_URL_STAGING + '/Buyer/'
549
-
550
- # se for producao, faz a chamada por aqui
551
- elsif @serviceEnvironment == :production
552
- url = @@SERVICE_URL_PRODUCTION + '/Buyer/'
553
-
554
- # se for sandbox, faz a chamada por aqui
555
- elsif @serviceEnvironment == :sandbox
556
- url = @@SERVICE_URL_SANDBOX + '/Buyer/'
557
- end
558
-
559
- response = postRequest(sale_hash.to_json, url)
457
+ response = postRequest(sale_hash.to_json, @@SERVICE_URL + '/Buyer/')
560
458
  rescue Exception => e
561
459
  return e.message
562
460
  end
@@ -617,7 +515,7 @@ module Gateway
617
515
 
618
516
  def getReportFile(url)
619
517
  begin
620
- response = RestClient.get(url, headers={:MerchantKey => "#{@merchantKey}"})
518
+ response = RestClient.get(url, headers={:MerchantKey => "#{@merchant_key}"})
621
519
  rescue RestClient::ExceptionWithResponse => err
622
520
  return err.response
623
521
  end
@@ -705,7 +705,7 @@ RSpec.describe Gateway do
705
705
  credit_card_transaction.CreditCard.ExpMonth = 10
706
706
  credit_card_transaction.CreditCard.ExpYear = 2018
707
707
  credit_card_transaction.CreditCard.SecurityCode = '123'
708
- credit_card_transaction.CreditCard.HolderName = 'Luke Skywalker'
708
+ credit_card_transaction.CreditCard.HolderName = 'Luke Skywalker' + DateTime.now().to_s
709
709
  credit_card_transaction.AmountInCents = 100
710
710
  credit_card_transaction.Options.PaymentMethodCode = 1
711
711
 
@@ -2,7 +2,7 @@ Gem::Specification.new do |s|
2
2
  s.name = 'stone_ecommerce'
3
3
  s.summary = 'Stone Ruby Client Library'
4
4
  s.description = 'Ruby library for integrating with the Stone payment web services.'
5
- s.version = '1.3.0' # Major.Minor.Revision
5
+ s.version = '1.4.0' # Major.Minor.Revision
6
6
  s.author = 'Stone Pagamentos'
7
7
  s.email = 'meajuda@stone.com.br'
8
8
  s.homepage = 'http://stone.com.br/'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stone_ecommerce
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stone Pagamentos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-01 00:00:00.000000000 Z
11
+ date: 2016-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client