Skip to main content
POST
Resolve bank-selection requirements before a bank-redirect purchase
Some redirect-to-bank methods need the shopper’s bank chosen before you call POST /payment/purchase — the bank code has to be pinned to the exact connection it was resolved against, since a bank/issuer code is not a shared namespace across providers. POST /payment/bank-options runs routing ahead of time so your checkout UI knows whether (and how strongly) to render a bank picker.
Whatever connectionCode this endpoint returns must be echoed back on the actual purchase call, regardless of bankSelectionMode — this was empirically confirmed, not just theorized: PayU’s own PSE bank codes were cross-checked against an independent Colombia bank-code reference and several diverged outright. Routing to a different connection between this call and the purchase call would make the chosen bank code meaningless.

bankSelectionMode

Coverage today is pse, fpx, and ideal only. Other bank-redirect methods return bankSelectionMode: "none" — this is not necessarily proof they never need one, only that Therius doesn’t source a bank list for them yet.

Check before rendering a picker

Use the result on the purchase call

The JS SDK’s Checkout Widget calls this automatically for pse, fpx, and ideal panels the first time they’re submitted, and caches both the result and the connectionCode per method — you don’t need to call it directly if you’re using the widget.

Body

application/json
key
string
required

Your merchant code.

paymentMethod
string
required

The APM method code to check, e.g. pse, fpx, ideal.

currency
string
required
amount
integer
required

Minor units.

Response

Bank selection requirements for this provider/method combination

bankSelectionMode
enum<string>

required: purchase will fail without a chosen bank (pse via PayU, fpx via Adyen). optional: a picker is available and skips the provider's own hosted picker, but purchase works fine without one (ideal via Adyen). none: nothing to pick, or no bank list is available yet for this provider/method.

Available options:
required,
optional,
none
connectionCode
string

Echo this back as connectionCode on the actual purchase call, regardless of bankSelectionMode -- bank/issuer codes are not a shared namespace across providers.

banks
object[]