Configuration
RezolvePay.configure
| Field | Type | Description |
|---|---|---|
baseUrl | String (required) | The RezolvePay endpoint you were given, e.g. https://pay.rezolve.com. Trailing slash tolerated. Throws RezolvePayConfigurationException if empty, or if the SDK is used before it is called. |
merchantId | String? (optional) | Needed only for SDK-side token minting. Must be supplied together with merchantApiKey — half a pair throws rather than failing later as a 401. |
merchantApiKey | String? (optional) | A merchant-wide credential. Only needed to mint tokens in-app, and only travels on /checkout/init. Shipping it in a public app publishes it — see Two ways to get a token. |
RezolvePayCardForm
| Field | Type | Description |
|---|---|---|
widgetToken | String (one of two) | Single-use token minted by your backend. One mount spends one token. Supply this or order, never both or neither. |
order | RezolvePayOrder? (one of two) | amount (minor units), currency, orderId. The SDK mints its own token for it, which needs merchant credentials on configure and makes customerEmail required. See Two ways to get a token. |
onSuccess | (RezolvePayPayment) → void (required) | Fires only after RezolvePay itself records the payment as confirmed. Carries paymentId, status, updatedAt. |
onFailure | (RezolvePayError) → void (required) | Declined, errored, or outcome unknown. Always check needsReconciliation before telling the shopper it failed. |
customerEmail | String? (optional) | Identifies the shopper. Saved cards are looked up by it — omit it and no saved-card pills appear, exactly as for an anonymous web checkout. It is also what binds the widget token to a shopper, if you did not bind it at mint time: the checkout call sends no email of its own and reads it off the token. |
returnUrl | String? (optional) | Where the shopper's bank returns them after a pay-by-bank approval. Must be an absolute https URL you already serve — the API rejects anything else, including app schemes. Omitted ⇒ the bank tile is not offered. |
showSaveCard | bool (default true) | false hides the save-card switch, for guest-only flows. |
onContinueToShop | VoidCallback? (optional) | The success screen's CTA. Omitted ⇒ the button is inert rather than a dead end. |
onTermsTap | VoidCallback? (optional) | Opens your terms. Omitted ⇒ the T&C line renders as plain text, not a dead link. |
baseUrl | String? (optional) | Per-instance override of the package-level origin. Mainly useful in example and test apps. |
controller | RezolvePayCardPaymentController? (optional) | Supply your own instead of letting the widget build one. |
RezolvePayCardPaymentController — advanced
Everything above, plus tuning and the test seams. The defaults mirror the browser widget's own polling constants; you rarely need to change them.
| Field | Default | Description |
|---|---|---|
pollInterval | 1500 ms | Gap between status polls. |
maxPollAttempts | 20 | ≈30 s budget for card payments. |
maxBankPollAttempts | 120 | ≈3 min for pay-by-bank. Longer on purpose: the poll runs while the shopper is still logging in at their bank. |
What you never configure: No publishable key, connected account, or list of enabled payment methods appears in any of the tables above. Those arrive at runtime, per merchant, from
POST /api/v1/checkout/lookup— which is also why switching a merchant's PSP settings needs no app release.
Updated about 4 hours ago
Did this page help you?

