Table of Contents
10.2 订单详情【基础探测通过,待数据联调】
GET /tieup/api/v1/orders/{order_no}
路径参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
order_no |
string | 是 | 订单号 |
| 响应字段: |
| 字段 | 类型 | 说明 |
|---|---|---|
order |
object | 统一订单及 payment_state、窗口和操作能力字段,结构与订单列表项一致 |
order.order_no |
string | 平台统一订单号 |
order.business_type |
string | 订单业务类型:candy_recharge=糖果充值,subscription=订阅,auto_subscription=自动订阅,question=付费提问,follow_up_question=追问,video_call=视频通话,benefit=福利 |
order.business_id |
integer/null | 关联业务记录 ID;尚未绑定业务记录时为 null |
order.payment_amount |
string | 订单金额,单位元,固定两位小数 |
order.paid_amount |
string | 已支付金额,单位元,固定两位小数 |
order.refund_amount |
string | 累计已退款金额,单位元,固定两位小数 |
order.currency |
string | 币种;当前人民币为 CNY |
order.order_status |
integer | 统一订单业务状态:0=创建,1=待支付,2=已支付,3=已关闭,4=退款中,5=部分退款,6=已退款,7=支付失败;详细语义见下方“订单状态说明” |
order.payment_method |
string/null | 实际支付方式:wechat=微信,alipay=支付宝,apple_iap=苹果内购,candy=糖果余额;尚未确定时为 null |
order.payment_account_id |
integer/null | 服务端实际使用的支付账号 ID;尚未确定时为 null,客户端不得据此选择支付账号 |
order.third_party_order_no |
string/null | 第三方支付订单号;第三方尚未返回时为 null |
order.subject |
string/null | 下单时固化的订单标题或商品摘要 |
order.paid_at |
string/null | 支付成功时间,格式 YYYY-MM-DD HH:mm:ss;未支付时为 null |
order.payment_expires_at |
string | 支付窗口失效时间,格式 YYYY-MM-DD HH:mm:ss;存量订单未固化该值时由服务端按创建时间和统一支付窗口计算 |
order.close_requested_at |
string/null | 申请第三方关单的时间;非空表示已禁止继续支付并等待关单处理 |
order.close_reason |
string/null | 关单原因:timeout=支付超时,user_cancel=用户取消,conflict_cleanup=冲突订单清理;未申请关单时为 null |
order.closed_at |
string/null | 订单实际关闭时间,格式 YYYY-MM-DD HH:mm:ss;未关闭时为 null |
order.created_at |
string/null | 订单创建时间,格式 YYYY-MM-DD HH:mm:ss |
order.remaining_seconds |
integer | 支付窗口剩余秒数,最小为 0 |
order.payment_state |
string | 客户端支付操作状态:payable、closing、expired、paid 或 closed;详细规则见下方“状态口径与客户端处理” |
order.can_continue |
boolean | 是否仍允许继续支付流程;为 true 不代表一定存在可直接拉起的旧支付参数,仍需检查 payment.pay_params |
order.can_cancel |
boolean | 是否允许申请取消;当前与 can_continue 使用同一支付窗口和订单状态条件 |
recharge |
object/null | 订阅或糖果充值业务单;订单没有对应 tieup_user_recharge 记录时为 null |
recharge.recharge_no |
string | 用户充值或订阅业务单号 |
recharge.order_no |
string | 关联的平台统一订单号 |
recharge.transaction_no |
string/null | 关联的平台支付流水号;尚未绑定流水时为 null |
recharge.artist_id |
integer | 订阅关联的艺人 ID;糖果充值等不关联艺人的业务返回 0 |
recharge.subscription_plan_code |
string | 下单时固化的订阅档位编码;非订阅业务为空字符串 |
recharge.product_name_snapshot |
string | 下单时固化的套餐或订阅档位名称 |
recharge.payment_amount |
string | 业务单应付金额,单位元,固定两位小数 |
recharge.paid_amount |
string | 业务单实付金额,单位元,固定两位小数 |
recharge.currency |
string | 币种;当前人民币为 CNY |
recharge.subscription_days |
integer | 订阅天数;糖果充值等非订阅业务为 0 |
recharge.subscription_action |
string | 订阅动作:initial=首订,renewal=续订,legacy=历史数据或非订阅业务 |
recharge.is_auto_renew |
integer | 是否自动续订:1=是,2=否 |
recharge.status |
integer | 充值/订阅业务单状态:1=待支付,2=支付成功,3=已关闭,4=支付失败,5=已退款,6=续订取消 |
recharge.paid_at |
string/null | 业务单支付成功时间,格式 YYYY-MM-DD HH:mm:ss;未支付时为 null |
recharge.closed_at |
string/null | 业务单关闭时间,格式 YYYY-MM-DD HH:mm:ss;未关闭时为 null |
recharge.delivered_at |
string/null | 糖果或订阅权益发放完成时间,格式 YYYY-MM-DD HH:mm:ss;尚未发放时为 null |
payment |
object/null | 按最新支付流水生成的支付摘要;订单没有支付流水时为 null |
payment.order_no |
string | 关联的平台统一订单号 |
payment.transaction_no |
string | 最新平台支付流水号 |
payment.order_status |
integer | 当前统一订单状态,取值与 order.order_status 相同 |
payment.payment_status |
integer | 最新支付流水状态:0=创建,1=预支付成功,2=支付成功,3=支付失败,4=已关闭,5=已退款 |
payment.payment_method |
string | 支付方式:wechat=微信,alipay=支付宝,apple_iap=苹果内购,candy=糖果余额 |
payment.provider_code |
string | 实际接入产品代码,例如 wechat_app、wechat_h5、alipay_app、alipay_wap;支付响应未记录时为空字符串 |
payment.payment_account_id |
integer | 服务端使用的支付账号 ID |
payment.payment_amount |
string | 本次支付请求金额,单位元,固定两位小数 |
payment.currency |
string | 币种;当前人民币为 CNY |
payment.pay_params |
object | 客户端拉起第三方支付所需参数,字段随支付渠道变化;仅在订单仍可支付且最新流水为预支付成功时可能非空,否则返回空对象 |
latest_transaction |
object/null | 按流水 ID 倒序取得的最新支付流水摘要;订单没有支付流水时为 null |
latest_transaction.transaction_no |
string | 平台支付流水号 |
latest_transaction.order_no |
string | 关联的平台统一订单号 |
latest_transaction.payment_method |
string | 支付方式,取值见 payment.payment_method |
latest_transaction.payment_account_id |
integer | 服务端使用的支付账号 ID |
latest_transaction.payment_amount |
string | 本次支付请求金额,单位元,固定两位小数 |
latest_transaction.currency |
string | 币种;当前人民币为 CNY |
latest_transaction.payment_status |
integer | 支付流水状态,取值见 payment.payment_status |
latest_transaction.prepay_id |
string/null | 第三方预支付 ID 或支付凭证;尚未取得时为 null |
latest_transaction.third_party_order_no |
string/null | 第三方支付订单号;尚未取得时为 null |
latest_transaction.paid_at |
string/null | 流水支付成功时间,格式 YYYY-MM-DD HH:mm:ss;未成功时为 null |
latest_transaction.closed_at |
string/null | 流水关闭时间,格式 YYYY-MM-DD HH:mm:ss;未关闭时为 null |
latest_transaction.created_at |
string/null | 流水创建时间,格式 YYYY-MM-DD HH:mm:ss |
transactions |
array | 该订单的全部支付流水,按流水 ID 倒序排列;没有流水时为空数组 |
transactions[].transaction_no |
string | 平台支付流水号 |
transactions[].order_no |
string | 关联的平台统一订单号 |
transactions[].payment_method |
string | 支付方式,取值见 payment.payment_method |
transactions[].payment_account_id |
integer | 服务端使用的支付账号 ID |
transactions[].payment_amount |
string | 本次支付请求金额,单位元,固定两位小数 |
transactions[].currency |
string | 币种;当前人民币为 CNY |
transactions[].payment_status |
integer | 支付流水状态,取值见 payment.payment_status |
transactions[].prepay_id |
string/null | 第三方预支付 ID 或支付凭证;尚未取得时为 null |
transactions[].third_party_order_no |
string/null | 第三方支付订单号;尚未取得时为 null |
transactions[].paid_at |
string/null | 流水支付成功时间,格式 YYYY-MM-DD HH:mm:ss;未成功时为 null |
transactions[].closed_at |
string/null | 流水关闭时间,格式 YYYY-MM-DD HH:mm:ss;未关闭时为 null |
transactions[].created_at |
string/null | 流水创建时间,格式 YYYY-MM-DD HH:mm:ss |
订单状态说明:
order.order_status |
状态 | 业务含义 |
|---|---|---|
0 |
创建 | 平台订单已生成,尚未完成第三方预下单 |
1 |
待支付 | 第三方预下单成功,等待用户完成付款 |
2 |
已支付 | 服务端已通过可信支付结果确认到账;订阅权益后续过期不会回退统一订单状态 |
3 |
已关闭 | 用户取消、支付超时或冲突订单清理已经完成,不能继续支付 |
4 |
退款中 | 已进入退款处理流程,退款结果尚未最终确认 |
5 |
部分退款 | 累计退款金额小于实付金额 |
6 |
已退款 | 累计退款金额已达到实付金额 |
7 |
支付失败 | 预下单或支付失败;若支付窗口仍有效且尚未申请关单,服务端仍可能允许继续支付流程 |
状态口径与客户端处理:
-
order.order_status是统一订单的业务生命周期状态;payment.payment_status和transactions[].payment_status是单次支付流水状态;recharge.status是充值/订阅业务单状态,三者不可互相替代。 -
order.payment_state是服务端根据订单状态、关单请求和支付窗口派生的客户端操作状态:统一订单状态为2时返回paid,为3时返回closed,已申请关单但尚未完成时返回closing;订单状态为0、1或7、未申请关单且剩余支付时间大于0时返回payable;其余不可继续支付的情况返回expired,其中也包括退款相关状态。 - 客户端是否展示“继续支付”或“取消订单”应分别以
order.can_continue、order.can_cancel为准,不应只判断order.order_status。 -
order.can_continue=true仅表示订单仍允许继续支付流程。只有payment.pay_params非空时才能直接拉起当前第三方支付参数;参数为空时不得复用历史支付凭据。
响应示例:
{
"code": 200,
"message": "成功",
"data": {
"order": {
"order_no": "TO202606170001",
"business_type": "subscription",
"business_id": 30001,
"payment_amount": "29.90",
"paid_amount": "0.00",
"refund_amount": "0.00",
"currency": "CNY",
"order_status": 1,
"payment_method": "wechat",
"payment_account_id": 1,
"third_party_order_no": null,
"subject": "订阅-示例艺人-月卡",
"paid_at": null,
"payment_expires_at": "2026-07-27 15:30:00",
"close_requested_at": null,
"close_reason": null,
"closed_at": null,
"created_at": "2026-07-27 15:00:00",
"remaining_seconds": 900,
"payment_state": "payable",
"can_continue": true,
"can_cancel": true
},
"recharge": {
"recharge_no": "RC202606170001",
"order_no": "TO202606170001",
"transaction_no": "TP202606170001",
"artist_id": 1,
"subscription_plan_code": "month_30",
"product_name_snapshot": "月卡",
"payment_amount": "29.90",
"paid_amount": "0.00",
"currency": "CNY",
"subscription_days": 30,
"subscription_action": "initial",
"is_auto_renew": 2,
"status": 1,
"paid_at": null,
"closed_at": null,
"delivered_at": null
},
"payment": {
"order_no": "TO202606170001",
"transaction_no": "TP202606170001",
"order_status": 1,
"payment_status": 1,
"payment_method": "wechat",
"provider_code": "wechat_app",
"payment_account_id": 1,
"payment_amount": "29.90",
"currency": "CNY",
"pay_params": {
"trade_type": "APP",
"prepayid": "wx_prepay_id"
}
},
"latest_transaction": {
"transaction_no": "TP202606170001",
"order_no": "TO202606170001",
"payment_method": "wechat",
"payment_account_id": 1,
"payment_amount": "29.90",
"currency": "CNY",
"payment_status": 1,
"prepay_id": "wx_prepay_id",
"third_party_order_no": null,
"paid_at": null,
"closed_at": null,
"created_at": "2026-07-27 15:00:01"
},
"transactions": [
{
"transaction_no": "TP202606170001",
"order_no": "TO202606170001",
"payment_method": "wechat",
"payment_account_id": 1,
"payment_amount": "29.90",
"currency": "CNY",
"payment_status": 1,
"prepay_id": "wx_prepay_id",
"third_party_order_no": null,
"paid_at": null,
"closed_at": null,
"created_at": "2026-07-27 15:00:01"
}
]
}
}