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

统一下单

业务系统调用此接口创建支付订单,获取支付参数后,再自行构造支付场景让用户进行支付。 被扫及协议支付方式调用此接口后,不再需走支付流程。

接口说明

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

请求参数

Request
Body 包体
ChannelSubMerchantId必填
string

微卡收付通平台商户编号(管理控制台→商户管理→商户ID)

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

TotalAmount必填
integer

订单金额,单位:分


PayType必填
string

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

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

PayChannel必填
string

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

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

OutOrderId必填
string

外部订单号,即业务系统侧订单;
只能是数字、大小写字母、下划线;且在同一个主体下唯一。

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

OrderSubject必填
string

订单标题

最小长度:1     最大长度:200

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

ProfitShareFlag选填
string

是否允许分账标识:
API_PROFIT_SHARE:允许调用请求分账;
NO_PROFIT_SHARE:不允许调用请求分账;
额外说明:该字段用于标明当前订单是否允许调用请求分账;当接口传递了分账域或商户设置分账模板时,会忽略本字段;当本字段不传时,等同于传递:NO_PROFIT_SHARE


ProfitShareInfoList选填
array

分账信息列表

数组子类型:object


PayerInfo选填
object

用户信息,储值支付必填


ProductList选填
array

商品列表

数组子类型:object


PayeeList选填
array

分润接收方列表(当分账模板选择按订单、按角色分账时传)

数组子类型:string

SceneInfo选填
object

设备信息


GoodsTag选填
string

优惠标记,代金券或立减优惠的参数


Attachment选填
string

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

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

Remark选填
string

付款备注

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

FundAllocateList选填
array

资金划拨信息。支付通道耦合银行账户体系时必填,否则不用。

数组子类型:object


WalletInfo选填
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": "备注",
  "FundAllocateList": [
    {
      "ChannelSubMerchantId": "CM-B",
      "AllocateAmount": 200,
      "AllocatePeriod": "D0"
    },
    {
      "ChannelSubMerchantId": "CM-C",
      "AllocateAmount": 100,
      "Freeze": true,
      "AllocatePeriod": "D0"
    }
  ]
}

返回参数

Response
Response必填
object

返回示例

{
  "Response": {
    "RequestId": "A8E7B797ADD44C3AA57E87AD7420A725",
    "Result": {
      "OutOrderId": "OUT2022111900000004",
      "ChannelOrderId": "679735736991281152",
      "ThirdPayOrderId": "230420127444480387",
      "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.(如:公众号 AppId/小程序 AppId)
WxOpenIdstring微信用户在当前 WxAppId 下的 Openid,公众号及小程序场景下微信支付必填
AliAppIdstring支付宝开放平台审核通过的应用 AppId.(如:生活号 AppId/小程序 AppId)
AliUserIdstring支付宝用户在当前 AppId 下的 Userid,公众号及小程序场景下支付宝支付必填
AuthCodestring支付凭证:用户付款码。被扫场景下必填

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,请稍后重试

腾讯微卡收付通接口文档