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.
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?
Should be fine up to about 9 quadrillion[1]. Though with arithmetic it can get messy. The example doesn't show, but I hope dollar amounts are in cents and don't use decimals.
Maybe when sending money to Zimbabwe it could be an issue.
Thanks for bringing this up chuzz - we're actually only using base amounts for the money representation for amounts here. (no $2.3232321), only (amount: 232)
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 #)
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.
This is frankly the actually difficult part of the process. ISO20022 is just a way to send messages, your actual commercial and settlement arrangements still need to be done. Banks are not required to provide such a service, you will specifically need an arrangement with a bank that offers that. Or more likely with an intermediary like Wise which will abstract the distractions like ISO20022 away from you.
> Are all banks required to provide such a service? How about countries outside the USA
I'd be more worried about banks in the USA than outside. You won't get "No, we only take endorsed and double-signed paper checks!" from a European bank...
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
This is cool; I'd love to hear more about how the actual transfer of money works e.g clearing, r-transactions and so on if you're looking for a follow up blog ;)
Since you mention r-transactions (which is specific to SEPA): the SEPA rulebooks are surprisingly easy to read (e.g. for SCT[1]). For the US, NACHA maybe publishes similar specs? Neither are Swift though, for that perhaps https://www.swift.com/standards is what you're looking for.
How the actual settlement happens (e.g. RTGS/Target 2) is a bit more involved, and you won't find that in these rulebooks.
Nice 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.
chuzz|1 year ago
RedShift1|1 year ago
krystofee|1 year ago
morepork|1 year ago
Maybe when sending money to Zimbabwe it could be an issue.
[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
svapnil|1 year ago
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 #)
svapnil|1 year ago
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.
miki123211|1 year 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?
acheong08|1 year ago
How easy is this process? Are all banks required to provide such a service? How about countries outside the USA
paperpunk|1 year ago
svapnil|1 year ago
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
CRConrad|1 year ago
I'd be more worried about banks in the USA than outside. You won't get "No, we only take endorsed and double-signed paper checks!" from a European bank...
hansoolo|1 year ago
svapnil|1 year ago
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
cyberpunk|1 year ago
bux93|1 year ago
How the actual settlement happens (e.g. RTGS/Target 2) is a bit more involved, and you won't find that in these rulebooks.
[1] https://www.europeanpaymentscouncil.eu/what-we-do/epc-paymen...
kirmerzlikin|1 year ago
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
svapnil|1 year ago
paperpunk|1 year ago
unknown|1 year ago
[deleted]
Grandeculio|1 year ago
[deleted]