blob: 6f1b3e34269f0e2f337552b1973bc8685ddf9fc5 (
plain)
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
|
package libebics
import "encoding/xml"
type H005UnsecuredRequest struct {
XMLName xml.Name `xml:"ebicsUnsecuredRequest"`
Xmlns string `xml:"xmlns,attr"`
Version string `xml:"Version,attr"`
Revision string `xml:"Revision,attr"`
Header H005UnsecuredRequestHeader `xml:"header"`
Body H005UnsecuredRequestBody `xml:"body"`
}
type H005UnsecuredRequestHeader struct {
XMLName xml.Name `xml:"header"`
Authenticate bool `xml:"authenticate,attr"`
Static H005UnsecuredRequestStaticHeaderType `xml:"static"`
Mutable H005EmptyMutableHeaderType `xml:"mutable"`
}
type H005UnsecuredRequestStaticHeaderType struct {
XMLName xml.Name `xml:"static"`
HostID string `xml:"HostID"`
PartnerID string `xml:"PartnerID"`
UserID string `xml:"UserID"`
Product H005ProductElementType `xml:"Product"`
OrderDetails H005UnsecuredReqOrderDetailsType `xml:"OrderDetails"`
SecurityMedium string `xml:"SecurityMedium"`
}
type H005ProductElementType struct {
XMLName xml.Name `xml:"Product"`
Language string `xml:"Language,attr"`
Name string `xml:",chardata"`
}
type H005UnsecuredReqOrderDetailsType struct {
XMLName xml.Name `xml:"OrderDetails"`
AdminOrderType string `xml:"AdminOrderType"`
}
type H005EmptyMutableHeaderType struct {
XMLName xml.Name `xml:"mutable"`
}
type H005UnsecuredRequestBody struct {
XMLName xml.Name `xml:"body"`
DataTransfer H005UnsecuredRequestDataTransfer `xml:"DataTransfer"`
}
type H005UnsecuredRequestDataTransfer struct {
XMLName xml.Name `xml:"DataTransfer"`
OrderData string `xml:"OrderData"` // TODO Properly marshal this
}
type H005HIARequestOrderDataType struct {
XMLName xml.Name `xml:"HIARequestOrderData"`
Xmlns string `xml:"xmlns,attr"`
Esig string `xml:"xmlns:esig,attr"`
Ds string `xml:"xmlns:ds,attr"`
AuthenticationPubKeyInfo H005AuthenticationPubKeyInfo `xml:"AuthenticationPubKeyInfo"`
EncryptionPubKeyInfo H005EncryptionPubKeyInfo `xml:"EncryptionPubKeyInfo"`
PartnerID string `xml:"PartnerID"`
UserID string `xml:"UserID"`
}
type H005AuthenticationPubKeyInfo struct {
XMLName xml.Name `xml:"AuthenticationPubKeyInfo"`
X509Data DSIGX509Data `xml:"ds:X509Data"`
AuthenticationVersion string `xml:"AuthenticationVersion"` // TODO Use ENUM
}
type H005EncryptionPubKeyInfo struct {
XMLName xml.Name `xml:"EncryptionPubKeyInfo"`
X509Data DSIGX509Data `xml:"ds:X509Data"`
EncryptionVersion string `xml:"EncryptionVersion"` // TODO Use ENUM
}
|