X402 QR Code Payment
Introduction
Fiat QR code payment by AI.
Flow Chart

API Description
Request Method:GET
Request Path:open/ai/402/payment
Parameters
Request Parameters
Parameter | Mandatory | Type | Length | Description |
---|---|---|---|---|
appId | Y | string | 64 | AppId is unique for merchant |
qrCode | Y | string | 512 | QR Code string |
address | Y | string | 128 | User wallet address |
Step 1
Get Payment Information Example
curl --location 'https://ai-api-sbx.aeon.xyz/open/ai/402/payment?appId=TEST000001&qrCode=00020101021138560010A0000007270126000697041501121170028740400208QRIBFTTA53037045802VN63048A1C&address=0xace****'
Response Parameters
Parameter | Type | Description |
---|---|---|
success | boolean | Success |
error | boolean | Error |
code | long | Response code |
msg | string | Response message |
traceId | string | Trace id |
accepts | object | Response content |
x402Version | string | Version |
Response Example
{
"traceId": "6881fe85a3547f06019fb2cf1006a574",
"msg": "X-PAYMENT header is required",
"code": "402",
"accepts": [
{
"maxTimeoutSeconds": 60,
"scheme": "exact",
"resource": "https://ai-api.aeon.xyz/open/ai/402/payment",
"extra": {
"orderNo": "400017533497667631733",
"name": "USD Coin",
"version": "2"
},
"description": "",
"payTo": "0x302bb114079532dfa07f2dffae320d04be9d903b",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"maxAmountRequired": "550000",
"network": "base"
}
],
"x402Version": "1",
"error": "X-PAYMENT header is required"
}
Step 2
Payment Request Example Header passing X-PAYMENT
curl --location 'https://ai-api-sbx.aeon.xyz/open/ai/402/payment?appId=TEST000001&qrCode=00020101021138560010A0000007270126000697041501121170028740400208QRIBFTTA53037045802VN63048A1C&address=0xace****' \
--header 'X-PAYMENT: eyJ4NDAyVmVyc2lvbiI6MSwic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiYmFzZSIsInBheWxvYWQiOnsic2lnbmF0dXJlIjoiMHg3YzNhZTk0Y2QxZDRkOGVkYzQ1NzIwMDdiMjU0MmU1ZWEwNGIxYTlkODdkMjdjMjFmMzRmZGY2YTY1MTFjODc0MzBjMjc3MzBiZDlmNTJhN2Y5ZjhhMTdmNWRjYmQ5NjcyNWU4NzFhYmU1ZGUwOTYwZDAxMTJjOWRjNGFkNWEzNjFjIiwiYXV0aG9yaXphdGlvbiI6eyJmcm9tIjoiMHhhMGEzNWU3NmU0NDc2YmQ2MmZlNDUyODk5YWY3YWVhNmQxYjIwYWI3IiwidG8iOiIweDcxY2Q1MWZkMjc4N2QxODNmOTE3YjNlMTExOTkwODcyMTljM2M2MzgiLCJ2YWx1ZSI6IjU1MDAwMCIsInZhbGlkQWZ0ZXIiOiIxNzUzMzQ4OTQ4IiwidmFsaWRCZWZvcmUiOiIxNzUzMzQ5MDY4Iiwibm9uY2UiOiIweGYzOTIwNjBlMDRmMTljMDM3MTkwNzc0NGFmMTMxYzgxYWY0ZTQ3N2NkYzg1ZjU2MjdkNmYxYjIyODEyZTRjODgifX19'
Http Status 200 Body Response Example
{
"code": "0",
"model": {
"bankData": {
"bankAccountName": "ICB",
"bankAccountNumber": "970415",
"bankCode": "970415",
"bankName": "ICB"
},
"createTime": 1753350304949,
"fiatExchangeRate": 0.0000380228,
"merchantOrderNo": "400417533502620350016",
"num": "400017533502624591734",
"orderAmount": 14070.00000000,
"orderCurrency": "VND",
"qrCode": "00020101021138560010A0000007270126000697041501121170028740400208QRIBFTTA53037045802VN63048A1C",
"status": "SUCCESS",
"usdAmount": 0.53498098
},
"msg": "success",
"traceId": "6882009439a70e8e4013be557ef98369"
}
Http Status 200 Header Response Example
X-Payment-Response:eyJzdWNjZXNzIjp0cnVlLCJ0cmFuc2FjdGlvbiI6IjB4NmE2ZmVhZjYwNmZlOGVjZjdjOGNhN2UxNWZhOWY5ZjU4MjA2NDAxOTBjMzYwNmZhYzYyY2UxMzE5YTY2ZTgyZCIsIm5ldHdvcmsiOiJiYXNlIiwicGF5ZXIiOiIweEEwYTM1ZTc2ZTQ0NzZCZDYyZmU0NTI4OTlhZjdhRWE2RDFCMjBhQjcifQ==
Response Parameters
Parameter | Type | Description |
---|---|---|
code | long | Response code |
msg | string | Response message |
traceId | string | Trace id |
model | object | Response content |
Model Payment Receipt Description Response Parameters
Parameter | Type | Description |
---|---|---|
num | string | System order number |
qrCode | string | QR code |
usdAmount | string | Amount in USD |
orderAmount | string | Fiat currency amount |
fiatExchangeRate | string | Fiat currency exchange rate |
merchantOrderNo | string | Merchant order number |
orderCurrency | string | Order fiat currency |
status | string | Order status |
createTime | string | Transaction creation time |
bankData | object | Bank information |
bankData: Bank Information
Parameter | Type | Description |
---|---|---|
bankAccountName | string | Bank account name |
bankAccountNumber | string | Bank account number |
bankCode | string | Bank code |
bankName | string | Bank name |
Updated 5 days ago