退款
API endpoint: {api_domain}/api/lite-pos/v1/sales/refund
Verb: POST
Signature :需要签名,参考统一签名说明
请求参数:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
request_id | 1 | String | 字符串,最大64位 | 请求编号,每次请求必须唯一;表示每一次请求时不同的业务,如果第一次请求业务失败了,再次请求,可以用于区分是哪次请求的业务。 |
brand_code | 1 | String | 数字,最大32位 | 品牌编号,系统对接前由"收钱吧"分配并提供 |
store_sn | 1 | String | 字符串,最大36位 | 商户内部使用的门店编号 |
store_name | 0-1 | String | 字符串,最大255位 | 商户门店名称 |
workstation_sn | 1 | String | 字符串,最大36位 | 门店收银机编号,如果没有请传入"0" |
check_sn | 1 | String | 字符串,最大32位 | 商户订单号,在商户系统中唯一 |
sales_sn | 0-1 | String | 字符串,最大36位 | POS 或 电商等业务系统内的实际销售订单号,不同于check_sn。如果发起支付请求时该订单号已经生成,强烈建议传入,方便后续对账和运营流程使用。本字段不影响交易本身。 |
sales_time | 1 | String | 字符串,20- 25位 | 商户订单创建时间, 格式详见 1.5时间数据元素定义 |
amount | 1 | String | 数字,最大12位 | 订单总金额,精确到分,金额应为负数。 |
currency | 1 | String | 字符串,3位 | 币种,ISO numeric currency code 如:"156"for CNY |
subject | 1 | String | 字符串,最大64位 | 订单简短描述,建议传8个字内 |
description | 0-1 | String | 字符串,最大255位 | 订单描述 |
operator | 1 | String | 字符串,最大32位 | 操作员,可以传入收款的收银员或导购员。例如"张三" |
customer | 0-1 | String | 字符串,最大32位 | 可以传入需要备注顾客的信息 |
extension_1 | 0-1 | String | 字符串,最大32位 | 拓展字段1,可以用于做自定义标识,如座号,房间号; 智能终端手动录单功能需要添加此字段请联系收钱吧技术支持 |
extension_2 | 0-1 | String | 字符串,最大32位 | 拓展字段2,可以用于做自定义标识,如座号,房间号; 智能终端手动录单功能需要添加此字段请联系收钱吧技术支持 |
industry_code | 1 | String | 数字,1位 | 行业代码, 0=零售1:酒店; 2:餐饮; 3:文娱; 4:教育; |
pos_info | 1 | String | 字符串,最大64位 | 传入商户系统的产品名称、系统编号等信息,便于帮助商户调查问题 |
notify_url | 0-1 | String | 字符创,最大255位 | 通知接收地址。总共回调7次,回调时间间隔:4m,10m,10m,1h,2h,6h,15h。 |
reflect | 0-1 | String | 字符串,最大255位 | 反射参数; 任何开发者希望原样返回的信息,可以用于关联商户ERP系统的订单或记录附加订单内容。 |
items | 0-n | [Item] | item数组 | 订单货物清单,定义如下表 |
tenders | 1-n | [tender] | tender数组 | 指定本订单的流水信息,定义如下表 |
items:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
item_code | 1 | String | 字符串,最大32位 | 商户系统中的商品编号 |
item_desc | 1 | String | 字符串,最大64位 | 商品描述信息,例"白色短袖" |
category | 0-1 | String | 字符串,最大32位 | 商品所属大类,例"短袖" |
unit | 0-1 | String | 字符串,最大32位 | 商品单位,例"件" |
item_qty | 1 | String | 数字,最大8位 | 商品数量,例"2";当退货时数量为负数,例:"-2" |
item_price | 1 | String | 数字,最大12位 | 商品单价,精确到分 |
sales_price | 1 | String | 数字,最大12位 | 商品成交价格,一般为数量 * 单价,如有折扣再进行扣减,精确到分;当退货时成交价为负数;目前不校验"数量 * 单价"结果是否与此字段值相等 |
type | 1 | String | 数字,1位 | 0-销售,1-退货 |
spec | 0-1 | String | 字符串,最大64位 | 商品的规格 |
remark | 0-1 | String | 字符串,最大128位 | 商品的备注 |
extra | 0-1 | String | 字符串,最大128位 | 备用 |
return_store_sn | 1 | String | 字符串,最大36位 | 原商品销售门店号 |
return_workstation_sn | 1 | String | 字符串,最大36位 | 原商品销售收银机号 |
return_check_sn | 1 | String | 字符串,最大32位 | 原商品销售订单号 |
tenders:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
transaction_sn | 1 | String | 字符串,最大36位 | 商户系统流水号,在商户系统中唯一 |
amount | 1 | String | 数字,最大12位 | 退款金额,精确到分,退款为负 |
pay_status | 1 | String | 数字,1位 | 标记该tender是否已经支付完成。 0:待操作, 1:已完成(原tender_type为99时必须为1:已完成;其他的tender_type必须为0:待操作) |
create_time | 0-1 | String | 字符串,最大32位 | tender创建时间,当pay_status为1时必填,格式详见 1.5时间数据元素定义 |
original_tender_sn | 1 | String | 字符串,最大32位 | 原购货订单完成后本系统返回的支付流水号,字段tender_sn值 (支持填写收钱吧传入支付宝/微信的流水号、以及微信/支付宝的流水号,对应字段internal_transaction_sn值、字段channel_sn值; 支持工商银行信用卡分期的流水号,对应字段channel_sn值) |
operation | 0-1 | String | 字符串,最大2位 | 退款操作类型 9-原路退还, 10-转账。不填默认9 |
返回参数:
请注意,退款接口仅做订单同步的处理,调用退款接口成功时,仅表示创建退款订单成功,并非订单退款成功。创建退款订单成功后,收钱吧轻POS服务会异步执行交易流水的退款业务。因此,开发者需要调用销售类结果查询接口,或者等待销售类结果通知,并根据获取到的order_status
判断订单状态,切勿单方面依赖退款接口同步返回的内容判断订单退款成功与否。
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
brand_code | 1 | String | 数字,最大32位 | 品牌编号,系统对接前由"收钱吧"分配并提供,返回调用方传入的值 |
store_sn | 1 | String | 字符串,最大36位 | 商户内部使用的门店编号,返回调用方传入的值 |
workstation_sn | 1 | String | 字符串,最大36位 | 门店收银机编号,返回调用方传入的值 |
check_sn | 1 | String | 字符串,最大32位 | 商户订单号,返回调用方传入的值 |
order_sn | 1 | String | 字符串,最大32位 | 本系统为该订单生成的订单序列号 |
sales_sn | 0-1 | String | 字符串,最大36位 | POS 或 电商等业务系统内的实际销售订单号,不同于check_sn。如果发起支付请求时该订单号已经生成,强烈建议传入,方便后续对账和运营流程使用。本字段不影响交易本身。 |
order_source | 1 | String | 数字,1 位 | 订单来源:1=商户系统,3=智能终端,4=门店码牌,5=商户后台 |
reflect | 0-1 | String | 字符串,最大255位 | 反射参数; 任何开发者希望原样返回的信息,可以用于关联商户ERP系统的订单或记录附加订单内容。可以在订单结果通知中返回 |