跳至主要內容

订单号规则

smilepayz teams大约 2 分钟

订单号规则

订单号是用于跟踪Smilepayz支付系统中交易的唯一标识符。遵循正确的格式可确保成功的交易处理和正确的记录管理。

📋 要求

字符长度

  • 最小: 6个字符
  • 最大: 32个字符
  • 推荐: 16-24个字符以获得最佳可读性

允许的字符

  • 数字: 0-9
  • 字母: A-Z、a-z(不区分大小写)
  • 特殊字符: 不允许

唯一性

  • 每个订单号在您的商户账户中必须是全局唯一
  • 重复的订单号将导致交易被拒绝
  • 订单号不能在不同交易中重复使用

🚫 限制

  • 不允许空格或特殊符号(例如:!@#$%^&*()
  • 不允许连字符或下划线
  • 不允许Unicode或非ASCII字符
  • 不能以系统使用的保留前缀开头

💡 最佳实践

推荐格式

[前缀][时间戳][随机字符]

示例: ORD20241201123456789ABC

命名约定

  • 使用有意义的前缀(例如:PAYORDTXN
  • 包含时间戳以便按时间顺序排列
  • 添加随机字符以确保唯一性
  • 在您的应用程序中保持一致的格式

📝 实现示例

{
  "merchantId": "sandbox-20001",
  "orderNo": "T37484Fx383ksd90383",
  "amount": 1000.00,
  "currency": "THB",
  "paymentMethod": "QRPAY"
}

⚠️ 常见错误

❌ 无效示例

"orderNo": "123"           // 太短(少于6个字符)
"orderNo": "ORDER-123"     // 包含连字符
"orderNo": "ORDER_123"     // 包含下划线
"orderNo": "ORDER@123"     // 包含特殊字符
"orderNo": "ORDER 123"     // 包含空格

✅ 有效示例

"orderNo": "ORDER123456"   // 有效格式
"orderNo": "TXN20241201123456789ABC"  // 带时间戳
"orderNo": "PAYMENT001"    // 简单格式
"orderNo": "1234567890ABCDEF"  // 字母数字组合

🔍 验证

系统会自动验证订单号,如果出现以下情况将返回错误:

  • 长度少于6个或超过32个字符
  • 包含无效字符
  • 订单号在系统中已存在
  • 格式违反任何指定规则

📊 错误响应

如果提供了无效的订单号,API将返回:

{
  "code": "INVALID_ORDER_NO",
  "message": "订单号格式无效或已存在",
  "data": null
}

注意: 始终为每笔交易生成唯一的订单号,以确保正确的跟踪并避免支付系统中的冲突。

上次编辑于: