Graj Sdk on the GRAJ protocol. One fee. 195 countries. Join the protocol.
The interesting question about an SDK for a commerce protocol is not which language it is in — it is which invariants it enforces for you, so that an integration cannot make the mistakes the protocol works hard to prevent.
Every amount in minor units, never a float, and never a client-computed total sent to a server that trusts it. A library that makes the wrong thing hard to type prevents a class of bug that documentation never will.
A rejected write should say which field, which constraint and what to do — not return a database message. That is the difference between an integration somebody finishes and one they abandon at the second wall.
A client library should make a retried mutation safe without anybody thinking about it, because the developer who forgets is not being careless — they are being human at the end of a long day.
Designed, not published. The design principles are recorded here so they can be argued with before any code is written, which is the cheapest moment to change them.