订单支付


 

3.6 订单支付

3.5.9订单查询

根据商户订单号、订单号或渠道支付流水号查询订单明细。ISV订单查询只支持根据外部订单号查询。

method:

非ISV订单查询allinpay.shopoint.orderService.orderQuery

ISV订单查询allinpay.shopoint.orderService.isvOrderQuery

version: 1.0

业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

reqOrderNo

String

64

外部订单号

三选一,同时传则取orderCode进行查询。对于全抵扣订单,不支持使用trxId进行查询。推荐使用orderCode进行查询。

orderCode

String

40

数字营销订单号

trxId

String

30

支付流水号

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

4

返回码

0:表示成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

200

错误信息

 

data

reqOrderNo

String

64

外部订单号

 

orderCode

String

40

数字营销订单号

 

transTime

String

19

交易时间

时间格式:yyyy-dd-MM HH:mm:ss

shopId

String

11

店铺ID

 

shopCode

String

20

店铺号

与shopId功能相同,shopId和shopCode同时输入则只取shopId,二者必输一个

shopName

String

50

店铺名称

 

customerId

Integer

11

会员ID

数字营销系统会员编号

openId

String

180

用户openid

 

amount

String

14

订单金额

单位:元

giveScores

Integer

11

返积分值

 

score

Integer

11

积分抵扣数量

 

scoreAmount

String

14

积分支付金额

单位:元

bankScore

Integer

11

银行积分抵扣数量

 

bankScoreAmount

String

14

银行积分抵扣金额

单位:元

balanceAmount

String

14

余额支付金额

单位:元

orderRemark

String

200

订单备注

 

paymentStatus

Integer

4

支付状态

1-支付中,2-已支付,3-支付失败

fee

String

14

手续费

单位:元

paymentFrom

Integer

4

支付来源

0-微信支付,1-支付宝支付,2-手机QQ支付,3-云闪付

paymentAmount

String

14

支付金额

单位:元

trxId

String

30

渠道支付流水号

 

discountList

ArrayList

 

优惠抵扣信息

 

couponNo

String

32

券号

 

couponType

Integer

4

券类型

0-金额券,2-计次券,3-满减券

couponName

String

50

券名称

 

initAmount

String

14

面额

单位:元

amount

String

14

抵扣金额

单位:元

bankSubsidyAmount

String

14

银行补贴金额

单位:元

startValidityPeriod

String

19

有效开始日期

时间格式:yyyy-dd-MM HH:mm:ss

endValidityPeriod

String

19

有效截止日期

时间格式:yyyy-dd-MM HH:mm:ss

couponStatus

String

10

券状态

有效、已核销

giveCouponList

ArrayList

 

返券信息

 

couponNo

String

32

券号

11*****1111

couponType

Integer

4

券类型

0-金额券,2-计次券,3-满减券

couponName

String

50

券名称

 

initAmount

String

14

面额

单位:元

splitDetailList

ArrayList

 

分账明细

 

shopId

Integer

11

店铺ID

 

shopName

String

50

店铺名称

 

amount

String

14

分账实付金额

单位:元

discountAmount

String

14

优惠金额

单位:元

fee

String

14

手续费

单位:元

 

 

请求示例

待补充

响应示例

待补充

 

3.5.10订单退款

根据原交易商户订单号、订单号或渠道支付流水号进行退款,支持部分退款。

特别说明

1、存在优惠抵扣积分和钱包的非分账订单不支持部分退款

2、ISV订单退款只支持根据外部单号退款

3、存在优惠抵扣积分和钱包的分账订单,收款店铺分账部分不支持部分退款

method:

非ISV订单退款allinpay.shopoint.orderService.refund

ISV订单退款allinpay.shopoint.orderService.isvRefund

version: 1.0

业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

reqRefundNo

String

64

外部退款单号

必须保证唯一

reqOrderNo

String

64

原外部订单号

三选一,同时传则取orderCode进行处理。对于全抵扣订单,不支持使用trxId进行退款。推荐使用orderCode进行退款。

orderCode

String

40

数字营销订单号

trxId

String

30

支付流水号

amount

String

14

退款金额

存在优惠抵扣、积分和钱包的非分账订单不支持部分退款

splitList

JSONArray

1024

分账退款信息

相见附录7.2 splitList字段说明。

分账订单退款使用,整单退不传。部分退时,若不传,则按退款金额与总金额的比例挨个从分账中退款。

noSplitAmount

String

14

退款未分账金额

预留字段,暂不可用

 

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

4

返回码

0:表示成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

200

错误信息

 

data

reqOrderNo

String

64

原交易外部订单号

 

orderCode

String

40

数字营销原交易订单号

 

refundNo

String

40

数字营销退款订单号

 

amount

String

14

退款金额

单位:元

trxId

String

30

渠道退款流水号

 

refundStatus

Integer

4

退款状态

1-退款中,2-退款成功,3-退款失败

refundTime

String

19

退款时间

时间格式:yyyy-dd-MM HH:mm:ss

errMsg

String

200

失败描述

 

fee

String

14

手续费

单位:元

请求示例

{ “reqOrderNo”:”32132132132131”,” orderCode”:”11121212”}

 

响应示例

{

    "code": 0,

    "data": {

        "reqOrderNo": “1212121212121”,

"orderCode": “1212121212121”,

"refundNo": “0000”,

"amount": “100”

 

 

        }

    "token": "DlRXdIjEBLRLCJgwTP37sZW6ls--NflxVS2-KUHl"

}

 

3.5.11退款订单查询

根据退款单号查询退款信息。ISV退款订单查询只支持根据外部退款单号查询。

method:

非ISV退款订单查询allinpay.shopoint.orderService.refundQuery.v2

ISV退款订单查询allinpay.shopoint.orderService.isvRefundQuery

version: 1.0

业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

reqRefundNo

String

64

外部退款单号

三选一,同时传则取refundNo进行查询。对于全抵扣退款订单,不支持使用trxId进行查询。推荐使用refundNo进行查询。

refundNo

String

40

数字营销退款订单号

trxId

String

30

退款流水号

 

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

4

返回码

0:表示成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

200

错误信息

 

data

reqOrderNo

String

64

原交易商户订单号

 

refundNo

String

40

数字营销退款订单号

 

amount

String

14

退款订单金额

单位:元

refundStatus

Integer

4

退款状态

1-退款中,2-退款成功,3-退款失败

refundTime

String

19

退款时间

格式:yyyy-MM-dd HH:mm:ss

orderCode

String

40

原交易订单号

 

trxId

String

30

渠道退款流水号

 

srcAmount

String

14

原交易金额

单位:元

errMsg

String

200

失败描述

 

fee

String

14

手续费

单位:元

splitRefundList

ArrayList

 

分账退款明细

 

shopId

Integer

11

店铺ID

 

shopName

Strinig

50

店铺名称

 

amount

String

14

分账实退金额

单位:元

fee

String

14

退手续费

单位:元

 

请求示例

待补充

响应示例

待补充

 

3.5.12统一扫码

使用场景:扫一扫付款二维码,获取付款二维码内容调用此接口进行收款。支持微信、支付宝、手机qq、银联规范付款二维码。当结果码为支付中时,商户系统可设置间隔时间(建议10秒)重新查询支付结果,直到支付成功或超时(建议40秒)。

本交易支持一码付。

该接口不支持阶梯分账(可正常收款,但不执行阶梯分账规则)。

method: allinpay.shopoint.orderService.scanQrPay

version: 1.0

业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

reqOrderNo

String

64

外部订单号

接入方必须保证唯一

shopId

Integer

11

店铺ID

 

shopCode

String

20

店铺编号

shopId与shopCode必传其一

amount

String

14

订单金额

单位:元

idType

String

4

会员账号类型

1-手机号

2-会员卡号

3-Openid

4-会员动态码

5-外部会员ID

6-内部会员ID

memberId

String

180

会员账号

 

authcode

String

200

支付授权码

如微信,支付宝,银联的付款二维码

termInfo

String

200

终端信息

终端信息的json字符串,详见附录7.1终端信息字段说明

orderTitle

String

100

订单标题

订单商品名称

remark

String

160

备注

禁止出现+,空格,/,?,%,#,&,=这几类特殊符号

splitList

JSONArray

1024

分账信息

参照附录7.2splitList字段说明

inAccountFlag

String

2

入金账户标识

0-余额户

1-储值卡专用户

splitFlag

Integer

2

分账标识

1-自动分账,默认1

2-不分账

3-延时分账

若上送2时,忽略接口上送的splitList;若上送3,则必须调用“3.5.23分账确认”接口完成分账和入账。

 

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

4

返回码

0:表示成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

200

错误信息

 

data

reqOrderNo

String

64

外部订单号

 

orderCode

String

40

数字营销订单号

 

transTime

String

19

交易时间

时间格式:yyyy-dd-MM HH:mm:ss

shopCode

String

20

店铺号

与shopId功能相同,shopId和shopCode同时输入则只取shopId,二者必输一个

shopName

String

50

店铺名称

 

amount

String

14

订单金额

单位:元

paymentFrom

Integer

4

支付来源

0-微信支付,1-支付宝支付,2-手机QQ支付,3-云闪付,7-数字人民币,99-全抵扣

paymentAmount

String

14

支付金额

单位:元

trxId

String

30

渠道支付流水号

 

score

Integer

11

积分抵扣数量

 

scoreAmount

String

14

积分支付金额

单位:元

bankScore

Integer

11

银行积分抵扣数量

 

bankScoreAmount

String

14

银行积分抵扣金额

单位:元

balanceAmount

String

14

余额支付金额

单位:元

paymentStatus

Integer

4

支付状态

1-支付中,2-已支付,3-支付失败

fee

String

14

手续费

单位:元

giveScores

Integer

11

返积分值

 

discountList

ArrayList

 

优惠抵扣信息

 

couponNo

String

32

券号

11*****1111

couponType

Integer

4

券类型

0-金额券,2-计次券,3-满减券

couponName

String

50

券名称

 

amount

String

14

抵扣金额

单位元

bankSubsidyAmount

String

14

银行补贴金额

单位:元

initAmount

String

14

面额

单位:元

giveCouponList

ArrayList

 

返券信息

 

couponNo

String

32

券号

11*****1111

couponType

Integer

4

券类型

0-金额券,2-计次券,3-满减券

couponName

String

50

券名称

 

initAmount

String

14

面额

单位:元

 

请求示例
响应示例

3.5.13终端信息采集

在进行交易前,需要通过此接口进行终端信息报备,否则可能存在无法交易等情况。开通资金分账功能的机构店铺进行终端报备时,建议上送termSn和shopId字段,以自动完成商户信息与终端信息的相关绑定。若未上送shopId,则默认不做该绑定。

method: allinpay.shopoint.orderService.addTerm

version: 1.0

业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

mchtCd

String

15

商户号

 

termNo

String

8

终端号

8位数字,商户下唯一

deviceType

String

2

设备类型

01:自动柜员机(含 ATM 和 CDM)和多媒体自助终端

02:传统 POS

03:mPOS

04:智能 POS

05:II 型固定电话

06:云闪付终端;

07:保留使用;

08:手机 POS;

09:刷脸付终端;

10:条码支付受理终端;

11:条码支付辅助受理终端;

12:行业终端(公交、地铁用于指定行业的终端);

13:MIS 终端;

termSn

String

50

终端序列号

终端类型(deviceType)填写为 02、03、04、05、06、08、09 或 10时,必须填写终端序列号。

operationType

String

2

操作类型

取值范围:00:新增;01:修改;02:注销;(注销时,仅需上送termNo字段)

termState

String

2

终端状态

取值范围:00:启用;01:注销;注:终端注销时非必填

termAddress

String

100

终端地址

省-市-区-详细地址,详细地址长度控制在 30 个汉字以内。注:终端注销时非必填

shopId

Integer

11

店铺ID

mchtCd与shopId不能同时为空,mchtCd为空时,shopId的店铺需要开通支付。

 

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

4

返回码

0:表示报备受理成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

200

错误信息

 

请求示例

待补充

响应示例

待补充

3.5.14统一支付

支付场景:请求扫码支付的二维码串(支持支付宝、数字人民币、云闪付),公众号JS支付(支付宝,微信,数字人民币,云闪付),微信小程序支付(小程序直接发起支付,小程序调起通联小程序支付)。

营销场景:如果交易时上送了用户手机号/openid/外部会员ID等账号标识memberId时,会自动取该账号memberId下的商家+银行资产,静默核销账户资产后,剩下金额再执行支付收款。

适用场景:对接方通过接口直接调起微信、支付宝支付,无中间收银台界面,支付金额为静默执行营销活动后的实付金额。

如果是调用JS支付,需要在商户收银宝后台配置支付授权目录:https://dms.shopoint.cn/  

该接口不支持阶梯分账(可正常收款,但不执行阶梯分账规则)。

method: allinpay.shopoint.orderService.unifiedPay

version: 1.0

业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

reqOrderNo

String

64

外部订单号

接入方必须保证唯一

shopId

Integer

11

店铺ID

 

amount

String

14

订单金额

单位:元

idType

String

4

会员账号类型

1-手机号

2-会员卡号

3-Openid

4-会员动态码

5-外部会员ID

6-内部会员ID

memberId

String

180

会员账号

 

payType

String

4

支付方式

W01-微信扫码支付

W02-微信JS支付

W06-微信小程序支付

W11-微信订单支付

A01-支付宝扫码支付

A02-支付宝JS支付

A03-支付宝APP支付

U01-银联扫码支付(CSB)

U02-银联JS支付

S01-数币扫码支付

S03-数字货币H5

I01-聚合支付

IM01-微信小程序聚合支付

acctNo

String

180

支付平台用户标识

JS支付时使用:

微信支付-用户的微信openid

支付宝支付-用户user_id

微信小程序-用户小程序的openid

云闪付JS-用户userId

subAppid

String

50

微信子appid

微信小程序/微信公众号/APP的appid

ipAddress

String

16

终端IP

用户下单和调起支付的终端ip地址。云闪付JS支付不为空

splitList

JSONArray

1024

分账信息

参照附录7.2splitList字段说明

inAccountFlag

String

2

入金账户标识

0-余额户

1-储值卡专用户

splitFlag

Integer

2

分账标识

1-自动分账,默认1

2-不分账

3-延时分账

若上送2时,忽略接口上送的splitList;若上送3,则必须调用“3.5.23分账确认”接口完成分账和入账。

remark

String

160

备注

最大160个字节(80个中文字符)。

禁止出现+,空格,/,?,%,#,&,=这几类特殊符号

 

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

4

返回码

0:表示成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

200

错误信息

 

data

reqOrderNo

String

64

外部订单号

 

orderCode

String

40

数字营销订单号

 

transTime

String

19

下单时间

时间格式:yyyy-dd-MM HH:mm:ss

shopCode

String

20

店铺号

与shopId功能相同,shopId和shopCode同时输入则只取shopId,二者必输一个

shopName

String

50

店铺名称

 

amount

String

14

订单金额

单位:元

paymentFrom

Integer

4

支付来源

0-微信支付,1-支付宝支付,3-云闪付,7-数字人民币,99-全抵扣,100-聚合支付

paymentAmount

String

14

支付金额

单位:元

trxId

String

30

渠道支付流水号

 

score

Integer

11

积分抵扣数量

 

scoreAmount

String

14

积分支付金额

单位:元

bankScore

Integer

11

银行积分抵扣数量

 

bankScoreAmount

String

14

银行积分抵扣金额

单位:元

balanceAmount

String

14

余额支付金额

单位:元

transStatus

Integer

4

交易状态

1-下单成功,2-支付成功,3-下单失败

payInfo

Sting

不限

支付串

扫码支付返回二维码串;

JS支付返回json字符串,云闪付的JS支付返回支付的链接,商户只需跳转到此链接即可完成支付;

支付宝App支付返回支付信息串;

聚合支付返回支付链接,跳转到此链接进行支付;

小程序聚合支付返回json串,商户小程序跳转至appid小程序的paypath进行支付

discountList

ArrayList

 

优惠抵扣信息

 

couponNo

String

32

券号

11*****1111

couponType

Integer

4

券类型

0-金额券,2-计次券,3-满减券

couponName

String

50

券名称

 

amount

String

14

抵扣金额

单位元

bankSubsidyAmount

String

14

银行补贴金额

单位:元

initAmount

String

14

面额

单位:元

 

请求示例
响应示例

调起通联小程序支付流程:

1. 请求参数的支付方式 `paytype` 上送 “IM01”,并调用接口 3.5.14 获取支付信息。

2. 接收返回的 `payinfo`,其中包含通联小程序的 `appid` 和支付路径 `paypath`。

3. 使用接口返回的参数调起通联小程序发起支付,代码示例如下:

 

4. 支付完成或失败后,通联小程序前端通过 `extraData` 返回 `payStatus` 给来源小程序,具体值为:

- "0":支付失败

- "1":支付成功

- "2":用户取消支付

5. 来源小程序结合以上结果和后台查询的支付结果状态实现具体的业务需求,建议来源小程序调用查询接口主动查询订单结果。

 

具体业务需求建议:

  • 在接收到 `payStatus` 结果后,来源小程序应调用查询接口确认订单支付结果,以确保支付结果的准确性。
  • 实现支付结果的业务逻辑处理,包括支付成功、失败、用户取消支付等情况的处理。

 

注意事项:

  • 确保传递的参数符合接口要求,尤其是 `paytype` 参数必须为 “IM01”。
  • 小程序支付路径 `paypath` 和 `appid` 应从返回的 `payinfo` 中获取并正确使用。

 

3.5.15 ISV收银台

根据传入的shopId返回跳转到智慧小店ISV收银台或者智慧门店ISV收银台的地址,再由对接方跳转到该地址

如果对接方为通惠,则shopId为通惠关联的智慧小店或者智慧门店的店铺

如果对接方为智慧门店,则shopId为机构自身的店铺或者子机构的店铺

该接口不支持阶梯分账(可正常收款,但不执行阶梯分账规则)。

method: allinpay.shopoint.orderService.isvCheckout  

version: 1.0

业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

oid

String

25

对接方系统订单号

无论是否完成支付或者支付成功与否,均不能重复上送

shopId

Integer

11

数字营销平台的店铺Id

· 对接方为智慧门店时,与shopId必传其中之一

· 对接方为通惠时,必传

 

店铺下至少拥有一个码牌

shopCode

String

20

数字营销平台智慧门店机构的店铺编号

· 对接方为智慧门店时,与shopId必传其中之一

其中,对接方为智慧门店集团时,shopCode需要在集团范围内唯一

· 对接方为通惠时,该参数无效

 

店铺下至少拥有一个码牌

amt

Integer

14

订单金额

单位:分,正数

returnUrl

String

200

支付成功时前端跳转地址

 

authToken

String

60

调用接口3.1.6联合登录时返回的token

 

payMethods

String

100

指定支付方式

格式为:

default,银行id1,银行id2

 

对接方为通惠时,有效值为

不传(默认为default和对接方机构及起子机构)

default

default,指定的对接方机构及其子机构

指定的对接方机构及其子机构

 

参数说明:

不传该参数,则显示用户app(微信/支付宝)支付方式,以及有可用活动时的快捷支付方式

 

只传default,则只根据用户app(微信/支付宝)显示支付方式,无论是否有银行活动,均不出现任何快捷支付方式

 

只指定了银行id,则无论有没有银行活动,均出现该银行的快捷支付方式,且无论是否有活动均不出现未指定银行的快捷支付方式

 

传入default和银行id,则显示用户app(微信/支付宝)支付方式,以及指定银行的快捷支付方式

qrCode

String

20

码牌号

需与上送店铺关联

cusid

String

40

收银宝商户号

shopId为智慧小店的店铺时有效。需与上送店铺关联。

trxType

Integer

11

交易类型

3001

账单收款

3006

点餐消费

3007

餐饮外卖消费

3008

非餐饮外卖消费

3010

商城消费

pageTitle

String

20

页面标题

 

remark

String

160

备注

 

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

 

返回码

0:表示成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

 

错误信息

 

data

isvUrl

String

 

跳转地址

 

 

请求示例

{

    "oid": "1236158361962",

    "amt": 100,

    "shopId": 12,

    "notfiyUrl": "https://www.baidu.com",

    "returnUrl": "https://www.baidu.com",

}

 

响应示例

{

    "code": 0,

    "data": {

        "isvUrl": "https://dms.shopoint.cn/..."

    },

    "token": "DlRXdIjEBLRLCJgwTP37sZW6ls--NflxVS2-KUHl"

}

 

3.5.16生成订单

使用场景:终端POS交易支付,使用本接口请求返回的orderNo订单号,完成支付。如果上送分账信息,调用此接口前需要开通数字营销结算资金管理功能。

该接口不支持阶梯分账(可正常收款,但不执行阶梯分账规则)。

method: allinpay.shopoint.orderService.createOrder

version: 1.0

 
业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

reqOrderNo

String

64

外部订单号

接入方必须保证唯一

shopId

Integer

11

店铺ID

 

shopCode

String

20

店铺编号

shopId与shopCode必传其一

amount

String

14

订单金额

单位:元

idType

String

4

会员账号类型

1-手机号

2-会员卡号

3-Openid

4-会员动态码

5-外部会员ID

6-内部会员ID

memberId

String

180

会员账号

 

paymentMethod

Integer

2

支付方式

1-通联POS智收银支付,默认1

remark

String

 

 

 

splitList

JSONArray

1024

分账信息

参照附录7.2splitList字段说明

splitFlag

Integer

2

分账标识

1-自动分账,默认1

2-不分账

3-延时分账

若上送2时,忽略接口上送的splitList;若上送3,则必须调用“3.5.23分账确认”接口完成分账和入账。

 

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

4

返回码

0:表示成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

200

错误信息

 

data

reqOrderNo

String

64

外部订单号

 

orderNo

String

40

云商通订单号

 

amount

String

14

订单金额

单位:元

paymentAmount

String

14

支付金额

单位:元

3.5.20终端信息查询

终端信息采集结果查询。

method: allinpay.shopoint.orderService.queryTerm

version: 1.0

业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

mchtCd

String

15

商户号

 

termNo

String

8

终端号

8位数字,商户下唯一

queryType

String

2

操作类型

空或者AT时仅返回AT报备状态;UAT的时候返回AT加银联报备状态

shopId

Integer

11

店铺ID

查询云商通终端绑定结果时需要上送

 

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

4

返回码

0:表示成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

200

错误信息

 

data

mchtCd

String

15

商户号

 

termNo

String

8

终端号

 

deviceType

String

2

设备类型

01:自动柜员机(含 ATM 和 CDM)和多媒体自助终端

02:传统 POS

03:mPOS

04:智能 POS

05:II 型固定电话

06:云闪付终端;

07:保留使用;

08:手机 POS;

09:刷脸付终端;

10:条码支付受理终端;

11:条码支付辅助受理终端;

12:行业终端(公交、地铁用于指定行业的终端);

13:MIS 终端;

termSn

String

50

终端序列号

 

termState

String

2

终端状态

取值范围:00:启用;01:注销;注:终端注销时非必填

termAddress

String

100

终端地址

 

wxState

String

4

微信报备状态

0000:成功

0001:报备处理中

3999:失败

wxMsg

String

100

微信报备错误信息

 

alState

String

4

支付宝报备状态

0000:成功

0001:报备处理中

3999:失败

alMsg

String

100

支付宝报备错误信息

 

unState

String

4

银联报备状态

0000:成功

0001:报备处理中

3999:失败

unMsg

String

100

银联报备错误信息

 

ystState

String

4

云商通绑定结果

0000:成功

3999:失败

 

3.5.23分账确认

使用场景:对接口3.5.12统一扫码、3.5.14统一支付、3.5.16生成订单上送字段splitFlag值为3时,必须调用此接口完成分账和上账确认,一笔交易可以调用多次进行分账。接口调用返回成功后,需要调用3.22分账确认结果查询接口获取分账确认结果。

3.5.14统一支付接口支付类型为W11时,需用户在微信侧“确认收货”后,微信侧才释放资金参与结算,才可调用此接口进行分账确认。

该接口不支持阶梯分账(可正常收款,但不执行阶梯分账规则)。

method: allinpay.shopoint.orderService.splitConfirm

version: 1.0

业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

reqSn

String

64

分账子单号

须保证在一笔交易中各分账单号唯一。如果是支付接口上送的子订单号,则按支付接口上送的参数进行分账;如果非支付接口上送的子订单号,则按本接口上送的参数进行分账

amount

String

14

分账金额

单位:元。非支付接口上送的子订单时必填

splitIdType

Integer

2

分账主体类型

0-机构,3-分账方。非支付接口上送的子订单时必填

splitId

Integer

11

分账主体ID

非支付接口上送的子订单且分账主体类型上送3时必填

remark

String

50

备注

 

origReqSn

String

64

原商户交易单号

 

 

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

4

返回码

0:表示成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

200

错误信息

 

data

reqSn

String

64

分账子单号

 

trxAmt

String

14

分账金额

单位元

fee

String

7

手续费

单位元,分摊的手续费

3.5.24分账确认结果查询

使用场景:查询3.5.23分账确认的结果。

method: allinpay.shopoint.orderService.querySplitConfirmStatus

version: 1.0

业务请求参数

字段名

参数类型

必填

最大长度

说明

取值

reqSn

String

64

分账子单号

接入方必须保证在一笔交易下分账子单号唯一

origReqSn

String

64

原商户交易单号

 

 

业务响应参数

字段名

参数类型

必填

最大长度

说明

取值

code

Integer

4

返回码

0:表示成功;

3:表示失败,具体失败原因参见msg字段;

其他:参见4.1 公共返回码

msg

String

200

错误信息

 

data

reqSn

String

64

分账子单号

 

trxAmt

String

14

分账金额

单位元

fee

String

7

手续费

单位元,分摊的手续费

splitstatus

Integer

2

分账状态

1-处理中,2-分账成功,3-分账失败

errmsg

String

100

分账失败原因

 

 

 

7.1终端信息字段说明

terminfo字段

参数

参数名称

可空

最大长度

取值

备注

termno

终端号

8

8位数字

 商户下唯一

devicetype

设备类型

2

01:自动柜员机(含 ATM 和 CDM)和多媒体自助终端

02:传统 POS

03:mPOS

04:智能 POS

05:II 型固定电话

06:云闪付终端;

07:保留使用;

08:手机 POS;

09:刷脸付终端;

10:条码支付受理终端;

11:条码支付辅助受理终端;

12:行业终端(公交、地铁用于指定行业的终端);

13:MIS 终端;

 

termsn

终端序列号

50

 

终端类型(device_type)填写为 02、03、04、05、06、08、09 或 10时,必须填写终端序列号。

encryptrandnum

加密随机因子

10

仅在被扫支付类交易报文中出现:若付款码为 19 位数字,则取后6 位;若付款码为 EMV 二维码,则取其tag 57 的卡号/token 号的后 6 位

 

secrettext

密文数据

16

仅在被扫支付类交易报文中出现:64bit 的密文数据,对终端硬件序列号和加密随机因子加密后的结果。本子域取值为:64bit 密文数据进行base64 编码后的结果。

 

appversion

终端程序版本号

8

 

终端应用程序的版本号。应用程序变更应保证版本号不重复。当长度不足时,右补空格。

longitude

经度

16

经度信息格式:1位正负号+3位整数 +1位小数点 +5位小数, +表示东经, -表示西经,例如 +121.483527

受理终端设备实时经度信息

latitude

纬度

16

纬度信息格式:1位正负号+2位整数+1位小数点 +6 位小数,+表示北纬, -表示南纬,例如+31.221345或-03.561345

受理终端设备实时纬度信息

deviceip

终端IP

40

 

商户端终端设备 IP 地址。注:如经、维度信息未上送,该字段必送。

示例

terminfo={"termsn":"dfjskljioe13238023","longitude":"+37.12","latitude":"-37.12","termno":"00000001","devicetype":"04"}

 

7.2 splitList字段说明

该字段提供对接方上送指定分账信息。如果上送此字段,必须开通数字营销资金管理功能。

  1. 最多支持3层分账。延时分账业务只支持一层。
  2. splitIdType为0-机构的主体类型时,不需要传splitCode和splitId,其他类型必须传splitCode或splitId,都传以splitId为准。
  3. splitIdType为0-机构或3-分佣方时,上送金额为最终分账金额,不再匹配系统配置的分账规则进行分账。
  4. 每层未全部分完时,剩余部分默认分账到对应的上层分账主体中,且不再匹配系统配置的分账规则进行分账。(建议:对未分完的部分,为了简化商户对接部分退款的处理,商户进行计算与管理,一并上送到分账信息中,splitIdType传3。否则商户在进行部分退款退分账未分完部分时,业务处理会比较复杂)。
  5. 延时分账splitIdType支持0、3。
  6. 退款
  • 整单退时,不需要上送splitList字段,如果上送splitList字段,则按部分退款规则处理
  • 部分退款,若需要各个分账完均摊退款金额,则不需要上送splitList,系统会自动计算各个分账主体退的金额;
  • 部分退款,非均摊退款时,需要上送各分账方完整的退款分账规则。若上送的分账方对应的订单分账存在下级分账时,需要上送指定下级退款的分账规则,包含默认的分账。
  • 部分退款,指定退分账未分完的部分时,splitIdType传3。
  • 延时分账退款时,若已存在部分分账确认的子单号,则未分账确认部分不可退款,如果要对未分账确认部分进行退款,则需先调用分账确认接口分账到收款店铺后再进行退款。若整笔订单未进行分账确认,则可发起退款。

参数

参数名称

取值

splitIdType

分账主体类型

0-机构、1-店铺,2-大类,3-分佣方,4-商品

splitCode

分账主体CODE

数字营销的店铺、大类、商品、分佣方等的code,分账主体类型为0时可不传

splitId

分账主体ID

数字营销的店铺、大类、商品、分佣方等的ID,分账主体类型为0时可不传

amount

分账金额

金额,单位分

remark

备注

 

subReqSn

分账子订单号

延时分账业务,需要上送

splitList

下层分账

asinfo

 

示例:订单收款0.3元(30分)

[

    {

        "splitIdType": 1,

        "splitCode": "10668",

        "amount": 10,

        "remark": "分给店铺10668"

    },

    {

        "splitIdType": 3,

        "splitId": "10666",

        "amount": 10,

        "remark": "分给分佣方10666"

},

    {

        "splitIdType": 0,

        "amount": 10,

        "remark": "分给平台机构"

    }

]

说明:分给平台和10666的为最终分账结果,即到账金额;分给10668的0.1元,若系统配置有分账规则,则还要根据配置的分账规则继续进行分账处理。

 

 


卜子超buzc 2025年4月15日 16:05 收藏文档