-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathiso8583.go
485 lines (368 loc) · 10.2 KB
/
iso8583.go
1
2
3
4
5
6
7
8
9
10
11
12
13
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
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
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
// Code generated by xgen. DO NOT EDIT.
package main
// Iso8583PostXml ...
type Iso8583PostXml struct {
MsgType string `xml:"MsgType"`
Fields *Fields `xml:"Fields"`
}
// MsgType ...
type MsgType string
// Fields ...
type Fields struct {
Field002 string `xml:"Field_002"`
Field003 string `xml:"Field_003"`
Field004 string `xml:"Field_004"`
Field005 string `xml:"Field_005"`
Field007 string `xml:"Field_007"`
Field009 string `xml:"Field_009"`
Field011 string `xml:"Field_011"`
Field012 string `xml:"Field_012"`
Field013 string `xml:"Field_013"`
Field014 string `xml:"Field_014"`
Field015 string `xml:"Field_015"`
Field016 string `xml:"Field_016"`
Field018 string `xml:"Field_018"`
Field022 string `xml:"Field_022"`
Field023 string `xml:"Field_023"`
Field025 string `xml:"Field_025"`
Field026 string `xml:"Field_026"`
Field027 string `xml:"Field_027"`
Field028 string `xml:"Field_028"`
Field029 string `xml:"Field_029"`
Field030 string `xml:"Field_030"`
Field031 string `xml:"Field_031"`
Field032 string `xml:"Field_032"`
Field033 string `xml:"Field_033"`
Field035 string `xml:"Field_035"`
Field037 string `xml:"Field_037"`
Field038 string `xml:"Field_038"`
Field039 string `xml:"Field_039"`
Field040 string `xml:"Field_040"`
Field041 string `xml:"Field_041"`
Field042 string `xml:"Field_042"`
Field043 string `xml:"Field_043"`
Field044 string `xml:"Field_044"`
Field045 string `xml:"Field_045"`
Field048 string `xml:"Field_048"`
Field049 string `xml:"Field_049"`
Field050 string `xml:"Field_050"`
Field052 string `xml:"Field_052"`
Field053 string `xml:"Field_053"`
Field054 string `xml:"Field_054"`
Field056 string `xml:"Field_056"`
Field057 string `xml:"Field_057"`
Field058 string `xml:"Field_058"`
Field059 string `xml:"Field_059"`
Field066 string `xml:"Field_066"`
Field067 string `xml:"Field_067"`
Field070 string `xml:"Field_070"`
Field073 string `xml:"Field_073"`
Field074 string `xml:"Field_074"`
Field075 string `xml:"Field_075"`
Field076 string `xml:"Field_076"`
Field077 string `xml:"Field_077"`
Field078 string `xml:"Field_078"`
Field079 string `xml:"Field_079"`
Field080 string `xml:"Field_080"`
Field081 string `xml:"Field_081"`
Field082 string `xml:"Field_082"`
Field083 string `xml:"Field_083"`
Field084 string `xml:"Field_084"`
Field085 string `xml:"Field_085"`
Field086 string `xml:"Field_086"`
Field087 string `xml:"Field_087"`
Field088 string `xml:"Field_088"`
Field089 string `xml:"Field_089"`
Field090 string `xml:"Field_090"`
Field091 string `xml:"Field_091"`
Field095 string `xml:"Field_095"`
Field097 string `xml:"Field_097"`
Field098 string `xml:"Field_098"`
Field100 string `xml:"Field_100"`
Field101 string `xml:"Field_101"`
Field102 string `xml:"Field_102"`
Field103 string `xml:"Field_103"`
Field118 string `xml:"Field_118"`
Field119 string `xml:"Field_119"`
Field123 string `xml:"Field_123"`
Field125 string `xml:"Field_125"`
Field127002 string `xml:"Field_127_002"`
Field127003 string `xml:"Field_127_003"`
Field127004 string `xml:"Field_127_004"`
Field127005 string `xml:"Field_127_005"`
Field127006 string `xml:"Field_127_006"`
Field127007 string `xml:"Field_127_007"`
Field127008 string `xml:"Field_127_008"`
Field127009 string `xml:"Field_127_009"`
Field127010 string `xml:"Field_127_010"`
Field127011 string `xml:"Field_127_011"`
Field127012 string `xml:"Field_127_012"`
Field127013 string `xml:"Field_127_013"`
Field127014 string `xml:"Field_127_014"`
Field127015 string `xml:"Field_127_015"`
Field127016 string `xml:"Field_127_016"`
Field127017 string `xml:"Field_127_017"`
Field127018 string `xml:"Field_127_018"`
Field127019 string `xml:"Field_127_019"`
Field127020 string `xml:"Field_127_020"`
Field127021 string `xml:"Field_127_021"`
Field127022 string `xml:"Field_127_022"`
Field127023 string `xml:"Field_127_023"`
Field127024 string `xml:"Field_127_024"`
Field127025 *IccData `xml:"Field_127_025"`
Field127026 string `xml:"Field_127_026"`
Field127027 string `xml:"Field_127_027"`
Field127028 string `xml:"Field_127_028"`
Field127029 string `xml:"Field_127_029"`
Field127030 string `xml:"Field_127_030"`
Field127031 string `xml:"Field_127_031"`
Field127032 string `xml:"Field_127_032"`
Field127033 string `xml:"Field_127_033"`
Field127034 string `xml:"Field_127_034"`
Field127035 string `xml:"Field_127_035"`
}
// Field002 ...
type Field002 string
// Field003 ...
type Field003 string
// Field004 ...
type Field004 string
// Field005 ...
type Field005 string
// Field007 ...
type Field007 string
// Field009 ...
type Field009 string
// Field011 ...
type Field011 string
// Field012 ...
type Field012 string
// Field013 ...
type Field013 string
// Field014 ...
type Field014 string
// Field015 ...
type Field015 string
// Field016 ...
type Field016 string
// Field018 ...
type Field018 string
// Field022 ...
type Field022 string
// Field023 ...
type Field023 string
// Field025 ...
type Field025 string
// Field026 ...
type Field026 string
// Field027 ...
type Field027 string
// Field028 ...
type Field028 string
// Field029 ...
type Field029 string
// Field030 ...
type Field030 string
// Field031 ...
type Field031 string
// Field032 ...
type Field032 string
// Field033 ...
type Field033 string
// Field035 ...
type Field035 string
// Field037 ...
type Field037 string
// Field038 ...
type Field038 string
// Field039 ...
type Field039 string
// Field040 ...
type Field040 string
// Field041 ...
type Field041 string
// Field042 ...
type Field042 string
// Field043 ...
type Field043 string
// Field044 ...
type Field044 string
// Field045 ...
type Field045 string
// Field048 ...
type Field048 string
// Field049 ...
type Field049 string
// Field050 ...
type Field050 string
// Field052 ...
type Field052 string
// Field053 ...
type Field053 string
// Field054 ...
type Field054 string
// Field056 ...
type Field056 string
// Field057 ...
type Field057 string
// Field058 ...
type Field058 string
// Field059 ...
type Field059 string
// Field066 ...
type Field066 string
// Field067 ...
type Field067 string
// Field070 ...
type Field070 string
// Field073 ...
type Field073 string
// Field074 ...
type Field074 string
// Field075 ...
type Field075 string
// Field076 ...
type Field076 string
// Field077 ...
type Field077 string
// Field078 ...
type Field078 string
// Field079 ...
type Field079 string
// Field080 ...
type Field080 string
// Field081 ...
type Field081 string
// Field082 ...
type Field082 string
// Field083 ...
type Field083 string
// Field084 ...
type Field084 string
// Field085 ...
type Field085 string
// Field086 ...
type Field086 string
// Field087 ...
type Field087 string
// Field088 ...
type Field088 string
// Field089 ...
type Field089 string
// Field090 ...
type Field090 string
// Field091 ...
type Field091 string
// Field095 ...
type Field095 string
// Field097 ...
type Field097 string
// Field098 ...
type Field098 string
// Field100 ...
type Field100 string
// Field101 ...
type Field101 string
// Field102 ...
type Field102 string
// Field103 ...
type Field103 string
// Field118 ...
type Field118 string
// Field119 ...
type Field119 string
// Field123 ...
type Field123 string
// Field125 ...
type Field125 string
// Field127002 ...
type Field127002 string
// Field127003 ...
type Field127003 string
// Field127004 ...
type Field127004 string
// Field127005 ...
type Field127005 string
// Field127006 ...
type Field127006 string
// Field127007 ...
type Field127007 string
// Field127008 ...
type Field127008 string
// Field127009 ...
type Field127009 string
// Field127010 ...
type Field127010 string
// Field127011 ...
type Field127011 string
// Field127012 ...
type Field127012 string
// Field127013 ...
type Field127013 string
// Field127014 ...
type Field127014 string
// Field127015 ...
type Field127015 string
// Field127016 ...
type Field127016 string
// Field127017 ...
type Field127017 string
// Field127018 ...
type Field127018 string
// Field127019 ...
type Field127019 string
// Field127020 ...
type Field127020 string
// Field127021 ...
type Field127021 string
// Field127022 ...
type Field127022 string
// Field127023 ...
type Field127023 string
// Field127024 ...
type Field127024 string
// Field127025 ...
type Field127025 *IccData
// Field127026 ...
type Field127026 string
// Field127027 ...
type Field127027 string
// Field127028 ...
type Field127028 string
// Field127029 ...
type Field127029 string
// Field127030 ...
type Field127030 string
// Field127031 ...
type Field127031 string
// Field127032 ...
type Field127032 string
// Field127033 ...
type Field127033 string
// Field127034 ...
type Field127034 string
// Field127035 ...
type Field127035 string
// IccData ...
type IccData struct {
IccRequest *IccRequestType `xml:"IccRequest"`
}
// IccRequestType ...
type IccRequestType struct {
AmountAuthorized string `xml:"AmountAuthorized"`
AmountOther string `xml:"AmountOther"`
ApplicationInterchangeProfile string `xml:"ApplicationInterchangeProfile"`
ApplicationTransactionCounter string `xml:"ApplicationTransactionCounter"`
Cryptogram string `xml:"Cryptogram"`
CryptogramInformationData string `xml:"CryptogramInformationData"`
CvmResults string `xml:"CvmResults"`
IssuerApplicationData string `xml:"IssuerApplicationData"`
TerminalCapabilities string `xml:"TerminalCapabilities"`
TerminalCountryCode string `xml:"TerminalCountryCode"`
TerminalType string `xml:"TerminalType"`
TerminalVerificationResult string `xml:"TerminalVerificationResult"`
TransactionCurrencyCode string `xml:"TransactionCurrencyCode"`
TransactionDate string `xml:"TransactionDate"`
TransactionType string `xml:"TransactionType"`
UnpredictableNumber string `xml:"UnpredictableNumber"`
}