epics 1.4.0 → 1.4.1

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: e1b144ee107acb92e07bc5374887837121f4bd25
4
- data.tar.gz: 40b4435924bae79be5e3dccd5dd51f512c07393c
3
+ metadata.gz: 51b94d179773db218f4e12893aad065b478fe4fc
4
+ data.tar.gz: 221ef01157bbcd652e17e6bd7d05d97edeef0765
5
5
  SHA512:
6
- metadata.gz: 4ac0b1b88d188ab1ac3995bee74c5c3213121c7cf1af9406a24fe48736f3cd0bce046ffdaaff6e8da0ed73f39d9b053d979b7b75b2ce3d7e8b7257a6e21890cb
7
- data.tar.gz: e42b512dbd90a1fe8ef7b08625338514262c276340b4116fc0ae9f94e369d14d4a061ec7345b7680e94bfb0ef8963668e4ed8d63a160ceff9c2de6fd2cb290d9
6
+ metadata.gz: bf71172943ed9c56975b555550277cc1a066a93f6e473b03819833f047c4ae328d50baf7419f535c1c8a62f4ecc64c46dba6fd68ad236d775d676dba5030dbef
7
+ data.tar.gz: b99b8db9d8a5a332012600d74ccde6fbcfeab0962edb33d34359c2abc2c37fdcfa94052edd0cfe622d23ad09414fc97d422cc2a8627f2da2554667c612115001
@@ -1,3 +1,7 @@
1
+ ### 1.4.1
2
+
3
+ * [ENHANCEMENT] support for fetching the VMK order type
4
+
1
5
  ### 1.4.0
2
6
 
3
7
  * [ENHANCEMENT] STA without date range to fetch all statements which have not yet been fetched
data/README.md CHANGED
@@ -3,9 +3,12 @@
3
3
 
4
4
  # Epics
5
5
 
6
- EPICS is a ruby implementation of the [EBICS](http://www.ebics.org/) (Electronic Banking Internet Communication Standard)
6
+ EPICS is a ruby implementation of the [EBICS](http://www.ebics.org/) (Electronic Banking Internet
7
+ Communication Standard).
7
8
 
8
- The client supports the complete initialization process comprising INI, HIA and HPB including the INI letter generation. It offers support for the most common download and upload order types (STA HAA HTD HPD PKT HAC HKD C52 C53 CD1 CDD CCT)
9
+ The client supports the complete initialization process comprising INI, HIA and HPB including the
10
+ INI letter generation. It offers support for the most common download and upload order types
11
+ (STA HAA HTD HPD PKT HAC HKD C52 C53 CD1 CDD CCT VMK).
9
12
 
10
13
 
11
14
  ## Installation
@@ -23,20 +26,19 @@ Or install it yourself as:
23
26
 
24
27
  ## Getting started
25
28
 
26
- In case you are new to EBICS, you'll have to complete a initialization process with
27
- your bank. Epics can help you to generate all the necessary keys and directly store
28
- them for later use, but first you'll have to to lift some contractually work with your
29
+ In case you are new to EBICS, you'll have to complete an initialization process with
30
+ your bank. Epics can help you generate all necessary keys and directly store
31
+ them for later use. But first you'll have to lift some contractually work with your
29
32
  bank.
30
33
 
31
34
  Once the paperwork is done, your bank should provide you with:
32
35
 
33
- * a URL to their EBICS Server
34
- * a HOST ID
35
- * a PARTNER ID
36
- * n User IDs (this depends on the bank and your needs)
36
+ * _a_ URL to their EBICS Server
37
+ * _a_ HOST ID
38
+ * _a_ PARTNER ID
39
+ * _n_ User IDs (depends on your bank and needs)
37
40
 
38
- Take this parameters and start setting up one UserID (repeat this for every user
39
- you want to initialize):
41
+ Take these parameters and start setting up an UserID (repeat this for every user you want to initialize):
40
42
 
41
43
  ```ruby
42
44
  e = Epics::Client.setup("my-super-secret", "https://ebics.sandbox", "SIZBN001", "EBIX", "EPICS")
@@ -56,7 +58,6 @@ Submit the keys to your bank:
56
58
 
57
59
  ```ruby
58
60
  e.INI # sends the signature key
59
-
60
61
  e.HIA # sends the encryption and authentication keys
61
62
  ```
62
63
 
@@ -66,15 +67,15 @@ The next step is to print the INI letter and post it to your bank:
66
67
  e.save_ini_letter( 'My Banks Name', "/home/epics/ini.html" )
67
68
  ```
68
69
 
69
- Open the generated HTML file in your favorite browser and print it out (skipping
70
- header and footer sounds like a solid setting here ;) In case your having difficulties
70
+ Open the generated HTML file in your favorite browser and print it (skipping
71
+ header and footer sounds like a solid setting here ;). In case you're having difficulties
71
72
  with the encoding, try forcing your browser to use UTF-8.
72
73
 
73
- Put the INI letter in a envelope and mail it to your bank!
74
+ Put the INI letter in an envelope and mail it to your bank!
74
75
 
75
- Done! ... Well not completly :)
76
+ Done! ... Well not completely :)
76
77
 
77
- Once the bank confirms that your user is completely initialized. You'll have to
78
+ Once the bank confirms that your user is completely initialized, you'll have to
78
79
  download the public keys of your bank:
79
80
 
80
81
  ```ruby
@@ -93,10 +94,13 @@ e.HAA
93
94
  To get a list of all supported order types.
94
95
 
95
96
 
96
- ## Need help? Having questions?
97
+ ## Need help? Having questions?
97
98
 
98
- We have many years of experience in developing innovative applications for the finance sector and integration application with financial institutions. - you might want to have a look at our [portfolio](http://www.railslove.com/portfolio)
99
- __If you need help we are happy to provide consulting or development services. Contact us: [team@railslove.com](mailto:team@railslove.com)__
99
+ We have many years of experience in developing innovative applications for the finance sector and
100
+ integrating applications with financial institutions. - you might want to have a look at our
101
+ [portfolio](http://www.railslove.com/portfolio)
102
+ __If you need help we are happy to provide consulting or development services. Contact us:
103
+ [team@railslove.com](mailto:team@railslove.com)__
100
104
 
101
105
 
102
106
  ## Usage
@@ -132,6 +136,7 @@ Currently this EPICS implementation supports the following order types:
132
136
  * HPD (the available bank parameters)
133
137
  * PKT (customer usage report in text format)
134
138
  * HAC (customer usage report in xml format)
139
+ * VMK (customer usage report in xml format)
135
140
  * ... more coming soon
136
141
 
137
142
  Example:
@@ -169,7 +174,7 @@ Example:
169
174
 
170
175
  ```ruby
171
176
  puts e.CD1("i-am-PAIN-xml")
172
- # res is a the transaction id and id of the order
177
+ # res is a the transaction id and id of the order
173
178
 
174
179
  # if the XML is a file in your FS, read it first and give if epics to consume
175
180
  puts e.CD1(File.read("/where/the/xml/is/stored.xml"))
@@ -178,7 +183,7 @@ puts e.CD1(File.read("/where/the/xml/is/stored.xml"))
178
183
 
179
184
  ### Lazy Mode
180
185
 
181
- Once you have a client, go ahead and start playing! There are 3 convinence methods
186
+ Once you have a client, go ahead and start playing! There are 3 convenience methods
182
187
  that are hiding some strange names from you:
183
188
 
184
189
  * debit( _xml_ ) (submits a PAIN.008.003.02 document via CDD)
@@ -191,30 +196,33 @@ about the supported functionalities.
191
196
 
192
197
  ## Issues and Feature Requests
193
198
 
194
- [Railslove](http://railslove.com) is commited to provide the best developer tools for integrating with financial institutions. Epics is one of our many tools and services.
195
- If you are missing some features or something is not working as expected please create an issue.
199
+ [Railslove](http://railslove.com) is commited to provide the best developer tools for integrating
200
+ with financial institutions. Epics is one of our many tools and services.
201
+ If you are missing some features or something is not working as expected please create an issue.
196
202
 
197
203
 
198
204
 
199
205
  ## Supported Banks
200
206
 
201
- This gem provides a full implementation of the Electronic Banking Internet Communication Standard and works with any bank that supports this standard. Please ask your bank if they support EBICS and what order types are available.
207
+ This gem provides a full implementation of the Electronic Banking Internet Communication Standard
208
+ and works with any bank that supports this standard. Please ask your bank if they support EBICS and
209
+ what order types are available.
202
210
 
203
- Besides EBCIS being a standard, some server implementations are slighty different.
204
- Is Epics working with your institution?
211
+ Besides EBCIS being a standard, some server implementations are slighty different.
212
+ Is Epics working with your institution?
205
213
  Please help us to grow this list of supported banks:
206
214
 
207
215
  * Handelsbank
208
216
  * Deutsche Bank
209
- * Sparkasse KölnBonn
210
- * Commerz Bank
217
+ * Sparkasse Köln Bonn
218
+ * Commerzbank
211
219
 
212
220
  ## Links
213
221
 
214
222
  * [ebics.de](http://www.ebics.de/)
215
223
  * [EBICS specification](http://www.ebics.de/index.php?id=30)
216
224
  * [Common Integrative Implementation Guide to Supplement the EBICS Specification (pdf)](http://www.ebics.de/fileadmin/unsecured/specification/implementation_guide_DE/EBICS_Common_IG_basiert_auf_EBICS_2.5.pdf)
217
- * [Die Deutsche Kreditwirtschaft](http://www.die-deutsche-kreditwirtschaft.de/)
225
+ * [Die Deutsche Kreditwirtschaft](http://www.die-deutsche-kreditwirtschaft.de/)
218
226
 
219
227
 
220
228
  ## Contributing
@@ -23,6 +23,7 @@ require "epics/hkd"
23
23
  require "epics/htd"
24
24
  require "epics/haa"
25
25
  require "epics/sta"
26
+ require "epics/vmk"
26
27
  require "epics/c52"
27
28
  require "epics/c53"
28
29
  require "epics/ptk"
@@ -14,7 +14,7 @@ class Epics::CDB < Epics::GenericUploadRequest
14
14
  :content! => "EPICS - a ruby ebics kernel"
15
15
  },
16
16
  "OrderDetails" => {
17
- "OrderType" => "CDD",
17
+ "OrderType" => "CDB",
18
18
  "OrderAttribute" => "OZHNN",
19
19
  "StandardOrderParams/" => ""
20
20
  },
@@ -127,6 +127,10 @@ class Epics::Client
127
127
  download(Epics::STA, from, to)
128
128
  end
129
129
 
130
+ def VMK(from = nil, to = nil)
131
+ download(Epics::VMK, from, to)
132
+ end
133
+
130
134
  def C52(from, to)
131
135
  download_and_unzip(Epics::C52, from, to)
132
136
  end
@@ -1,3 +1,3 @@
1
1
  module Epics
2
- VERSION = "1.4.0"
2
+ VERSION = "1.4.1"
3
3
  end
@@ -0,0 +1,55 @@
1
+ class Epics::VMK < Epics::GenericRequest
2
+ attr_accessor :from, :to
3
+
4
+ def initialize(client, from = nil, to = nil)
5
+ super(client)
6
+ self.from = from
7
+ self.to = to
8
+ end
9
+
10
+ def date_range
11
+ if !!from && !!to
12
+ { "DateRange" => { "Start" => from, "End" => to } }
13
+ else
14
+ { :content! => '' }
15
+ end
16
+ end
17
+
18
+ def header
19
+ {
20
+ :@authenticate => true,
21
+ static: {
22
+ "HostID" => host_id,
23
+ "Nonce" => nonce,
24
+ "Timestamp" => timestamp,
25
+ "PartnerID" => partner_id,
26
+ "UserID" => user_id,
27
+ "Product" => {
28
+ :@Language => "de",
29
+ :content! => "EPICS - a ruby ebics kernel"
30
+ },
31
+ "OrderDetails" => {
32
+ "OrderType" => "VMK",
33
+ "OrderAttribute" => "DZHNN",
34
+ "StandardOrderParams" => date_range
35
+ },
36
+ "BankPubKeyDigests" => {
37
+ "Authentication" => {
38
+ :@Version => "X002",
39
+ :@Algorithm => "http://www.w3.org/2001/04/xmlenc#sha256",
40
+ :content! => client.bank_x.public_digest
41
+ },
42
+ "Encryption" => {
43
+ :@Version => "E002",
44
+ :@Algorithm => "http://www.w3.org/2001/04/xmlenc#sha256",
45
+ :content! => client.bank_e.public_digest
46
+ }
47
+ },
48
+ "SecurityMedium" => "0000"
49
+ },
50
+ "mutable" => {
51
+ "TransactionPhase" => "Initialisation"
52
+ }
53
+ }
54
+ end
55
+ end
@@ -1,4 +1,4 @@
1
- <ebics:bicsKeyManagementResponse xmlns:ebics="urn:org:ebics:H004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Revision="1" Version="H004" xsi:schemaLocation="urn:org:ebics:H004 ebics_keymgmt_response_H004.xsd">
1
+ <ebics:ebicsKeyManagementResponse xmlns:ebics="urn:org:ebics:H004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Revision="1" Version="H004" xsi:schemaLocation="urn:org:ebics:H004 ebics_keymgmt_response_H004.xsd">
2
2
  <ebics:header authenticate="true">
3
3
  <ebics:static />
4
4
  <ebics:mutable>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epics
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lars Brillert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-21 00:00:00.000000000 Z
11
+ date: 2016-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -205,6 +205,7 @@ files:
205
205
  - lib/epics/signer.rb
206
206
  - lib/epics/sta.rb
207
207
  - lib/epics/version.rb
208
+ - lib/epics/vmk.rb
208
209
  - lib/letter/ini.erb
209
210
  - spec/.DS_Store
210
211
  - spec/client_spec.rb
@@ -295,7 +296,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
295
296
  version: '0'
296
297
  requirements: []
297
298
  rubyforge_project:
298
- rubygems_version: 2.4.5.1
299
+ rubygems_version: 2.5.1
299
300
  signing_key:
300
301
  specification_version: 4
301
302
  summary: a ruby implementation of the EBICS protocol