Discovery is advisory, not a guarantee. A method or brand can appear in
the response without being transactable in every case (for example, a
brand’s
features object can describe a capability that isn’t fully wired
up yet). Treat the response as a hint for your UI, and let the actual
purchase or authorize call be the source of truth for whether a payment
succeeds.Steps
1
Get an access token
Both endpoints accept a secret key’s access token or a publishable key’s
JWE — any valid merchant token works, with no scope requirement.
Publishable-key callers must send an
Origin header that matches one
of your allow-listed domains, or the request is rejected with
403 urn:radiumone:checkout:origin-not-allowed.This request requires a valid access token. See Authentication to obtain one with
POST /v1/auth/token before you continue.2
Call list payment brands with currency, channel and amount
The
channel enum above is the one that actually matters at request
time. Some older references describe a different, informal list for
this parameter — that list doesn’t correspond to any accepted value.3
Render buttons from priority_rank and display_name
The response
data includes outlet_id, currency, channel,
payment_methods[] and evaluated_at (plus cache_hit for the brands
endpoint). Each brand product carries code (for example visa or
uob_irr), display_name, priority_rank, and a free-form features
object — sort by priority_rank and label each button with
display_name.- Method types
- Brands and features
4
Charge with the method the shopper picks
Send the shopper’s choice on the
purchase or authorize request.
Discovery only tells you what to render — the charge call is still the
source of truth for whether the payment succeeds.
Caching
Results are cached for 60 seconds per (merchant, outlet, currency, channel, amount bucket). Don’t call discovery on every keystroke of a checkout form — cache the result on your side for the lifetime of the page, too.Errors
Defined once on Payment method errors: Discovery:checkout:origin-not-allowedauth:outlet-binding-violation—outlet_iddoesn’t match your key’s bound outletcheckout:outlet-not-foundcheckout:currency-not-supportedcheckout:no-candidates
Next steps
Supported payment methods
What a method type and brand are, and what’s available today.
Charge or authorize a payment
The
channel enum used across purchase, authorize and discovery.