向个人收银 (C2B 支付)
接口列表
合单支付-统一下单

合单支付-统一下单

合单支付,提供将多个商户的订单合并为一个订单进行支付的能力,即用户只需输入一次密码,便可完成多笔订单的支付。支付成功后,资金将进入各个订单对应的商户账户中。

下单、查单、关单接口和支付通知以母单的维度进行处理。母单状态为支付成功时,代表所有子单支付成功。所有子单支付成功时才会进行支付回调通知。

退款、分账以子单的维度进行处理。

接口说明

请求方式:
post
https://p.wecard.tencent.com/cloudpay/v1/pay/combine_unified_order

请求参数

Request
Body 包体
ChannelMerchantId必填
string

业务线ID

最小长度:1     最大长度:50

CombineOrderId必填
string

母单ID

最小长度:6     最大长度:60

PayType必填
string

支付场景:
SWIPE:被扫;
MINI_PROGRAM:小程序;
PUBLIC:公众号;
PC:网页支付;
APP:app支付;
H5:h5支付;
AGREEMENT:快捷支付;
AUTHORIZE:免密支付;
NATIVE_QR:订单码;

最小长度:1     最大长度:50

PayChannel必填
string

支付渠道;实际支付渠道,根据具体接入的通道传值:如:
ALIPAY: 支付宝;
WXPAY:微信支付;
UNIONPAY:银联支付;
WALLETPAY:储值支付

最小长度:1     最大长度:30

ExpireTime选填
string

订单过期时间,格式:2023-03-05 11:54:20。
不传则默认30分钟,若在过期时间之前未完成支付,订单将会流转为失败,不可再进行支付。

最小长度:1     最大长度:19

NotifyUrl选填
string

支付成功后的回调地址

最小长度:1     最大长度:255

FrontUrl选填
string

用户支付成功后,前端跳转URL

最小长度:1     最大长度:255

ExternalPaymentData选填
string

支付渠道扩展字段,第三方通道的扩展信息,根据具体对接的渠道情况传值;
该字段为 json 序列化之后的字符串,参考右侧请求示例;
如:微信、支付宝下单时需要将用户的openid或userid,及应用id传入,结构如下

最小长度:1     最大长度:1024

StoreInfo选填
object

门店信息


SceneInfo选填
object

【场景信息】支付场景描述。


Attachment选填
string

附加信息,在查询API和支付通知中原样返回,可作为自定义参数使用,实际情况下只有支付完成状态才会返回该字段

最小长度:1     最大长度:128

Remark选填
string

付款备注

最小长度:1     最大长度:128

SubOrders必填
array

子订单数组

数组子类型:object

请求示例

{
  "ChannelSubMerchantId": "CM6756531983210274560",
  "TotalAmount": 1000,
  "PayChannel": "WXPAY",
  "PayType": "MINI_PROGRAM",
  "OrderSubject": "杂粮煎饼",
  "OutOrderId": "demo202211200001",
  "NotifyUrl": "https://business.com/pay/notify",
  "ExternalPaymentData": "{\"WxAppId\":\"wx43f1t4567721a03e\",\"WxOpenId\":\"oXLUp5OHJof5768CoFFDuuaRn8kc\"}",
  "Currency": "CNY",
  "Attachment": "原路返回string",
  "SceneInfo": {
    "DeviceType": "04",
    "PayerClientIp": "14.15.16.17",
    "DeviceId": "00000001",
    "Longitude": "+121.48352",
    "latitude": "+23.561345"
  },
  "Remark": "备注",
  "SubOrders": [
    {
      "ChannelSubMerchantId": "CM465922975711959341",
      "OutOrderId": "unittest1601940939456776",
      "OrderSubject": "商品1",
      "TotalAmount": 20,
      "ProfitShareFlag": "API_PROFIT_SHARE",
      "ProfitShareInfoList": [
        {
          "PayeeId": "PE462771186506407098",
          "InChannelSubMerchantId": "CM123456",
          "ProfitType": "AMOUNT",
          "ProfitAmount": 5,
          "ChannelSubMerchantId": "CM453726693345990015",
          "IsFeeCovered": true,
          "Freeze": true,
          "AutoUnfreezePeriod": "D3"
        },
        {
          "PayeeId": "PE462771261534117050",
          "ProfitType": "AMOUNT",
          "ProfitAmount": 5,
          "ChannelSubMerchantId": "CM453726693345990016"
        }
      ],
      "GoodsTag": "GoodsTag1"
    },
    {
      "ChannelSubMerchantId": "CM465922975711959342",
      "OutOrderId": "unittest1601940939456777",
      "OrderSubject": "商品2",
      "TotalAmount": 30,
      "ProfitShareFlag": "API_PROFIT_SHARE",
      "GoodsTag": "GoodsTag2"
    }
  ]
}

返回参数

Response
Response必填
object

返回示例

{
  "Response": {
    "RequestId": "A8E7B797ADD44C3AA57E87AD7420A725",
    "Result": {
      "CombineOrderId": "OUT2022111900000004",
      "TotalAmount": "1000",
      "OrderStatus": "PAYING",
      "PayInfoType": "JSAPI",
      "PayInfo": "{\"appId\":\"wxad53ca7fbb5gg5f2\",\"timeStamp\":\"1681867396\",\"nonceStr\":\"94981e22ac0b4663949a442f31739b53\",\"package\":\"prepay_id=wx190923168532565900979a7da2170000000\",\"signType\":\"RSA\",\"paySign\":\"rhOR5lnhv6w2asdMiqRHU/aEZjhk1J4fGT2/Z5vxqtNcaLyHYmqDiIZZqxlSgSibWb/Z1a8SJdzLH9u0nnBKa0u0wtVaXgB6WKUahYtwQZC2ZadaYj6AkAeKLRIUHObVgAClbiiaiUjiaC9JUhj11m7JkClwpRvJkXQi4QzTdjA+kYv+32cgUido8SWIt6WZZXyH1qJTG1rYJC8IeUMgktH8oOoGzlxpaJbgB41j+pBd10b4R4DExlJ+KWP7N8iPj5YrbIzGJ2MsZ8L2U0jKLjpfKF/3d4hsc4or7EKIXdffgsreedaW6JzZ77gyb5ounChaea6CEP1UpUUAvgrkJwgw==\"}"
    },
    "ErrCode": "SUCCESS",
    "ErrMessage": "成功"
  }
}

ExternalPaymentData 结构

变量类型是否必填描述
WxAppIdstring微信开放平台的应用 AppId.(如:公众号、小程序、APP、H5、PC 等应用的 AppId )
WxOpenIdstring微信用户在当前 WxAppId 下的 Openid,公众号及小程序场景下微信支付必填
AliAppIdstring支付宝开放平台的应用 AppId.(如:生活号、小程序、APP、H5、PC 等应用的 AppId )
AliUserIdstring支付宝用户在当前 AliAppId 下的 Userid,生活号及小程序场景下支付宝支付必填
AuthCodestring支付凭证:用户付款码。被扫场景下必填
CmbYwtArgNostring招行一网通支付免登录协议号,首次上送完成支付与对应用户签约,再次上送用户可免登录

ErrCode 码表

错误代码描述解决方案
SUCCESS请求成功当 OrderStatus 为 PAYING 表示订单下单成功,参考支付面板拉起指引来使用 PayInfo 字段完成支付;
当 OrderStatus 为 SUCCESS 表示订单支付成功;
当 OrderStatus 为 PAY_FAIL 表示下单失败,失败原因见 FailReason 字段;
FailedOperation.SystemError系统未知异常系统未知异常,请稍后重试
ORDER.INVALID_PARAMETER参数有误请根据返回描述修正请求参数
ORDER.OPERATE_IS_PROCESSING订单存在并发操作当前支付订单同时存在别的请求操作(如下单、退款、关单等),请稍后重试
ORDER.ORDER_RECORD_ALREADY_EXIST订单已存在订单已存在,并且状态为终态,请调用查单接口确认订单状态
NO_MERCHANT_SECRET商户秘钥有误商户秘钥配置有误,请联系收付通工作人员确认
ChannelOperationError下游银行通道业务错误下游通道返回的业务错误,详细原因请参考接口返回的 ErrMessage,请稍后重试

腾讯微卡收付通接口文档