One-click checkout

The one-click checkout flow enables partners' clients to effortlessly purchase cryptocurrency through the On-Ramp, all in a single step.

To set up this flow, the partner should initialize the widget with the Quote created for a specific payment method and the Request with the corresponding payment method.



  1. To ensure that the authentication step is skipped in the onramp, one of the conditions below should be met:
  • user has an active section in cookies
  • partner has the Single sign-on feature enabled and widget has been started with the one-time authentication token.
  1. Partner application has an interface for the user to select payment method, fiat, crypto asset and amount.

User flow steps

  1. The user selects the amount, preferred currency, and payment method in the partner's app.
  2. Paybis widget is initiated.
  3. The user lands directly on the payment page.
  4. The user enters payment details (credit card data, bank account details, etc.) and authorizes the payment.
  5. The user completes KYC if required.
  6. After processing the payment, Paybis initiates the cryptocurrency payout to the user's wallet.
  7. The user gets a crypto payout and lands on the transaction completed page.

Integration flow steps

1. Get the list of supported currency pairs and payout methods

Partner calls the GET Currency Pairs Buy Crypto endpoint of our API to get the actual list of assets available for the user's purchasing.

Use the GET Payment Methods endpoint to retrieve the list of supported payment methods for a certain fiat/cryptocurrency pair.

2. Request a Quote

Call the POST Quote endpoint to request a quote for a specific payment method.


It's important to specify the paymentMethod when requesting a quote. Otherwise, the quote will be generated for all available payment methods, requiring the user to go through the complete journey within the widget instead of benefiting from the one-click flow.

The Paybis backend processes the received data and returns a quote to your application. See the response here.

Your application is responsible for displaying the quoted information to your user.

  1. Get the Request ID required to initiate the On-Ramp

If the user confirms the quote (e.g. clicks the BUY button in your app), generate the Request. Along with other optional parameters (user's email, Know Your Customer (KYC) information, user's crypto wallet, authentication option - Single sign-on), it is required to pass the quoteId retrieved in Step 2 and the paymentMethod value that matches the payment method for which the quote has been generated.

The Paybis Widget backend responds with a requestId(and oneTimeToken if Single sign-on applies).

  1. Run the Widget UI with the retrieved requestId and oneTimeToken (optional)

Provided that the user has an active session in the onramp or Single sign-on is used, the transaction is created together with the onramp initialization and the user lands on the payment screen. However, if the user is not authenticated, they will be prompted to enter their email address and a One-Time Password (OTP) for verification.

  1. User makes a payment

The user enters the credit card/online banking/eWallet details (depending on the payment method) and submits the payment.

Paybis backend processes the transaction data and authorizes the payment (if applicable).

  1. KYC

After successful credit card authorization, the user will be prompted to submit the verification data (one-time KYC process). For payments via online banking or eWallets, KYC is triggered before the payment can be processed. Your application has the option to pass this KYC data in step 5. If you do, this step is skipped and the user automatically moves to step 19. To learn more about KYC options, read Share KYC and Trusted KYC articles.

Paybis backend processes the KYC data and approves the user's verification.

  1. Paybis makes a crypto payout

Upon approving the user's verification, the Paybis backend immediately initiates a cryptocurrency payout. The user receives the cryptocurrency at the destination wallet address.