Configuration

RezolvePay.configure

FieldTypeDescription
baseUrlString (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.
merchantIdString? (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.
merchantApiKeyString? (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

FieldTypeDescription
widgetTokenString (one of two)Single-use token minted by your backend. One mount spends one token. Supply this or order, never both or neither.
orderRezolvePayOrder? (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.
customerEmailString? (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.
returnUrlString? (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.
showSaveCardbool (default true)false hides the save-card switch, for guest-only flows.
onContinueToShopVoidCallback? (optional)The success screen's CTA. Omitted ⇒ the button is inert rather than a dead end.
onTermsTapVoidCallback? (optional)Opens your terms. Omitted ⇒ the T&C line renders as plain text, not a dead link.
baseUrlString? (optional)Per-instance override of the package-level origin. Mainly useful in example and test apps.
controllerRezolvePayCardPaymentController? (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.

FieldDefaultDescription
pollInterval1500 msGap between status polls.
maxPollAttempts20≈30 s budget for card payments.
maxBankPollAttempts120≈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.


Did this page help you?