This commit is contained in:
邹宗楠
2025-06-24 13:50:29 +08:00
parent 5b3ef2cd6d
commit 0599a21bce
42 changed files with 4192 additions and 26 deletions

View File

@@ -0,0 +1,417 @@
package lakala
const (
TimeFormat = "20060102150405"
Success = "000000"
SeparateSuccess = "SACS0000"
BaseSuccess = "200"
PaySuccess = "BBS00000"
Version = "1.0.0"
Version2 = "v1.0.0"
Version3 = "3.0"
SplitLaunchModeAuto = "AUTO" // 自动规则分账
SplitLaunchModePointRule = "POINTRULE" // 指定规则分账
)
// 分账前置
const (
SeparateAccountTestUrl = "https://test.wsmsd.cn/sit/api/v2/mms/openApi/ledger" // 测试
SeparateAccountProdUrl = "https://s2.lakala.com/api/v2/mms/openApi/ledger" // 生产
SeparateAccountApplyAction = "applyLedgerMer" // 商户申请开通分账
SeparateAccountModifyAction = "modifyLedgerMer" // 商户变更申请开通分账
SeparateAccountQueryAction = "queryLedgerMer" // 商户分账信息查询
SeparateReceiverApplyAction = "applyLedgerReceiver" // 分账接受方创建
SeparateReceiverModifyAction = "modifyLedgerReceiver" // 分账接受方变更
SeparateReceiverQueryAction = "queryReceiverDetail" // 分账接受方查询
SeparateBindAction = "applyBind" // 分账关系绑定
SeparateUnBindAction = "applyUnBind" // 分账关系解除绑定
)
// 分账
const (
SeparateTest = "https://test.wsmsd.cn/sit/api/v3/sacs" // 测试环境分账
SeparateProd = "https://s2.lakala.com/api/v3/sacs" // 正式环境分账
SeparateOrder = "separate" // 订单分账
SeparateCancel = "cancel" // 分账撤销 分账撤销支持30日内全额撤销撤销金额回到商户分账账户撤销后可再次发起分账。多用于分账错误需撤销后重新分账场景
SeparateFallBack = "fallback" // 分账退回 180天内退货退款
SeparateQuery = "query" // 分账结果查询
SeparateQueryAmt = "queryAmt" // 可分账金额查询
)
const (
FrIdFront = "FR_ID_CARD_FRONT" // 法人身份证正面
FrIdBehind = "FR_ID_CARD_BEHIND" // 法人身份证反面
IdFront = "ID_CARD_FRONT" // 身份证正面
IdBehind = "ID_CARD_BEHIND" // 身份证反面
BankCard2 = "BANK_CARD" // 银行卡
BusinessLicence2 = "BUSINESS_LICENCE" // 营业执照
MerchantPhoto = "MERCHANT_PHOTO" // 商户门头照
ShopInner = "SHOPINNER" // 商铺内部照片
NetWorkXy = "NETWORK_XY" // 电子协议
SplitEntrustFile = "SPLIT_ENTRUST_FILE" // 分账结算授权委托书
SplitCooperationFile = "SPLIT_COOPERATION_FILE" // 分账合作协议
OTHERS // 其他
)
// CreateSeparateReq 商户创建分账
type CreateSeparateReq struct {
Version string `json:"version"` //必传 String 8 接口版本号 1.0
OrderNo string `json:"orderNo"` //必传 String 32 订单编号(便于后续跟踪排查问题及回调消息匹配) 14位年月日时24小时制分秒+8位的随机数不重复2021020112000012345678
OrgCode string `json:"orgCode"` //必传 String 32 机构代码
MerInnerNo string `json:"merInnerNo"` //可选 String 32 拉卡拉内部商户号 拉卡拉内部商户号和银联商户号必须传一个,都送以内部商户号为准
MerCupNo string `json:"merCupNo"` //可选 String 32 银联商户号 拉卡拉内部商户号和银联商户号必须传一个,都送以内部商户号为准
ContactMobile string `json:"contactMobile"` //必传 String 32 联系手机号
SplitLowestRatio float64 `json:"splitLowestRatio"` //必传 数字 32 最低分账比例百分比支持2位精度 70 或 70.50
SplitEntrustFileName string `json:"splitEntrustFileName"` //必传 String 64 分账结算委托书文件名称 分账结算委托书文件名称.pdf
SplitEntrustFilePath string `json:"splitEntrustFilePath"` //必传 String 64 分账结算委托书文件路径 调用商户入网接口上传附件后反馈的文件路径: 文件上传
RetUrl string `json:"retUrl"` //必传 String 128 回调通知地址 请确保可以直接访问,避免接收不到我方通知结果,如果无法接收处理,也可以自行通过 3.商户分账信息查询接口 确定开通结果(注意分账业务申请需人工审核,存在一定延时)
SplitRuleSource string `json:"splitRuleSource"` //条件必传 String 32 分账规则来源 MER商户分账规则PLATFORM平台分账规则分账发起方式为自动规则或指定规则时必传
SplitRange string `json:"splitRange"` //非必传 String 32 分账范围 ALL全部交易分账 (商户所有交易默认待分账) MARK标记交易分账(只有带分账标识交易待分账,其余交易正常结算) 默认MARK
SepFundSource string `json:"sepFundSource"` //非必传 String 32 分账依据 TR交易分账BA余额分账默认TR 交易分账
EleContractNo string `json:"eleContractNo"` //非必传 String 32 电子合同编号 如果已经签署过电子合同此处上送电子合同编号即可,供审核人员复核使用。
SplitLaunchMode string `json:"splitLaunchMode"` //非必传 String 32 分账发起方式 AUTO自动规则分账POINTRULE指定规则分账MANUAL 手动分账不填默认MANUAL
SettleType string `json:"settleType"` //非必传 String 32 提款类型 01主动提款03交易自动结算不填默认01
Attachments []AttachmentsList `json:"attachments"` //可选 集合附加资料 其它附加资料文件信息}
}
type AttachmentsList struct {
AttachType string `json:"attachType"` //必传 String 32 附件类型编码
AttachName string `json:"attachName"` //必传 String 32 附件名称
AttachStorePath string `json:"attachStorePath"` //必传 String 128 附件路径
}
// CreateSeparateResp 创建分账返回信息
type CreateSeparateResp struct {
RetCode string `json:"retCode"`
RetMsg string `json:"retMsg"`
RespData struct {
Version string `json:"version"`
OrderNo string `json:"orderNo"`
OrgCode string `json:"orgCode"`
ApplyId int64 `json:"applyId"`
} `json:"respData"`
}
// SeparateModifyReq 商户申请变更分账商户
type SeparateModifyReq struct {
Version string `json:"version"` // 必传 String 8 接口版本号 1.0
OrderNo string `json:"orderNo"` // 必传 String 32 订单编号(便于后续跟踪排查问题及回调消息匹配)) 14位年月日时24小时制分秒+8位的随机数不重复2021020112000012345678
OrgCode string `json:"orgCode"` // 必传 String 32 机构代码
MerInnerNo string `json:"merInnerNo"` // 可选 String 32 拉卡拉内部商户号 拉卡拉内部商户号和银联商户号必须传一个,都送以内部商户号为准
MerCupNo string `json:"merCupNo"` // 可选 String 32 银联商户号 拉卡拉内部商户号和银联商户号必须传一个,都送以内部商户号为准
ContactMobile string `json:"contactMobile"` // 可选 String 32 联系手机号
SplitLowestRatio string `json:"splitLowestRatio"` // 可选 String 32 最低分账比例百分比支持2位精度 70 或 70.50
SplitEntrustFileName string `json:"splitEntrustFileName"` // 可选 String 64 分账结算委托书文件名称 变更比例必传,分账结算委托书文件名称.pdf
SplitEntrustFilePath string `json:"splitEntrustFilePath"` // 可选 String 64 分账结算委托书文件路径 变更比例必传,调用商户入网接口上传附件后反馈的文件路径: 文件上传
SplitRange string `json:"splitRange"` // 非必传 String 32 分账范围 ALL商户全量交易自动分账处理 MARK按交易请求分账标识进行分账处理
SplitRuleSource string `json:"splitRuleSource"` // 非必传 String 32 分账规则来源 MER商户分账规则 PLATFORM平台分账规则
RetUrl string `json:"retUrl"` // 必传 String 128 回调通知地址 审核通过后通知的地址
EleContractNo string `json:"eleContractNo"` // 非必传 String 32 电子合同编号 如果已经签署过电子合同此处上送电子合同编号即可,供审核人员复核使用。
Attachments []AttachmentsList `json:"attachments"` //可选 集合附加资料 其它附加资料文件信息}
}
// SeparateQueryReq 商户分账信息查询
type SeparateQueryReq struct {
Version string `json:"version"` // 必传 String 8 接口版本号 1.0
OrderNo string `json:"orderNo"` // 必传 String 32 订单编号(便于后续跟踪排查问题及回调消息匹配)) 14位年月日时24小时制分秒+8位的随机数不重复2021020112000012345678
OrgCode string `json:"orgCode"` // 必传 String 32 机构代码
MerInnerNo string `json:"merInnerNo"` // 可选 String 32 拉卡拉内部商户号 拉卡拉内部商户号和银联商户号必须传一个,都送以内部商户号为准
MerCupNo string `json:"merCupNo"` // 可选 String 32 银联商户号 拉卡拉内部商户号和银联商户号必须传一个,都送以内部商户号为准
}
// SeparateQueryResp 商户分账信息查询返回值
type SeparateQueryResp struct {
OrgId string `json:"orgId"` // 分账商户机构号
OrgName string `json:"orgName"` // 分账商户机构名称
MerInnerNo string `json:"merInnerNo"` // 拉卡拉内部商户号
MerCupNo string `json:"merCupNo"` // 银联商户号
SplitLowestRatio string `json:"splitLowestRatio"` // 最低分账比例百分比支持2位精度 70 或 70.50
SplitStatus string `json:"splitStatus"` // 商户分账状态 VALID 启用INVALID 禁用
SplitRange string `json:"splitRange"` // 分账范围 ALL全部交易分账 (商户所有交易默认待分账)MARK标记交易分账(只有带分账标识交易待分账,其余交易正常结算)默认MARK
SepFundSource string `json:"sepFundSource"` // 分账依据 TR或空交易分账BA余额分账默认TR 交易分账
PlatformId string `json:"platformId"` // 平台ID 如果商户和绑定平台分账则返回平台ID
SplitLaunchMode string `json:"splitLaunchMode"` // 分账发起方式 AUTO自动规则分账POINTRULE指定规则分账MANUAL 手动规则分账
SplitRuleSource string `json:"splitRuleSource"` // 分账规则来源 MER商户分账规则PLATFORM平台分账规则
BindRelations []bindRelationsList `json:"bindRelations"` // 集合 已绑定接收方列表
}
type bindRelationsList struct {
MerInnerNo string `json:"merInnerNo"` // 拉卡拉内部商户号
MerCupNo string `json:"merCupNo"` // 银联商户号
ReceiverNo string `json:"receiverNo"` // 接收方编号
ReceiverName string `json:"receiverName"` // 接收方编号名称
}
// CreateSeparateRecipientReq 创建分账接收方参数
type CreateSeparateRecipientReq struct {
Version string `json:"version"` // 必传 String 8 接口版本号 1.0
OrderNo string `json:"orderNo"` // 必传 String 32 订单编号(便于后续跟踪排查问题及核对报文) 14位年月日时24小时制分秒+8位的随机数不重复2021020112000012345678
OrgCode string `json:"orgCode"` // 必传 String 32 机构代码
ReceiverName string `json:"receiverName"` // 必传 String 64 分账接收方名称
ContactMobile string `json:"contactMobile"` // 必传 String 16 联系手机号
LicenseNo string `json:"licenseNo"` // 可选 String 32 营业执照号码 收款账户账户类型为对公,必须上送
LicenseName string `json:"licenseName"` // 可选 String 128 营业执照名称 收款账户账户类型为对公,必须上送
LegalPersonName string `json:"legalPersonName"` // 可选 String 32 法人姓名 收款账户账户类型为对公,必须上送
LegalPersonCertificateType string `json:"legalPersonCertificateType"` // 可选 String 32 法人证件类型 17 身份证18 护照19 港澳居民来往内地通行证 20 台湾居民来往内地通行证 收款账户账户类型为对公,必须上送,身份证外类型先咨询后再使用
LegalPersonCertificateNo string `json:"legalPersonCertificateNo"` // 可选 String 32 法人证件号 收款账户账户类型为对公,必须上送
AcctNo string `json:"acctNo"` // 必传 String 32 收款账户卡号
AcctName string `json:"acctName"` // 必传 String 32 收款账户名称
AcctTypeCode string `json:"acctTypeCode"` // 必传 String 32 收款账户账户类型 57对公 58对私
AcctCertificateType string `json:"acctCertificateType"` // 必传 String 32 收款账户证件类型 17 身份证18 护照19 港澳居民来往内地通行证 20 台湾居民来往内地通行证 身份证外类型先咨询后再使用
AcctCertificateNo string `json:"acctCertificateNo"` // 必传 String 32 收款账户证件号
AcctOpenBankCode string `json:"acctOpenBankCode"` // 必传 String 32 收款账户开户行号 参照卡BIN信息查询仅支持对私结算账户
AcctOpenBankName string `json:"acctOpenBankName"` // 必传 String 64 收款账户开户名称
AcctClearBankCode string `json:"acctClearBankCode"` // 必传 String 32 收款账户清算行行号 参照卡BIN信息查询仅支持对私结算账户
AttachList []AttachList `json:"attachList"` // 可选 集合 接收方附件资料
AttachType string `json:"attachType"` // 可选 String 32 附件类型编码
AttachName string `json:"attachName"` // 可选 String 32 附件名称
AttachStorePath string `json:"attachStorePath"` // 可选 String 32 附件路径 (调用进件附件上传接口获取到附件路径) 文件上传
SettleType string `json:"settleType"` // 可选 String 32 提款类型 01主动提款03交易自动结算 不填默认01
}
type AttachList struct {
AttachName string `json:"attachName"` // 附件文件名称
AttachStorePath string `json:"attachStorePath"` // 文件路径
AttachType string `json:"attachType"` // 附件ID
}
// CreateSeparateRecipientResp 创建分账账户
type CreateSeparateRecipientResp struct {
RetCode string `json:"retCode"`
RetMsg string `json:"retMsg"`
RespData struct {
Version string `json:"version"`
OrderNo string `json:"orderNo"`
OrgCode string `json:"orgCode"`
OrgId string `json:"orgId"`
OrgName string `json:"orgName"`
ReceiverNo string `json:"receiverNo"`
} `json:"respData"`
}
// QuerySeparateRecipientResp 分账接收方信息查询
type QuerySeparateRecipientResp struct {
ReceiverNo string `json:"receiverNo"` // 接收方编号
ReceiverName string `json:"receiverName"` // 分账接收方名称
ContactMobile string `json:"contactMobile"` // 联系手机号
LicenseNo string `json:"licenseNo"` // 营业执照号码
LicenseName string `json:"licenseName"` // 营业执照名称
LegalPersonName string `json:"legalPersonName"` // 法人姓名
LegalPersonCertificateType string `json:"legalPersonCertificateType"` // 法人证件类型 17 身份证18 护照19 港澳居民来往内地通行证 20 台湾居民来往内地通行证
LegalPersonCertificateNo string `json:"legalPersonCertificateNo"` // 法人ID号
AcctNo string `json:"acctNo"` // 收款账户卡号
AcctName string `json:"acctName"` // 收款账户名称
AcctTypeCode string `json:"acctTypeCode"` // 收款账户账户类型
AcctCertificateType string `json:"acctCertificateType"` // 收款证件类型 17 身份证18 护照19 港澳居民来往内地通行证 20 台湾居民来往内地通行证
AcctCertificateNo string `json:"acctCertificateNo"` // 收款账户证件号
AcctOpenBankCode string `json:"acctOpenBankCode"` // 收款账户开户行号
AcctOpenBankName string `json:"acctOpenBankName"` // 收款账户开户名称
AcctClearBankCode string `json:"acctClearBankCode"` // 收款账户清算行行号
//RowStatus interface{} `json:"rowStatus"`
//RowSno string `json:"rowSno"`
//RowCreateUser interface{} `json:"rowCreateUser"`
//RowCreateUserName string `json:"rowCreateUserName"`
//RowCreateTm time.Time `json:"rowCreateTm"`
//RowModifyUser interface{} `json:"rowModifyUser"`
//RowModifyUserName interface{} `json:"rowModifyUserName"`
//RowModifyTm time.Time `json:"rowModifyTm"`
//RowVerNo interface{} `json:"rowVerNo"`
//Id int `json:"id"`
//SettlePeriod interface{} `json:"settlePeriod"`
//SettleModel interface{} `json:"settleModel"`
//ClearDt interface{} `json:"clearDt"`
//OrgId string `json:"orgId"`
//OrgName string `json:"orgName"`
//OrgPath string `json:"orgPath"`
//ReceiverStatus interface{} `json:"receiverStatus"`
//WalletId string `json:"walletId"`
//Remark interface{} `json:"remark"`
}
// SeparateApplyBindReq 分账关系申请绑定
type SeparateApplyBindReq struct {
Version string `json:"version"`
OrderNo string `json:"orderNo"` // 订单编号(便于后续跟踪排查问题及核对报文)
OrgCode string `json:"orgCode"` // 分账接收方所属机构代码
MerInnerNo string `json:"merInnerNo"` // 分账商户内部商户号
MerCupNo string `json:"merCupNo"` // 分账商户银联商户号
ReceiverNo string `json:"receiverNo"` // 分账接收方编号
EntrustFileName string `json:"entrustFileName"` // 合作协议附件名称
EntrustFilePath string `json:"entrustFilePath"` // 合作协议附件路径
RetUrl string `json:"retUrl"` // 回调通知地址
Attachments []AttachList `json:"attachments"` // 其它附加资料文件信息
}
// SeparateApplyBindResp 申请绑定返回值
type SeparateApplyBindResp struct {
RetCode string `json:"retCode"`
RetMsg string `json:"retMsg"`
RespData struct {
Version string `json:"version"`
OrderNo string `json:"orderNo"`
OrgCode string `json:"orgCode"`
ApplyId int64 `json:"applyId"`
} `json:"respData"`
}
// SeparateUnBindReq 申请解除分账绑定
type SeparateUnBindReq struct {
Version string `json:"version"` // 必传 String 8 接口版本号 1.0
OrderNo string `json:"orderNo"` // 必传 String 32 订单编号(便于后续跟踪排查问题及核对报文) 14位年月日时24小时制分秒+8位的随机数不重复2021020112000012345678
OrgCode string `json:"orgCode"` // 必传 String 32 分账接收方所属机构代码
MerInnerNo string `json:"merInnerNo"` // 必传 String 32 分账商户内部商户号 merInnerNo、merCupNo选传其一不能都为空
MerCupNo string `json:"merCupNo"` // 必传 String 32 分账商户银联商户号 merInnerNo、merCupNo选传其一不能都为空
ReceiverNo string `json:"receiverNo"` // 必传 String 32 分账接收方编号
EntrustFileName string `json:"entrustFileName"` // 必传 String 32 解除分账说明附件名称
EntrustFilePath string `json:"entrustFilePath"` // 必传 String 32 解除分账说明附件路径 (调用进件附件上传接口获取到附件路径) 文件上传
Remark string `json:"remark"` // 必传 String 128 备注说明
RetUrl string `json:"retUrl"` // 必传 String 128 回调通知地址 审核通过后通知的地址
}
// UpdateSeparateRecipientReq 修改分账接收方参数
type UpdateSeparateRecipientReq struct {
Version string `json:"version"` // 必传 String 8 接口版本号 1.0
OrderNo string `json:"orderNo"` // 必传 String 32 订单编号(便于后续跟踪排查问题及核对报文) 14位年月日时24小时制分秒+8位的随机数不重复2021020112000012345678
OrgCode string `json:"orgCode"` // 必传 String 32 机构代码
ReceiverNo string `json:"receiverNo"` // 必传 分账接收方编号
ReceiverName string `json:"receiverName"` // 必传 String 64 分账接收方名称
ContactMobile string `json:"contactMobile"` // 必传 String 16 联系手机号
AcctNo string `json:"acctNo"` // 必传 String 32 收款账户卡号
AcctTypeCode string `json:"acctTypeCode"` // 必传 String 32 收款账户账户类型 57对公 58对私
AcctOpenBankCode string `json:"acctOpenBankCode"` // 必传 String 32 收款账户开户行号 参照卡BIN信息查询仅支持对私结算账户
AcctOpenBankName string `json:"acctOpenBankName"` // 必传 String 64 收款账户开户名称
AcctClearBankCode string `json:"acctClearBankCode"` // 必传 String 32 收款账户清算行行号 参照卡BIN信息查询仅支持对私结算账户
AttachList []AttachList `json:"attachList"` // 可选 集合 接收方附件资料
AttachType string `json:"attachType"` // 可选 String 32 附件类型编码
AttachName string `json:"attachName"` // 可选 String 32 附件名称
AttachStorePath string `json:"attachStorePath"` // 文件路径
Status string `json:"status"` // 接收方状态 有效VALID 无效INVALID
}
// OrderSeparateReq 订单分账
type OrderSeparateReq struct {
MerchantNo string `json:"merchant_no"` // M String 32 商户号
LogNo string `json:"log_no"` // M String 14 拉卡拉对账单流水号 posp流水号查清结算用
LogDate string `json:"log_date"` // M String 8 交易日期 posp日期yyyyMMdd查清结算用
OutSeparateNo string `json:"out_separate_no"` // M String 32 商户分账指令流水号 商户分账指令流水号,每个商户号下唯一,否则会校验失败
TotalAmt string `json:"total_amt"` // M String 15 分账总金额 [单位:分]
LklOrgNo string `json:"lkl_org_no"` // C String 16 拉卡拉机构编号
CalType string `json:"cal_type"` // C String 2 分账计算类型 0- 按照指定金额1- 按照指定比例。默认 0
NotifyUrl string `json:"notify_url"` // C String 128 回调地址 分账,分账撤销或分账回退时,是异步接口。通过该地址通知商户最终处理结果。不传时,不回调
RecvDatas []RecvDatasParam `json:"recv_datas"` // C List 分账接收数据对象 分账接收方编号必须已创建
}
// RecvDatasParam 分账接收数据对象
type RecvDatasParam struct {
RecvMerchantNo string `json:"recv_merchant_no"` // C String 32 接收方商户号 分账接收方商户号分给自己时使用需和merchantNo一样否则检查报错分账接收方商户号 和 分账接收方 只能填写一个。
RecvNo string `json:"recv_no"` // C String 32 分账接收方编号 分账接收方编号, 分给他人时使用;分账接收方商户号 和 分账接收方 只能填写一个。
SeparateValue string `json:"separate_value"` // M String 32 分账数值 calType为0时按照固定金额分账单位分 calType为1时按照比例分账单位百分比的小数值比如0.55 55%
}
// OrderSeparateResp 分账结束返回
type OrderSeparateResp struct {
Msg string `json:"msg"`
RespTime string `json:"resp_time"`
Code string `json:"code"`
RespData struct {
TotalAmt string `json:"total_amt"` // 分账总金额
LogDate string `json:"log_date"` // 拉卡拉订单日期
SeparateNo string `json:"separate_no"` // 分账指令流水号
LogNo string `json:"log_no"` // 拉卡拉对账单流水号
OutSeparateNo string `json:"out_separate_no"` // 商户订单号
Status string `json:"status"` // 分账状态 处理中PROCESSING, 已受理ACCEPTED, 成功SUCCESS, 失败FAIL
} `json:"resp_data"`
}
// SeparateCancelReq 订单分账撤销请求参数
type SeparateCancelReq struct {
MerchantNo string `json:"merchant_no"` // 分账方商户号
OriginSeparateNo string `json:"origin_separate_no"` // 分账指令接口返回的分账流水origin_out_separate_no和该字段至少二选一优先级: origin_separate_no> origin_out_separate_no
OriginOutSeparateNo string `json:"origin_out_separate_no"` // 分账指令请求时入参中的origin_separate_no该字段至少二选一优先级: origin_separate_no> origin_out_separate_no
OutSeparateNo string `json:"out_separate_no"` // 商户分账指令流水号
TotalAmt string `json:"total_amt"` // 撤销金额
}
// SeparateCancelResp 订单分账撤销返回参数
type SeparateCancelResp struct {
Msg string `json:"msg"`
RespTime string `json:"resp_time"`
Code string `json:"code"`
RespData struct {
TotalAmt string `json:"total_amt"` // 撤销金额 单位:分 和分账总金额一致,否则校验报错
SeparateNo string `json:"separate_no"` // 分账撤销流水号 分账系统生成,系统唯一
OriginSeparateNo string `json:"origin_separate_no"` // 原分账指令流水 请求透返
OutSeparateNo string `json:"out_separate_no"` // 商户分账指令流水号 请求透返
OriginOutSeparateNo string `json:"origin_out_separate_no"` // 原商户分账指令流水号 请求透返
Status string `json:"status"` // 分账状态 处理中PROCESSING, 已受理ACCEPTED, 成功SUCCESS, 失败FAIL
} `json:"resp_data"`
}
// SeparateFallReq 分账退回请求参数
type SeparateFallReq struct {
MerchantNo string `json:"merchant_no"` // 分账方商户号
OriginSeparateNo string `json:"origin_separate_no"` // 分账指令接口返回的分账流水origin_out_separate_no和该字段至少二选一优先级: origin_separate_no> origin_out_separate_no
OutSeparateNo string `json:"out_separate_no"` // 商户分账指令流水号
OriginOutSeparateNo string `json:"origin_out_separate_no"` // 分账指令请求时入参中的origin_separate_no该字段至少二选一优先级: origin_separate_no> origin_out_separate_no
FallbackReason string `json:"fallback_reason"` // 回退原因
TotalAmt string `json:"total_amt"` // 撤销金额
OriginRecvDatas []*OriginRecvDatas `json:"origin_recv_datas"` // 原分账接收数据对象
}
type OriginRecvDatas struct {
RecvNo string `json:"recv_no"` // 分账接收方编号
Amt string `json:"amt"` // 回退金额
}
// SeparateFallResp 分账退回响应参数
type SeparateFallResp struct {
Msg string `json:"msg"`
RespTime string `json:"resp_time"`
Code string `json:"code"`
RespData struct {
TotalAmt string `json:"total_amt"` // 回退金额
SeparateNo string `json:"separate_no"` // 分账回退流水号
OriginSeparateNo string `json:"origin_separate_no"` // 原分账指令流水号
OriginOutSeparateNo string `json:"origin_out_separate_no"` // 原商户分账指令请求流水号
OutSeparateNo string `json:"out_separate_no"` // 商户分账指令请求流水号
Status string `json:"status"` // 原分账指令流水号
} `json:"resp_data"`
}
// SeparateResultQueryResp 分账结构查询
type SeparateResultQueryResp struct {
SeparateNo string `json:"separate_no"` //
OutSeparateNo string `json:"out_separate_no"` //
CmdType string `json:"cmd_type"` // 指令类型 SEPARATE分账 CANCEL分账撤销 FALLBACK分账回退
LogNo string `json:"log_no"` //
LogDate string `json:"log_date"` //
CalType string `json:"cal_type"` // 分账计算类型 0 按照指定金额。1 按照指定比例,默认 0 cmd_type为SEPARATE分账指令类型才有值
SeparateDate string `json:"separate_date"` //
FinishDate string `json:"finish_date"` //
TotalAmt string `json:"total_amt"` //
Status string `json:"status"` // 分账状态 ACCEPTED:已受理, PROCESSING:处理中, FAIL:失败, SUCCESS:成功, 如果分账指令后有反向操作指令则原分账指令会变更成以下的状态之一CANCELING:撤销中, CANCELED:撤销成功, CANCEL_FAIL:撤销失败, FALLBACKING:回退中, FALLBACK_END:回退结束
FinalStatus string `json:"final_status"` // 处理状态 ACCEPTED:已受理, PROCESSING:处理中, FAIL:失败, SUCCESS:成功
FrontRuleId string `json:"front_rule_id"` // 分账前置规则ID
ActualSeparateAmt string `json:"actual_separate_amt"` // 实分金额 若该笔分账收取手续费,则该字段有值
TotalFeeAmt string `json:"total_fee_amt"` // 手续费金额
DetailDatas []struct {
RecvMerchantNo string `json:"recv_merchant_no"` // 接收方商户号
RecvNo string `json:"recv_no"` // 接收方编号
Amt string `json:"amt"` // 分账金额
} `json:"detail_datas"` // 明细数据
SeparateType string `json:"separate_type"` //
}
// SeparateQueryAmtResp 可分账金额查询
type SeparateQueryAmtResp struct {
MerchantNo string `json:"merchant_no"` // 商户号
TotalSeparateAmt string `json:"total_separate_amt"` // 总分账金额
CanSeparateAmt string `json:"can_separate_amt"` // 可分账金额
LogDate string `json:"log_date"` // 拉卡拉对账单交易日期
LogNo string `json:"log_no"` // 拉卡拉对账单流水号
}