Online payments
Explore how to accept digital currency payments with Flexa.
Compare experiences
Within online sales channels, you can use Flexa Payments to accept digital currencies using payment pages (some code required) or your own custom UI.
Regardless of the path you choose, all digital currency payments processed by Flexa include complete fraud protection, full legal and regulatory compliance coverage, and guaranteed settlement at the time of authorization.
Payment Pages | API Only | |
---|---|---|
OVERVIEW | Quickly deploy our hosted UI for simple, fast, and wide-reaching acceptance. | Build your own integration for a fully bespoke experience. |
INTEGRATION EFFORT | Some code | Lots of code |
SALES CHANNELS |
|
|
DIGITAL CURRENCIES | All supported currencies | All supported currencies |
CUSTOMER UI | Responsive web only (desktop and mobile) | Responsive web and native mobile apps |
OTHER FEATURES |
|
|
PARTNER AVAILABILITY | Leading providers | Only available directly from Flexa |
Because online payments occur in a merchant-presented context (i.e., within a webpage), there are no limitations on the types of digital currency payment methods that can be offered for acceptance. Therefore, given any app or network, Flexa Payments always presents your customer with the fastest and most customer-centric payment method in accordance with their individual payment preferences.
Supported payment methods include:
- Popular wallet adapters, such as WalletConnect and Solana Mobile Wallet Adapter
- QR code payment requests, implementing network-native specifications like BIP 21
- Web3 browser extensions, such as Coinbase Wallet and MetaMask
- Universal links
- Copy-and-paste
Where possible, Flexa Payments also implements app-specific affordances for optimal usability. For example, if a wallet app requires your customer to input their payment’s destination address prior to entering the amount, Flexa Payments will always present those fields for copying to the clipboard in the appropriate order.
Use payment pages with redirects
Payment pages are “checkout”–style pages, hosted by Flexa, that provide a responsive web experience for gathering all the necessary details to receive a digital currency payment from one of your customers. We’ve meticulously designed our payment pages to optimize for conversion from the widest variety of digital currency wallets, and as a result, we highly recommend this Flexa Payments experience for most integrations.
Payment pages are also easy to implement, requiring just 2–3 requests to the Flexa API for each completed digital currency payment. Our Sales team can help you choose a partner who is already providing Flexa payment pages through their payment gateway or middleware. Alternatively, you can integrate payment pages into your checkout experience yourself with just a few lines of code:
- Add a new button to your checkout page that will present the Flexa Payments experience to any customers who want to pay with digital currency. We recommend using a button label like Pay with Digital Currency or Pay with Flexa.
- Decide what style of payment page you want to display in your checkout flow. Possible options include
pay
,buy
, ordonate
, and the style you choose will determine the label on the submit button presented to the user (e.g., “Pay Now”). - When your customer is eligible to begin checkout, create a link that includes the total payment amount you want to collect as a
total
debit object along with theredirect_url
of the confirmation page to display upon payment completion. Or, for better performance, create a link before your checkout page is loaded, and update it only when your customer modifies their cart or shipping options. - Finally, attach the
url
of the returned link object to the button you created in step 1. Don’t open the payment page in a blank window—your customer will be automatically redirected to your confirmation page after a successful payment. - To monitor payment completion for your internal records, you should watch for a
commerce_intent.completed
event that corresponds with the commerce intent identifier that was returned with the link object you created in step 3. (Due to the possibility of a lost network connection, it’s not reliable to use the rendering of your customer’s confirmation page as an indicator of a completed payment.)
Integrate directly with the Flexa API
If the Flexa-hosted payment page isn’t sufficient for your needs, you can also build a custom integration directly on top of commerce intents. With this approach, Flexa provides all of the necessary frameworks for requesting and capturing digital currency payments from your customers, and you provide the acceptance UI.
Contact our Sales team for more information on building your own payments acceptance experiences with the Flexa API using commerce intents.