About
Protocol is the central payment tunnel for the Soedja ecosystem. Every company that transacts — Bianglala, Arah, SheetBot, and the ones after them — charges through one account, one integration, one signed webhook. It is deliberately boring infrastructure: stable, explicit, and auditable end to end.
Protocol is a single payment tunnel that sits in front of one payment processor and serves many merchants — the companies of the Soedja ecosystem. A merchant never talks to the processor directly. It calls Protocol, and trusts a signed webhook back from Protocol when money moves.
That is the whole idea: one hardened tunnel, shared. Credentials, signing, idempotency, and the audit trail live in one place instead of being re-implemented — and re-broken — inside every product.
Payment code is where small mistakes become expensive ones. Duplicate charges, replayed webhooks, a leaked key, an amount rounded as a float — each of these is a real loss, and each is easy to get wrong when every team wires up payments on its own.
Centralising that surface means it gets built carefully once. When in doubt, Protocol chooses the safer, more explicit option over the clever one — because the cost of being wrong here is paid in someone’s real revenue.
Soedja is a family of products under one company. Each is its own business with its own customers, but they share plumbing rather than rebuild it. Protocol is the payments plumbing.
The integration is three moving parts, and that is the entire surface:
POST /v1/charge and gets back a redirect URL.The full contract — fields, headers, statuses, and how to verify a webhook — lives in the integration guide.
A few rules never bend, because they are what make the tunnel trustworthy:
| Principle | What it means |
|---|---|
| Persist before you process | Every inbound notification is written down before any logic runs. Audit and idempotency depend on it. |
| Verify every signature | A payment notification that fails verification is never processed. |
| Forward-only | A transaction moves forward through its states and never regresses. |
| Every side effect is idempotent | Re-delivering the same event, or retrying a charge, changes nothing twice. |
| Fail closed | An unknown merchant, an inactive key, a malformed request — all are denied, never assumed good. |
| Tenant isolation | A merchant can only ever see its own data. Enforced at the data layer. |
Protocol is built and operated by PT Soember Djaya Masyarakat, the company behind the Soedja ecosystem. One legal entity holds the merchant account; every product transacts under it through Protocol.
Questions about integrating, or about becoming a merchant on Protocol? Reach us through the contact page.
Building on Soedja? Create an account — sandbox is instant, and the dashboard walks you through your first charge.