Features
Turnkey experience
Fully managed UI and transaction logic with automated state handling.Simple event-based integration with minimal error handling required.
Flexible payment method support
Accept credit and debit cards, bank, and crypto transfers out of the box.Control which methods users see, with more options on the way.
Multi-platform embedding
Embed seamlessly into web apps via iframe and native apps via WebView.Consistent user experience across all platforms.
Real-time event handling
SDK emits lifecycle events such as success, error, and cancellation.Integrate deeply with your app’s flow and UI feedback.
Enterprise security
Built on top of Uphold’s secure API infrastructure.Ensures strong access control and secure transaction handling.
Rapid SDK integration
Lightweight SDK to instantiate and control the Widget.Go live quickly with minimal frontend effort.
Using the widget
The Payment Widget is designed to be embedded into your application to collect payment methods for deposits and withdrawals.Installation
Follow Installation & setup for npm install steps, iframe mounting, and WebView (native) notes.Integration
- Create a session with Create session using the flow slug (
select-for-depositorselect-for-withdrawal). - Mount the widget with the returned session (iframe for web, bridge for native) using the patterns in Installation & setup.
- Handle events:
complete(selection result),cancel, anderrorto keep your UI in sync. - Finish the flow: follow the flow docs to complete backend steps — Select for deposit or Select for withdrawal for bank transfer/card selection, and Authorize when card authentication is required.
When to use the widget
- Bank/Crypto deposits (push): Use the Select for deposit flow for the widget and backend steps needed to monitor and credit funds.
- Bank/Crypto withdrawals (quote-based): Use the Select for withdrawal flow for the widget and backend steps needed to quote and execute payouts.
- Card payments: Both flows support saved cards via
external-account; when card auth is needed, use the Authorize flow.