segment

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2024 License: Apache-2.0 Imports: 14 Imported by: 8

Documentation

Index

Constants

View Source
const (
	KeyCompromitted      = "1"
	KeyMaybeCompromitted = "501"
	KeyRevocationMisc    = "999"
)
View Source
const AccountBalanceResponseID = "HISAL"
View Source
const AccountInformationID string = "HIUPD"
View Source
const BankAnnouncementID = "HIKIM"
View Source
const CommonBankParameterID string = "HIBPA"
View Source
const CommonUserParameterDataID string = "HIUPA"
View Source
const EncryptionHeaderSegmentID = "HNVSK"
View Source
const HKKOMSegmentNumber = -1
View Source
const IdentificationID = "HKIDN"
View Source
const MessageHeaderID string = "HNHBK"
View Source
const PinTanBankParameterID = "HIPINS"
View Source
const PinTanBusinessTransactionParamsID string = "DIPINS"
View Source
const ProcessingPreparationID = "HKVVB"
View Source
const TanBankParameterID = "HITANS"

Variables

View Source
var (
	SyncModeAquireClientID               = SyncMode{/* contains filtered or unexported fields */}
	SyncModeAquireLastProcessedMessageID = SyncMode{/* contains filtered or unexported fields */}
	SyncModeAquireSignatureID            = SyncMode{/* contains filtered or unexported fields */}
)

Possible sync modes

View Source
var FINTS300 = HBCIVersion{

	PinTanEncryptionHeader:        NewPinTanEncryptionHeaderSegmentV3,
	SynchronisationRequest:        NewSynchronisationSegmentV3,
	SignatureHeader:               NewSignatureHeaderSegmentV4,
	PinTanSignatureHeader:         NewPinTanSignatureHeaderSegmentV4,
	SignatureEnd:                  NewSignatureEndSegmentV2,
	AccountBalanceRequest:         NewAccountBalanceRequestV6,
	AccountTransactionRequest:     NewAccountTransactionRequestSegmentV6,
	SepaAccountTransactionRequest: NewAccountTransactionRequestSegmentV7,
	StatusProtocolRequest:         NewStatusProtocolRequestV4,
	TanProcess4Request:            NewTanProcess4RequestSegmentV6,
	// contains filtered or unexported fields
}
View Source
var HBCI220 = HBCIVersion{

	PinTanEncryptionHeader:    NewPinTanEncryptionHeaderSegment,
	RDHEncryptionHeader:       NewEncryptionHeaderSegment,
	SignatureHeader:           NewSignatureHeaderSegmentV3,
	PinTanSignatureHeader:     NewPinTanSignatureHeaderSegment,
	RDHSignatureHeader:        NewRDHSignatureHeaderSegment,
	SignatureEnd:              NewSignatureEndSegmentV1,
	SynchronisationRequest:    NewSynchronisationSegmentV2,
	AccountBalanceRequest:     NewAccountBalanceRequestV5,
	AccountTransactionRequest: NewAccountTransactionRequestSegmentV5,
	StatusProtocolRequest:     NewStatusProtocolRequestV3,
	TanProcess4Request:        NewTanProcess4RequestSegmentV6,
	// contains filtered or unexported fields
}
View Source
var KnownSegments = SegmentIndex{/* contains filtered or unexported fields */}
View Source
var SupportedHBCIVersions = map[int]HBCIVersion{
	220: HBCI220,
	300: FINTS300,
}

SupportedHBCIVersions maps integer version codes to HBCIVersions

Functions

func AccountBalanceRequestBuilder added in v0.1.4

func AccountBalanceRequestBuilder(versions []int) (func(account domain.AccountConnection, allAccounts bool) AccountBalanceRequest, error)

AccountBalanceRequestBuilder returns the highest matching versioned segment

func AccountTransactionRequestBuilder added in v0.1.4

func AccountTransactionRequestBuilder(versions []int) (func(account domain.AccountConnection, allAccounts bool) *AccountTransactionRequestSegment, error)

func ExtractElements

func ExtractElements(segment []byte) ([][]byte, error)

ExtractElements extracts the data elements from segment

func NewBasicSegment

func NewBasicSegment(position int, seg basicSegment) *segment

func NewBasicSegmentWithHeader

func NewBasicSegmentWithHeader(header *element.SegmentHeader, seg basicSegment) *segment

func NewReferencingBasicSegment

func NewReferencingBasicSegment(position int, ref int, seg basicSegment) *segment

func SegmentFromHeaderBytes

func SegmentFromHeaderBytes(headerBytes []byte, seg basicSegment) (*segment, error)

func SepaAccountBalanceRequestBuilder added in v0.4.1

func SepaAccountBalanceRequestBuilder(versions []int) (func(account domain.InternationalAccountConnection, allAccounts bool) AccountBalanceRequest, error)

SepaAccountBalanceRequestBuilder returns the highest matching versioned segment

func SepaAccountTransactionRequestBuilder added in v0.1.4

func SepaAccountTransactionRequestBuilder(versions []int) (func(account domain.InternationalAccountConnection, allAccounts bool) *AccountTransactionRequestSegment, error)

func StatusProtocolRequestBuilder added in v0.3.1

func StatusProtocolRequestBuilder(versions []int) (func(from, to time.Time, maxEntries int, continuationReference string) StatusProtocolRequest, error)

func TanProcess4RequestBuilder added in v0.4.0

func TanProcess4RequestBuilder(versions []int) (tanProcess4Constructor, error)

Types

type AccountBalanceRequest

type AccountBalanceRequest interface {
	ClientSegment
	SetContinuationMark(continuationMark string)
}

func NewAccountBalanceRequestV5

func NewAccountBalanceRequestV5(account domain.AccountConnection, allAccounts bool) AccountBalanceRequest

func NewAccountBalanceRequestV6

func NewAccountBalanceRequestV6(account domain.AccountConnection, allAccounts bool) AccountBalanceRequest

func NewAccountBalanceRequestV7 added in v0.4.1

func NewAccountBalanceRequestV7(account domain.InternationalAccountConnection, allAccounts bool) AccountBalanceRequest

func NewAccountBalanceRequestV8 added in v0.4.1

func NewAccountBalanceRequestV8(account domain.InternationalAccountConnection, allAccounts bool) AccountBalanceRequest

type AccountBalanceRequestSegmentV5

type AccountBalanceRequestSegmentV5 struct {
	ClientSegment
	AccountConnection     *element.AccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountBalanceRequestSegmentV5) ID

func (*AccountBalanceRequestSegmentV5) SetContinuationMark

func (a *AccountBalanceRequestSegmentV5) SetContinuationMark(continuationMark string)

func (*AccountBalanceRequestSegmentV5) Version

func (a *AccountBalanceRequestSegmentV5) Version() int

type AccountBalanceRequestSegmentV6

type AccountBalanceRequestSegmentV6 struct {
	ClientSegment
	AccountConnection     *element.AccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountBalanceRequestSegmentV6) ID

func (*AccountBalanceRequestSegmentV6) SetContinuationMark

func (a *AccountBalanceRequestSegmentV6) SetContinuationMark(continuationMark string)

func (*AccountBalanceRequestSegmentV6) Version

func (a *AccountBalanceRequestSegmentV6) Version() int

type AccountBalanceRequestSegmentV7 added in v0.4.1

type AccountBalanceRequestSegmentV7 struct {
	ClientSegment
	AccountConnection     *element.InternationalAccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountBalanceRequestSegmentV7) ID added in v0.4.1

func (*AccountBalanceRequestSegmentV7) SetContinuationMark added in v0.4.1

func (a *AccountBalanceRequestSegmentV7) SetContinuationMark(continuationMark string)

func (*AccountBalanceRequestSegmentV7) Version added in v0.4.1

func (a *AccountBalanceRequestSegmentV7) Version() int

type AccountBalanceRequestSegmentV8 added in v0.4.1

type AccountBalanceRequestSegmentV8 struct {
	ClientSegment
	AccountConnection     *element.InternationalAccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountBalanceRequestSegmentV8) ID added in v0.4.1

func (*AccountBalanceRequestSegmentV8) SetContinuationMark added in v0.4.1

func (a *AccountBalanceRequestSegmentV8) SetContinuationMark(continuationMark string)

func (*AccountBalanceRequestSegmentV8) Version added in v0.4.1

func (a *AccountBalanceRequestSegmentV8) Version() int

type AccountBalanceResponse

type AccountBalanceResponse interface {
	BankSegment
	AccountBalance() domain.AccountBalance
	SepaAccountBalance() (domain.SepaAccountBalance, error)
}

type AccountBalanceResponseSegment

type AccountBalanceResponseSegment struct {
	AccountBalanceResponse
}

func (*AccountBalanceResponseSegment) UnmarshalHBCI

func (a *AccountBalanceResponseSegment) UnmarshalHBCI(value []byte) error

type AccountBalanceResponseSegmentV5 added in v0.4.1

type AccountBalanceResponseSegmentV5 struct {
	Segment
	AccountConnection  *element.AccountConnectionDataElement
	AccountProductName *element.AlphaNumericDataElement
	AccountCurrency    *element.CurrencyDataElement
	BookedBalance      *element.BalanceDataElement
	EarmarkedBalance   *element.BalanceDataElement
	CreditLimit        *element.AmountDataElement
	AvailableAmount    *element.AmountDataElement
	UsedAmount         *element.AmountDataElement
	BookingDate        *element.DateDataElement
	BookingTime        *element.TimeDataElement
	DueDate            *element.DateDataElement
}

func (*AccountBalanceResponseSegmentV5) AccountBalance added in v0.4.1

func (*AccountBalanceResponseSegmentV5) ID added in v0.4.1

func (*AccountBalanceResponseSegmentV5) SepaAccountBalance added in v0.4.1

func (*AccountBalanceResponseSegmentV5) UnmarshalHBCI added in v0.4.1

func (a *AccountBalanceResponseSegmentV5) UnmarshalHBCI(value []byte) error

func (*AccountBalanceResponseSegmentV5) Version added in v0.4.1

func (a *AccountBalanceResponseSegmentV5) Version() int

type AccountBalanceResponseSegmentV6 added in v0.4.1

type AccountBalanceResponseSegmentV6 struct {
	Segment
	AccountConnection  *element.AccountConnectionDataElement
	AccountProductName *element.AlphaNumericDataElement
	AccountCurrency    *element.CurrencyDataElement
	BookedBalance      *element.BalanceDataElement
	EarmarkedBalance   *element.BalanceDataElement
	CreditLimit        *element.AmountDataElement
	AvailableAmount    *element.AmountDataElement
	UsedAmount         *element.AmountDataElement
	BookingDate        *element.DateDataElement
	BookingTime        *element.TimeDataElement
	DueDate            *element.DateDataElement
}

func (*AccountBalanceResponseSegmentV6) AccountBalance added in v0.4.1

func (*AccountBalanceResponseSegmentV6) ID added in v0.4.1

func (*AccountBalanceResponseSegmentV6) SepaAccountBalance added in v0.4.1

func (*AccountBalanceResponseSegmentV6) UnmarshalHBCI added in v0.4.1

func (a *AccountBalanceResponseSegmentV6) UnmarshalHBCI(value []byte) error

func (*AccountBalanceResponseSegmentV6) Version added in v0.4.1

func (a *AccountBalanceResponseSegmentV6) Version() int

type AccountBalanceResponseSegmentV7 added in v0.4.1

type AccountBalanceResponseSegmentV7 struct {
	Segment
	AccountConnection  *element.InternationalAccountConnectionDataElement
	AccountProductName *element.AlphaNumericDataElement
	AccountCurrency    *element.CurrencyDataElement
	BookedBalance      *element.BalanceDataElement
	EarmarkedBalance   *element.BalanceDataElement
	CreditLimit        *element.AmountDataElement
	AvailableAmount    *element.AmountDataElement
	UsedAmount         *element.AmountDataElement
	BookingDate        *element.DateDataElement
	BookingTime        *element.TimeDataElement
	DueDate            *element.DateDataElement
}

func (*AccountBalanceResponseSegmentV7) AccountBalance added in v0.4.1

func (*AccountBalanceResponseSegmentV7) ID added in v0.4.1

func (*AccountBalanceResponseSegmentV7) SepaAccountBalance added in v0.4.1

func (*AccountBalanceResponseSegmentV7) UnmarshalHBCI added in v0.4.1

func (a *AccountBalanceResponseSegmentV7) UnmarshalHBCI(value []byte) error

func (*AccountBalanceResponseSegmentV7) Version added in v0.4.1

func (a *AccountBalanceResponseSegmentV7) Version() int

type AccountBalanceResponseSegmentV8 added in v0.4.1

type AccountBalanceResponseSegmentV8 struct {
	Segment
	AccountConnection  *element.InternationalAccountConnectionDataElement
	AccountProductName *element.AlphaNumericDataElement
	AccountCurrency    *element.CurrencyDataElement
	BookedBalance      *element.BalanceDataElement
	EarmarkedBalance   *element.BalanceDataElement
	CreditLimit        *element.AmountDataElement
	AvailableAmount    *element.AmountDataElement
	UsedAmount         *element.AmountDataElement
	BookingDate        *element.DateDataElement
	BookingTime        *element.TimeDataElement
	DueDate            *element.DateDataElement
	SeizableAfterMonth *element.AmountDataElement
}

func (*AccountBalanceResponseSegmentV8) AccountBalance added in v0.4.1

func (*AccountBalanceResponseSegmentV8) ID added in v0.4.1

func (*AccountBalanceResponseSegmentV8) SepaAccountBalance added in v0.4.1

func (*AccountBalanceResponseSegmentV8) UnmarshalHBCI added in v0.4.1

func (a *AccountBalanceResponseSegmentV8) UnmarshalHBCI(value []byte) error

func (*AccountBalanceResponseSegmentV8) Version added in v0.4.1

func (a *AccountBalanceResponseSegmentV8) Version() int

type AccountInformation

type AccountInformation interface {
	BankSegment
	Account() domain.AccountInformation
}

type AccountInformationRequest

type AccountInformationRequest interface {
	ClientSegment
	SetContinuationMark(continuationMark string)
}

func NewAccountInformationRequestSegmentV1

func NewAccountInformationRequestSegmentV1(account domain.AccountConnection, allAccounts bool) AccountInformationRequest

func NewAccountInformationRequestSegmentV2

func NewAccountInformationRequestSegmentV2(account domain.AccountConnection, allAccounts bool) AccountInformationRequest

func NewAccountInformationRequestSegmentV3

func NewAccountInformationRequestSegmentV3(account domain.InternationalAccountConnection, allAccounts bool) AccountInformationRequest

func NewAccountInformationRequestSegmentV4

func NewAccountInformationRequestSegmentV4(account domain.InternationalAccountConnection, allAccounts bool) AccountInformationRequest

func NewAccountInformationRequestSegmentV5

func NewAccountInformationRequestSegmentV5(account domain.InternationalAccountConnection, allAccounts bool) AccountInformationRequest

func NewAccountInformationRequestSegmentV6

func NewAccountInformationRequestSegmentV6(account domain.InternationalAccountConnection, allAccounts bool) AccountInformationRequest

type AccountInformationRequestSegmentV1

type AccountInformationRequestSegmentV1 struct {
	ClientSegment
	AccountConnection     *element.AccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountInformationRequestSegmentV1) ID

func (*AccountInformationRequestSegmentV1) SetContinuationMark

func (a *AccountInformationRequestSegmentV1) SetContinuationMark(continuationMark string)

func (*AccountInformationRequestSegmentV1) Version

type AccountInformationRequestSegmentV2

type AccountInformationRequestSegmentV2 struct {
	ClientSegment
	AccountConnection     *element.AccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountInformationRequestSegmentV2) ID

func (*AccountInformationRequestSegmentV2) SetContinuationMark

func (a *AccountInformationRequestSegmentV2) SetContinuationMark(continuationMark string)

func (*AccountInformationRequestSegmentV2) Version

type AccountInformationRequestSegmentV3

type AccountInformationRequestSegmentV3 struct {
	ClientSegment
	AccountConnection     *element.InternationalAccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountInformationRequestSegmentV3) ID

func (*AccountInformationRequestSegmentV3) SetContinuationMark

func (a *AccountInformationRequestSegmentV3) SetContinuationMark(continuationMark string)

func (*AccountInformationRequestSegmentV3) Version

type AccountInformationRequestSegmentV4

type AccountInformationRequestSegmentV4 struct {
	ClientSegment
	AccountConnection     *element.InternationalAccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountInformationRequestSegmentV4) ID

func (*AccountInformationRequestSegmentV4) SetContinuationMark

func (a *AccountInformationRequestSegmentV4) SetContinuationMark(continuationMark string)

func (*AccountInformationRequestSegmentV4) Version

type AccountInformationRequestSegmentV5

type AccountInformationRequestSegmentV5 struct {
	ClientSegment
	AccountConnection     *element.InternationalAccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountInformationRequestSegmentV5) ID

func (*AccountInformationRequestSegmentV5) SetContinuationMark

func (a *AccountInformationRequestSegmentV5) SetContinuationMark(continuationMark string)

func (*AccountInformationRequestSegmentV5) Version

type AccountInformationRequestSegmentV6

type AccountInformationRequestSegmentV6 struct {
	ClientSegment
	AccountConnection     *element.InternationalAccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountInformationRequestSegmentV6) ID

func (*AccountInformationRequestSegmentV6) SetContinuationMark

func (a *AccountInformationRequestSegmentV6) SetContinuationMark(continuationMark string)

func (*AccountInformationRequestSegmentV6) Version

type AccountInformationResponseSegment

type AccountInformationResponseSegment struct {
	Segment
	AccountConnection                *element.AccountConnectionDataElement
	AccountKind                      *element.NumberDataElement
	Name1                            *element.AlphaNumericDataElement
	Name2                            *element.AlphaNumericDataElement
	AccountProductID                 *element.AlphaNumericDataElement
	AccountCurrency                  *element.CurrencyDataElement
	OpeningDate                      *element.DateDataElement
	DebitInterest                    *element.ValueDataElement
	CreditInterest                   *element.ValueDataElement
	OverDebitInterest                *element.ValueDataElement
	CreditLimit                      *element.AmountDataElement
	ReferenceAccount                 *element.AccountConnectionDataElement
	AccountStatementShippingType     *element.NumberDataElement
	AccountStatementShippingRotation *element.NumberDataElement
	AdditionalInformation            *element.TextDataElement
	DisposalEligiblePersons          *element.DisposalEligiblePersonsDataElement
}

func (*AccountInformationResponseSegment) ID

func (*AccountInformationResponseSegment) UnmarshalHBCI

func (a *AccountInformationResponseSegment) UnmarshalHBCI(value []byte) error

func (*AccountInformationResponseSegment) Version

type AccountInformationSegment

type AccountInformationSegment struct {
	// contains filtered or unexported fields
}

func (*AccountInformationSegment) UnmarshalHBCI

func (a *AccountInformationSegment) UnmarshalHBCI(value []byte) error

type AccountInformationV4

func (*AccountInformationV4) Account

func (*AccountInformationV4) ID

func (a *AccountInformationV4) ID() string

func (*AccountInformationV4) UnmarshalHBCI

func (a *AccountInformationV4) UnmarshalHBCI(value []byte) error

func (*AccountInformationV4) Version

func (a *AccountInformationV4) Version() int

type AccountInformationV5

func (*AccountInformationV5) Account

func (*AccountInformationV5) ID

func (a *AccountInformationV5) ID() string

func (*AccountInformationV5) UnmarshalHBCI

func (a *AccountInformationV5) UnmarshalHBCI(value []byte) error

func (*AccountInformationV5) Version

func (a *AccountInformationV5) Version() int

type AccountInformationV6

func (*AccountInformationV6) Account

func (*AccountInformationV6) ID

func (a *AccountInformationV6) ID() string

func (*AccountInformationV6) UnmarshalHBCI

func (a *AccountInformationV6) UnmarshalHBCI(value []byte) error

func (*AccountInformationV6) Version

func (a *AccountInformationV6) Version() int

type AccountInformationV7 added in v0.4.0

func (*AccountInformationV7) Account added in v0.4.0

func (*AccountInformationV7) ID added in v0.4.0

func (a *AccountInformationV7) ID() string

func (*AccountInformationV7) UnmarshalHBCI added in v0.4.0

func (a *AccountInformationV7) UnmarshalHBCI(value []byte) error

func (*AccountInformationV7) Version added in v0.4.0

func (a *AccountInformationV7) Version() int

type AccountTransactionRequest added in v0.4.0

type AccountTransactionRequest interface {
	ClientSegment
	SetContinuationReference(string)
	SetTransactionRange(domain.Timeframe)
}

type AccountTransactionRequestSegment

type AccountTransactionRequestSegment struct {
	AccountTransactionRequest
}

func NewAccountTransactionRequestSegmentV5

func NewAccountTransactionRequestSegmentV5(account domain.AccountConnection, allAccounts bool) *AccountTransactionRequestSegment

func NewAccountTransactionRequestSegmentV6

func NewAccountTransactionRequestSegmentV6(account domain.AccountConnection, allAccounts bool) *AccountTransactionRequestSegment

func NewAccountTransactionRequestSegmentV7

func NewAccountTransactionRequestSegmentV7(account domain.InternationalAccountConnection, allAccounts bool) *AccountTransactionRequestSegment

type AccountTransactionRequestV5

type AccountTransactionRequestV5 struct {
	ClientSegment
	Account               *element.AccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	From                  *element.DateDataElement
	To                    *element.DateDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountTransactionRequestV5) ID

func (*AccountTransactionRequestV5) SetContinuationReference

func (a *AccountTransactionRequestV5) SetContinuationReference(aufsetzpoint string)

func (*AccountTransactionRequestV5) SetTransactionRange

func (a *AccountTransactionRequestV5) SetTransactionRange(timeframe domain.Timeframe)

func (*AccountTransactionRequestV5) Version

func (a *AccountTransactionRequestV5) Version() int

type AccountTransactionRequestV6

type AccountTransactionRequestV6 struct {
	ClientSegment
	Account               *element.AccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	From                  *element.DateDataElement
	To                    *element.DateDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountTransactionRequestV6) ID

func (*AccountTransactionRequestV6) SetContinuationReference

func (a *AccountTransactionRequestV6) SetContinuationReference(aufsetzpoint string)

func (*AccountTransactionRequestV6) SetTransactionRange

func (a *AccountTransactionRequestV6) SetTransactionRange(timeframe domain.Timeframe)

func (*AccountTransactionRequestV6) Version

func (a *AccountTransactionRequestV6) Version() int

type AccountTransactionRequestV7

type AccountTransactionRequestV7 struct {
	ClientSegment
	InternationalAccount  *element.InternationalAccountConnectionDataElement
	AllAccounts           *element.BooleanDataElement
	From                  *element.DateDataElement
	To                    *element.DateDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*AccountTransactionRequestV7) ID

func (*AccountTransactionRequestV7) SetContinuationReference

func (a *AccountTransactionRequestV7) SetContinuationReference(aufsetzpoint string)

func (*AccountTransactionRequestV7) SetTransactionRange

func (a *AccountTransactionRequestV7) SetTransactionRange(timeframe domain.Timeframe)

func (*AccountTransactionRequestV7) Version

func (a *AccountTransactionRequestV7) Version() int

type AccountTransactionResponse

type AccountTransactionResponse interface {
	BankSegment
	BookedSwiftTransactions() *swift.MT940Messages
}

type AccountTransactionResponseSegment

type AccountTransactionResponseSegment struct {
	AccountTransactionResponse
}

func (*AccountTransactionResponseSegment) UnmarshalHBCI

func (a *AccountTransactionResponseSegment) UnmarshalHBCI(value []byte) error

type AccountTransactionResponseSegmentV5

type AccountTransactionResponseSegmentV5 struct {
	Segment
	BookedTransactions   *element.SwiftMT940DataElement
	UnbookedTransactions *element.BinaryDataElement
}

func (*AccountTransactionResponseSegmentV5) BookedSwiftTransactions added in v0.4.0

func (a *AccountTransactionResponseSegmentV5) BookedSwiftTransactions() *swift.MT940Messages

func (*AccountTransactionResponseSegmentV5) ID

func (*AccountTransactionResponseSegmentV5) UnmarshalHBCI

func (a *AccountTransactionResponseSegmentV5) UnmarshalHBCI(value []byte) error

func (*AccountTransactionResponseSegmentV5) Version

type AccountTransactionResponseSegmentV6

type AccountTransactionResponseSegmentV6 struct {
	Segment
	BookedTransactions   *element.SwiftMT940DataElement
	UnbookedTransactions *element.BinaryDataElement
}

func (*AccountTransactionResponseSegmentV6) BookedSwiftTransactions added in v0.4.0

func (a *AccountTransactionResponseSegmentV6) BookedSwiftTransactions() *swift.MT940Messages

func (*AccountTransactionResponseSegmentV6) ID

func (*AccountTransactionResponseSegmentV6) UnmarshalHBCI

func (a *AccountTransactionResponseSegmentV6) UnmarshalHBCI(value []byte) error

func (*AccountTransactionResponseSegmentV6) Version

type AccountTransactionResponseSegmentV7

type AccountTransactionResponseSegmentV7 struct {
	Segment
	BookedTransactions   *element.SwiftMT940DataElement
	UnbookedTransactions *element.BinaryDataElement
}

func (*AccountTransactionResponseSegmentV7) BookedSwiftTransactions added in v0.4.0

func (a *AccountTransactionResponseSegmentV7) BookedSwiftTransactions() *swift.MT940Messages

func (*AccountTransactionResponseSegmentV7) ID

func (*AccountTransactionResponseSegmentV7) UnmarshalHBCI

func (a *AccountTransactionResponseSegmentV7) UnmarshalHBCI(value []byte) error

func (*AccountTransactionResponseSegmentV7) Version

type BankAnnouncementSegment

type BankAnnouncementSegment struct {
	Segment
	Subject *element.AlphaNumericDataElement
	Body    *element.TextDataElement
}

func (*BankAnnouncementSegment) ID

func (*BankAnnouncementSegment) UnmarshalHBCI

func (b *BankAnnouncementSegment) UnmarshalHBCI(value []byte) error

func (*BankAnnouncementSegment) Version

func (b *BankAnnouncementSegment) Version() int

type BankSegment

type BankSegment interface {
	Segment
	Unmarshaler
}

type Builder added in v0.1.4

type Builder interface {
	AccountBalanceRequest(account domain.AccountConnection, allAccounts bool) (AccountBalanceRequest, error)
	SepaAccountBalanceRequest(account domain.InternationalAccountConnection, allAccounts bool) (AccountBalanceRequest, error)
	AccountTransactionRequest(account domain.AccountConnection, allAccounts bool) (*AccountTransactionRequestSegment, error)
	SepaAccountTransactionRequest(account domain.InternationalAccountConnection, allAccounts bool) (*AccountTransactionRequestSegment, error)
	StatusProtocolRequest(from, to time.Time, maxEntries int, continuationReference string) (StatusProtocolRequest, error)
}

Builder represents a builder which returns certain builders based on the provided versions

func NewBuilder added in v0.1.4

func NewBuilder(supportedSegments []VersionedSegment) Builder

NewBuilder returns a new Builder which uses the supported segments to identify which segment to use

type BusinessTransactionParamsSegment

type BusinessTransactionParamsSegment struct {
	Segment

	MaxJobs       *element.NumberDataElement
	MinSignatures *element.NumberDataElement
	Params        element.DataElementGroup
	// contains filtered or unexported fields
}

func (*BusinessTransactionParamsSegment) ID

func (*BusinessTransactionParamsSegment) UnmarshalHBCI

func (b *BusinessTransactionParamsSegment) UnmarshalHBCI(value []byte) error

func (*BusinessTransactionParamsSegment) Version

type ClientSegment

type ClientSegment interface {
	Segment
	Marshaler
}

type CommonBankParameter

type CommonBankParameter interface {
	BankSegment
	BankParameterData() domain.BankParameterData
}

type CommonBankParameterSegment

type CommonBankParameterSegment struct {
	// contains filtered or unexported fields
}

func (*CommonBankParameterSegment) UnmarshalHBCI

func (c *CommonBankParameterSegment) UnmarshalHBCI(value []byte) error

type CommonBankParameterV2

type CommonBankParameterV2 struct {
	Segment
	BPDVersion               *element.NumberDataElement
	BankID                   *element.BankIdentificationDataElement
	BankName                 *element.AlphaNumericDataElement
	BusinessTransactionCount *element.NumberDataElement
	SupportedLanguages       *element.SupportedLanguagesDataElement
	SupportedHBCIVersions    *element.SupportedHBCIVersionsDataElement
	MaxMessageSize           *element.NumberDataElement
}

func (*CommonBankParameterV2) BankParameterData

func (c *CommonBankParameterV2) BankParameterData() domain.BankParameterData

func (*CommonBankParameterV2) ID

func (c *CommonBankParameterV2) ID() string

func (*CommonBankParameterV2) UnmarshalHBCI

func (c *CommonBankParameterV2) UnmarshalHBCI(value []byte) error

func (*CommonBankParameterV2) Version

func (c *CommonBankParameterV2) Version() int

type CommonBankParameterV3

type CommonBankParameterV3 struct {
	Segment
	BPDVersion               *element.NumberDataElement
	BankID                   *element.BankIdentificationDataElement
	BankName                 *element.AlphaNumericDataElement
	BusinessTransactionCount *element.NumberDataElement
	SupportedLanguages       *element.SupportedLanguagesDataElement
	SupportedHBCIVersions    *element.SupportedHBCIVersionsDataElement
	MaxMessageSize           *element.NumberDataElement
	MinTimeoutValue          *element.NumberDataElement
	MaxTimeoutValue          *element.NumberDataElement
}

func (*CommonBankParameterV3) BankParameterData

func (c *CommonBankParameterV3) BankParameterData() domain.BankParameterData

func (*CommonBankParameterV3) ID

func (c *CommonBankParameterV3) ID() string

func (*CommonBankParameterV3) UnmarshalHBCI

func (c *CommonBankParameterV3) UnmarshalHBCI(value []byte) error

func (*CommonBankParameterV3) Version

func (c *CommonBankParameterV3) Version() int

type CommonSegment

type CommonSegment interface {
	Segment
	Marshaler
	Unmarshaler
}

type CommonUserParameterData

type CommonUserParameterData interface {
	BankSegment
	UserParameterData() domain.UserParameterData
}

type CommonUserParameterDataSegment

type CommonUserParameterDataSegment struct {
	// contains filtered or unexported fields
}

func (*CommonUserParameterDataSegment) UnmarshalHBCI

func (c *CommonUserParameterDataSegment) UnmarshalHBCI(value []byte) error

type CommonUserParameterDataV2

type CommonUserParameterDataV2 struct {
	Segment
	UserID     *element.IdentificationDataElement
	UPDVersion *element.NumberDataElement
	// Status |Beschreibung
	// -----------------------------------------------------------------
	// 0	  | Die nicht aufgeführten Geschäftsvorfälle sind gesperrt
	//		  | (die aufgeführten Geschäftsvorfälle sind zugelassen).
	// 1    | Bei den nicht aufgeführten Geschäftsvorfällen ist anhand
	//        | der UPD keine Aussage darüber möglich, ob diese erlaubt
	//        | oder gesperrt sind. Diese Prüfung kann nur online vom
	//        | Kreditinstitutssystem vorgenommen werden.
	UPDUsage *element.NumberDataElement
}

func (*CommonUserParameterDataV2) ID

func (*CommonUserParameterDataV2) UnmarshalHBCI

func (c *CommonUserParameterDataV2) UnmarshalHBCI(value []byte) error

func (*CommonUserParameterDataV2) UserParameterData

func (c *CommonUserParameterDataV2) UserParameterData() domain.UserParameterData

func (*CommonUserParameterDataV2) Version

func (c *CommonUserParameterDataV2) Version() int

type CommonUserParameterDataV3

type CommonUserParameterDataV3 struct {
	Segment
	UserID     *element.IdentificationDataElement
	UPDVersion *element.NumberDataElement
	// Status |Beschreibung
	// -----------------------------------------------------------------
	// 0	  | Die nicht aufgeführten Geschäftsvorfälle sind gesperrt
	//		  | (die aufgeführten Geschäftsvorfälle sind zugelassen).
	// 1    | Bei den nicht aufgeführten Geschäftsvorfällen ist anhand
	//        | der UPD keine Aussage darüber möglich, ob diese erlaubt
	//        | oder gesperrt sind. Diese Prüfung kann nur online vom
	//        | Kreditinstitutssystem vorgenommen werden.
	UPDUsage         *element.NumberDataElement
	UserName         *element.AlphaNumericDataElement
	CommonExtensions *element.AlphaNumericDataElement
}

func (*CommonUserParameterDataV3) ID

func (*CommonUserParameterDataV3) UnmarshalHBCI

func (c *CommonUserParameterDataV3) UnmarshalHBCI(value []byte) error

func (*CommonUserParameterDataV3) UserParameterData

func (c *CommonUserParameterDataV3) UserParameterData() domain.UserParameterData

func (*CommonUserParameterDataV3) Version

func (c *CommonUserParameterDataV3) Version() int

type CommonUserParameterDataV4

type CommonUserParameterDataV4 struct {
	Segment
	UserID     *element.IdentificationDataElement
	UPDVersion *element.NumberDataElement
	// Status |Beschreibung
	// -----------------------------------------------------------------
	// 0	  | Die nicht aufgeführten Geschäftsvorfälle sind gesperrt
	//		  | (die aufgeführten Geschäftsvorfälle sind zugelassen).
	// 1    | Bei den nicht aufgeführten Geschäftsvorfällen ist anhand
	//        | der UPD keine Aussage darüber möglich, ob diese erlaubt
	//        | oder gesperrt sind. Diese Prüfung kann nur online vom
	//        | Kreditinstitutssystem vorgenommen werden.
	UPDUsage         *element.NumberDataElement
	UserName         *element.AlphaNumericDataElement
	CommonExtensions *element.AlphaNumericDataElement
}

func (*CommonUserParameterDataV4) ID

func (*CommonUserParameterDataV4) UnmarshalHBCI

func (c *CommonUserParameterDataV4) UnmarshalHBCI(value []byte) error

func (*CommonUserParameterDataV4) UserParameterData

func (c *CommonUserParameterDataV4) UserParameterData() domain.UserParameterData

func (*CommonUserParameterDataV4) Version

func (c *CommonUserParameterDataV4) Version() int

type CommunicationAccessRequestSegment

type CommunicationAccessRequestSegment struct {
	ClientSegment
	FromBankID            *element.BankIdentificationDataElement
	ToBankID              *element.BankIdentificationDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func NewCommunicationAccessRequestSegment

func NewCommunicationAccessRequestSegment(fromBank domain.BankID, toBank domain.BankID, maxEntries int, continuationReference string) *CommunicationAccessRequestSegment

func (*CommunicationAccessRequestSegment) ID

func (*CommunicationAccessRequestSegment) Version

type CommunicationAccessResponseSegment

type CommunicationAccessResponseSegment struct {
	Segment
	BankID              *element.BankIdentificationDataElement
	StandardLanguage    *element.NumberDataElement
	CommunicationParams *element.CommunicationParameterDataElement
}

func NewCommunicationAccessResponseSegment

func NewCommunicationAccessResponseSegment(bankId domain.BankID, language int, params domain.CommunicationParameter) *CommunicationAccessResponseSegment

func (*CommunicationAccessResponseSegment) ID

func (*CommunicationAccessResponseSegment) UnmarshalHBCI

func (c *CommunicationAccessResponseSegment) UnmarshalHBCI(value []byte) error

func (*CommunicationAccessResponseSegment) Version

type CompressionMethodSegment

type CompressionMethodSegment struct {
	Segment
	SupportedCompressionMethods *element.SupportedCompressionMethodsDataElement
}

func (*CompressionMethodSegment) ID

func (*CompressionMethodSegment) UnmarshalHBCI

func (c *CompressionMethodSegment) UnmarshalHBCI(value []byte) error

func (*CompressionMethodSegment) Version

func (c *CompressionMethodSegment) Version() int

type DialogEndSegment

type DialogEndSegment struct {
	ClientSegment
	DialogID *element.IdentificationDataElement
}

func NewDialogEndSegment

func NewDialogEndSegment(dialogId string) *DialogEndSegment

func (*DialogEndSegment) ID

func (d *DialogEndSegment) ID() string

func (*DialogEndSegment) Version

func (d *DialogEndSegment) Version() int

type EncryptedDataSegment

type EncryptedDataSegment struct {
	ClientSegment
	Data *element.BinaryDataElement
}

func NewEncryptedDataSegment

func NewEncryptedDataSegment(encryptedData []byte) *EncryptedDataSegment

func (*EncryptedDataSegment) ID

func (e *EncryptedDataSegment) ID() string

func (*EncryptedDataSegment) UnmarshalHBCI

func (e *EncryptedDataSegment) UnmarshalHBCI(value []byte) error

func (*EncryptedDataSegment) Version

func (e *EncryptedDataSegment) Version() int

type EncryptionHeader

type EncryptionHeader interface {
	ClientSegment
	SetClientSystemID(clientSystemID string)
	SetSecurityProfile(securityFn string)
	SetEncryptionKeyName(keyName domain.KeyName)
	SetEncryptionAlgorithm(algorithm *element.EncryptionAlgorithmDataElement)
}

type EncryptionHeaderSegment

type EncryptionHeaderSegment struct {
	// contains filtered or unexported fields
}

func NewEncryptionHeaderSegment

func NewEncryptionHeaderSegment(clientSystemId string, keyName domain.KeyName, key []byte) *EncryptionHeaderSegment

func NewPinTanEncryptionHeaderSegment

func NewPinTanEncryptionHeaderSegment(clientSystemId string, keyName domain.KeyName) *EncryptionHeaderSegment

func NewPinTanEncryptionHeaderSegmentV3

func NewPinTanEncryptionHeaderSegmentV3(clientSystemId string, keyName domain.KeyName) *EncryptionHeaderSegment

func (*EncryptionHeaderSegment) UnmarshalHBCI

func (e *EncryptionHeaderSegment) UnmarshalHBCI(value []byte) error

type EncryptionHeaderSegmentV3

type EncryptionHeaderSegmentV3 struct {
	ClientSegment
	SecurityProfile *element.SecurityProfileDataElement
	// "4" for ENC, Encryption (encryption and eventually compression)
	// "998" for Cleartext
	SecurityFunction *element.CodeDataElement
	// "1" for ISS,  Herausgeber der chiffrierten Nachricht (Erfasser)
	// "4" for WIT, der Unterzeichnete ist Zeuge, aber für den Inhalt der
	// Nachricht nicht verantwortlich (Übermittler, welcher nicht Erfasser ist)
	SecuritySupplierRole *element.CodeDataElement
	SecurityID           *element.SecurityIdentificationDataElement
	SecurityDate         *element.SecurityDateDataElement
	EncryptionAlgorithm  *element.EncryptionAlgorithmDataElement
	KeyName              *element.KeyNameDataElement
	// 0: no compression (NULL)
	// 1: Lempel, Ziv, Welch (LZW)
	// 2: Optimized LZW (COM)
	// 3: Lempel, Ziv (LZSS)
	// 4: LZ + Huffman Coding (LZHuf)
	// 5: PKZIP (ZIP)
	// 6: deflate (GZIP) (http://www.gzip.org/zlib)
	// 7: bzip2 (http://sourceware.cygnus.com/bzip2/)
	// 999: Gegenseitig vereinbart (ZZZ)
	CompressionFunction *element.CodeDataElement
	Certificate         *element.CertificateDataElement
}

func (*EncryptionHeaderSegmentV3) ID

func (*EncryptionHeaderSegmentV3) SetClientSystemID

func (e *EncryptionHeaderSegmentV3) SetClientSystemID(clientSystemId string)

func (*EncryptionHeaderSegmentV3) SetEncryptionAlgorithm

func (e *EncryptionHeaderSegmentV3) SetEncryptionAlgorithm(algorithm *element.EncryptionAlgorithmDataElement)

func (*EncryptionHeaderSegmentV3) SetEncryptionKeyName

func (e *EncryptionHeaderSegmentV3) SetEncryptionKeyName(keyName domain.KeyName)

func (*EncryptionHeaderSegmentV3) SetSecurityProfile

func (e *EncryptionHeaderSegmentV3) SetSecurityProfile(securityFn string)

func (*EncryptionHeaderSegmentV3) UnmarshalHBCI

func (e *EncryptionHeaderSegmentV3) UnmarshalHBCI(value []byte) error

func (*EncryptionHeaderSegmentV3) Version

func (e *EncryptionHeaderSegmentV3) Version() int

type EncryptionHeaderV2

type EncryptionHeaderV2 struct {
	ClientSegment
	// "4" for ENC, Encryption (encryption and eventually compression)
	// "998" for Cleartext
	SecurityFunction *element.AlphaNumericDataElement
	// "1" for ISS,  Herausgeber der chiffrierten Nachricht (Erfasser)
	// "4" for WIT, der Unterzeichnete ist Zeuge, aber für den Inhalt der
	// Nachricht nicht verantwortlich (Übermittler, welcher nicht Erfasser ist)
	SecuritySupplierRole *element.AlphaNumericDataElement
	SecurityID           *element.SecurityIdentificationDataElement
	SecurityDate         *element.SecurityDateDataElement
	EncryptionAlgorithm  *element.EncryptionAlgorithmDataElement
	KeyName              *element.KeyNameDataElement
	CompressionFunction  *element.AlphaNumericDataElement
	Certificate          *element.CertificateDataElement
}

func (*EncryptionHeaderV2) ID

func (e *EncryptionHeaderV2) ID() string

func (*EncryptionHeaderV2) SetClientSystemID

func (e *EncryptionHeaderV2) SetClientSystemID(clientSystemId string)

func (*EncryptionHeaderV2) SetEncryptionAlgorithm

func (e *EncryptionHeaderV2) SetEncryptionAlgorithm(algorithm *element.EncryptionAlgorithmDataElement)

func (*EncryptionHeaderV2) SetEncryptionKeyName

func (e *EncryptionHeaderV2) SetEncryptionKeyName(keyName domain.KeyName)

func (*EncryptionHeaderV2) SetSecurityProfile

func (e *EncryptionHeaderV2) SetSecurityProfile(securityFn string)

func (*EncryptionHeaderV2) UnmarshalHBCI

func (e *EncryptionHeaderV2) UnmarshalHBCI(value []byte) error

func (*EncryptionHeaderV2) Version

func (e *EncryptionHeaderV2) Version() int

type HBCIVersion

type HBCIVersion struct {
	PinTanEncryptionHeader        func(clientSystemId string, keyName domain.KeyName) *EncryptionHeaderSegment
	RDHEncryptionHeader           func(clientSystemId string, keyName domain.KeyName, key []byte) *EncryptionHeaderSegment
	SignatureHeader               func() *SignatureHeaderSegment
	PinTanSignatureHeader         func(controlReference string, clientSystemId string, keyName domain.KeyName) *SignatureHeaderSegment
	RDHSignatureHeader            func(controlReference string, signatureId int, clientSystemId string, keyName domain.KeyName) *SignatureHeaderSegment
	SignatureEnd                  func() *SignatureEndSegment
	SynchronisationRequest        func(modus SyncMode) *SynchronisationRequestSegment
	AccountBalanceRequest         func(account domain.AccountConnection, allAccounts bool) AccountBalanceRequest
	AccountTransactionRequest     func(account domain.AccountConnection, allAccounts bool) *AccountTransactionRequestSegment
	SepaAccountTransactionRequest func(account domain.InternationalAccountConnection, allAccounts bool) *AccountTransactionRequestSegment
	StatusProtocolRequest         func(from, to time.Time, maxEntries int, continuationReference string) StatusProtocolRequest
	TanProcess4Request            func(referencingSegmentID string) *TanRequestSegment
	// contains filtered or unexported fields
}

HBCIVersion defines segment constructors for a HBCI version

func (HBCIVersion) Version

func (v HBCIVersion) Version() int

Version returns the HBCI version as integer

type IdentificationSegment

type IdentificationSegment struct {
	ClientSegment
	BankId             *element.BankIdentificationDataElement
	ClientId           *element.IdentificationDataElement
	ClientSystemId     *element.IdentificationDataElement
	ClientSystemStatus *element.NumberDataElement
}

func NewIdentificationSegment

func NewIdentificationSegment(bankId domain.BankID, clientId string, clientSystemId string, systemIdRequired bool) *IdentificationSegment

func (*IdentificationSegment) ID

func (i *IdentificationSegment) ID() string

func (*IdentificationSegment) Version

func (i *IdentificationSegment) Version() int

type Marshaler

type Marshaler interface {
	MarshalHBCI() ([]byte, error)
}

type MessageAcknowledgement

type MessageAcknowledgement struct {
	Segment
	// contains filtered or unexported fields
}

func (*MessageAcknowledgement) Acknowledgements

func (m *MessageAcknowledgement) Acknowledgements() []domain.Acknowledgement

func (*MessageAcknowledgement) ID

func (*MessageAcknowledgement) SetReferencingMessage

func (m *MessageAcknowledgement) SetReferencingMessage(reference domain.MessageReference)

func (*MessageAcknowledgement) UnmarshalHBCI

func (m *MessageAcknowledgement) UnmarshalHBCI(value []byte) error

func (*MessageAcknowledgement) Version

func (m *MessageAcknowledgement) Version() int

type MessageEndSegment

type MessageEndSegment struct {
	ClientSegment
	Number *element.NumberDataElement
}

func NewMessageEndSegment

func NewMessageEndSegment(segmentNumber, messageNumber int) *MessageEndSegment

func (*MessageEndSegment) ID

func (m *MessageEndSegment) ID() string

func (*MessageEndSegment) UnmarshalHBCI

func (m *MessageEndSegment) UnmarshalHBCI(value []byte) error

func (*MessageEndSegment) Version

func (m *MessageEndSegment) Version() int

type MessageHeaderSegment

func NewMessageHeaderSegment

func NewMessageHeaderSegment(size int, hbciVersion int, dialogId string, number int) *MessageHeaderSegment

func NewReferencingMessageHeaderSegment

func NewReferencingMessageHeaderSegment(size int, hbciVersion int, dialogId string, number int, referencingMessage domain.MessageReference) *MessageHeaderSegment

func (*MessageHeaderSegment) ID

func (m *MessageHeaderSegment) ID() string

func (*MessageHeaderSegment) ReferencingMessage

func (m *MessageHeaderSegment) ReferencingMessage() domain.MessageReference

func (*MessageHeaderSegment) SetMessageNumber

func (m *MessageHeaderSegment) SetMessageNumber(messageNumber int)

func (*MessageHeaderSegment) SetSize

func (m *MessageHeaderSegment) SetSize(size int)

func (*MessageHeaderSegment) UnmarshalHBCI

func (m *MessageHeaderSegment) UnmarshalHBCI(value []byte) error

func (*MessageHeaderSegment) Version

func (m *MessageHeaderSegment) Version() int

type PinTanBankParameter added in v0.4.0

type PinTanBankParameter interface {
	BankSegment
	PinTanBusinessTransactions() []domain.PinTanBusinessTransaction
}

type PinTanBankParameterSegment added in v0.4.0

type PinTanBankParameterSegment struct {
	PinTanBankParameter
}

func (*PinTanBankParameterSegment) UnmarshalHBCI added in v0.4.0

func (p *PinTanBankParameterSegment) UnmarshalHBCI(value []byte) error

type PinTanBankParameterV1 added in v0.4.0

type PinTanBankParameterV1 struct {
	Segment
	MaxJobs       *element.NumberDataElement `yaml:"MaxJobs"`
	MinSignatures *element.NumberDataElement `yaml:"MinSignatures"`
	// TODO/FIXME: find out which parameters are here actually
	XXX_Unknown          *element.NumberDataElement              `yaml:"-"`
	PinTanSpecificParams *element.PinTanSpecificParamDataElement `yaml:"PinTanSpecificParams"`
}

PinTanBankParameterV1

PIN/TAN-spezifische Informationen

func (*PinTanBankParameterV1) ID added in v0.4.0

func (t *PinTanBankParameterV1) ID() string

func (*PinTanBankParameterV1) PinTanBusinessTransactions added in v0.4.0

func (t *PinTanBankParameterV1) PinTanBusinessTransactions() []domain.PinTanBusinessTransaction

func (*PinTanBankParameterV1) UnmarshalHBCI added in v0.4.0

func (p *PinTanBankParameterV1) UnmarshalHBCI(value []byte) error

func (*PinTanBankParameterV1) Version added in v0.4.0

func (t *PinTanBankParameterV1) Version() int

type PinTanBusinessTransactionParams

type PinTanBusinessTransactionParams interface {
	BankSegment
	PinTanBusinessTransactions() []domain.PinTanBusinessTransaction
}

type PinTanBusinessTransactionParamsSegment

type PinTanBusinessTransactionParamsSegment struct {
	*BusinessTransactionParamsSegment
}

func (*PinTanBusinessTransactionParamsSegment) ID

func (*PinTanBusinessTransactionParamsSegment) PinTanBusinessTransactions

func (*PinTanBusinessTransactionParamsSegment) UnmarshalHBCI

func (p *PinTanBusinessTransactionParamsSegment) UnmarshalHBCI(value []byte) error

func (*PinTanBusinessTransactionParamsSegment) Version

type ProcessingPreparationSegmentV2 added in v0.4.0

type ProcessingPreparationSegmentV2 struct {
	ClientSegment
	BPDVersion *element.NumberDataElement
	UPDVersion *element.NumberDataElement
	// 0 for undefined
	// Sprachkennzeichen | Bedeutung   | Sprachencode ISO 639 | ISO 8859 Subset | ISO 8859- Codeset
	// --------------------------------------------------------------------------------------------
	// 1				 | Deutsch	   | de (German) 	      | Deutsch  		| 1 (Latin 1)
	// 2				 | Englisch	   | en (English)		  | Englisch		| 1 (Latin 1)
	// 3 				 | Französisch | fr (French)  		   | Französisch 	  | 1 (Latin 1)
	DialogLanguage *element.NumberDataElement
	ProductName    *element.AlphaNumericDataElement
	ProductVersion *element.AlphaNumericDataElement
}

func NewProcessingPreparationSegmentV2 added in v0.4.0

func NewProcessingPreparationSegmentV2(bdpVersion int, udpVersion int, language domain.Language) *ProcessingPreparationSegmentV2

func (*ProcessingPreparationSegmentV2) ID added in v0.4.0

func (*ProcessingPreparationSegmentV2) Version added in v0.4.0

func (p *ProcessingPreparationSegmentV2) Version() int

type ProcessingPreparationSegmentV3 added in v0.4.0

type ProcessingPreparationSegmentV3 struct {
	ClientSegment
	BPDVersion *element.NumberDataElement
	UPDVersion *element.NumberDataElement
	// 0 for Standard = Institute language
	// Sprachkennzeichen | Bedeutung   | Sprachencode ISO 639 | ISO 8859 Subset | ISO 8859- Codeset
	// --------------------------------------------------------------------------------------------
	// 1				 | Deutsch	   | de (German) 	      | Deutsch  		| 1 (Latin 1)
	// 2				 | Englisch	   | en (English)		  | Englisch		| 1 (Latin 1)
	// 3 				 | Französisch | fr (French)  		   | Französisch 	  | 1 (Latin 1)
	DialogLanguage *element.NumberDataElement
	ProductName    *element.AlphaNumericDataElement
	ProductVersion *element.AlphaNumericDataElement
}

func NewProcessingPreparationSegmentV3 added in v0.4.0

func NewProcessingPreparationSegmentV3(bdpVersion int, udpVersion int, language domain.Language) *ProcessingPreparationSegmentV3

func (*ProcessingPreparationSegmentV3) ID added in v0.4.0

func (*ProcessingPreparationSegmentV3) Version added in v0.4.0

func (p *ProcessingPreparationSegmentV3) Version() int

type PublicKeyRenewalSegment

type PublicKeyRenewalSegment struct {
	Segment
	// "2" für ‘Key-Management-Nachricht erwartet Antwort’
	MessageID *element.NumberDataElement
	// "112" für ‘Certificate Replacement’ (Ersatz des Zertifikats))
	FunctionID *element.NumberDataElement
	// Key type may not equal 'B'
	KeyName     *element.KeyNameDataElement
	PublicKey   *element.PublicKeyDataElement
	Certificate *element.CertificateDataElement
}

func NewPublicKeyRenewalSegment

func NewPublicKeyRenewalSegment(number int, keyName domain.KeyName, pubKey *domain.PublicKey) *PublicKeyRenewalSegment

func (*PublicKeyRenewalSegment) ID

func (*PublicKeyRenewalSegment) Version

func (p *PublicKeyRenewalSegment) Version() int

type PublicKeyRequestSegment

type PublicKeyRequestSegment struct {
	ClientSegment
	// "2" für ‘Key-Management-Nachricht erwartet Antwort’
	MessageID *element.NumberDataElement
	// "124" für ‘Certificate Status Request’
	FunctionID  *element.NumberDataElement
	KeyName     *element.KeyNameDataElement
	Certificate *element.CertificateDataElement
}

func NewPublicKeyRequestSegment

func NewPublicKeyRequestSegment(number int, keyName domain.KeyName) *PublicKeyRequestSegment

func (*PublicKeyRequestSegment) ID

func (*PublicKeyRequestSegment) Version

func (p *PublicKeyRequestSegment) Version() int

type PublicKeyRevocationConfirmationSegment

type PublicKeyRevocationConfirmationSegment struct {
	Segment
	// "1" für ‘Key-Management-Nachricht ist Antwort’
	MessageID  *element.NumberDataElement
	DialogID   *element.IdentificationDataElement
	MessageRef *element.NumberDataElement
	// "231" für ‘Revocation Confirmation’ (Bestätigung des Zertifikatswiderrufs)
	FunctionID *element.NumberDataElement
	KeyName    *element.KeyNameDataElement
	// "1" für ‘Schlüssel des Zertifikatseigentümers kompromittiert’
	// "501" für ‘Zertifikat ungültig wegen Verdacht auf Kompromittierung’
	// "999" für ‘gesperrt aus sonstigen Gründen’
	RevocationReason *element.AlphaNumericDataElement
	Date             *element.SecurityDateDataElement
	Certificate      *element.CertificateDataElement
}

func NewPublicKeyRevocationConfirmationSegment

func NewPublicKeyRevocationConfirmationSegment(dialogId string, number int, messageReference int, keyName domain.KeyName, reason string, refSegment *PublicKeyRevocationSegment) *PublicKeyRevocationConfirmationSegment

func (*PublicKeyRevocationConfirmationSegment) ID

func (*PublicKeyRevocationConfirmationSegment) Version

type PublicKeyRevocationSegment

type PublicKeyRevocationSegment struct {
	Segment
	// "2" für ‘Key-Management-Nachricht erwartet Antwort’
	MessageID *element.NumberDataElement
	// "130" für ‘Certificate Revocation’ (Zertifikatswiderruf)
	FunctionID *element.NumberDataElement
	KeyName    *element.KeyNameDataElement
	// "1" für ‘Schlüssel des Zertifikatseigentümers kompromittiert’
	// "501" für ‘Zertifikat ungültig wegen Verdacht auf Kompromittierung’
	// "999" für ‘gesperrt aus sonstigen Gründen’
	RevocationReason *element.AlphaNumericDataElement
	Date             *element.SecurityDateDataElement
	Certificate      *element.CertificateDataElement
}

func NewPublicKeyRevocationSegment

func NewPublicKeyRevocationSegment(number int, keyName domain.KeyName, reason string) *PublicKeyRevocationSegment

func (*PublicKeyRevocationSegment) ID

func (*PublicKeyRevocationSegment) Version

func (p *PublicKeyRevocationSegment) Version() int

type PublicKeyTransmissionSegment

type PublicKeyTransmissionSegment struct {
	Segment
	// "1" für ‘Key-Management-Nachricht ist Antwort’
	MessageID  *element.NumberDataElement
	DialogID   *element.IdentificationDataElement
	MessageRef *element.NumberDataElement
	// "224" für ‘Certificate Status Notice’
	FunctionID  *element.NumberDataElement
	KeyName     *element.KeyNameDataElement
	PublicKey   *element.PublicKeyDataElement
	Certificate *element.CertificateDataElement
}

func NewPublicKeyTransmissionSegment

func NewPublicKeyTransmissionSegment(dialogId string, number int, messageReference int, keyName domain.KeyName, pubKey *domain.PublicKey, refSegment *PublicKeyRequestSegment) *PublicKeyTransmissionSegment

func (*PublicKeyTransmissionSegment) ID

func (*PublicKeyTransmissionSegment) Version

func (p *PublicKeyTransmissionSegment) Version() int

type SecurityMethodSegment

type SecurityMethodSegment struct {
	Segment
	MixAllowed       *element.BooleanDataElement
	SupportedMethods *element.SupportedSecurityMethodDataElement
}

func (*SecurityMethodSegment) ID

func (s *SecurityMethodSegment) ID() string

func (*SecurityMethodSegment) UnmarshalHBCI

func (s *SecurityMethodSegment) UnmarshalHBCI(value []byte) error

func (*SecurityMethodSegment) Version

func (s *SecurityMethodSegment) Version() int

type Segment

type Segment interface {
	Header() *element.SegmentHeader
	SetPosition(func() int)
	String() string
}

type SegmentAcknowledgement

type SegmentAcknowledgement struct {
	Segment
	// contains filtered or unexported fields
}

func (*SegmentAcknowledgement) Acknowledgements

func (s *SegmentAcknowledgement) Acknowledgements() []domain.Acknowledgement

func (*SegmentAcknowledgement) ID

func (*SegmentAcknowledgement) SetReferencingMessage

func (s *SegmentAcknowledgement) SetReferencingMessage(reference domain.MessageReference)

func (*SegmentAcknowledgement) UnmarshalHBCI

func (s *SegmentAcknowledgement) UnmarshalHBCI(value []byte) error

func (*SegmentAcknowledgement) Version

func (s *SegmentAcknowledgement) Version() int

type SegmentIndex

type SegmentIndex struct {
	// contains filtered or unexported fields
}

func (SegmentIndex) IsIndexed

func (s SegmentIndex) IsIndexed(segmentId VersionedSegment) bool

func (SegmentIndex) IsUnmarshaler

func (s SegmentIndex) IsUnmarshaler(segmentId VersionedSegment) bool

func (SegmentIndex) UnmarshalerForSegment

func (s SegmentIndex) UnmarshalerForSegment(segmentId VersionedSegment) (Unmarshaler, error)

type SignatureEnd

type SignatureEnd interface {
	SetControlReference(controlReference string)
	SetSignature(signature []byte)
	SetPinTan(pin, tan string)
}

type SignatureEndSegment

type SignatureEndSegment struct {
	// contains filtered or unexported fields
}

func NewSignatureEndSegmentV1

func NewSignatureEndSegmentV1() *SignatureEndSegment

func NewSignatureEndSegmentV2

func NewSignatureEndSegmentV2() *SignatureEndSegment

func (*SignatureEndSegment) UnmarshalHBCI added in v0.4.0

func (s *SignatureEndSegment) UnmarshalHBCI(value []byte) error

type SignatureEndV1

type SignatureEndV1 struct {
	ClientSegment
	SecurityControlRef *element.AlphaNumericDataElement
	Signature          *element.BinaryDataElement
	PinTan             *element.PinTanDataElement
}

func (*SignatureEndV1) ID

func (s *SignatureEndV1) ID() string

func (*SignatureEndV1) SetControlReference

func (s *SignatureEndV1) SetControlReference(controlReference string)

func (*SignatureEndV1) SetPinTan

func (s *SignatureEndV1) SetPinTan(pin, tan string)

func (*SignatureEndV1) SetSignature

func (s *SignatureEndV1) SetSignature(signature []byte)

func (*SignatureEndV1) UnmarshalHBCI added in v0.4.0

func (s *SignatureEndV1) UnmarshalHBCI(value []byte) error

func (*SignatureEndV1) Version

func (s *SignatureEndV1) Version() int

type SignatureEndV2

type SignatureEndV2 struct {
	ClientSegment
	SecurityControlRef *element.AlphaNumericDataElement
	Signature          *element.BinaryDataElement
	CustomSignature    *element.CustomSignatureDataElement
}

func (*SignatureEndV2) ID

func (s *SignatureEndV2) ID() string

func (*SignatureEndV2) SetControlReference

func (s *SignatureEndV2) SetControlReference(controlReference string)

func (*SignatureEndV2) SetPinTan

func (s *SignatureEndV2) SetPinTan(pin, tan string)

func (*SignatureEndV2) SetSignature

func (s *SignatureEndV2) SetSignature(signature []byte)

func (*SignatureEndV2) UnmarshalHBCI added in v0.4.0

func (s *SignatureEndV2) UnmarshalHBCI(value []byte) error

func (*SignatureEndV2) Version

func (s *SignatureEndV2) Version() int

type SignatureHeader

type SignatureHeader interface {
	ClientSegment
	SetClientSystemID(clientSystemID string)
	SetSigningKeyName(keyName domain.KeyName)
	SetSignatureID(signatureId int)
	SetSecurityFunction(string)
	SetControlReference(string)
}

type SignatureHeaderSegment

type SignatureHeaderSegment struct {
	// contains filtered or unexported fields
}

func NewPinTanSignatureHeaderSegment

func NewPinTanSignatureHeaderSegment(controlReference string, clientSystemId string, keyName domain.KeyName) *SignatureHeaderSegment

func NewPinTanSignatureHeaderSegmentV4

func NewPinTanSignatureHeaderSegmentV4(controlReference string, clientSystemId string, keyName domain.KeyName) *SignatureHeaderSegment

func NewRDHSignatureHeaderSegment

func NewRDHSignatureHeaderSegment(controlReference string, signatureId int, clientSystemId string, keyName domain.KeyName) *SignatureHeaderSegment

func NewSignatureHeaderSegmentV3

func NewSignatureHeaderSegmentV3() *SignatureHeaderSegment

func NewSignatureHeaderSegmentV4

func NewSignatureHeaderSegmentV4() *SignatureHeaderSegment

func (*SignatureHeaderSegment) UnmarshalHBCI

func (s *SignatureHeaderSegment) UnmarshalHBCI(value []byte) error

type SignatureHeaderSegmentV4

type SignatureHeaderSegmentV4 struct {
	ClientSegment
	SecurityProfile *element.SecurityProfileDataElement
	// "1" for NRO, Non-Repudiation of Origin (RDH)
	// "2" for AUT, Message Origin Authentication (DDV)
	// "999" for PIN/TAN
	SecurityFunction   *element.CodeDataElement
	SecurityControlRef *element.AlphaNumericDataElement
	// "1" for SHM (SignatureHeader and HBCI-Data)
	// "2" for SHT (SignatureHeader to SignatureEnd)
	SecurityApplicationRange *element.CodeDataElement
	// "1" for ISS, Herausgeber der signierten Nachricht (z.B. Erfasser oder Erstsignatur)
	// "3" for CON, der Unterzeichnete unterstützt den Inhalt der Nachricht (z.B. bei Zweitsignatur)
	// "4" for WIT, der Unterzeichnete ist Zeuge (z.B. Übermittler), aber für den Inhalt der Nachricht nicht verantwortlich)
	SecuritySupplierRole *element.CodeDataElement
	SecurityID           *element.SecurityIdentificationDataElement
	SecurityRefNumber    *element.NumberDataElement
	SecurityDate         *element.SecurityDateDataElement
	HashAlgorithm        *element.HashAlgorithmDataElement
	SignatureAlgorithm   *element.SignatureAlgorithmDataElement
	KeyName              *element.KeyNameDataElement
	Certificate          *element.CertificateDataElement
}

func (*SignatureHeaderSegmentV4) ID

func (*SignatureHeaderSegmentV4) SetClientSystemID

func (s *SignatureHeaderSegmentV4) SetClientSystemID(clientSystemId string)

func (*SignatureHeaderSegmentV4) SetControlReference

func (s *SignatureHeaderSegmentV4) SetControlReference(controlReference string)

func (*SignatureHeaderSegmentV4) SetSecurityFunction

func (s *SignatureHeaderSegmentV4) SetSecurityFunction(securityFn string)

func (*SignatureHeaderSegmentV4) SetSignatureID

func (s *SignatureHeaderSegmentV4) SetSignatureID(signatureId int)

func (*SignatureHeaderSegmentV4) SetSigningKeyName

func (s *SignatureHeaderSegmentV4) SetSigningKeyName(keyName domain.KeyName)

func (*SignatureHeaderSegmentV4) UnmarshalHBCI

func (s *SignatureHeaderSegmentV4) UnmarshalHBCI(value []byte) error

func (*SignatureHeaderSegmentV4) Version

func (s *SignatureHeaderSegmentV4) Version() int

type SignatureHeaderV3

type SignatureHeaderV3 struct {
	ClientSegment
	// "1" for NRO, Non-Repudiation of Origin (RDH)
	// "2" for AUT, Message Origin Authentication (DDV)
	// "999" for PIN/TAN
	SecurityFunction   *element.AlphaNumericDataElement
	SecurityControlRef *element.AlphaNumericDataElement
	// "1" for SHM (SignatureHeader and HBCI-Data)
	// "2" for SHT (SignatureHeader to SignatureEnd)
	SecurityApplicationRange *element.AlphaNumericDataElement
	// "1" for ISS, Herausgeber der signierten Nachricht (z.B. Erfasser oder Erstsignatur)
	// "3" for CON, der Unterzeichnete unterstützt den Inhalt der Nachricht (z.B. bei Zweitsignatur)
	// "4" for WIT, der Unterzeichnete ist Zeuge (z.B. Übermittler), aber für den Inhalt der Nachricht nicht verantwortlich)
	SecuritySupplierRole *element.AlphaNumericDataElement
	SecurityID           *element.SecurityIdentificationDataElement
	SecurityRefNumber    *element.NumberDataElement
	SecurityDate         *element.SecurityDateDataElement
	HashAlgorithm        *element.HashAlgorithmDataElement
	SignatureAlgorithm   *element.SignatureAlgorithmDataElement
	KeyName              *element.KeyNameDataElement
	Certificate          *element.CertificateDataElement
}

func (*SignatureHeaderV3) ID

func (s *SignatureHeaderV3) ID() string

func (*SignatureHeaderV3) SetClientSystemID

func (s *SignatureHeaderV3) SetClientSystemID(clientSystemId string)

func (*SignatureHeaderV3) SetControlReference

func (s *SignatureHeaderV3) SetControlReference(controlReference string)

func (*SignatureHeaderV3) SetSecurityFunction

func (s *SignatureHeaderV3) SetSecurityFunction(securityFn string)

func (*SignatureHeaderV3) SetSignatureID

func (s *SignatureHeaderV3) SetSignatureID(signatureId int)

func (*SignatureHeaderV3) SetSigningKeyName

func (s *SignatureHeaderV3) SetSigningKeyName(keyName domain.KeyName)

func (*SignatureHeaderV3) UnmarshalHBCI

func (s *SignatureHeaderV3) UnmarshalHBCI(value []byte) error

func (*SignatureHeaderV3) Version

func (s *SignatureHeaderV3) Version() int

type StatusProtocolRequest

type StatusProtocolRequest interface {
	ClientSegment
}

func NewStatusProtocolRequestV3

func NewStatusProtocolRequestV3(from, to time.Time, maxEntries int, continuationReference string) StatusProtocolRequest

func NewStatusProtocolRequestV4

func NewStatusProtocolRequestV4(from, to time.Time, maxEntries int, continuationReference string) StatusProtocolRequest

type StatusProtocolRequestSegmentV3

type StatusProtocolRequestSegmentV3 struct {
	ClientSegment
	From                  *element.DateDataElement
	To                    *element.DateDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*StatusProtocolRequestSegmentV3) ID

func (*StatusProtocolRequestSegmentV3) Version

func (s *StatusProtocolRequestSegmentV3) Version() int

type StatusProtocolRequestSegmentV4

type StatusProtocolRequestSegmentV4 struct {
	ClientSegment
	From                  *element.DateDataElement
	To                    *element.DateDataElement
	MaxEntries            *element.NumberDataElement
	ContinuationReference *element.AlphaNumericDataElement
}

func (*StatusProtocolRequestSegmentV4) ID

func (*StatusProtocolRequestSegmentV4) Version

func (s *StatusProtocolRequestSegmentV4) Version() int

type StatusProtocolResponse

type StatusProtocolResponse interface {
	BankSegment
	Status() domain.StatusAcknowledgement
}

type StatusProtocolResponseSegment

type StatusProtocolResponseSegment struct {
	StatusProtocolResponse
}

func (*StatusProtocolResponseSegment) UnmarshalHBCI

func (s *StatusProtocolResponseSegment) UnmarshalHBCI(value []byte) error

type StatusProtocolResponseSegmentV3

type StatusProtocolResponseSegmentV3 struct {
	Segment
	ReferencingMessage *element.ReferencingMessageDataElement
	ReferencingSegment *element.NumberDataElement
	Date               *element.DateDataElement
	Time               *element.TimeDataElement
	Acknowledgement    *element.AcknowledgementDataElement
}

func (*StatusProtocolResponseSegmentV3) ID

func (*StatusProtocolResponseSegmentV3) Status

func (*StatusProtocolResponseSegmentV3) UnmarshalHBCI

func (s *StatusProtocolResponseSegmentV3) UnmarshalHBCI(value []byte) error

func (*StatusProtocolResponseSegmentV3) Version

func (s *StatusProtocolResponseSegmentV3) Version() int

type StatusProtocolResponseSegmentV4

type StatusProtocolResponseSegmentV4 struct {
	Segment
	ReferencingMessage *element.ReferencingMessageDataElement
	ReferencingSegment *element.NumberDataElement
	Date               *element.DateDataElement
	Time               *element.TimeDataElement
	Acknowledgement    *element.AcknowledgementDataElement
}

func (*StatusProtocolResponseSegmentV4) ID

func (*StatusProtocolResponseSegmentV4) Status

func (*StatusProtocolResponseSegmentV4) UnmarshalHBCI added in v0.4.1

func (s *StatusProtocolResponseSegmentV4) UnmarshalHBCI(value []byte) error

func (*StatusProtocolResponseSegmentV4) Version

func (s *StatusProtocolResponseSegmentV4) Version() int

type SyncMode added in v0.1.3

type SyncMode struct {
	// contains filtered or unexported fields
}

type SynchronisationRequestSegment

type SynchronisationRequestSegment struct {
	ClientSegment
}

func NewSynchronisationSegmentV2

func NewSynchronisationSegmentV2(modus SyncMode) *SynchronisationRequestSegment

func NewSynchronisationSegmentV3

func NewSynchronisationSegmentV3(modus SyncMode) *SynchronisationRequestSegment

type SynchronisationRequestV2

type SynchronisationRequestV2 struct {
	ClientSegment
	// Code | Bedeutung
	// ---------------------------------------------------------
	// 0  | Neue Kundensystem-ID zurückmelden
	// 1	| Letzte verarbeitete Nachrichtennummer zurückmelden  
	// 2  | Signatur-ID zurückmelden
	SyncModus *element.NumberDataElement
}

func (*SynchronisationRequestV2) ID

func (*SynchronisationRequestV2) Version

func (s *SynchronisationRequestV2) Version() int

type SynchronisationRequestV3

type SynchronisationRequestV3 struct {
	ClientSegment
	// Code | Bedeutung
	// ---------------------------------------------------------
	// 0  | Neue Kundensystem-ID zurückmelden
	// 1	| Letzte verarbeitete Nachrichtennummer zurückmelden  
	// 2  | Signatur-ID zurückmelden
	SyncModus *element.CodeDataElement
}

func (*SynchronisationRequestV3) ID

func (*SynchronisationRequestV3) Version

func (s *SynchronisationRequestV3) Version() int

type SynchronisationResponse

type SynchronisationResponse interface {
	BankSegment
	ClientSystemID() string
	LastMessageNumber() int
	SignatureID() int
}

type SynchronisationResponseSegment

type SynchronisationResponseSegment struct {
	SynchronisationResponse
}

func (*SynchronisationResponseSegment) UnmarshalHBCI

func (s *SynchronisationResponseSegment) UnmarshalHBCI(value []byte) error

type SynchronisationResponseSegmentV3

type SynchronisationResponseSegmentV3 struct {
	Segment
	ClientSystemIDResponse *element.IdentificationDataElement
	MessageNumberResponse  *element.NumberDataElement
	SignatureIDResponse    *element.NumberDataElement
}

func (*SynchronisationResponseSegmentV3) ClientSystemID

func (s *SynchronisationResponseSegmentV3) ClientSystemID() string

func (*SynchronisationResponseSegmentV3) ID

func (*SynchronisationResponseSegmentV3) LastMessageNumber

func (s *SynchronisationResponseSegmentV3) LastMessageNumber() int

func (*SynchronisationResponseSegmentV3) SignatureID

func (s *SynchronisationResponseSegmentV3) SignatureID() int

func (*SynchronisationResponseSegmentV3) UnmarshalHBCI

func (s *SynchronisationResponseSegmentV3) UnmarshalHBCI(value []byte) error

func (*SynchronisationResponseSegmentV3) Version

type SynchronisationResponseSegmentV4

type SynchronisationResponseSegmentV4 struct {
	Segment
	ClientSystemIDResponse *element.IdentificationDataElement
	MessageNumberResponse  *element.NumberDataElement
	SignatureIDResponse    *element.NumberDataElement
}

func (*SynchronisationResponseSegmentV4) ClientSystemID

func (s *SynchronisationResponseSegmentV4) ClientSystemID() string

func (*SynchronisationResponseSegmentV4) ID

func (*SynchronisationResponseSegmentV4) LastMessageNumber

func (s *SynchronisationResponseSegmentV4) LastMessageNumber() int

func (*SynchronisationResponseSegmentV4) SignatureID

func (s *SynchronisationResponseSegmentV4) SignatureID() int

func (*SynchronisationResponseSegmentV4) UnmarshalHBCI

func (s *SynchronisationResponseSegmentV4) UnmarshalHBCI(value []byte) error

func (*SynchronisationResponseSegmentV4) Version

type TanBankParameter added in v0.4.0

type TanBankParameter interface {
	BankSegment
}

type TanBankParameterSegment added in v0.4.0

type TanBankParameterSegment struct {
	TanBankParameter
}

func (*TanBankParameterSegment) UnmarshalHBCI added in v0.4.0

func (t *TanBankParameterSegment) UnmarshalHBCI(value []byte) error

type TanBankParameterV6 added in v0.4.0

type TanBankParameterV6 struct {
	Segment
	MaxJobs                     *element.NumberDataElement
	MinSignatures               *element.NumberDataElement
	SecurityClass               *element.CodeDataElement
	Tan2StepSubmissionParameter *element.Tan2StepSubmissionParameterV6
}

TanBankParameterV6

Zwei-Schritt-TAN-Einreichung, Parameter

func (*TanBankParameterV6) ID added in v0.4.0

func (t *TanBankParameterV6) ID() string

func (*TanBankParameterV6) MarshalYAML added in v0.4.0

func (t *TanBankParameterV6) MarshalYAML() (interface{}, error)

func (*TanBankParameterV6) UnmarshalHBCI added in v0.4.0

func (t *TanBankParameterV6) UnmarshalHBCI(value []byte) error

func (*TanBankParameterV6) Version added in v0.4.0

func (t *TanBankParameterV6) Version() int

type TanRequestSegment

type TanRequestSegment struct {
	// contains filtered or unexported fields
}

func NewTanProcess4RequestSegmentV1 added in v0.4.0

func NewTanProcess4RequestSegmentV1(referencingSegmentID string) *TanRequestSegment

func NewTanProcess4RequestSegmentV6 added in v0.4.0

func NewTanProcess4RequestSegmentV6(referencingSegmentID string) *TanRequestSegment

type TanRequestSegmentV1 added in v0.4.0

type TanRequestSegmentV1 struct {
	ClientSegment
	TANProcess        *element.AlphaNumericDataElement
	JobHash           *element.BinaryDataElement
	JobReference      *element.AlphaNumericDataElement
	TanListNumber     *element.AlphaNumericDataElement
	AnotherTanFollows *element.BooleanDataElement
	TANInformation    *element.AlphaNumericDataElement
}

func NewTanRequestProcess2

func NewTanRequestProcess2(jobReference string, anotherTANFollows bool) *TanRequestSegmentV1

func (*TanRequestSegmentV1) ID added in v0.4.0

func (t *TanRequestSegmentV1) ID() string

func (*TanRequestSegmentV1) Version added in v0.4.0

func (t *TanRequestSegmentV1) Version() int

type TanRequestSegmentV6 added in v0.4.0

type TanRequestSegmentV6 struct {
	ClientSegment
	TANProcess           *element.AlphaNumericDataElement
	ReferencingSegmentID *element.AlphaNumericDataElement
	JobHash              *element.BinaryDataElement
	JobReference         *element.AlphaNumericDataElement
	TanListNumber        *element.AlphaNumericDataElement
	AnotherTanFollows    *element.BooleanDataElement
	TANInformation       *element.AlphaNumericDataElement
}

func (*TanRequestSegmentV6) ID added in v0.4.0

func (t *TanRequestSegmentV6) ID() string

func (*TanRequestSegmentV6) Version added in v0.4.0

func (t *TanRequestSegmentV6) Version() int

type TanResponse added in v0.4.0

type TanResponse interface {
	BankSegment
}

type TanResponseSegment added in v0.4.0

type TanResponseSegment struct {
	TanResponse
}

func (*TanResponseSegment) UnmarshalHBCI added in v0.4.0

func (t *TanResponseSegment) UnmarshalHBCI(value []byte) error

type TanResponseSegmentV6 added in v0.4.0

type TanResponseSegmentV6 struct {
	Segment
	TANProcess           *element.AlphaNumericDataElement
	JobHash              *element.BinaryDataElement
	JobReference         *element.AlphaNumericDataElement
	Challenge            *element.AlphaNumericDataElement
	ChallengeHHD_UC      *element.BinaryDataElement
	TANMediumDescription *element.AlphaNumericDataElement
	ChallengeExpiryDate  *element.TanChallengeExpiryDate
}

func (*TanResponseSegmentV6) ID added in v0.4.0

func (t *TanResponseSegmentV6) ID() string

func (*TanResponseSegmentV6) UnmarshalHBCI added in v0.4.0

func (t *TanResponseSegmentV6) UnmarshalHBCI(value []byte) error

func (*TanResponseSegmentV6) Version added in v0.4.0

func (t *TanResponseSegmentV6) Version() int

type Unmarshaler

type Unmarshaler interface {
	UnmarshalHBCI([]byte) error
}

type VersionedSegment

type VersionedSegment struct {
	ID      string
	Version int
}

func (VersionedSegment) String

func (v VersionedSegment) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL