验证订单

如商户希望先确认订单是否可核销,再由店员执行最终核销,可先调用 validate。

POST/api/integrations/merchant/bookings/validate

检查该订单是否属于该商户,并确认是否可核销。

Request 字段

字段
类型
必填
说明
bookingId
string
取得的凭证 Id。

Response 字段

字段
类型
说明
code
number
返回代码。
success
boolean
验证成功时会出现。
message
string
可读消息。
booking
object
验证成功或已核销时返回的订单摘要。
reason
string
code 4 时的受控错误原因。

返回代码

为了让商户文档及收银员界面更简单,Yuter 将此集成返回统一成四个顶层代码。

代码
含义
备注
1
成功
订单验证成功或已成功核销。
2
已核销
此订单在本次请求前已完成核销。
3
无效订单
booking id 无效,或找不到相关订单。
4
其他错误
认证失败、不可核销、商户无权限,或其他受控错误。

验证订单示例

验证订单 endpoint 的 request 与 response 示例。

cURL 示例

API_KEY='<raw merchant api key>'
BOOKING_ID='<booking id>'
TIMESTAMP=$(($(date +%s) * 1000))
NONCE=$(uuidgen)
BODY='{"bookingId":"'"$BOOKING_ID"'"}'
PATH='/api/integrations/merchant/bookings/validate'
PAYLOAD="POST
$PATH
$TIMESTAMP
$NONCE
$BODY"
SIGNATURE=$(printf "%s" "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_KEY" -hex | sed 's/^.* //')

curl -X POST "https://www.yuterwellness.com$PATH" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $API_KEY" \
  -H "x-timestamp: $TIMESTAMP" \
  -H "x-nonce: $NONCE" \
  -H "x-signature: $SIGNATURE" \
  -d "$BODY"

响应示例

{
  "code": 1,
  "success": true,
  "message": "Booking is valid for redemption",
  "booking": {
    "_id": "69ce982e96a5b33a356abab0",
    "programTitle": "Private Merchant Test Event",
    "userName": "Test User",
    "userEmail": "test@example.com",
    "quantity": 1,
    "date": "2026-04-10",
    "status": "paid"
  }
}