go-structs-ISO20022and8583

command
v0.0.0-...-af629cb Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2022 License: Apache-2.0 Imports: 20 Imported by: 0

README

ISO 20022

Thanks to Assis Ngolo for this part of the repository.

Go implementation of the ISO 20022 standard. This package consumes valid iso20022 XML strings and returns Go structs to be processed by an iso20022 application.

Setup

go get github.com/figassis/bankiso
For debugging purposes only. Not required if not building
go get github.com/davecgh/go-spew/spew
cd $GOPATH/src/github.com/figassis/bankiso
go build

Testing

./bankiso -f bankiso -f msg-examples/payments/pain.009.001.04/Business\ example3\ pain.009.001.04.xml

Usage in a project

Take a look at https://github.com/figassis/bankiso/blob/master/main.go

Each iso20022 schema results in a different struct, and therefore a different go type. I've decided to use interfaces, type assertions and type switches to provide a sane way to handle all messages.

I’ve created an interface ISOMessage, which all iso20022 (and later 8583) messages implement, so they can all be returned from the same function.

The package maintains a library of struct types that it picks according to the message code it reads from the XML string.

A function then unmarshals the XML into the chosen struct and returns an ISOMessage.

You can then use a type switch to type assert the message and call the correct handling function.

License

Q Public License 1.0 (QPL-1.0)

Copyright © Assis Ngolo

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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