---
title: Crypto Checkout Quick Start
slug: crypto-checkout-quick-start
docTags: 
createdAt: 2025-11-05T12:30:13.684Z
---

This document provides a quick overview of how to create a crypto checkout order and receive payments from users.

## Crypto Checkout Order

This API creates a payin order and returns a website url. The website returned can be loaded in a browser. This provides users with a dynamicly generated QR code which users can use to deposit digital assets. Once the user has done the payment, the webpage shows success screen and redirects the user to the callbackUrl.&#x20;

Pay3 backend also sends events to your backend service updating realtime status update of the payment. Once you receive the event, you could call order details API to get the status and payment details.

## Steps

### Step 1: Get Access Token&#x20;

To generate the Access Token, you will call the API with the api-secret and client-id.
Please refer to the [Access Token](docId\:lq-v6fF_2i-h1O3XD5KKA).&#x20;

### Step 2: Create a Signature with Parameters

The request to create a crypto checkout order requires a header signature. This can be generated using the javascript code snippet here [Signature Generation](docId\:f18XzeE2FZKCRR_GHBdWZ).

### Step 3: Call [Create Crypto Checkout Order](docId\:f18XzeE2FZKCRR_GHBdWZ) API.

Sample Payload

```javascript
const payloadCryptoCheckout = {
 "requestId": "usdt-1234-poly", // TODO: Application’s Order Id, send unique id for every order (preferably UUID)
 "address": "0x.....", // TODO: add your address to receive the USDT
 "currency": "usdt_ethereum", // Please reach out to Pay3 team for enabled currencies in your clientId 
 "amount": "0.01", // Amout of USDT (in this case)
 "clientId":"....",// TODO: your clientId
 "payerEmail": "user@email.com",  //pass the email fo the user (uniqueId)
 "mode": "returnUrl", // Optional: This will return standalone web url to accpet crypto payment
 "callbackUrl": "https://yoursite.com/successpage" // Optional: This will return the user  
}

```

Sample response

```javascript
{
   "token": "c254a82b-5ae4-44bd-b7d9-e198f8cd5f10", // Dynamicly generated UUID
   "requestId": "usdt-1234-poly",
   "requestInfoData": {
       "amount": "0.01",
       "address": "0x...",
       "clientId": "....",
       "signature": "....",
       "currency": "usdt_ethereum",
       "type": "CRYPTO-CHECKOUT"
   },
   "url": "https://pprod-ui.pay3.app/..."
}
```

### Step 4: Redirect User to Checkout Page

Once the user clicks on Checkout, redirect the user to the "**url**" in the response above.

### Step 5: User Makes the Crypto Payment

The user scans the QR code displayed on the checkout page and completes the payment using their preferred crypto wallet (e.g., MetaMask).

### Step 6: Payment Verified by Pay3

The Pay3 backend detects and verifies the on-chain transaction. Once confirmed, the checkout page displays a success screen.

### Step 7: Redirect to Merchant Callback URL

UI is redirected to `callbackUrl` provied in the Create Order payload here eg: "[https://yoursite.com/successpage](https://yoursite.com/successpage)".

### Step 8: Listen for Webhook Events&#x20;

Pay3 backend sends webhook notifications with status updates.
Upon receiving an event, you may call the [Get Crypto Order Details](docId\:NzZQBlpdfmg7MFy3OtpVs)  to retrieve the latest order details.

### Step 9: Retrieve Settlement Details

Once the order is included in a settlement, you can use the requestId passed during order creation to retrieve settlement details.

Use the [Get Settlement List](docId:8P-nk9X1rfYLRz-Vjwyae) to identify the settlement associated with the order.

Use the [Get Settlement Details](docId\:pi3idPSQoo1IcJoF-5te_) to retrieve the list of orders included in the settlement, along with the final amount transferred to your bank account, settlement currency, applicable bank transfer fee, and bank reference ID.

***

