支付接口

Payve 支付接口允许您创建、查询和管理加密货币支付订单。

认证要求

所有支付接口都需要 JWT 认证。请在请求头中包含:

Authorization: Bearer your_jwt_token

创建支付订单

POST/api/v1/payments

请求参数

参数名类型必填描述
amountstring支付金额,使用字符串避免精度问题
currencystring币种:BTC, ETH, USDT, USDC, BNB, SOL
callbackUrlstring支付完成后的回调URL

请求示例

curl -X POST https://api.staging.payve.web3noah.com/api/v1/payments \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_jwt_token" \
  -d '{
    "amount": "100.50",
    "currency": "USDT",
    "callbackUrl": "https://yoursite.com/webhook"
  }'

响应示例

{
  "success": true,
  "data": {
    "orderId": "clrxxx",
    "address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5oNDMnt",
    "amount": "100.50",
    "currency": "USDT",
    "expiresAt": "2024-01-15T12:30:00.000Z"
  }
}

查询支付状态

GET/api/v1/payments/{orderId}

路径参数

参数名类型描述
orderIdstring支付订单ID

请求示例

curl -X GET https://api.staging.payve.web3noah.com/api/v1/payments/clrxxx \
  -H "Authorization: Bearer your_jwt_token"

响应示例

{
  "success": true,
  "data": {
    "orderId": "clrxxx",
    "status": "COMPLETED",
    "amount": "100.50",
    "currency": "USDT",
    "address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5oNDMnt",
    "txHash": "0xabcdef...",
    "confirmations": 12,
    "requiredConfirmations": 12,
    "createdAt": "2024-01-15T12:00:00.000Z",
    "paidAt": "2024-01-15T12:05:00.000Z"
  }
}

支付状态说明

状态描述
PENDING订单已创建,等待用户支付
CONFIRMING已检测到支付,正在等待区块链确认
COMPLETED支付成功,已达到要求的确认数
FAILED支付失败
EXPIRED订单已过期(默认30分钟)

常见错误码

错误码描述解决方案
INVALID_AMOUNT无效的金额格式确保金额大于0且格式正确
UNSUPPORTED_CURRENCY不支持的币种使用支持的币种:BTC, ETH, USDT, USDC, BNB, SOL
PAYMENT_NOT_FOUND支付订单不存在检查订单ID是否正确
UNAUTHORIZED未授权访问检查JWT令牌是否有效