Compare experiences
For personal sales channels, such as retail stores and restaurants, you can use Flexa Payments to accept digital currency payments using one or any combination of our lightweight apps and API integrations. All acceptance options include complete fraud protection, full legal and regulatory compliance coverage, and guaranteed settlement at the time of authorization.
Choosing the best payments experience for your in-person payments integration often comes down to a single factor, which is whether you have the ability to present a dynamic QR code on a customer-facing display during checkout.
At Flexa, we use the terms “customer-presented” and “merchant-presented” to help distinguish between in-person payments that are initiated by data displayed on a customer’s mobile device and data displayed on a merchant point-of-sale device, respectively. If your in-person acceptance equipment can present a dynamic QR code to customers at checkout, your optimal integration path will almost always consist of a merchant-presented payments experience like payment pages.
If you can’t use a customer-facing display to present QR codes at checkout, you can still enable Flexa Payments at points-of-sale using customer-presented payments. Flexa’s customer-presented payment experience, making use of payment clips, is processed by your sales associates using any generic optical barcode scanner. While an approach using only payment clips will necessarily constrain your reach to a limited number of Flexa-enabled apps, we’ve also found that payment clips offer a 2–3× faster checkout experience, and may therefore be preferable when optimizing for customer time-in-lane.
:::callout A note about the payment clips experience
The payment clips experience is currently only available within a limited number of “Flexa-enabled” apps whose developers have integrated the Flexa Layers SDK. When these apps interact with a Flexa payments page, however, we automatically “upgrade” them to the payment clips experience instead. As a result, if you integrate with payment pages for your in-person payments, you can take advantage of all of the benefits of payment clips for Flexa-enabled apps, while also enabling acceptance for the broadest possible set of wallets.
:::
Our Sales team can help you navigate any other constraints that might impact your desired payments experience. For example, if you can’t offer a customer-facing display at checkout, but want to ensure your reach to all digital currency wallet apps, you might try integrating Flexa Payments directly into your mobile app so that your customers can purchase closed-loop credit in advance of an in-person payment.
Or, if your roadmap requires a phased approach, and a direct payment pages or payment clips integration is cost-prohibitive, you could try launching a pilot with an upstream gateway or through a limited deployment of our Point of Sale app. Whatever the circumstances, we’ll be glad to help you find a workable solution for your use case.
Use payment pages with QR codes
Payment pages are “checkout”–style web pages, hosted by Flexa, that your customer can access on their personal mobile device in order to make a digital currency payment according to their own preferences (such as using a desired app or payment currency). Our payment pages are meticulously designed to optimize for conversion from the widest variety of digital currency wallets in mobile contexts, and as a result, we highly recommend this Flexa Payments experience for most integrations. Payment pages are also easy to implement for in-person payments, requiring just 2–3 requests to the Flexa API for each completed digital currency authorization. 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 in-person checkout experience yourself with just a few lines of code:- Configure “Flexa” as a new tender type for your store associates to select on your point-of-sale terminal when a customer asks to make a digital currency payment.
- Decide what style of payment page you want to appear on your customer’s mobile device. Possible options include
pay,buy, ordonate. The style you choose will determine the label on the submit button presented to the user (e.g., “Pay Now”). - When your point-of-sale device is ready to collect payment from your customer, create a link that includes the total payment amount you want to collect as a
totaldebit object along with the optional confirmationmessageyou want to display upon payment completion. - Next, render the
urlof the returned link object as a QR code. If space is limited on your customer-facing display, you can also try uppercaseing the URL before rendering the QR code in order to take advantage of the QR code format’s uppercase-only alphanumeric encoding mode], which conveys data more densely. - Prompt your customer to scan the QR code using the default camera app on their mobile device. Optionally, also display a prompt for your sales associates to help them guide your customer to payment completion (e.g., “Ask customer to scan QR code using their mobile camera app”).
- Finally, watch for a
commerce_intent.completedevent that corresponds with the commerce intent identifier returned with the link object you created in step 3. This event indicates that the digital currency payment has successfully processed and that you can now proceed with closing out the transaction.