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` 中获取并正确使用。

卜子超buzc 2025年5月14日 17:26 收藏文档