epics 2.4.0 → 2.6.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 +4 -4
- data/.semaphore/semaphore.yml +3 -12
- data/CHANGELOG.md +14 -0
- data/epics.gemspec +9 -4
- data/lib/epics/azv.rb +9 -26
- data/lib/epics/b2b.rb +11 -3
- data/lib/epics/c2s.rb +11 -7
- data/lib/epics/c52.rb +12 -37
- data/lib/epics/c53.rb +12 -37
- data/lib/epics/c54.rb +12 -37
- data/lib/epics/c5n.rb +17 -0
- data/lib/epics/ccs.rb +11 -7
- data/lib/epics/cct.rb +9 -34
- data/lib/epics/cd1.rb +9 -26
- data/lib/epics/cdb.rb +9 -34
- data/lib/epics/cdd.rb +9 -34
- data/lib/epics/cds.rb +11 -7
- data/lib/epics/cdz.rb +12 -41
- data/lib/epics/cip.rb +13 -0
- data/lib/epics/client.rb +40 -19
- data/lib/epics/crz.rb +12 -41
- data/lib/epics/generic_request.rb +8 -3
- data/lib/epics/generic_upload_request.rb +2 -2
- data/lib/epics/haa.rb +8 -25
- data/lib/epics/hac.rb +12 -41
- data/lib/epics/header_request.rb +60 -0
- data/lib/epics/hia.rb +6 -16
- data/lib/epics/hkd.rb +8 -25
- data/lib/epics/hpb.rb +8 -18
- data/lib/epics/hpd.rb +8 -25
- data/lib/epics/htd.rb +8 -25
- data/lib/epics/ini.rb +6 -16
- data/lib/epics/letter_renderer.rb +22 -0
- data/lib/epics/ptk.rb +12 -41
- data/lib/epics/sta.rb +12 -41
- data/lib/epics/version.rb +1 -1
- data/lib/epics/vmk.rb +12 -41
- data/lib/epics/wss.rb +13 -0
- data/lib/epics/xct.rb +9 -26
- data/lib/epics/xds.rb +11 -3
- data/lib/epics/xe2.rb +11 -3
- data/lib/epics/xe3.rb +11 -3
- data/lib/epics/z52.rb +12 -37
- data/lib/epics/z53.rb +12 -37
- data/lib/epics/z54.rb +12 -37
- data/lib/epics.rb +8 -0
- data/lib/letter/ini.erb +260 -150
- data/lib/letter/locales/de.yml +19 -0
- data/lib/letter/locales/en.yml +19 -0
- data/lib/letter/locales/fr.yml +19 -0
- data/spec/client_spec.rb +1 -1
- data/spec/fixtures/xml/cip.xml +86 -0
- data/spec/fixtures/xml/htd_order_data.xml +7 -1
- data/spec/hpb_spec.rb +4 -4
- data/spec/orders/c52_spec.rb +1 -1
- data/spec/orders/c53_spec.rb +1 -1
- data/spec/orders/c54_spec.rb +1 -1
- data/spec/orders/c5n_spec.rb +9 -0
- data/spec/orders/cdz_spec.rb +1 -1
- data/spec/orders/cip_spec.rb +23 -0
- data/spec/orders/crz_spec.rb +1 -1
- data/spec/orders/hac_spec.rb +1 -1
- data/spec/orders/ptk_spec.rb +1 -1
- data/spec/orders/sta_spec.rb +1 -1
- data/spec/orders/vmk_spec.rb +1 -1
- data/spec/orders/wss_spec.rb +9 -0
- data/spec/orders/z52_spec.rb +1 -1
- data/spec/orders/z53_spec.rb +1 -1
- data/spec/orders/z54_spec.rb +1 -1
- metadata +44 -11
data/lib/letter/ini.erb
CHANGED
@@ -4,62 +4,117 @@
|
|
4
4
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
5
5
|
<meta charset="UTF-8" />
|
6
6
|
<title>EBICS ini</title>
|
7
|
+
<style>
|
8
|
+
code {
|
9
|
+
font-size: 0.6rem;
|
10
|
+
overflow-wrap: break-word;
|
11
|
+
}
|
12
|
+
.code {
|
13
|
+
border-style: solid;
|
14
|
+
border-width: 1px;
|
15
|
+
padding: 8px;
|
16
|
+
background-color: azure;
|
17
|
+
}
|
18
|
+
.strong {
|
19
|
+
font-weight: bold;
|
20
|
+
}
|
21
|
+
h2 {
|
22
|
+
text-align: center;
|
23
|
+
}
|
24
|
+
td {
|
25
|
+
min-width: 150px;
|
26
|
+
}
|
27
|
+
table {
|
28
|
+
display: flex;
|
29
|
+
justify-content: center;
|
30
|
+
}
|
31
|
+
.column {
|
32
|
+
height: 100px;
|
33
|
+
}
|
34
|
+
</style>
|
7
35
|
</head>
|
8
36
|
<body>
|
9
37
|
<div>
|
10
|
-
<h2
|
38
|
+
<h2><%= t('initialization_letter.a') %></h2>
|
11
39
|
<table>
|
12
40
|
<tr>
|
13
41
|
<td>
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
</td>
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
42
|
+
<div class="column">
|
43
|
+
<table>
|
44
|
+
<tr>
|
45
|
+
<td class="strong">
|
46
|
+
<%= t('date') %> :
|
47
|
+
</td>
|
48
|
+
<td>
|
49
|
+
<%= Date.today.strftime('%d.%m.%Y') %>
|
50
|
+
</td>
|
51
|
+
</tr>
|
52
|
+
<tr>
|
53
|
+
<td class="strong">
|
54
|
+
<%= t('time') %> :
|
55
|
+
</td>
|
56
|
+
<td>
|
57
|
+
<%= Time.now.strftime('%H:%M:%S') %>
|
58
|
+
</td>
|
59
|
+
</tr>
|
60
|
+
<tr>
|
61
|
+
<td class="strong">
|
62
|
+
<%= t('recipient') %> :
|
63
|
+
</td>
|
64
|
+
<td>
|
65
|
+
<%= bankname %>
|
66
|
+
</td>
|
67
|
+
</tr>
|
68
|
+
</table>
|
69
|
+
</div>
|
70
|
+
</td>
|
71
|
+
<td>
|
72
|
+
<div class="column">
|
73
|
+
<table>
|
74
|
+
<tr>
|
75
|
+
<td class="strong">
|
76
|
+
Host-ID :
|
77
|
+
</td>
|
78
|
+
<td>
|
79
|
+
<%= host_id %>
|
80
|
+
</td>
|
81
|
+
</tr>
|
82
|
+
<tr>
|
83
|
+
<td class="strong">
|
84
|
+
User-ID :
|
85
|
+
</td>
|
86
|
+
<td>
|
87
|
+
<%= user_id %>
|
88
|
+
</td>
|
89
|
+
</tr>
|
90
|
+
<tr>
|
91
|
+
<td class="strong">
|
92
|
+
Partner-ID :
|
93
|
+
</td>
|
94
|
+
<td>
|
95
|
+
<%= partner_id %>
|
96
|
+
</td>
|
97
|
+
</tr>
|
98
|
+
<tr>
|
99
|
+
<td class="strong">
|
100
|
+
<%= t('version') %> :
|
101
|
+
</td>
|
102
|
+
<td>
|
103
|
+
A006
|
104
|
+
</td>
|
105
|
+
</tr>
|
106
|
+
</table>
|
107
|
+
</div>
|
50
108
|
</td>
|
51
109
|
</tr>
|
52
110
|
</table>
|
53
|
-
<p
|
54
|
-
<p
|
55
|
-
<p
|
56
|
-
<p
|
57
|
-
<p
|
58
|
-
<p
|
59
|
-
<p>
|
60
|
-
<code><%= Base64.decode64(a.public_digest).unpack("H*").join.upcase.scan(/.{2}/).join(" ") %></code>
|
61
|
-
</p>
|
62
|
-
<p>Ich bestätige hiermit den obigen öffentlichen Schlüssel für meine elektronische Unterschrift.</p>
|
111
|
+
<p><%= t('exponent') %> (<%= t('bit', bit: a.key.e.num_bytes * 8) %>) :</p>
|
112
|
+
<p class="code"><code><%= a.e %></code></p>
|
113
|
+
<p><%= t('modulus') %> (<%= t('bit', bit: a.key.n.num_bytes * 8) %>) :</p>
|
114
|
+
<p class="code"><code><%= a.n.scan(/.{2}/).join(' ') %></code></p>
|
115
|
+
<p><%= t('hash') %> (SHA-256) :</p>
|
116
|
+
<p class="code"><code><%= Base64.decode64(a.public_digest).unpack('H*').join.upcase.scan(/.{2}/).join(' ') %></code></p>
|
117
|
+
<p><%= t('confirmation') %></p>
|
63
118
|
<br/>
|
64
119
|
<br/>
|
65
120
|
<br/>
|
@@ -78,126 +133,181 @@
|
|
78
133
|
</tr>
|
79
134
|
<tr>
|
80
135
|
<td>
|
81
|
-
|
136
|
+
<%= t('issued_in') %>
|
82
137
|
</td>
|
83
138
|
<td>
|
84
|
-
|
139
|
+
<%= t('name') %>
|
85
140
|
</td>
|
86
141
|
<td>
|
87
|
-
|
142
|
+
<%= t('signature') %>
|
88
143
|
</td>
|
89
144
|
</tr>
|
90
145
|
</table>
|
91
146
|
</div>
|
92
147
|
<div style="page-break-after:always"></div>
|
93
|
-
<h2>EBICS-Initialisierungsbrief (HIA) - Seite 1/2</h2>
|
94
|
-
<table>
|
95
|
-
<tr>
|
96
|
-
<td>
|
97
|
-
Datum
|
98
|
-
</td>
|
99
|
-
<td>
|
100
|
-
<%= Date.today.strftime("%d.%m.%Y") %>
|
101
|
-
</td>
|
102
|
-
</tr>
|
103
|
-
<tr>
|
104
|
-
<td>
|
105
|
-
Uhrzeit
|
106
|
-
</td>
|
107
|
-
<td>
|
108
|
-
<%= Time.now.strftime("%H:%M:%S") %>
|
109
|
-
</td>
|
110
|
-
</tr>
|
111
|
-
<tr>
|
112
|
-
<td>
|
113
|
-
Empfänger
|
114
|
-
</td>
|
115
|
-
<td>
|
116
|
-
<%= bankname %>
|
117
|
-
</td>
|
118
|
-
</tr>
|
119
|
-
<tr>
|
120
|
-
<td>
|
121
|
-
User-ID
|
122
|
-
</td>
|
123
|
-
<td>
|
124
|
-
<%= user_id %>
|
125
|
-
</td>
|
126
|
-
</tr>
|
127
|
-
<tr>
|
128
|
-
<td>
|
129
|
-
Kunden-ID
|
130
|
-
</td>
|
131
|
-
<td>
|
132
|
-
<%= partner_id %>
|
133
|
-
</td>
|
134
|
-
</tr>
|
135
|
-
</table>
|
136
148
|
<div>
|
137
|
-
<
|
138
|
-
<p>Exponent (<%= x.key.e.num_bytes * 8 %> Bit):</p>
|
139
|
-
<p><code><%= x.e %></code></p>
|
140
|
-
<p>Modulus (<%= x.key.n.num_bytes * 8 %> Bit):</p>
|
141
|
-
<p><code><%= x.n.scan(/.{2}/).join(" ") %></code></p>
|
142
|
-
<p>Hash (SHA-256):</p>
|
143
|
-
<p>
|
144
|
-
<code><%= Base64.decode64(x.public_digest).unpack("H*").join.upcase.scan(/.{2}/).join(" ") %></code>
|
145
|
-
</p>
|
146
|
-
<p> Fortsetzung auf Seite 2 ...</p>
|
147
|
-
<div style="page-break-after:always"></div>
|
148
|
-
<h2>EBICS-Initialisierungsbrief (HIA) - Seite 2/2</h2>
|
149
|
+
<h2><%= t('initialization_letter.x') %></h2>
|
149
150
|
<table>
|
150
151
|
<tr>
|
151
152
|
<td>
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
153
|
+
<div class="column">
|
154
|
+
<table>
|
155
|
+
<tr>
|
156
|
+
<td class="strong">
|
157
|
+
<%= t('date') %> :
|
158
|
+
</td>
|
159
|
+
<td>
|
160
|
+
<%= Date.today.strftime('%d.%m.%Y') %>
|
161
|
+
</td>
|
162
|
+
</tr>
|
163
|
+
<tr>
|
164
|
+
<td class="strong">
|
165
|
+
<%= t('time') %> :
|
166
|
+
</td>
|
167
|
+
<td>
|
168
|
+
<%= Time.now.strftime('%H:%M:%S') %>
|
169
|
+
</td>
|
170
|
+
</tr>
|
171
|
+
<tr>
|
172
|
+
<td class="strong">
|
173
|
+
<%= t('recipient') %> :
|
174
|
+
</td>
|
175
|
+
<td>
|
176
|
+
<%= bankname %>
|
177
|
+
</td>
|
178
|
+
</tr>
|
179
|
+
</table>
|
180
|
+
</div>
|
181
|
+
</td>
|
182
|
+
<td>
|
183
|
+
<div class="column">
|
184
|
+
<table>
|
185
|
+
<tr>
|
186
|
+
<td class="strong">
|
187
|
+
Host-ID :
|
188
|
+
</td>
|
189
|
+
<td>
|
190
|
+
<%= host_id %>
|
191
|
+
</td>
|
192
|
+
</tr>
|
193
|
+
<tr>
|
194
|
+
<td class="strong">
|
195
|
+
User-ID :
|
196
|
+
</td>
|
197
|
+
<td>
|
198
|
+
<%= user_id %>
|
199
|
+
</td>
|
200
|
+
</tr>
|
201
|
+
<tr>
|
202
|
+
<td class="strong">
|
203
|
+
Partner-ID :
|
204
|
+
</td>
|
205
|
+
<td>
|
206
|
+
<%= partner_id %>
|
207
|
+
</td>
|
208
|
+
</tr>
|
209
|
+
<tr>
|
210
|
+
<td class="strong">
|
211
|
+
<%= t('version') %> :
|
212
|
+
</td>
|
213
|
+
<td>
|
214
|
+
X002
|
215
|
+
</td>
|
216
|
+
</tr>
|
217
|
+
</table>
|
218
|
+
</div>
|
180
219
|
</td>
|
181
220
|
</tr>
|
221
|
+
</table>
|
222
|
+
<p><%= t('exponent') %> (<%= t('bit', bit: x.key.e.num_bytes * 8) %>) :</p>
|
223
|
+
<p class="code"><code><%= x.e %></code></p>
|
224
|
+
<p><%= t('modulus') %> (<%= t('bit', bit: x.key.n.num_bytes * 8) %>) :</p>
|
225
|
+
<p class="code"><code><%= x.n.scan(/.{2}/).join(' ') %></code></p>
|
226
|
+
<p><%= t('hash') %> (SHA-256) :</p>
|
227
|
+
<p class="code"><code><%= Base64.decode64(x.public_digest).unpack('H*').join.upcase.scan(/.{2}/).join(' ') %></code></p>
|
228
|
+
</div>
|
229
|
+
<div style="page-break-after:always"></div>
|
230
|
+
<div>
|
231
|
+
<h2><%= t('initialization_letter.e') %></h2>
|
232
|
+
<table>
|
182
233
|
<tr>
|
183
234
|
<td>
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
235
|
+
<div class="column">
|
236
|
+
<table>
|
237
|
+
<tr>
|
238
|
+
<td class="strong">
|
239
|
+
<%= t('date') %> :
|
240
|
+
</td>
|
241
|
+
<td>
|
242
|
+
<%= Date.today.strftime('%d.%m.%Y') %>
|
243
|
+
</td>
|
244
|
+
</tr>
|
245
|
+
<tr>
|
246
|
+
<td class="strong">
|
247
|
+
<%= t('time') %> :
|
248
|
+
</td>
|
249
|
+
<td>
|
250
|
+
<%= Time.now.strftime('%H:%M:%S') %>
|
251
|
+
</td>
|
252
|
+
</tr>
|
253
|
+
<tr>
|
254
|
+
<td class="strong">
|
255
|
+
<%= t('recipient') %> :
|
256
|
+
</td>
|
257
|
+
<td>
|
258
|
+
<%= bankname %>
|
259
|
+
</td>
|
260
|
+
</tr>
|
261
|
+
</table>
|
262
|
+
</div>
|
263
|
+
</td>
|
264
|
+
<td>
|
265
|
+
<div class="column">
|
266
|
+
<table>
|
267
|
+
<tr>
|
268
|
+
<td class="strong">
|
269
|
+
Host-ID :
|
270
|
+
</td>
|
271
|
+
<td>
|
272
|
+
<%= host_id %>
|
273
|
+
</td>
|
274
|
+
</tr>
|
275
|
+
<tr>
|
276
|
+
<td class="strong">
|
277
|
+
User-ID :
|
278
|
+
</td>
|
279
|
+
<td>
|
280
|
+
<%= user_id %>
|
281
|
+
</td>
|
282
|
+
</tr>
|
283
|
+
<tr>
|
284
|
+
<td class="strong">
|
285
|
+
Partner-ID :
|
286
|
+
</td>
|
287
|
+
<td>
|
288
|
+
<%= partner_id %>
|
289
|
+
</td>
|
290
|
+
</tr>
|
291
|
+
<tr>
|
292
|
+
<td class="strong">
|
293
|
+
<%= t('version') %> :
|
294
|
+
</td>
|
295
|
+
<td>
|
296
|
+
E002
|
297
|
+
</td>
|
298
|
+
</tr>
|
299
|
+
</table>
|
300
|
+
</div>
|
188
301
|
</td>
|
189
302
|
</tr>
|
190
303
|
</table>
|
191
|
-
|
192
|
-
|
193
|
-
<p
|
194
|
-
<p
|
195
|
-
<p
|
196
|
-
<p
|
197
|
-
<p
|
198
|
-
<p>Hash (SHA-256):</p>
|
199
|
-
<p><code><%= Base64.decode64(e.public_digest).unpack("H*").join.upcase.scan(/.{2}/).join(" ") %></code></p>
|
200
|
-
<p>Ich bestätige hiermit die obigen öffentlichen Schlüssel für meinen EBICS-Zugang.</p>
|
304
|
+
<p><%= t('exponent') %> (<%= t('bit', bit: e.key.e.num_bytes * 8) %>) :</p>
|
305
|
+
<p class="code"><code><%= e.e %></code></p>
|
306
|
+
<p><%= t('modulus') %> (<%= t('bit', bit: e.key.n.num_bytes * 8) %>) :</p>
|
307
|
+
<p class="code"><code><%= e.n.scan(/.{2}/).join(' ') %></code></p>
|
308
|
+
<p><%= t('hash') %> (SHA-256) :</p>
|
309
|
+
<p class="code"><code><%= Base64.decode64(e.public_digest).unpack('H*').join.upcase.scan(/.{2}/).join(' ') %></code></p>
|
310
|
+
<p><%= t('confirmation') %></p>
|
201
311
|
<br/>
|
202
312
|
<br/>
|
203
313
|
<br/>
|
@@ -216,13 +326,13 @@
|
|
216
326
|
</tr>
|
217
327
|
<tr>
|
218
328
|
<td>
|
219
|
-
|
329
|
+
<%= t('issued_in') %>
|
220
330
|
</td>
|
221
331
|
<td>
|
222
|
-
|
332
|
+
<%= t('name') %>
|
223
333
|
</td>
|
224
334
|
<td>
|
225
|
-
|
335
|
+
<%= t('signature') %>
|
226
336
|
</td>
|
227
337
|
</tr>
|
228
338
|
</table>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
de:
|
2
|
+
epics:
|
3
|
+
letter:
|
4
|
+
date: Datum
|
5
|
+
time: Uhrzeit
|
6
|
+
recipient: Empfänger
|
7
|
+
signature: Unterschrift
|
8
|
+
version: Version
|
9
|
+
exponent: Exponent
|
10
|
+
modulus: Modulus
|
11
|
+
hash: Hash
|
12
|
+
bit: '%{bit} Bit'
|
13
|
+
issued_in: Ort/Datum
|
14
|
+
name: Name/Firma
|
15
|
+
confirmation: Ich bestätige hiermit den obigen öffentlichen Schlüssel für meine elektronische Unterschrift.
|
16
|
+
initialization_letter:
|
17
|
+
a: Initialisierungsbrief für SIGNATUR-Zertifikat (INI)
|
18
|
+
x: Initialisierungsbrief für AUTHENTIFIZIERUNGS-Zertifikat (HIA)
|
19
|
+
e: Initialisierungsbrief für VERSCHLÜSSELUNGS-Zertifikat (HIA)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
en:
|
2
|
+
epics:
|
3
|
+
letter:
|
4
|
+
date: Date
|
5
|
+
time: Time
|
6
|
+
recipient: Recipient
|
7
|
+
signature: Signature
|
8
|
+
version: Version
|
9
|
+
exponent: Exponent
|
10
|
+
modulus: Modulus
|
11
|
+
hash: Hash
|
12
|
+
bit: '%{bit} Bit'
|
13
|
+
issued_in: Location/Date
|
14
|
+
name: Name/Company
|
15
|
+
confirmation: I hearby confirm the public key above for my electronic signature.
|
16
|
+
initialization_letter:
|
17
|
+
a: Initialization letter for SIGNATURE certificate (INI)
|
18
|
+
x: Initialization letter for AUTHENTICATION certificate (HIA)
|
19
|
+
e: Initialization letter for ENCRYPTION certificate (HIA)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
fr:
|
2
|
+
epics:
|
3
|
+
letter:
|
4
|
+
date: Date
|
5
|
+
time: Heure
|
6
|
+
recipient: Destinataire
|
7
|
+
signature: Signature
|
8
|
+
version: Version
|
9
|
+
exponent: Exponent
|
10
|
+
modulus: Modulus
|
11
|
+
hash: Hash
|
12
|
+
bit: '%{bit} Bit'
|
13
|
+
issued_in: Lieu/Date
|
14
|
+
name: Nom/Société
|
15
|
+
confirmation: Je confirme par la présente la clé publique ci-dessus pour ma signature électronique.
|
16
|
+
initialization_letter:
|
17
|
+
a: Lettre d'initialization du certificat de SIGNATURE (INI)
|
18
|
+
x: Lettre d'initialization du certificat d'AUTHENTIFICATION (HIA)
|
19
|
+
e: Lettre d'initialization du certificat de CHIFFREMENT (HIA)
|
data/spec/client_spec.rb
CHANGED
@@ -88,7 +88,7 @@ RSpec.describe Epics::Client do
|
|
88
88
|
end
|
89
89
|
|
90
90
|
it 'extracts the accessible order types of a subscriber' do
|
91
|
-
expect(subject.order_types).to match_array(%w(PTK HPD HTD STA HVD HPB HAA HVT HVU HVZ INI SPR PUB HIA HCA HSA HVE HVS CCS CCT CD1 CDB CDD))
|
91
|
+
expect(subject.order_types).to match_array(%w(PTK HPD HTD STA HVD HPB HAA HVT HVU HVZ INI SPR PUB HIA HCA HSA HVE HVS CCS CCT CIP CD1 CDB CDD))
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
@@ -0,0 +1,86 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09 pain.001.001.09.xsd">
|
3
|
+
<CstmrCdtTrfInitn>
|
4
|
+
<GrpHdr>
|
5
|
+
<MsgId>Message-ID-0815</MsgId>
|
6
|
+
<CreDtTm>2022-09-15T09:31:39.000Z</CreDtTm>
|
7
|
+
<NbOfTxs>2</NbOfTxs>
|
8
|
+
<CtrlSum>1122.33</CtrlSum>
|
9
|
+
<InitgPty>
|
10
|
+
<Nm>Initiator Name</Nm>
|
11
|
+
</InitgPty>
|
12
|
+
</GrpHdr>
|
13
|
+
<PmtInf>
|
14
|
+
<PmtInfId>Payment-Information-ID-0815</PmtInfId>
|
15
|
+
<PmtMtd>TRF</PmtMtd>
|
16
|
+
<BtchBookg>true</BtchBookg>
|
17
|
+
<NbOfTxs>2</NbOfTxs>
|
18
|
+
<CtrlSum>1122.33</CtrlSum>
|
19
|
+
<PmtTpInf>
|
20
|
+
<SvcLvl>
|
21
|
+
<Cd>SEPA</Cd>
|
22
|
+
</SvcLvl>
|
23
|
+
<LclInstrm>
|
24
|
+
<Cd>INST</Cd>
|
25
|
+
</LclInstrm>
|
26
|
+
</PmtTpInf>
|
27
|
+
<ReqdExctnDt>
|
28
|
+
<DtTm>2022-09-16T10:00:00</DtTm>
|
29
|
+
</ReqdExctnDt>
|
30
|
+
<Dbtr>
|
31
|
+
<Nm>Herr Schnellzahler</Nm>
|
32
|
+
</Dbtr>
|
33
|
+
<DbtrAcct>
|
34
|
+
<Id>
|
35
|
+
<IBAN>DE89370400440532013000</IBAN>
|
36
|
+
</Id>
|
37
|
+
</DbtrAcct>
|
38
|
+
<DbtrAgt>
|
39
|
+
<FinInstnId>
|
40
|
+
<Othr>
|
41
|
+
<Id>NOTPROVIDED</Id>
|
42
|
+
</Othr>
|
43
|
+
</FinInstnId>
|
44
|
+
</DbtrAgt>
|
45
|
+
<ChrgBr>SLEV</ChrgBr>
|
46
|
+
<CdtTrfTxInf>
|
47
|
+
<PmtId>
|
48
|
+
<EndToEndId>OriginID1</EndToEndId>
|
49
|
+
</PmtId>
|
50
|
+
<Amt>
|
51
|
+
<InstdAmt Ccy="EUR">1022.00</InstdAmt>
|
52
|
+
</Amt>
|
53
|
+
<Cdtr>
|
54
|
+
<Nm>John Dough</Nm>
|
55
|
+
</Cdtr>
|
56
|
+
<CdtrAcct>
|
57
|
+
<Id>
|
58
|
+
<IBAN>AT611904300234573201</IBAN>
|
59
|
+
</Id>
|
60
|
+
</CdtrAcct>
|
61
|
+
<RmtInf>
|
62
|
+
<Ustrd>Unstructured Remittance Information</Ustrd>
|
63
|
+
</RmtInf>
|
64
|
+
</CdtTrfTxInf>
|
65
|
+
<CdtTrfTxInf>
|
66
|
+
<PmtId>
|
67
|
+
<EndToEndId>OriginID2</EndToEndId>
|
68
|
+
</PmtId>
|
69
|
+
<Amt>
|
70
|
+
<InstdAmt Ccy="EUR">100.33</InstdAmt>
|
71
|
+
</Amt>
|
72
|
+
<Cdtr>
|
73
|
+
<Nm>Cookie Cutter</Nm>
|
74
|
+
</Cdtr>
|
75
|
+
<CdtrAcct>
|
76
|
+
<Id>
|
77
|
+
<IBAN>AT611904300234573201</IBAN>
|
78
|
+
</Id>
|
79
|
+
</CdtrAcct>
|
80
|
+
<RmtInf>
|
81
|
+
<Ustrd>Unstructured Remittance Information</Ustrd>
|
82
|
+
</RmtInf>
|
83
|
+
</CdtTrfTxInf>
|
84
|
+
</PmtInf>
|
85
|
+
</CstmrCdtTrfInitn>
|
86
|
+
</Document>
|
@@ -127,6 +127,12 @@
|
|
127
127
|
<Description>Credit Transfer Initiation</Description>
|
128
128
|
<NumSigRequired>1</NumSigRequired>
|
129
129
|
</OrderInfo>
|
130
|
+
<OrderInfo>
|
131
|
+
<OrderType>CIP</OrderType>
|
132
|
+
<TransferType>Upload</TransferType>
|
133
|
+
<Description>Instant Credit Transfer Initiation</Description>
|
134
|
+
<NumSigRequired>1</NumSigRequired>
|
135
|
+
</OrderInfo>
|
130
136
|
<OrderInfo>
|
131
137
|
<OrderType>CD1</OrderType>
|
132
138
|
<TransferType>Upload</TransferType>
|
@@ -153,7 +159,7 @@
|
|
153
159
|
<OrderTypes>PTK HPD HTD STA HVD HPB HAA HVT HVU HVZ</OrderTypes>
|
154
160
|
</Permission>
|
155
161
|
<Permission AuthorisationLevel="E">
|
156
|
-
<OrderTypes>INI SPR PUB HIA HCA HSA HVE HVS CCS CCT CD1 CDB CDD</OrderTypes>
|
162
|
+
<OrderTypes>INI SPR PUB HIA HCA HSA HVE HVS CCS CCT CIP CD1 CDB CDD</OrderTypes>
|
157
163
|
</Permission>
|
158
164
|
</UserInfo>
|
159
165
|
</HTDResponseOrderData>
|
data/spec/hpb_spec.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
RSpec.describe Epics::HPB do
|
2
|
-
let(:client) {
|
2
|
+
let(:client) { Epics::Client.new( File.open(File.join( File.dirname(__FILE__), 'fixtures', 'SIZBN001.key')), 'secret' , 'https://194.180.18.30/ebicsweb/ebicsweb', 'SIZBN001', 'EBIX', 'EBICS') }
|
3
3
|
describe '#to_xml' do
|
4
4
|
subject { Nokogiri::XML.parse(described_class.new(client).to_xml) }
|
5
5
|
|
6
6
|
specify do
|
7
7
|
expect(subject.xpath("//xmlns:Timestamp").first.content).to_not be_nil
|
8
8
|
expect(subject.xpath("//xmlns:Nonce").first.content).to_not be_nil
|
9
|
-
expect(subject.xpath("//xmlns:HostID").first.content).to eq("
|
10
|
-
expect(subject.xpath("//xmlns:UserID").first.content).to eq("
|
11
|
-
expect(subject.xpath("//xmlns:PartnerID").first.content).to eq("
|
9
|
+
expect(subject.xpath("//xmlns:HostID").first.content).to eq("SIZBN001")
|
10
|
+
expect(subject.xpath("//xmlns:UserID").first.content).to eq("EBIX")
|
11
|
+
expect(subject.xpath("//xmlns:PartnerID").first.content).to eq("EBICS")
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
data/spec/orders/c52_spec.rb
CHANGED
@@ -2,7 +2,7 @@ RSpec.describe Epics::C52 do
|
|
2
2
|
|
3
3
|
let(:client) { Epics::Client.new( File.open(File.join( File.dirname(__FILE__), '..', 'fixtures', 'SIZBN001.key')), 'secret' , 'https://194.180.18.30/ebicsweb/ebicsweb', 'SIZBN001', 'EBIX', 'EBICS') }
|
4
4
|
|
5
|
-
subject { described_class.new(client, "2014-09-01", "2014-09-30") }
|
5
|
+
subject { described_class.new(client, from: "2014-09-01", to: "2014-09-30") }
|
6
6
|
|
7
7
|
describe '#to_xml' do
|
8
8
|
specify { expect(subject.to_xml).to be_a_valid_ebics_doc }
|