Live data from Hacker News

Show HN: Iso20022.js – Create payments in 3 lines of code

iso20022js.com

91–100 of 139 posts

Re: Show HN: Iso20022.js – Create payments in 3 lines of code

#91

>> I'd love to know what you think and importantly know about any improvements you'd like us to make! I think it's scary to do any finance related stuff using NPM dependencies. How large is your dependency tree?

Why NPM in particular? Is there any package manager where you don't have to audit your dependencies?

Yes, any repository that uses maintainers and doesn't let anyone upload random stuff to it, like Debian stable. Package maintainers are the missing piece.

Re: Show HN: Iso20022.js – Create payments in 3 lines of code

#92

>> I'd love to know what you think and importantly know about any improvements you'd like us to make! I think it's scary to do any finance related stuff using NPM dependencies. How large is your dependency tree?

That’s what fintech is, one large dependency tree

With 500 MB of unversioned, arbitrary JavaScript?

Re: Show HN: Iso20022.js – Create payments in 3 lines of code

#93
post #25

Super stupid question, but this must have some kind of authentication, right? Where is that part?

as some other comment has pointed out, this is not a payment library at all. It's simply an XML document builder for a specific payment description format, and doesn't actually facilitate a transaction.

Re: Show HN: Iso20022.js – Create payments in 3 lines of code

#94
post #36

The problem with this standard is all the free text and bank specific fields that banks will use instead of the standard. One bank I integrated with had the equivalent of "Our fee is 5.65" in a text field which you had to parse, instead of the field for fees. Of course, the language of that string could also change. Fun times

Same thing happens with ISO8583. Plenty of firms have an ISO8583-compatible spec, except anything remotely interesting happens in vendor-specific fields with a galaxy of different architectures.

Re: Show HN: Iso20022.js – Create payments in 3 lines of code

#95
post #87
post #71

Earlier quoted context omitted.

Banks add their own features to the spec - imagine they want to add a new "Bank only" attribute that makes their XML schema differentiated and better in some way. ISO20022 / XML allows this to be possible without breaking anything. In the past payment formats used to be fixed width text files - impossible to change or improve functionality for

> impossible to change or improve functionality for You have to think inside the box! What if, say, instead of lastname "SMITH" we used "SMITH,FEE: 5.65"

I wish this example was exaggerated.

Re: Show HN: Iso20022.js – Create payments in 3 lines of code

#96
post #60

XML Schema Definitions for all ISO20022 messages are public: https://www.iso20022.org/iso-20022-message-definitions There are tools that can turn the schema files into POJO/dataclasses/structs/etc in your language of choice, sometimes with proper data validation. Not sure about Typescript, but Java/Python/Golang definitely have those. It may very well be lost knowledge in certain ecosystems, but generating a valid XM…

Thanks for your comment mkuznets. I appreciate your input regarding XSD to class conversion - I agree that this is a super useful concept for sending ISO20022 files. I think there's always some ergonomic gap between these XML Schema generated classes and SDKs that developers are comfortable using. My intention for this library is for a non-payment developer to be able to interact with the ISO20022 schemas, while bein…

I am currently implementing an ISO20022 integration at a large financial institution. The way these generally work is that whatever network you're connecting with will require a certain standard number of an ISO20022 message. When you send the generated messages, they must be valid as per the specific schema in question. If not, they will be rejected. I'm speaking specifically about payment networks, not consumer level payments.

Generating classes from the XSD's is fairly trivial in most languages. The hard part is being able to read the XSD's and then being able to create the ISO20022 message with all of the required elements (given all the possible combinations of valid elements).

I guess creating a code-time library where it was not possible to create an ISO20022 message that invalid would be interesting. But being able to create invalid ISO20022 is fairly easy to do for free.

Re: Show HN: Iso20022.js – Create payments in 3 lines of code

#97
post #14

It’s a shame it’s probably going to take another 10 years before any of the banks actually migrate to ISO20022 (if it ever happens) SwiftMT conversion software is currently the big sell so they don’t have to rewrite / build everything they already have.

As of early next year, the Fed (US) will not accept anything other than ISO20022 messages on their networks. So any banks that are using Fed networks are required to use ISO20022.

Re: Show HN: Iso20022.js – Create payments in 3 lines of code

#98
post #14

It’s a shame it’s probably going to take another 10 years before any of the banks actually migrate to ISO20022 (if it ever happens) SwiftMT conversion software is currently the big sell so they don’t have to rewrite / build everything they already have.

As of early next year, the Fed (US) will not accept anything other than ISO20022 messages on their networks. So any banks that are using Fed networks are required to use ISO20022.

I wouldn’t hold your breath

Re: Show HN: Iso20022.js – Create payments in 3 lines of code

#99

The difficult thing about payments is not necessarily formatting payment instructions to ISO20022, but rather setting up the underlying infrastructure like: - Shelving a Windows box in some authorized datacenter. - Going through a years long process of getting certified to send payment instructions to the scheme (e.g. SWIFT network). - Receiving a couple of USB sticks that contain certificates and signing keys. - Con…

Can you go into a bit more detail here. Seems like there are a lot of hurdles in place to preventing any random from just moving money around?

There are a lot of hurdles. I'm not exactly sure why an end-user would even want to use ISO20022. Some end-user system may use ISO20022 behind the scenes, but the UI's are very simplified. ISO20022 as far as I have used it (20+ years in finance) is for payment networks. And a random person can't just send messages on any payment networks that I'm aware of. These payment networks generally exist as message queues that are interconnected and they use ISO20022 as the data format.

Not to mention that the flows of ISO20022 messages are full duplex. If you send a message you need to be ready to handle a response (acceptance or rejection of a credit/debit for example).

Re: Show HN: Iso20022.js – Create payments in 3 lines of code

#100
post #87
post #71

Earlier quoted context omitted.

Banks add their own features to the spec - imagine they want to add a new "Bank only" attribute that makes their XML schema differentiated and better in some way. ISO20022 / XML allows this to be possible without breaking anything. In the past payment formats used to be fixed width text files - impossible to change or improve functionality for

> impossible to change or improve functionality for You have to think inside the box! What if, say, instead of lastname "SMITH" we used "SMITH,FEE: 5.65"

I saw an airport running with stuff like this, too. A mixture of brilliant and insane engineering in that place…
Post reply on HN