购买

API endpoint: {api_domain}/api/lite-pos/v1/sales/purchase

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。如果发起支付请求时该订单号已经生成,强烈建议传入,方便后续对账和运营流程使用。本字段不影响交易本身。
scene 1 String 数字,2位 业务场景值:0-无场景,1-智能终端,2-H5,4-PC,5-微信小程序/插件,7-刷脸终端,8-立即付,10-APP,11-顾客扫码,12-顾客出码
sales_time 1 String 字符串,20- 25位 商户订单创建时间, 格式详见 1.5时间数据元素定义
expire_time 0-1 String 数字,最大12位 订单有效时间,传整数。单位为分钟,最小值为1,最大值为43200。默认24小时(即1440)。
expire_time和expired_at二选一,如果都传,优先使用expired_at
expired_at 0-1 String 数字,20- 25位 订单绝对超时时间。不能大于30天。格式详见 1.5时间数据元素定义
expire_time和expired_at二选一,如果都传,优先使用expired_at
amount 1 String 数字,最大12位 订单总金额,精确到分。如果同时传入【订单总金额】,【商品总金额】,【运费】,必须满足【订单总金额】=【商品总金额】+【运费】)
item_amount 0-1 String 数字,最大 12 位 商品总金额,精确到分
freight 0-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
return_url 0-1 String 字符串,最大支持255位 支付结果页,H5场景、PC场景和APP场景选填,其余场景不适用
back_url 0-1 String 字符串,最大支持255位 PC场景与手机浏览器(非微信/支付宝)H5场景适用,用于定义收银台返回按钮跳转地址
reflect 0-1 String 字符串,最大255位 反射参数; 任何开发者希望原样返回的信息,可以用于关联商户ERP系统的订单或记录附加订单内容。
enable_sub_tender_types 0-1 String 字符串,最大64位 可用的二级支付方式sub_tender_type,
多个sub_tender_type用“|”(竖线符号)隔开。
与disable_sub_tender_types互斥
disable_sub_tender_types 0-1 String 字符串,最大64位 不可用的二级支付方式sub_tender_type,
多个sub_tender_type用“|”(竖线符号)隔开。
与enable_sub_tender_types互斥
specified_payment 0-1 JSON 指定支付方式使用规则,收银台界面展示生效。字段定义见下表specified_payment
dynamic_id 0-1 String 字符串,最大32位 付款码,scene=12时必填
crm_account_option 0-1 Object crm_account_option 会员账户集成参数。字段定义见下表crm_account_option
items 0-n [item] item数组 订单货物清单。
数组元素为item对象,json格式,其字段定义见下表items
tenders 0-n [tender] tender数组 指定本订单的流水信息。
数组元素为tender对象,json格式,其字段定义见下表tenders
不指定支付方式时可不传该字段,由用户在相应场景的收银台界面内选择支付方式;指定支付方式时下发各支付方式设置;预授权完成必须下发该项目并指定授权时的流水号
trail_flag 0-1 String 数字 特性标识:1-微信trail, 2-支付宝trail。
传入1过滤除了301-微信、礼品卡支付外的所有支付方式,传入2过滤除了302-支付宝、402-花呗分期外的所有支付方式。
仅应用于小程序发版场景,不作为生产订单控制支付方式使用。
activity_tag 0-1 String 字符串,最大32位 活动标识,用于匹配营销活动。
longitude 0-1 String 字符串,最大32位 经度,经纬度必须同时出现
latitude 0-1 String 字符串,最大32位 纬度,经纬度必须同时出现
specified_payment:
参数 出现 类型 约束 描述
installment_tenders 0-1 [installmentTenders] installmentTenders数组 分期信息,分期支付时有效。
数组元素为installmentTenders对象,json格式,其字段见下表
selected_giftcard 0-1 String 数字 礼品卡支付方式下,按默认顺序选中其下足额的礼品卡
0-否,1-是
partial_payment 0-1 String 数字 是否强制使用分笔支付,是则直接进入分笔收银台
0-否,1-是
目前仅H5和PC场景支持。

installmentTenders:

参数 出现 类型 约束 描述
sub_tender_type 1 String 字符串,最大64位 分期支付下的二级支付方式sub_tender_type
(详见一级支付方式为“分期”的二级支付方式代码
installment_options 1 [installmentOptions] installmentOptions数组 分期产品具体参数。
数组元素为installmentOptions对象,json格式,其字段见下表

installmentOptions:

参数 出现 类型 约束 描述
installment_number 1 String 数字 分期数。必填
3-分3期
6-分6期
12-分12期
installment_fee_merchant_percent 0-1 String 数字 商家是否贴息。
100=商家贴息,0=商家不贴息
不传则执行后台配置品牌默认的贴息方式
crm_account_option:
参数 出现 类型 约束 描述
app_type 1 String 数字,1位 权益类型,
1:financial_privilege(金融权益),
2:coupon(券,如单品券、优惠券等),
3:card(礼品卡),
4:会员,
5:wallet(礼品卡 & 储值账户)
member_sn 0-1 String 字符串,最大36位 商户会员编号,商户CRM对接唯一标识
app_type=1(金融权益)下,member_sn与member_id至少填一个
member_id 0-1 String 字符串,最大36位 商户会员id,商户系统会员唯一标识外其它标识
app_type=1(金融权益)下,member_sn与member_id至少填一个
mobile 0-1 String 字符串,最大36位 手机号,对接app_type=3时选用
wx_union_id 0-1 String 字符串,最大36位 微信公众平台用户标识,对接app_type为“3”或“5”时默认优先使用
preferred_class 0-1 String 字符串,最大36位 预先选择权益类型
preferred_refer_id 0-1 String 字符串,最大36位 预先选择权益编号
risk_level 0-1 String 字符串,最大36位 账户风险等级。high高风险,mid中风险,low低风险,rel可信
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 0-1 String 字符串,最大36位 原商品销售门店号,退货时必填
return_workstation_sn 0-1 String 字符串,最大36位 原商品销售收银机号,退货时必填
return_check_sn 0-1 String 字符串,最大32位 原商品销售订单号,退货时必填
tenders:
参数 出现 类型 约束 描述
tender_type 1 String 数字,1位 支付方式类型:0-其他,1-预授权完成,2-银行卡,3-QRCode,4-分期,99-外部
sub_tender_type 0-1 String 数字 二级支付方式类型(开发者不需要传入具体值):
001-现金,如需在轻POS录入其他支付方式,在对接时与收钱吧沟通配置;
101-银行卡预授权完成,
102-微信预授权完成,103-支付宝预授权完成;
201-银行卡;
301-微信,302-支付宝;
402-花呗分期
sub_tender_desc 0-1 String 字符串 当tender_type为99时,必填,且传入参数值为收银系统自定义的支付方式
amount 1 String 数字,最大12位 支付金额,精确到分;
transaction_sn 1 String 字符串,最大36位 商户系统流水号,在商户系统中唯一
installment_number 0-1 String 数字 指定分期数,分期支付时必填
3-分3期
6-分6期
12-分12期
installment_fee_merchant_percent 0-1 String 数字 商家贴息比例0~100的整数,跟期数同时出现,指定期数时必传。花呗分期只能传0或者100,商家承担手续费传入100,用户承担手续费传入0。
original_tender_sn 0-1 String 字符串,最大32位 tender_type 为1时必填,内容为预授权订单操作成功后,轻POS返回给商户的预授权流水号
pay_status 0-1 String 数字,最大12位 标记该tender是否已经支付完成。
0:待操作,
1:已完成(tender_type为99时必须为1:已完成;其他的tender_type必须为0:待操作)
create_time 0-1 String 字符串,最大32位 tender创建时间,当pay_status为1时必填, 格式详见 1.5时间数据元素定义

返回参数:

以下是共同返回参数

参数 出现 类型 约束 描述
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_token 1 String 字符串,最大 64 位 订单凭证,H5、微信小程序、微信小程序插件,刷脸终端的场景
order_source 1 String 数字,1 位 订单来源:1=商户系统,3=智能终端,4=门店码牌
cashier_url 0-1 String 字符串,最大255位 终端的场景轻POS收银台地址:
- H5/顾客扫码场景下返回收银台链接;
- APP场景下返回APP跳转小程序链接。
order_image_url 0-1 Stirng 字符串,最大 255 轻POS订单图片地址,图片上二维码内容为cashier_url,扫码进入轻POS收银台页面,H5场景下会返回该字段
order_landing_url 0-1 String 字符串,最大255位 轻POS订单详情页地址,H5场景下需收钱吧配置才会返回该字段,默认不返回
order_landing_url_img 0-1 String 字符串,最大255位 轻POS订单图片地址,图片上二维码内容为order_landing_url,扫码进入订单详情页,H5场景下需收钱吧配置才会返回该字段,默认不返回
reflect 0-1 String 位字符串,最大255位 反射参数; 任何开发者希望原样返回的信息,可以用于关联商户ERP系统的订单或记录附加订单内容。

以下是“12-顾客出码”场景下的特有返回参数

参数 出现 类型 约束 描述
order_status 1 String 数字,1位 订单状态0:已取消,1:待操作,2:操作中,3:等待结果中,4:操作完成,5:部分完成,6:操作失败,7:已终止
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位 订单简短描述
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
items 0-n [Item] item数组 订单货物清单,定义如下表
tenders 0-n [tender] tender数组 指定本订单的流水信息,定义如下表
items:
参数 出现 类型 约束 描述
item_code 1 String 字符串,最大32位 商户系统中的商品编号
item_desc 1 String 字符串,最大64位 商品描述信息,例"白色短袖"
category 0-1 String 字符串,最大32位 商品所属大类,例"短袖"
spec 0-1 String 字符串,最大 32 位 规格
unit 0-1 String 字符串,最大32位 商品单位,例"件"
item_qty 1 String 数字,最大8位 商品数量,例"2"
item_price 1 String 数字,最大12位 商品单价,精确到分
sales_price 1 String 数字,最大12位 商品成交价格,一般为数量*单价,如有折扣再进行扣减,精确到分;当退货时成交价为负数;目前不校验"数量*单价"结果是否与此字段值相等
type 1 String 数字,1位 0-销售,1-退货
return_store_sn 0-1 String 字符串,最大36位 原商品销售门店号,退货时必填
return_workstation_sn 0-1 String 字符串,最大36位 原商品销售收银机号,退货时必填
return_check_sn 0-1 String 字符串,最大32位 原商品销售订单号,退货时必填
tenders:
参数 出现 类型 约束 描述
tender_sn 1 String 数字,最大32位 支付/退款成功后,轻POS生成的唯一流水号
transaction_sn 1 String 数字,最大36位 商户系统流水号,在商户系统中唯一
original_tender_sn 0-1 String 字符串,最大32位 tender_type 为1时必填,内容为预授权订单操作成功后,轻POS返回给商户的预授权流水号
amount 1 String 数字,最大12位 支付金额,精确到分
collected_amount 1 String 数字,最大12位 商家实收,精确到分
paid_amount 1 String 数字,最大12位 消费者实付,精确到分
pay_status 1 String 数字,1位 支付状态, 1:待操作; 2:支付中; 3:支付成功; 4:退款中; 5:退款成功;6:退款失败;7:支付失败;8:未知状态;
pay_time 0-1 String 字符串,20- 25位 支付源交易流水完成时间, 格式详见 1.5时间数据元素定义
tender_type 1 String 数字,1位 支付方式类型:0-其他,1-预授权完成,2-银行卡,3-QRCode,4-分期,99-外部
sub_tender_type 0-1 String 数字 二级支付方式类型:
001-现金,如需在轻POS录入其他支付方式,在对接时与收钱吧沟通配置;
101-银行卡预授权完成,102-微信预授权完成,103-支付宝预授权完成;
201-银行卡;
301-微信,302-支付宝;
402-花呗分期
sub_tender_desc 0-1 String 字符串 二级支付方式描述。如:微信支付
internal_transaction_sn 0-1 String 字符串,最大 移动支付:收钱吧传入支付宝/微信的out_trade_no;
银行卡支付:交易返回的交易授权码
channel_sn 0-1 String 字符串,最大 支付渠道流水号,操作成功时存在。
微信支付宝:微信支付宝流水号;
银行卡:银行卡流水号。
installment_number 0-1 String 数字 分期数,分期支付时返回
installment_fee_merchant_percent 0-1 String 数字 商家贴息比例,分期支付时返回

results matching ""

    No results matching ""