Skip to main content

Integrated checkout

Radom integrated checkout is the right choice when you want to keep the payment experience inside your own product while still relying on Radom for payment session creation, payment instructions, and settlement state.

When to use integrated checkout

  • You want the payment UI to live inside your own app or checkout surface.
  • You want to control the payment method selection experience yourself.
  • You are comfortable rendering payment instructions such as address, amount, and expiry in your own interface.

Typical flow

  1. Present the supported payment methods you want to offer.
  2. Create a payment session from your backend once the customer chooses a method.
  3. Render the returned payment instructions inside your own UI.
  4. Use webhooks and, where needed, status reads to track completion or expiry.

Before you start

Create a payment session

Create payment sessions from a secure backend. The customer-facing application should request the session from your own server rather than calling Radom directly.

{
"total": 39.99,
"currency": "USD",
"method": {
"network": "Ethereum",
"token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
}
}

The full request and lifecycle endpoints are documented in the payment session API reference.

What to render from the response

{
"id": "9280fe2b-888d-4a9c-9a2d-511e6b1d512a",
"method": {
"network": "Ethereum",
"token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
},
"total": "1",
"currency": "USD",
"sessionStatus": "pending",
"paymentTotal": "1",
"paymentAddress": "0x9d0615b0fd5b3e4049cbfa85b2cb451ac0273a00",
"transactions": [],
"canExtend": true,
"expiresAt": "2023-06-13T21:11:36.781920Z",
"createdAt": "2023-06-13T20:41:36.746231Z"
}

The most important fields to render or store are:

  • method: the network and token the customer should use.
  • paymentAddress: the destination address for the transfer.
  • paymentTotal: the human-readable amount the customer should send.
  • expiresAt: the session expiry time you should surface in your UI.
  • id: your handle for reconciliation, status checks, or later session actions.

Operational notes

  • Use webhooks for completion and reconciliation rather than relying on the customer closing your UI.
  • If you need to re-check state from your own backend, use the read endpoints in the API reference.
  • Integrated checkout is usually the best fit when you already control cart state, customer state, and final order orchestration inside your own product.

See also