立即付
API endpoint: {api_domain}/api/lite-pos/v1/sales/ipay
Verb: POST
Signature :需要签名,参考统一签名说明
请求参数:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
request_id | 1 | String | 字符串,最大 64位 | 请求编号,每次请求必须唯一;表示每一次请求时不同的业务,如果第一次请求业务失败了,再次请求,可以用于区分是哪次请求的业务。 |
brand_code | 1 | String | 数字,最大 32 位 | 品牌编号,系统对接前由"收钱吧"分配并提供 |
store_sn | 1 | String | 字符串,最大 36位 | 商户内部使用的门店编号 |
workstation_sn | 1 | String | 字符串,最大 36位 | 门店收银机编号,如果没有请传入“0” |
check_sn | 1 | String | 字符串,最大 32位 | 商户订单号,在商户系统中唯一 |
order_sn | 0-1 | String | 字符串,最大 32位 | 本系统为该订单生成的订单序列号,成功请求立即付接口后,接口同步返回;同一笔订单重新支付时传入该字段唤起支付 |
sales_sn | 0-1 | String | 字符串,最大36位 | POS 或 电商等业务系统内的实际销售订单号,不同于check_sn。如果发起支付请求时该订单号已经生成,强烈建议传入,方便后续对账和运营流程使用。本字段不影响交易本身。 |
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位 | 可以传入需要备注顾客的信息 |
notify_url | 0-1 | String | 字符串,最大 255位 | 通知接收地址 |
return_url | 0-1 | String | 字符串,最大支持 255 位 | 支付结果页,H5 场景支付结果页 |
reflect | 0-1 | String | 字符串,最大 255位 | 反射参数; 任何开发者希望原样返回的信息,可以用于关联商户ERP系统的订单或记录附加订单内容。 |
items | 0-n | [Item] | item 数组 | 订单货物清单,定义如下表 |
scene_type | 1 | String | 数字 | 场景类型 1-付款码支付、协议支付 2–WAP支付 3-小程序支付 4-顾客扫码支付(支付源的原生支付二维码,扫码后可直接拉起支付控件) 5-原生APP支付 6-原生H5支付 不同 scene_type 决定了调起支付的方法 |
dynamic_id | 0-1 | String | 字符串 | scene_type=1 时必填,支付凭证。 付款码支付时,填写付款码; 协议支付时,填写预授权的流水号。即预授权订单操作成功后,轻POS返回给商户的预授权流水号tender_sn。 |
appid | 0-1 | String | 字符串 | scene_type=3 小程序支付时必传,小程序appid |
payer_uid | 0-1 | String | 字符串 | 消费者在支付通道的唯一 id,小程序支付必传,微信小程序支付必须传 open_id,支付宝小程序支付必传用户授权的 userId |
tender_type | 1 | String | 数字 | 支付方式类型: 参考附录一级支付方式 |
sub_tender_type | 0-1 | String | 数字 | 参考附录二级支付方式 scene_type=1 (付款码支付)时可不填,协议支付和其它场景类型下必填 |
installment_number | 0-1 | String | 数字 | 分期相关。指定分期数,分期支付时必填 3-分3期 6-分6期 12-分12期 |
installment_fee_merchant_percent | 0-1 | String | 数字 | 分期相关。商家贴息比例,0~100之间的整数。分期支付时必填,跟分期数同时出现。 花呗分期只能传0或者100。商家承担手续费传入100;用户承担手续费传入0。 |
card_discount_threshold | 0-1 | String | 字符串 | 礼品卡最大折扣率,0~1之间,两位小数。 高于最大折扣率的卡则不能使用。比如0.88,则购卡折扣率小于0.88的卡不能使用,礼品卡支付时该字段有效。 |
longitude | 0-1 | String | 字符串,最大32位 | 经度,经纬度必须同时出现 |
latitude | 0-1 | String | 字符串,最大32位 | 纬度,经纬度必须同时出现 |
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 位 | 商品成交价格,一般为数量*单价,如有折扣再进行扣减,精确到分;当退货时成交价为负数;目前不校验"数量*单价"结果是否与此字段值相等 |
spec | 0-1 | String | 字符串,最大 32 位 | 规格 |
remark | 0-1 | String | 字符串,最大 32 位 | 备注 |
extra | 0-1 | String | 字符串,最大 32 位 | 备用 |
返回参数:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
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_status | 1 | String | 数字,1 位 | 订单状态 3:支付中,4:支付完成,6:支付失败 |
order_status_desc | 1 | String | 字符串 | 订单状态描述 |
amount | 1 | String | 数字,最大 12 位 | 订单总金额,精确到分 |
collected_amount | 0-1 | String | 数字,最大 12 位 | 商家实收金额,精确到分 |
paid_amount | 0-1 | String | 数字,最大 12 位 | 消费者实付金额,精确到分 |
reflect | 0-1 | String | 字符串,最大255位 | 反射参数 |
tender_type | 1 | String | 数字 | 支付方式类型:参考附录一级支付方式 |
tender_desc | 0-1 | String | 字符串 | 支付方式描述。 |
sub_tender_type | 0-1 | String | 数字 | 支付方式类型:参考附录二级支付方式 |
sub_tender_desc | 0-1 | String | 字符串 | 支付方式描述。如:微信支付 |
tender_sn | 1 | String | 数字,最大 32 位 | 轻 POS 生成的唯一流水号 |
internal_transaction_sn | 0-1 | String | 字符串,最大 32位 | 移动支付:收钱吧传入支付宝/微信的 out_trade_no |
channel_sn | 0-1 | String | 字符串,最大 32位 | 渠道流水号,操作成功时存在。例如微信,支付宝流水号 |
pay_request_param | 0-1 | JSON | 支付通道返回的WAP支付 /小程序支付 /顾客扫码支付等需要传递的信息 | |
installment_number | 0-1 | String | 数字 | 分期数,分期支付时返回 |
installment_fee_merchant_percent | 0-1 | String | 数字 | 商家贴息比例,分期支付时返回 |
channel_info | 0-1 | JSON | 对象 | 渠道交易信息 |
channel_info:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
mobile_payment_info | 0-1 | JSON | 移动支付交易信息 二级支付方式为“301-微信”,“302-支付宝”,“402-花呗分期”返回 定义见下表mobile_payment_info |
|
card_payment_info | 0-1 | JSON | 卡券支付交易信息 二级支付方式为“801-会员储值卡”、“804-单品券”时返回 定义见下表card_payment_info |
|
giftcard_infos | 0-1 | [giftcard_info] | giftcard_info数组 | 礼品卡核销时返回 |
mobile_payment_info:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
payer_uid | 1 | String | 字符串,最大64位 | 付款人ID,支付平台(微信,支付宝)上的付款人ID |
payment_list | 0-n | [payment] | payment数组 | 活动优惠,定义如下表 详情见:活动优惠 |
provider_response | 0-1 | JSON | 字符串 | 优惠详情,定义如下表, 详情见:优惠详情 · GitBook (shouqianba.com) |
card_payment_info:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
payer_unionid | 0-1 | String | 字符串,最大128位 | 付款人ID,(微信公众平台unionid) |
card_number | 0-1 | String | 字符串,最大128位 | 卡号或者券号 |
giftcard_info:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
card_number | 1 | String | 字符串,最大12位 | 卡号 |
expiration_date | 1 | String | 字符串 | 有效期截止日, 例:2027-04-01,代表截止到这一天,卡仍然可以正常使用 |
balance_movement | 0-1 | JSON | BalanceMovement | 余额变化 |
BalanceMovement:
参数 | 出现 | 类型 | 约束 | 描述 |
---|---|---|---|---|
beginning | 1 | Long | 数字,最大12位 | 期初余额,单位分 |
activity | 1 | Long | 数字,最大12位 | 发生金额,单位分。支付时为负数,退款时为正数 |
ending | 1 | Long | 数字,最大12位 | 期末余额,单位分 |