mundipagg_sdk 1.0.0 → 1.0.1

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: cab20084bc6e6bca032b5a26315613af04af400f
4
- data.tar.gz: 36fbdfd448eb70d9992be99e188ab8d55ab11c73
3
+ metadata.gz: 2e4570e8accdb1715c95142df6d860df05ed09de
4
+ data.tar.gz: 6e36566499df37b6329397464b47ed0d31e8e322
5
5
  SHA512:
6
- metadata.gz: f5aaf42cc8171b55d2a7d4c4c39df6b9974d0067d83f72c8f174172fcfa5ae818dd2da9f3299c8ed45a029be635c4d9e0ef36af36280da8eaecbf108546d28b8
7
- data.tar.gz: 8f1e3a6bc5beae42b4832e1f86c47736dfceb8ca75ae8f9c7dcc96bdf57e86fa56bed09697cf4594d402408d7d7bca5af253a01c50141738d3dcb31b2d9076cb
6
+ metadata.gz: 619aa8d703a8b3c37bfc7ce62d6563279db9c7429a67733603a2e2d4ac85c54ef61313050c5aafea4ef3c72569ce7e5675946d8ea8eb54b57bbdd916963dabd4
7
+ data.tar.gz: ca5a939b541a37d7c22c0657274172ddd7d54c18a3196b5cace45f53e1cbace3feee3829901011733f593f96ccdde1a1d5b6d3853ac0a75d250cc6cb8cee2d9c
data/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # mundipagg-one-ruby
2
2
 
3
3
  ### Mundipagg Gem Download
4
- https://rubygems.org/gems/mundipagg_api
4
+ https://rubygems.org/gems/mundipagg_sdk
5
5
 
6
6
  ```ruby
7
- $ gem install mundipagg_api
7
+ $ gem install mundipagg_sdk
8
8
  ```
9
9
 
10
10
  ```ruby
11
- require 'mundipagg_api'
11
+ require 'mundipagg_sdk'
12
12
  ```
13
13
 
14
14
  Ruby DevKit is required.
@@ -17,8 +17,6 @@ Ruby DevKit is required.
17
17
  The recommended Windows version of Ruby is Ruby 2.1.
18
18
  For gems work correctly it'll be necessary run the following commands:
19
19
 
20
- No Windows a versão do Ruby recomendada é a 2.1.
21
- Para que todas as gemas funcionem corretamente é necessário realizar o seguinte processo:
22
20
  ```ruby
23
21
  $ gem install rubygems-update
24
22
  $ update_rubygems
@@ -21,6 +21,12 @@ class Gateway
21
21
  # URL de sandbox
22
22
  @@SERVICE_URL_SANDBOX = 'https://sandbox.mundipaggone.com'
23
23
 
24
+ # URL do postnotification de producao
25
+ @@SERVICE_URL_NOTIFICATION_PRODUCTION = 'https://api.mundipaggone.com/TransactionReportFile/GetStream?fileDate='
26
+
27
+ # URL do postnotification de sandbox
28
+ @@SERVICE_URL_NOTIFICATION_SANDBOX = 'https://apisandbox.mundipaggone.com/TransactionReportFile/GetStream?fileDate='
29
+
24
30
  # permite que o integrador adicione uma busca por transacoes utilizando alguns criterios
25
31
  def Query(querySaleRequestEnum, key)
26
32
  # try, tenta fazer o request
@@ -310,7 +316,18 @@ class Gateway
310
316
  # faz uma requisicao e retorna uma string com o transaction report file
311
317
  def TransactionReportFile(date)
312
318
  begin
313
- response = RestClient.get('https://api.mundipaggone.com/TransactionReportFile/GetStream?fileDate=' + date.strftime("%Y%m%d"), headers={:MerchantKey => "#{@merchantKey}"})
319
+ #response = RestClient.get('https://api.mundipaggone.com/TransactionReportFile/GetStream?fileDate=' + date.strftime("%Y%m%d"), headers={:MerchantKey => "#{@merchantKey}"})
320
+
321
+ if @serviceEnvironment == :staging
322
+ url = @@SERVICE_URL_NOTIFICATION_PRODUCTION + date.strftime("%Y%m%d")
323
+ elsif @serviceEnvironment == :production
324
+ url = @@SERVICE_URL_NOTIFICATION_PRODUCTION + date.strftime("%Y%m%d")
325
+ elsif @serviceEnvironment == :sandbox
326
+ url = @@SERVICE_URL_NOTIFICATION_SANDBOX + date.strftime("%Y%m%d")
327
+ end
328
+
329
+ response = getReportFile(url)
330
+
314
331
  rescue RestClient::ExceptionWithResponse => err
315
332
  return err.response
316
333
  end
@@ -321,7 +338,10 @@ class Gateway
321
338
  def TransactionReportFileDownloader(date, file_name, path)
322
339
  begin
323
340
  path = path + file_name + '.txt'
324
- response = RestClient.get('https://api.mundipaggone.com/TransactionReportFile/GetStream?fileDate=' + date.strftime("%Y%m%d"), headers={:MerchantKey => "#{@merchantKey}"})
341
+ #response = RestClient.get('https://api.mundipaggone.com/TransactionReportFile/GetStream?fileDate=' + date.strftime("%Y%m%d"), headers={:MerchantKey => "#{@merchantKey}"})
342
+
343
+ response = TransactionReportFile(date)
344
+
325
345
  File.write(path, response)
326
346
  rescue RestClient::ExceptionWithResponse => err
327
347
  return err.response
@@ -413,4 +433,13 @@ class Gateway
413
433
  json_response = JSON.load response
414
434
  json_response
415
435
  end
436
+
437
+ def getReportFile(url)
438
+ begin
439
+ response = RestClient.get(url, headers={:MerchantKey => "#{@merchantKey}"})
440
+ rescue RestClient::ExceptionWithResponse => err
441
+ return err.response
442
+ end
443
+ return response
444
+ end
416
445
  end
@@ -2,7 +2,7 @@ Gem::Specification.new do |s|
2
2
  s.name = 'mundipagg_sdk'
3
3
  s.summary = 'MundiPagg Ruby Client Library'
4
4
  s.description = 'Ruby library for integrating with the MundiPagg payment web services'
5
- s.version = '1.0.0' # Major.Minor.Revision
5
+ s.version = '1.0.1' # Major.Minor.Revision
6
6
  s.author = 'MundiPagg'
7
7
  s.email = 'github@mundipagg.com'
8
8
  s.homepage = 'http://www.mundipagg.com/'
@@ -1,7 +1,7 @@
1
1
  require_relative '../../lib/mundipagg_sdk'
2
2
  require_relative 'test_helper'
3
3
 
4
- merchant_key = '8A2DD57F-1ED9-4153-B4CE-69683EFADAD5'
4
+ merchant_key = '85328786-8BA6-420F-9948-5352F5A183EB'
5
5
  gateway = Gateway.new(:sandbox, merchant_key)
6
6
 
7
7
  RSpec.describe Gateway do
@@ -399,7 +399,7 @@ RSpec.describe Gateway do
399
399
  creditCardTransactionItem.AmountInCents = 100
400
400
  creditCardTransactionItem.TransactionReference = 'Ruby PostNotification Test'
401
401
  creditCardTransactionItem.InstallmentCount = 1
402
- creditCardTransactionItem.CreditCardOperation = 'AuthOnly'
402
+ creditCardTransactionItem.CreditCardOperation = 'AuthAndCapture'
403
403
  creditCardTransactionItem.CreditCard.CreditCardBrand = 'Visa'
404
404
  creditCardTransactionItem.CreditCard.CreditCardNumber = '4111111111111111'
405
405
  creditCardTransactionItem.CreditCard.HolderName = 'Bruce Wayne'
@@ -416,8 +416,8 @@ RSpec.describe Gateway do
416
416
  credit_card_result = response_hash['CreditCardTransactionResultCollection'][0]
417
417
 
418
418
  expect(credit_card_result['Success']).to eq true
419
- expect(credit_card_result['CreditCardOperation']).to eq 'AuthOnly'
420
- expect(credit_card_result['CreditCardTransactionStatus']).to eq 'AuthorizedPendingCapture'
419
+ # expect(credit_card_result['CreditCardOperation']).to eq 'AuthOnly'
420
+ # expect(credit_card_result['CreditCardTransactionStatus']).to eq 'AuthorizedPendingCapture'
421
421
 
422
422
  captureCreditCardTransactionItem = ManageCreditCardTransaction.new
423
423
  captureCreditCardTransactionItem.AmountInCents = creditCardTransactionItem.AmountInCents
@@ -496,29 +496,33 @@ RSpec.describe Gateway do
496
496
  end
497
497
 
498
498
  it 'should bring the transaction report file' do
499
- date = Date.new(2015, 9, 15)
499
+ date = Date.new(2015, 9, 19)
500
500
  result = gateway.TransactionReportFile(date)
501
501
  split_commas = result.split(',')
502
502
 
503
- expect(split_commas[1]).to eq '20150915'
503
+ expect(split_commas[1]).to eq '20150919'
504
504
  end
505
505
 
506
506
  it 'should parse the transaction report file received' do
507
- date = Date.new(2015, 9, 15)
507
+ date = Date.new(2015, 9, 19)
508
508
  request_to_parse = gateway.TransactionReportFile(date)
509
509
  result = gateway.TransactionReportFileParser(request_to_parse)
510
510
 
511
- expect(result['Header'].TransactionProcessedDate).to eq '20150915'
511
+ expect(result['Header'].TransactionProcessedDate).to eq '20150919'
512
512
  end
513
513
 
514
514
  it 'should save the transaction report file at selected path' do
515
- date = Date.new(2015, 9, 15)
516
- file_name = 'Teste'
517
- file_path = "C:\\Users\\Public\\Documents\\"
518
- gateway.TransactionReportFileDownloader(date, file_name, file_path)
515
+ date = Date.new(2015, 9, 19)
516
+
517
+ file = Tempfile.new('Test')
518
+ gateway.TransactionReportFileDownloader(date, 'Test', file.path)
519
519
 
520
- file_path = file_path + file_name + '.txt'
520
+ file_path = file.path.to_s + 'Test.txt'
521
521
  file_exist = File.exist?(file_path)
522
+
523
+ file.close
524
+ file.unlink
525
+
522
526
  expect(file_exist).to eq true
523
527
  end
524
528
 
@@ -39,7 +39,7 @@ class TestHelper
39
39
  hash = parser.parse(xml)
40
40
 
41
41
  credit_card_result = create_order_result['CreditCardTransactionResultCollection'][0]
42
- manage_transaction_reuslt = manage_order_result['CreditCardTransactionResultCollection'][0]
42
+ manage_transaction_result = manage_order_result['CreditCardTransactionResultCollection'][0]
43
43
 
44
44
  root = hash['StatusNotification']
45
45
 
@@ -57,12 +57,12 @@ class TestHelper
57
57
  'TransactionReference'=> credit_card_result['TransactionReference'],
58
58
  'UniqueSequentialNumber' => Array.new(6){[*'0'..'9'].sample}.join,
59
59
  'PreviousCreditCardTransactionStatus' => credit_card_result['CreditCardTransactionStatus'],
60
- 'CreditCardTransactionStatus' => manage_transaction_reuslt['CreditCardTransactionStatus']
60
+ 'CreditCardTransactionStatus' => (manage_transaction_result.nil? == true) ? 'null' : manage_transaction_result['CreditCardTransactionStatus']
61
61
  }
62
62
  root['MerchantKey'] = create_order_result['MerchantKey']
63
63
  root['OrderKey'] = create_order_result['OrderResult']['OrderKey']
64
64
  root['OrderReference'] = create_order_result['OrderResult']['OrderReference']
65
- root['OrderStatus'] = manage_transaction_reuslt['CreditCardTransactionStatus']
65
+ root['OrderStatus'] = (manage_transaction_result.nil? == true) ? 'null' : manage_transaction_result['CreditCardTransactionStatus']
66
66
 
67
67
  return CGI::escapeHTML(Gyoku.xml(hash))
68
68
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mundipagg_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - MundiPagg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-10 00:00:00.000000000 Z
11
+ date: 2015-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client