订单支付


 

3.6 订单支付

3.5 订单查询

根据商户订单号、订单号或渠道支付流水号查询订单明细。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

最佳实践:
退款成功的订单默认通过“5.3订单支付通知”接口推送至对接方,该接口主要用于退款失败或通知异常时的补偿查询;建议采用异步JOB轮询(间隔1分钟),当 refundStatus=1 时继续轮询,refundStatus=2/3 时终止(已获最终状态)。

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为智慧小店的店铺时有效。需与上送店铺关联。

splitList

JSONArray

否

1024

分账信息

参照附录7.2splitList字段说明

remark

String

否

160

备注

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

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

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元,若系统配置有分账规则,则还要根据配置的分账规则继续进行分账处理。

 

 


2025年12月2日 15:32 收藏文档