Embedding the QuickBuy Widget into your site or app provides your customers with a convenient way to make payments to your crypto wallets, or their own, using their credit or debit cards.

Integration steps

  • When signing up to host the widget you should provide us with the URLs for the webhook detailed below and also the URL’s of the pages you wish to host the widget on for us to white list.

  • You will be provided with an API key, and a shared secret, which you should store securely.

  • Embed the widget Javascript in your page, and provide it with the required data when

    serving the page (including the API key, CustomerID, and a signature token for the


  • In production you will also need to provide us with wallet addresses for the crypto assets

    you will be accepting or the widget can be configured so that the customers put in their own address at the point of purchase.


You need to provide the following webhooks:

  • An endpoint to receive the details of captured fiat payments.

  • An endpoint to receive the details of cryptocurrency deposited into the customers wallet.

Payment flow

The steps for a successful payment are as follows:

  • Generate a signature for the transaction (see details below). Pass this to the page hosting the widget Javascript, along with your API key.

  • The user will first select the assets they wish to exchange, and then be prompted to log in (Figures 2 & 3)

  • If this is the first time the user has logged in, they will undergo a KYC check.

  • The user is prompted to input a wallet address – we then check the wallet address is valid

  • The user then chooses to pay with a new card or any of their saved cards if they are a

    returning customer.

  • Once the payment is captured we will make a callback to your captured fiat payments

    webhook containing details of the transaction.

  • Once the exchange has been completed, the amount of the crypto asset purchased will be

    paid to the nominated wallet address (less the network fees incurred during the exchange

    and transfer).

  • Finally, we make the callback to the cryptocurrency webhook, containing the details of the

    transaction which deposits the cryptocurrency into the customers wallet.

Sandbox Testing

Test Cards

The following card details can be used for testing in the sandbox environment:

When testing you should also set the CVV2 code to “555” and the postal/zip code to “AAAA”. Barring this, any name, future expiry date and address will work with these cards.

API Details

Client Signatures

Each instantiation of the widget requires a signature that is unique with respect to the customer. This needs to be passed to the page hosting the widget script. We do not impose any particular requirements on this string, we simply pass it back to you in the callbacks for you to verify. However:

  • The signature must be between 10 and 2000 characters long.

  • We recommend that an expiry is set for each signature, and your authentication webhook

    should not return successfully once the token has expired.

Last updated