# 获取交易&退款明细
# 接口说明
此接口提供某天交易明细获取,服务商可以通过该接口获取明细来进行对账,该接口返回JSON格式的响应,每次只能提供2年内的某一天数据获取,请注意保存。
# 交易明细获取方式:
- 方法一:
根据交易时间(即订单上传服务器的时间)拉取交易明细,获取的数据包括交易时间是当天的订单或者补缴时间是当天的订单:type=order,time_mode=trade进行传参,此时date需要传入订单交易时间所在日期;
以上适用于按照交易日获取订单状态稳定不会有变化的历史记录。不适用获取订单在拉取时间之后会变化的情况,举个例子:当前时间是10月2号,假如拉取策略是按照交易时间每天定时拉取前一天,10月1号的交易订单在2号被拉取,正常没有问题,假如1号有笔交易,在2号退款了,则不会被拉取到了(因为3号只会获取交易时间是2号的交易),就会丢失了退款的状态。
- 方法二:
按照订单更新时间拉取交易明细:type=order,time_mode=update 进行传参。适用于每天定时拉取前一天数据,用于每日对账出报表。
# 退款明细获取方式:
根据退款时间拉取退款明细:type=refund,time_mode=trade进行传参,此时date需传入退款时间所在日期;
适用于单独获取退款明细,比如一笔交易分多次退款,可以通过该方式获取每次退款的明细。
# 注意事项
- 对于有财务对账的场景,建议拉取名单明细入参
time_mode
,并传值update
,确保订单状态有更新时不会错过拉取。 - 对于重复拉取到相同订单,接入方必须能正确对订单状态识别并进行明确处理,避免订单在财务系统重复计算造成资金问题。
# 接口地址
https://open.wecard.qq.com/cgi-bin/pay/provider/v4/order-detail
# 请求方法
POST/GET
# 请求参数示例
access_token=[鉴权token]&date=20200815&page=1&pageSize=200&type=order&time_mode=update
参数 | 是否必填 | 类型 | 实例 | 说明 |
---|---|---|---|---|
access_token | 是 | String | 应用有效凭证 | |
date | 是 | Integer | 232 | 日期 |
schoolCode | 是 | Integer | 0 | 主体代码 |
page | 是 | Integer | 1 | 分页下标 |
page_size | 是 | Integer | 500 | 分页大小,每页最大数据是500 |
type | 是 | String | order | order:拉取订单交易明细;refund:拉取退款明细 |
time_mode | 否 | String | update | trade: type为order时,会根据订单上传服务器的时间获取订单明细,type为refund时,会根据订单在服务器的退款时间获取订单;update: 会根据订单在服务器的更新时间来获取订单明细 |
# 响应说明(交易明细)
{
"code": 0,
"message": "成功",
"data": {
"has_more": 1,
"accounts": [{
"name": "xxxx学校",
"summary": {
"order_num": 500,
"order_amount": 290600,
"deal_amount": 290600,
"discount_amount": 0,
"over_amount": 0,
"refund_amount": 0,
"receive_amount": 290600
},
"list": [
{
"order_no": "S4449869565202012110646246673",
"user_no": "22031305021",
"mch_no": "1941238489",
"mch_name": "一楼17号",
"device_no": "SKM1941238489",
"order_amount": 750,
"deal_amount": 750,
"deal_time": "2020-12-11 06:46:24",
"order_time": "2020-12-11 06:46:24",
"pay_time": "2020-12-11 06:46:31",
"pay_state": "支付成功",
"pay_channel": "微信支付",
"acc_id": "abc",
"channel_no": "4200000841202012115887965121",
"channel_refund_no": "",
"ext": "",
"discount_amount": 0,
"over_amount": 0,
"receive_amount": 750,
"scene": "card",
"is_delay": 0,
"org_name": "测试单位/认证测试分组",
"org_id": "382957;382956"
},
{
"order_no": "S1998869069202012110654312238",
"user_no": "21930102035",
"mch_no": "1941238527",
"mch_name": "一楼54号",
"device_no": "SKM1941238527",
"order_amount": 600,
"deal_amount": 600,
"deal_time": "2020-12-11 06:54:32",
"order_time": "2020-12-11 06:54:32",
"pay_time": "2020-12-11 06:59:46",
"pay_state": "支付成功",
"pay_channel": "小钱包支付",
"channel_no": "4200000816202012112708416464",
"channel_refund_no": "",
"ext": "",
"discount_amount": 0,
"over_amount": 0,
"receive_amount": 600,
"scene": "authcode",
"is_delay": 1,
"org_name": "测试单位/认证测试分组",
"org_id": "382957;382956"
}
]
}]
}
}
参数名 | 类型 | 必填 | 描述 | ||||
---|---|---|---|---|---|---|---|
code | int | 是 | 业务状态 0 为成功 其他为失败 | ||||
message | string | 是 | 业务提示 | ||||
data | has_more | int | 是 | 是否有更多 1:是 0:否 | |||
accounts | name | string | 是 | 主体名称 | |||
summary | order_num | int | 是 | 交易笔数 | |||
order_amount | decimal | 是 | 发生金额 | ||||
deal_amount | decimal | 是 | 交易金额 | ||||
discount_amount | decimal | 是 | 折扣金额 | ||||
over_amount | decimal | 是 | 溢价金额 | ||||
refund_amount | decimal | 是 | 退款金额 | ||||
receive_amount | decimal | 是 | 应收金额 | ||||
list | order_no | string | 是 | 订单号 | |||
parent_order_no | string | 是 | 母单 | ||||
user_no | string | 是 | 用户电子卡号/学工号 | ||||
mch_no | string | 是 | 子商户号 | ||||
mch_name | string | 是 | 商户名称 | ||||
device_no | string | 是 | 机具编号 | ||||
order_amount | int | 是 | 订单金额 | ||||
deal_amount | int | 是 | 交易金额 | ||||
deal_time | datetime | 是 | 在机具上的原始消费时间 | ||||
order_time | datetime | 是 | 交易时间(订单上传服务器的时间) | ||||
pay_time | datetime | 是 | 支付时间 | ||||
pay_state | string | 是 | 支付状态描述(包括: 支付成功 、 退款成功 、未结 、 已补缴) | ||||
pay_channel | string | 是 | 支付渠道(微信支付人脸、微信支付刷脸代扣、支付宝支付、补贴钱包(具体的主体补贴钱包名称)、优惠券支付、福利券、余额、计次支付、微信付款码及公众号支付、微信轻松付支付) | ||||
acc_id | string | 否 | 支付渠道是“补贴钱包”的时候,返回补贴钱包ID;“余额”渠道下,返回的是余额钱包ID; | ||||
channel_no | string | 否 | 第三方支付渠道订单号 | ||||
channel_refund_no | string | 否 | 第三方支付渠道退款单号 | ||||
ext | string | 否 | 备注 | ||||
discount_amount | int | 是 | 折扣金额 | ||||
over_aount | int | 是 | 溢价金额 | ||||
receive_amount | int | 是 | 应收金额 | ||||
scene | string | 是 | 场景值(paycode:收款码、authcode:电子码、barcode:付款码、wxpay:非实名公众号支付、mppay:实名公众号支付、apppay:应用支付、paydept:补缴、walletcharge:余额充值、faceonline:微信支付刷脸、faceoffline:微信支付刷脸代扣、card:实体卡、syspappay:一分钱验证、apppappay:应用代扣) | ||||
is_delay | int | 是 | 是否延迟扣款;当type字段为0时,is_delay有实际意义 | ||||
org_id | string | 是 | 用户下单时的部门id列表,分号分割:xxx;xxxx;xxxxx(需申请) | ||||
org_name | string | 是 | 用户下单时的主部门名称(需申请) | ||||
accounts_source | name | string | 是 | 核算单位名称 | |||
amt | string | 是 | 金额 | ||||
appid | string | 是 | 核算单位id | ||||
acct_sub_appid | string | 否 | 钱包id |
# 响应说明(退款明细)
{
"code": 0,
"message": "成功",
"data": {
"has_more": 1,
"accounts": [
{
"name": "xxxx学校",
"summary": {
"order_num": 500,
"order_amount": 290600,
"deal_amount": 290600,
"discount_amount": 0,
"over_amount": 0,
"refund_amount": 0,
"receive_amount": 290600
},
"refund_list": [
{
"order_no": "0X8Z131C5200388XP1708496056392",
"refund_no": "1X8Z131C5200388XP1708496505162_0_dc",
"channel_refund_no": "",
"deal_amount": 1,
"refund_amount": 1,
"refund_time": "2024-02-21 14:21:45",
"org_name": "测试1",
"org_id": "798",
"updated_at": "2024-02-21 14:21:46",
"refund_channel": "夜宵券"
},
{
"order_no": "0X8Z131C5200388XP1706862071915",
"refund_no": "1X8Z131C5200388XP1708496623112_0_dc",
"channel_refund_no": "",
"deal_amount": 1,
"refund_amount": 1,
"refund_time": "2024-02-21 14:23:43",
"org_name": "测试1",
"org_id": "798",
"updated_at": "2024-02-21 14:23:44",
"refund_channel": "夜宵券"
}
]
}
]
}
}
参数名 | 类型 | 必填 | 描述 | |||
---|---|---|---|---|---|---|
code | int | 是 | 业务状态 0 为成功 其他为失败 | |||
message | string | 是 | 业务提示 | |||
data | has_more | int | 是 | 是否有更多 1:是 0:否 | ||
accounts | name | string | 是 | 主体名称 | ||
summary | order_num | int | 是 | 交易笔数 | ||
order_amount | decimal | 是 | 发生金额 | |||
deal_amount | decimal | 是 | 交易金额 | |||
discount_amount | decimal | 是 | 折扣金额 | |||
over_amount | decimal | 是 | 溢价金额 | |||
refund_amount | decimal | 是 | 退款金额 | |||
receive_amount | decimal | 是 | 应收金额 | |||
refund_list | order_no | string | 是 | 订单号 | ||
refund_no | string | 是 | 退款单号 | |||
channel_refund_no | string | 否 | 渠道退款单号 | |||
deal_amount | int | 是 | 支付金额 | |||
refund_amount | int | 是 | 退款金额 | |||
refund_time | datetime | 是 | 退款时间 | |||
org_name | string | 是 | 部门名称 | |||
org_id | string | 是 | 部门ID | |||
updated_at | datetime | 是 | 更新时间 | |||
refund_channel | string | 是 | 退款渠道 |