cic_payment 0.4.1 → 0.4.2

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: 8871afe40aa1ae38a2866977e68de252f4f82a45
4
- data.tar.gz: 53ffbc797742f39cf8967de16437a93df3fd8878
3
+ metadata.gz: f679ba6a46ee7a98387216fcfdea9fc47a8d10b0
4
+ data.tar.gz: 300f771598cdbcb7098d05e8e28098236e4693c1
5
5
  SHA512:
6
- metadata.gz: 2c253796bf67f908754ec5c71e9b2232362ff6719f8b1318dbdccf3ec520edcd3d9136d94dbd868ce9edb9e561dd7687dcdb32d84086bee33c1bb4eb7304a883
7
- data.tar.gz: ed603293928cbba1a1350898e6750472de42a6db0c58404348cce327774c079e0642204206c9b43eaf601164bbaf8c575aa5c63b5d25f27219627d7776f8d105
6
+ metadata.gz: ce64d963b555a0d8b3ce6c04e923b5df08d88c8ebb7896ca8594e3b81f05df9ae091d39e74b9f3474adec27e648453c2df916b09cda006f9db67bf314bd9054b
7
+ data.tar.gz: 1cbac1e6ca79fe105d486747ece59b086b2bed28ad18bd8381623b4daad0919f05cb6b2d021789f919d89feb29d09bc05300c38f2d76f586130f73d05df50e68
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "cic_payment"
6
- s.version = "0.4.1"
6
+ s.version = "0.4.2"
7
7
  s.date = "2014-03-18"
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Novelys Team", 'Guillaume Barillot', 'Regis Millet (aka Kulgar)']
@@ -64,13 +64,27 @@ class CicPayment < PaymentSettings
64
64
  params.update(:success => false)
65
65
  end
66
66
  end
67
-
68
- # Use this function for your tests to create the mac properly
67
+
68
+ # === response_mac(params)
69
+ # This function is used to verify that the sent MAC by CIC is the one expected.
70
+ # It calculates the hmac from the correct chain of params.
71
+ #
72
+ # The HMAC returned by the bank uses this chain:
73
+ # <TPE>*<date>*<montant>*<reference>*<texte-libre>*3.0*<code-retour>*
74
+ # <cvx>*<vld>*<brand>*<status3ds>*<numauto>*<motifrefus>*<originecb>*
75
+ # <bincb>*<hpancb>*<ipclient>*<originetr>*<veres>*<pares>*
76
+ #
77
+ # Here is an example of the parameters sent back by the CIC payment module:
78
+ # Parameters: {"TPE"=>"012345", "date"=>"01/01/2011_a_00:00:00", "montant"=>"10.00EUR", "reference"=>"12_unique_caracters_string",
79
+ # "MAC"=>"CalculatedMAC by the bank",
80
+ # "texte-libre"=>"{\"custom_id\":1,\"user_id\":1,\"text\":\"Your text\"}",
81
+ # "code-retour"=>"payetest", "cvx"=>"oui", "vld"=>"1219", "brand"=>"na", "status3ds"=>"-1",
82
+ # "motifrefus"=>"", "originecb"=>"00x", "bincb"=>"000001", "hpancb"=>"F6FBF44A7EC30941DA2E411AA8A50C77F174B2BB",
83
+ # "ipclient"=>"01.01.01.01", "originetr"=>"FRA", "veres"=>"", "pares"=>"", "modepaiement"=>"CB"}
84
+ #
85
+ # You can also Use this function for your tests to simulate an exchange with the bank.
69
86
  def response_mac params
70
- # The HMAC returned by the bank uses this chain:
71
- # <TPE>*<date>*<montant>*<reference>*<texte-libre>*3.0*<code-retour>*
72
- # <cvx>*<vld>*<brand>*<status3ds>*<numauto>*<motifrefus>*<originecb>*
73
- # <bincb>*<hpancb>*<ipclient>*<originetr>*<veres>*<pares>*
87
+
74
88
  chain = [
75
89
  self.tpe, params['date'], params['montant'], params['reference'], params['texte-libre'], self.version, params['code-retour'],
76
90
  params['cvx'], params['vld'], params['brand'], params['status3ds'], params["numauto"], params['motifrefus'], params['originecb'],
@@ -84,7 +98,7 @@ class CicPayment < PaymentSettings
84
98
  params['MAC'] ? hmac = params['MAC'] : hmac = ""
85
99
 
86
100
  # Check if the HMAC matches the HMAC of the data string
87
- response_mac(params) == hmac
101
+ response_mac(params).downcase == hmac.downcase
88
102
  end
89
103
 
90
104
  # Return the HMAC for a data string
@@ -1,3 +1,3 @@
1
1
  module CicPayment
2
- VERSION = "0.4.1".freeze
2
+ VERSION = "0.4.2".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cic_payment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Novelys Team
@@ -48,7 +48,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
48
48
  version: '0'
49
49
  requirements: []
50
50
  rubyforge_project:
51
- rubygems_version: 2.2.2
51
+ rubygems_version: 2.0.3
52
52
  signing_key:
53
53
  specification_version: 4
54
54
  summary: CIC / Credit Mutuel credit card payment toolbox