Crypto Checkout Quick Start
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. 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
To generate the Access Token, you will call the API with the api-secret and client-id. Please refer to the Access Token.
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.
Step 3: Call Create Crypto Checkout Order API.
Sample Payload
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": "[email protected]", //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
{
"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".
Step 8: Listen for Webhook Events
Pay3 backend sends webhook notifications with status updates. Upon receiving an event, you may call the Get Crypto Order Details 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 ListGet Settlement List API to identify the settlement associated with the order.
Use the Get Settlement DetailsGet Settlement Details API 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.