同步支付订单
将客户原支付系统的订单同步到微卡系统里
接口说明
请求参数
微卡收付通平台商户编号(管理控制台→商户管理→商户ID)
收单渠道订单号,如微信支付宝的订单号
订单创建时间,yyyy-MM-dd HH:mm:ss格式
订单完成时间,yyyy-MM-dd HH:mm:ss格式
业务类型,C2B:向个人收银;B2B:向企业收银
手续费,单位分
是否同步手续费,如果为true,需要传入手续费
同步过来的挂账信息是否需要执行挂账。默认为false不需要,表示传挂账信息只是为了后续退挂账有正向挂账记录,但不会真的执行挂账。为true则表示正常执行挂账
同步过来的分账信息是否需要执行分账。默认为false不需要,表示传分账信息只是为了后续退分账有正向分账记录,但不会真的执行分账。为true则表示正常执行分账
订单金额,单位:分
支付场景:
SWIPE:被扫;
MINI_PROGRAM:小程序;
PUBLIC:公众号;
PC:网页支付;
APP:app支付;
H5:h5支付;
AGREEMENT:快捷支付;
AUTHORIZE:免密支付;
支付渠道;实际支付渠道,根据具体接入的通道传值:如:
ALIPAY: 支付宝;
WXPAY:微信支付;
UNIONPAY:银联支付;
WALLETPAY:储值支付;
COUPONPAY:营销券支付
外部订单号,即业务系统侧订单;
只能是数字、大小写字母、下划线;且在同一个主体下唯一。
订单标题
订单过期时间,格式:2023-03-05 11:54:20。
不传则默认30分钟,若在过期时间之前未完成支付,订单将会流转为失败,不可再进行支付。
支付成功后的回调地址
用户支付成功后,前端跳转URL
支付渠道扩展字段,第三方通道的扩展信息,根据具体对接的渠道情况传值;
该字段为 json 序列化之后的字符串,参考右侧请求示例;
如:微信、支付宝下单时需要将用户的openid或userid,及应用id传入,结构如下
分账信息列表
用户信息,储值支付必填
商品列表
分润接收方列表(当分账模板选择按订单、按角色分账时传)
设备信息
优惠标记,代金券或立减优惠的参数
附加信息,在查询API和支付通知中原样返回,可作为自定义参数使用,实际情况下只有支付完成状态才会返回该字段
付款备注
挂账信息。支付通道耦合银行账户体系时必填,否则不用。
支付钱包信息。储值余额支付时传入
0:表示后续需要在微卡收付通退款,1:表示后续不需要在微卡收付通退款,而是调用退款订单同步接口。
{
"AppId": "1682021751",
"ChannelSubMerchantId": "CM488565698239469775",
"BusinessType": "C2B",
"TotalAmount": 11,
"PayChannel": "WXPAY",
"PayType": "PC",
"OrderSubject": "杂粮煎饼",
"OutOrderId": "peter202411050010",
"ThirdPayOrderId": "peterWX202411050010",
"NotifyUrl": "https://business.com/pay/notify",
"ExternalPaymentData": "{\"WxAppId\":\"wx4xxxxx03e\",\"WxOpenId\":\"oXxxxxxoFFDuuaRn8kc\"}",
"Currency": "CNY",
"Attachment": "原路返回string",
"FundAllocateList": [
{
"ChannelSubMerchantId": "CM535683877260302817",
"AllocateAmount": 1
}
],
"Remark": "备注",
"CreateTime": "2024-11-05 11:00:00",
"FinishTime": "2024-11-05 11:00:00"
}
返回参数
{
"Response": {
"RequestId": "A8E7B797ADD44C3AA57E87AD7420A725",
"Result": {
"OutOrderId": "peter202411050010",
"ChannelOrderId": "peter202411050010",
"ThirdPayOrderId": "peterWX202411050010",
"OrderStatus": "SUCCESS",
"TotalAmount": 11,
"PayAmount": 11,
"ChannelName": "WECHAT",
"PayChannel": "WXPAY",
"PayType": "PC"
},
"ErrCode": "SUCCESS",
"ErrMessage": "成功"
}
}
ExternalPaymentData 结构
变量 | 类型 | 是否必填 | 描述 |
---|---|---|---|
WxAppId | string | 否 | 微信开放平台的应用 AppId.(如:公众号、小程序、APP、H5、PC 等应用的 AppId ) |
WxOpenId | string | 否 | 微信用户在当前 WxAppId 下的 Openid,公众号及小程序场景下微信支付必填 |
AliAppId | string | 否 | 支付宝开放平台的应用 AppId.(如:生活号、小程序、APP、H5、PC 等应用的 AppId ) |
AliUserId | string | 否 | 支付宝用户在当前 AliAppId 下的 Userid,生活号及小程序场景下支付宝支付必填 |
AuthCode | string | 否 | 支付凭证:用户付款码。被扫场景下必填 |
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,请稍后重试 |