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

ParameterMandatoryTypeLengthDescription
appIdYstring64AppId is unique for merchant
qrCodeYstring512QR Code string
addressYstring128User 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

ParameterTypeDescription
successbooleanSuccess
errorbooleanError
codelongResponse code
msgstringResponse message
traceIdstringTrace id
acceptsobjectResponse content
x402VersionstringVersion

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

ParameterTypeDescription
codelongResponse code
msgstringResponse message
traceIdstringTrace id
modelobjectResponse content

Model Payment Receipt Description Response Parameters

ParameterTypeDescription
numstringSystem order number
qrCodestringQR code
usdAmountstringAmount in USD
orderAmountstringFiat currency amount
fiatExchangeRatestringFiat currency exchange rate
merchantOrderNostringMerchant order number
orderCurrencystringOrder fiat currency
statusstringOrder status
createTimestringTransaction creation time
bankDataobjectBank information

bankData: Bank Information

ParameterTypeDescription
bankAccountNamestringBank account name
bankAccountNumberstringBank account number
bankCodestringBank code
bankNamestringBank name