How to Send a Swift Wire for Developers
21–30 of 32 posts
Re: How to Send a Swift Wire for Developers
#22Cool to see how swift wire payments works in practice, but using JS floating point numbers for money amounts is a disaster waiting to happen
It would be if it did any arithmetic. But maybe it works without any computation. Then the fp arithmetic is not a problem. Or could you provide an example?
IDK about banks; in one billing system where I was involved we used decimals (and clear rules of assignment of the rounding errors), in another, all amounts were in picodollars.
Re: How to Send a Swift Wire for Developers
#23Earlier quoted context omitted.
It would be if it did any arithmetic. But maybe it works without any computation. Then the fp arithmetic is not a problem. Or could you provide an example?
Neither 0.1 nor 0.01 are representable exactly in binary (much like 1/3 is not representable exactly in decimal). Thus means that your cents, if any, are never precise. Not a big deal for Swift transfers where you can safely round to cents. But various commissions, taxes, and fees are often very small fractions, and rounding errors become noticeable with large quantities of small amounts added / subtracted. They may…
Partially Im just playing the devils advocate here, I know that you have to use Decimals for working with prices etc., (maybe they did not use it because it will be pretty fat dependency), but still imho it's not needed.
Re: How to Send a Swift Wire for Developers
#24Cool to see how swift wire payments works in practice, but using JS floating point numbers for money amounts is a disaster waiting to happen
See the https://dinerojs.com/ package to see how money is handled (tldr it's a combination of currency and amount which helps us get to the root #)
Re: How to Send a Swift Wire for Developers
#25Hey HackerNews, I published iso20022js.com a few weeks ago, and I was incredibly surprised by the overwhelming traction it received. I wanted to share more about some payments fundamentals that engineers might need in order to run this package - specifically, how sending these types of bank payments actually works.
> I published iso20022js.com a few weeks ago And from the linked article: > iso20022.js is the most popular open-source library that you can use to create ISO20022 messages programatically How's that possible?
Re: How to Send a Swift Wire for Developers
#26Nice article! It's always interesting to look behind the scenes of payment infrastructure. BTW, when I tried the interactive demo [1] I noticed that it appended "undefined" to the end of the generated XML. Happens both in Firefox and Chrome, so it doesn't seem to be a browser quirk. [1] https://www.iso20022js.com/demo
Re: How to Send a Swift Wire for Developers
#27But sending the transaction is just ONE part of the ISO. There are a lot of other different messages that are part of the standard: https://www.iso20022.org/iso-20022-message-definitions
ISO20022 has a huge namespace and can do all kinds of things. My current focus on making transaction banking namespaces more accessible (think pain.001 002 and 008) aswell as CAMT files
Re: How to Send a Swift Wire for Developers
#28> you will need to configure the bank to allow for direct transmission. This is a process that your bank will need to complete with you. How easy is this process? Are all banks required to provide such a service? How about countries outside the USA
As far as I know, this is an international phenomenon. Keep in mind this is corporate banking, not consumer banking.
I'd happy answer any other questions you have @ https://cal.com/woodside/iso20022js
Re: How to Send a Swift Wire for Developers
#29Cool to see how swift wire payments works in practice, but using JS floating point numbers for money amounts is a disaster waiting to happen
That seems super dumb indeed. I really wish JSON had an actual decimal type, we already have valid "e" notation (like 10e2), why not have a "d" notation, like 5d3 (meaning 5.3) or 5.3d.
For financial calculations I recommend using Dinero.js
Re: How to Send a Swift Wire for Developers
#30Earlier quoted context omitted.
That seems super dumb indeed. I really wish JSON had an actual decimal type, we already have valid "e" notation (like 10e2), why not have a "d" notation, like 5d3 (meaning 5.3) or 5.3d.
All amounts in this library are in base units (whole numbers) and no arithmetic is used! For financial calculations I recommend using Dinero.js