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"` // 驳回原因 }