503 lines
36 KiB
Go
503 lines
36 KiB
Go
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" // 指定规则分账
|
||
AuthenticationType = "ZFBZF" // 支付宝支付
|
||
|
||
)
|
||
|
||
// 分账前置
|
||
const (
|
||
SeparateAccountTestUrl = "https://test.wsmsd.cn/sit/api/v2/mms/openApi/" // 测试
|
||
SeparateAccountProdUrl = "https://s2.lakala.com/api/v2/mms/openApi" // 生产
|
||
PayAccountProdUrl = "https://s2.lakala.com/api/v2/mms" // 生产
|
||
|
||
SeparateAccountApplyAction = "ledger/applyLedgerMer" // 商户申请开通分账
|
||
SeparateAccountModifyAction = "ledger/modifyLedgerMer" // 商户变更申请开通分账
|
||
SeparateAccountQueryAction = "ledger/queryLedgerMer" // 商户分账信息查询
|
||
SeparateReceiverApplyAction = "ledger/applyLedgerReceiver" // 分账接受方创建
|
||
SeparateReceiverModifyAction = "ledger/modifyLedgerReceiver" // 分账接受方变更
|
||
SeparateReceiverQueryAction = "ledger/queryReceiverDetail" // 分账接受方查询
|
||
SeparateBindAction = "ledger/applyBind" // 分账关系绑定
|
||
SeparateUnBindAction = "ledger/applyUnBind" // 分账关系解除绑定
|
||
SeparateCardBinAction = "cardBin" // 卡BIN查询
|
||
AttachmentUpload = "uploadFile" // 附件上传
|
||
WeChatAuthentication = "realName/saveContactInfo" // 微信实名认证
|
||
AlibabaAuthentication = "realName/saveAlipayContactInfo" // 阿里实名认证
|
||
WeChatUpdateAuthentication = "wechatRealName/modifyCommit" // 微信修改实名认证
|
||
AlibabaUpdateAuthentication = "alipayRealName/modifyCommit" // 阿里修改实名认证
|
||
WeChatQueryAuthentication = "wechatRealNameQuery" // 微信实名认证结果查询
|
||
AlibabaQueryAuthentication = "alipayRealNameQuery" // 阿里实名认证结果查询
|
||
WeChatAccountStatusQuery = "sme/mrchAuthStateQuery" // 微信/阿里开户状态差取暖
|
||
SubMerchantQuery = "querySubMerInfo" // 报备查询
|
||
)
|
||
|
||
// 分账
|
||
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 // 其他
|
||
)
|
||
|
||
const (
|
||
SeparateType_SEPATRATE = "SEPARATE" // 分账
|
||
SeparateType_CANCEL = "CANCEL" // 分账撤销
|
||
Separate_FALLBACK = "FALLBACK" // 分账回退
|
||
)
|
||
|
||
// 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 float64 `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 联系手机号
|
||
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
|
||
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 法人证件号 收款账户账户类型为对公,必须上送
|
||
}
|
||
|
||
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 string `json:"rowCreateTm"`
|
||
RowModifyUser interface{} `json:"rowModifyUser"`
|
||
RowModifyUserName interface{} `json:"rowModifyUserName"`
|
||
RowModifyTm string `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 int64 `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"` // 拉卡拉对账单流水号
|
||
}
|
||
|
||
// BinInfo 卡bin查询
|
||
type BinInfo struct {
|
||
CardBin string `json:"cardBin"` // 卡bin
|
||
BankCode string `json:"bankCode"` // 开户行号
|
||
OrderNo string `json:"orderNo"` // 订单号
|
||
CardName string `json:"cardName"` // 卡种名称
|
||
OrgCode string `json:"orgCode"` // 机构代码
|
||
CardType string `json:"cardType"` // 银行卡类别
|
||
BankName string `json:"bankName"` // 开户行名称
|
||
ClearingBankCode string `json:"clearingBankCode"` // 清算行号
|
||
CardNo string `json:"cardNo"` // 银行卡号
|
||
}
|
||
|
||
// AuthenticationInfo 支付认证
|
||
type AuthenticationInfo struct {
|
||
Version string `json:"version"` // 接口版本号 1.0
|
||
OrderNo string `json:"orderNo"` // 14位年月日时(24小时制)分秒+8位的随机数(不重复)如
|
||
OrgCode string `json:"orgCode"` // 机构代码
|
||
MerInnerNo string `json:"merInnerNo"` // 拉卡拉内部商户号
|
||
ContactType string `json:"contactType"` // 联系人类型 LEGAL:经营者/法人 SUPER:经办人
|
||
Name string `json:"name"` // 联系人名称
|
||
ContactIdDocType string `json:"contactIdDocType"` // 联系人证件类型 IDENTIFICATION_TYPE_IDCARD
|
||
IdCardNumber string `json:"idCardNumber"` // 联系人证件号码
|
||
ContactPeriodBegin string `json:"contactPeriodBegin"` // 联系人证件有效期开始时间
|
||
ContactPeriodEnd string `json:"contactPeriodEnd"` // 联系人证件有效期结束时间
|
||
Mobile string `json:"mobile"` // 联系人手机号
|
||
}
|
||
|
||
// UpdateAuthentication 修改报备请求
|
||
type UpdateAuthentication struct {
|
||
Version string `json:"version"`
|
||
OrderNo string `json:"orderNo"`
|
||
OrgCode string `json:"orgCode"`
|
||
MerInnerNo string `json:"merInnerNo"`
|
||
ReceOrgNo string `json:"receOrgNo"`
|
||
SubMchId string `json:"subMchId"`
|
||
ChannelId string `json:"channelId"`
|
||
ApplymentId string `json:"applymentId"`
|
||
}
|
||
|
||
// QueryAuthentication 认证结果查询
|
||
type QueryAuthentication struct {
|
||
Version string `json:"version"`
|
||
OrderNo string `json:"orderNo"`
|
||
OrgCode string `json:"orgCode"`
|
||
MerInnerNo string `json:"merInnerNo"`
|
||
SubMchId string `json:"subMchId"`
|
||
ChannelId string `json:"channelId"`
|
||
}
|
||
|
||
// QueryAuthenticationResp 认证结果查询
|
||
type QueryAuthenticationResp struct {
|
||
MerInnerNo string `json:"merInnerNo"` // 拉卡拉内部商户号
|
||
SubMchId string `json:"subMchId"` // 账户端子商户号
|
||
ChannelId string `json:"channelId"` // 渠道号
|
||
ApplymentState string `json:"applymentState"` // 申请状态
|
||
ReceOrgNo string `json:"receOrgNo"` // 从业机构号
|
||
ApplymentId string `json:"applymentId"` // 申请编号
|
||
AuthorizeState string `json:"authorizeState"` // 认证状态
|
||
RegisterChannel string `json:"registerChannel"` // 报备通道
|
||
QrcodeData string `json:"qrcodeData"` // 小程序码图片
|
||
RealNameType string `json:"realNameType"` // 实名认证类型
|
||
RejectParameter string `json:"rejectParameter"` // 驳回参数
|
||
RejectReason string `json:"rejectReason"` // 驳回原因
|
||
}
|