添加地址码常量定义文件
- 新增 addrCode.go 文件,定义全国及各省市县级地区码常量 - 地区码常量命名采用拼音大写加下划线格式 - 常量值对应 NEW.xlsx 表格中的地区编码 - 包含从国家级到县级的完整行政区域代码枚举 - 每个常量均附带详细注释说明所属地区名称
This commit is contained in:
@@ -37,7 +37,7 @@ type ApplyLedgerReceiverReqData struct {
|
||||
// 法人姓名,可选,长度32,取值说明:收款账户类型为对公,必须上送
|
||||
LegalPersonName string `json:"legalPersonName"`
|
||||
// 法人证件类型,可选,长度32,取值说明:17身份证,18护照,19港澳居民来往内地通行证,20台湾居民来往内地通行证,收款账户类型为对公,必须上送,身份证外类型先咨询后再使用
|
||||
LegalPersonCertificateType string `json:"legalPersonCertificateType"`
|
||||
LegalPersonCertificateType consts.AcctCertificateType `json:"legalPersonCertificateType"`
|
||||
// 法人证件号,可选,长度32,取值说明:收款账户类型为对公,必须上送
|
||||
LegalPersonCertificateNo string `json:"legalPersonCertificateNo"`
|
||||
// 收款账户卡号,必传,长度32
|
||||
@@ -47,7 +47,7 @@ type ApplyLedgerReceiverReqData struct {
|
||||
// 收款账户类型代码,必传,长度32,取值说明:57:对公,58:对私
|
||||
AcctTypeCode consts.AcctTypeCode `json:"acctTypeCode"`
|
||||
// 收款账户证件类型,必传,长度32,取值说明:17身份证,18护照,19港澳居民来往内地通行证,20台湾居民来往内地通行证,身份证外类型先咨询后再使用
|
||||
AcctCertificateType string `json:"acctCertificateType"`
|
||||
AcctCertificateType consts.AcctCertificateType `json:"acctCertificateType"`
|
||||
// 收款账户证件号,必传,长度32
|
||||
AcctCertificateNo string `json:"acctCertificateNo"`
|
||||
// 收款账户开户行号,必传,长度32,取值说明:参照FBI.N信息查询,仅支持对私结算账户
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
// Package model 提供数据模型定义
|
||||
package model
|
||||
|
||||
// MerValidateRequest 商户进件校验请求
|
||||
// 接入方在入网前,对商户名称、法人信息、结算人信息做敏感词和黑名单、反洗钱的校验
|
||||
// 参考文档: https://o.lakala.com/#/home/document/detail?id=93
|
||||
|
||||
type MerValidateRequest struct {
|
||||
// ReqData 请求业务参数
|
||||
ReqData *MerValidateRequestData `json:"reqData"`
|
||||
// Ver 版本号
|
||||
Ver string `json:"ver"`
|
||||
// Timestamp 时间戳
|
||||
Timestamp int64 `json:"timestamp"`
|
||||
// ReqId 请求ID
|
||||
ReqId string `json:"reqId"`
|
||||
}
|
||||
|
||||
// MerValidateRequestData 商户进件校验请求业务参数
|
||||
|
||||
type MerValidateRequestData struct {
|
||||
// Version 接口版本号
|
||||
Version string `json:"version"`
|
||||
// OrderNo 订单编号(便于后续跟踪排查问题及核对报文)
|
||||
// 14位年月日时(24小时制)分秒+8位的随机数(不重复)如:2021020112000012345678
|
||||
OrderNo string `json:"orderNo"`
|
||||
// OrgCode 机构代码
|
||||
OrgCode string `json:"orgCode"`
|
||||
// MerRegName 商户注册名称(可传)
|
||||
MerRegName string `json:"merRegName"`
|
||||
// MerBizName 商户经营名称(可传)
|
||||
MerBizName string `json:"merBizName"`
|
||||
// MerBlis 营业执照(可传)
|
||||
MerBlis string `json:"merBlis"`
|
||||
// LarIdcard 法人身份证号(可传)
|
||||
LarIdcard string `json:"larIdcard"`
|
||||
// AcctNo 结算账号(可传)
|
||||
AcctNo string `json:"acctNo"`
|
||||
// AcctIdcard 结算人证件号(可传)
|
||||
AcctIdcard string `json:"acctIdcard"`
|
||||
}
|
||||
|
||||
// MerValidateResponse 商户进件校验响应
|
||||
|
||||
type MerValidateResponse struct {
|
||||
// Appid 应用ID
|
||||
Appid string `json:"appid"`
|
||||
// CmdRetCode 全局返回码
|
||||
CmdRetCode string `json:"cmdRetCode"`
|
||||
// ReqId 请求ID
|
||||
ReqId string `json:"reqId"`
|
||||
// RetCode 返回码
|
||||
RetCode string `json:"retCode"`
|
||||
// RetMsg 返回消息
|
||||
RetMsg string `json:"retMsg"`
|
||||
// Timestamp 时间戳
|
||||
Timestamp int64 `json:"timestamp"`
|
||||
// Ver 版本号
|
||||
Ver string `json:"ver"`
|
||||
}
|
||||
|
||||
func (t *MerValidateResponse) SuccessOrFail() bool {
|
||||
return t.RetCode == "000000"
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/black1552/lkl_sdk/consts"
|
||||
)
|
||||
|
||||
// MerchantApplyRequest 商户进件请求结构体
|
||||
|
||||
type MerchantApplyRequest struct {
|
||||
ReqId string `json:"reqId"` // 请求时间,格式为yyyyMMddHHmmss,必填
|
||||
Timestamp int64 `json:"timestamp"` // 接口版本,固定值"1.0",必填
|
||||
Ver string `json:"ver"` // 接口版本,固定值"1.0",必填
|
||||
ReqData *MerchantApplyReqData `json:"req_data"` // 请求业务参数,必填
|
||||
}
|
||||
|
||||
// MerchantApplyReqData 商户进件请求业务数据结构体
|
||||
|
||||
type MerchantApplyReqData struct {
|
||||
Version string `json:"version"` // 接口版本号,固定值"1.0",必填
|
||||
OrderNo string `json:"orderNo"` // 订单编号,用于后续联调时查询及核对报文,必填,建议14位年月日时分秒+8位随机数
|
||||
PosType consts.PosType `json:"posType"` // POS类型,必填,按接入系统做控制,参见POS类型字典表
|
||||
OrgCode string `json:"orgCode"` // 机构代码,合作方在拉卡拉的标识,请联系业务员,必填
|
||||
MerRegName string `json:"merRegName"` // 商户注册名称,必填,长度不小于4个汉字,8~40字符,不可为纯数字
|
||||
MerBizName string `json:"merBizName"` // 商户经营名称,选填,为空时同商户注册名称,4~64字符,不可为纯数字
|
||||
MerRegDistCode consts.AddrCode `json:"merRegDistCode"` // 商户地区代码,必填,参见地区文档
|
||||
MerRegAddr string `json:"merRegAddr"` // 商户详细地址,必填,去除省、市、区后的详细地址,6-200字符
|
||||
MccCode consts.Mcc `json:"mccCode"` // 商户MCC编号,必填,银联商户类别代码
|
||||
MerBlisName string `json:"merBlisName"` // 营业执照名称,选填,小微商户可不传,其它必传
|
||||
MerBlis string `json:"merBlis"` // 营业执照号,选填,小微商户可不传,对公进件必传,且不可与法人证件相同
|
||||
MerBlisStDt string `json:"merBlisStDt"` // 营业执照开始日期,选填,格式yyyy-MM-dd,有营业执照时必传
|
||||
MerBlisExpDt string `json:"merBlisExpDt"` // 营业执照有效期,选填,格式yyyy-MM-dd,有营业执照时必传
|
||||
MerBusiContent consts.MerBusiContent `json:"merBusiContent"` // 商户经营内容,必填,参见经营内容字典表
|
||||
LarName string `json:"larName"` // 商户法人姓名,必填
|
||||
LarIdType consts.AccIdType `json:"larIdType"` // 法人证件类型,必填,支持其他证件类型,见证件类型字典表
|
||||
LarIdcard string `json:"larIdcard"` // 法人身份证号码,必填
|
||||
LarIdcardStDt string `json:"larIdcardStDt"` // 法人身份证开始日期,必填,格式yyyy-MM-dd
|
||||
LarIdcardExpDt string `json:"larIdcardExpDt"` // 法人身份证有效期,必填,格式yyyy-MM-dd
|
||||
MerContactMobile string `json:"merContactMobile"` // 商户联系人手机号码,必填
|
||||
MerContactName string `json:"merContactName"` // 商户联系人姓名,必填
|
||||
ShopName string `json:"shopName"` // 网点名称,选填,不填取商户注册名称
|
||||
ShopDistCode string `json:"shopDistCode"` // 网点地址区划代码,选填,不填取商户地区代码
|
||||
ShopAddr string `json:"shopAddr"` // 网点详细地址,选填,不填取商户详细地址
|
||||
ShopContactName string `json:"shopContactName"` // 网点联系人名称,选填,不填取商户联系人姓名
|
||||
ShopContactMobile string `json:"shopContactMobile"` // 网点联系人手机号,选填,不填取商户联系人手机号码
|
||||
OpenningBankCode string `json:"openningBankCode"` // 结算账户开户行号,必填,可根据结算卡信息进行查询
|
||||
OpenningBankName string `json:"openningBankName"` // 结算账户开户行名称,必填,可根据结算卡信息进行查询
|
||||
ClearingBankCode string `json:"clearingBankCode"` // 结算账户清算行号,必填,可根据结算卡信息进行查询
|
||||
AcctNo string `json:"acctNo"` // 结算账户账号,必填
|
||||
AcctName string `json:"acctName"` // 结算账户名称,必填
|
||||
AcctTypeCode consts.AcctTypeCode `json:"acctTypeCode"` // 结算账户性质,必填,57为对公,58为对私
|
||||
SettlePeriod consts.SettlePeriod `json:"settlePeriod"` // 结算周期,必填,参见结算周期表
|
||||
ClearDt consts.ClearDt `json:"clearDt"` // 日切时间,选填,参见日切时间字典表,默认TWENTY_THREE
|
||||
AcctIdType consts.AccIdType `json:"acctIdType"` // 结算人证件类型,选填,为空时判断为同法人
|
||||
AcctIdcard string `json:"acctIdcard"` // 结算人证件号码,选填,为空时判断为同法人
|
||||
AcctIdDt string `json:"acctIdDt"` // 结算人证件有效期,选填,为空时判断为同法人
|
||||
DevSerialNo string `json:"devSerialNo"` // 终端设备序列号,选填
|
||||
DevTypeName string `json:"devTypeName"` // 设备型号,选填
|
||||
TermVer string `json:"termVer"` // 终端版本号,选填
|
||||
SalesStaff string `json:"salesStaff"` // 销售人员,选填
|
||||
TermNum string `json:"termNum"` // 终端数量,选填,1-5,最大5个终端
|
||||
RetUrl string `json:"retUrl"` // 回调地址,必填
|
||||
FeeData []*FeeData `json:"feeData"` // 费率信息集合,必填
|
||||
FileData []*FileData `json:"fileData"` // 附件集合,选填
|
||||
ContractNo string `json:"contractNo"` // 电子合同编号,选填,部分进件类型要求录入
|
||||
FeeAssumeType string `json:"feeAssumeType"` // 大额理财-手续费承担方,选填,大额理财进件时必传
|
||||
AmountOfMonth string `json:"amountOfMonth"` // 大额理财-最小月交易额,选填
|
||||
ServiceFee string `json:"serviceFee"` // 大额理财-收取服务费,选填
|
||||
}
|
||||
|
||||
// FeeData 费率信息集合结构体
|
||||
|
||||
type FeeData struct {
|
||||
FeeRateTypeCode consts.FeeRateTypeCode `json:"feeRateTypeCode"` // 费率类型,必填,参见费率类型字典表
|
||||
FeeRateTypeName string `json:"feeRateTypeName"` // 费率类型名称,必填,如银行卡借记卡
|
||||
FeeRatePct string `json:"feeRatePct"` // 手续费费率(%),必填,如0.6
|
||||
FeeUpperAmtPcnt string `json:"feeUpperAmtPcnt"` // 单笔交易手续费封顶,选填,默认不封顶,单位(元)
|
||||
FeeLowerAmtPcnt string `json:"feeLowerAmtPcnt"` // 单笔交易手续费保底,选填,默认无保底,单位(元)
|
||||
FeeRateSdt string `json:"feeRateSdt"` // 手续费生效日期,选填,默认为进件日期
|
||||
}
|
||||
|
||||
// FileData 附件集合结构体
|
||||
|
||||
type FileData struct {
|
||||
AttField string `json:"attField"` // 文件编号/附件上传后返回的编号,必填
|
||||
AttType string `json:"attType"` // 附件类型,必填
|
||||
}
|
||||
|
||||
// MerchantApplyResponse 商户进件响应结构体
|
||||
|
||||
type MerchantApplyResponse struct {
|
||||
RetCode string `json:"retCode"` // 响应码,成功为"0000",其他为错误码
|
||||
RetMsg string `json:"retMsg"` // 响应描述
|
||||
Timestamp int64 `json:"timestamp"` // 响应描述
|
||||
Ver string `json:"ver"` // 响应描述
|
||||
ReqId string `json:"reqId"` // 响应描述
|
||||
CmdRetCode string `json:"cmdRetCode"` // 响应描述
|
||||
RespData *MerchantApplyRespData `json:"respData"` // 响应业务数据,成功时返回
|
||||
}
|
||||
|
||||
// MerchantApplyRespData 商户进件响应业务数据结构体
|
||||
|
||||
type MerchantApplyRespData struct {
|
||||
OrgCode string `json:"orgCode"` // 机构代码
|
||||
OrderNo string `json:"orderNo"` // 订单号
|
||||
ContractId string `json:"contractId"` // 进件ID,用于后续查询进件结果
|
||||
}
|
||||
|
||||
func (t *MerchantApplyResponse) SuccessOrFail() bool {
|
||||
return t.RetCode == "000000"
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
// Package model 提供数据模型定义
|
||||
package model
|
||||
|
||||
// QueryMerRequest 商户进件信息查询请求
|
||||
// 接入方通过开放平台查询进件信息,返回报文同进件审核完成主动通知报文
|
||||
// 参考文档: https://o.lakala.com/#/home/document/detail?id=102
|
||||
|
||||
type QueryMerRequest struct {
|
||||
// ReqData 请求业务参数
|
||||
ReqData *QueryMerRequestData `json:"reqData"`
|
||||
// Ver 版本号
|
||||
Ver string `json:"ver"`
|
||||
// Timestamp 时间戳
|
||||
Timestamp int64 `json:"timestamp"`
|
||||
// ReqId 请求ID
|
||||
ReqId string `json:"reqId"`
|
||||
}
|
||||
|
||||
// QueryMerRequestData 商户进件信息查询请求业务参数
|
||||
|
||||
type QueryMerRequestData struct {
|
||||
// Version 接口版本号
|
||||
Version string `json:"version"`
|
||||
// OrderNo 订单编号(便于后续跟踪排查问题及核对报文)
|
||||
// 14位年月日时(24小时制)分秒+8位的随机数(不重复)如:2021020112000012345678
|
||||
OrderNo string `json:"orderNo"`
|
||||
// OrgCode 机构代码
|
||||
OrgCode string `json:"orgCode"`
|
||||
// ContractId 进件ID
|
||||
ContractId string `json:"contractId"`
|
||||
}
|
||||
|
||||
// QueryMerResponse 商户进件信息查询响应
|
||||
|
||||
type QueryMerResponse struct {
|
||||
// CmdRetCode 全局返回码
|
||||
CmdRetCode string `json:"cmdRetCode"`
|
||||
// ReqId 请求ID
|
||||
ReqId string `json:"reqId"`
|
||||
// RespData 响应业务参数
|
||||
RespData *QueryMerResponseData `json:"respData"`
|
||||
// RetCode 返回码
|
||||
RetCode string `json:"retCode"`
|
||||
// RetMsg 返回消息
|
||||
RetMsg string `json:"retMsg"`
|
||||
// Timestamp 时间戳
|
||||
Timestamp int64 `json:"timestamp"`
|
||||
// Ver 版本号
|
||||
Ver string `json:"ver"`
|
||||
}
|
||||
|
||||
// QueryMerResponseData 商户进件信息查询响应业务参数
|
||||
|
||||
type QueryMerResponseData struct {
|
||||
// OrderNo 订单号
|
||||
OrderNo string `json:"orderNo"`
|
||||
// ContractStatus 进件状态
|
||||
// 未提交:NO_COMMIT
|
||||
// 已提交:COMMIT
|
||||
// 提交失败:COMMIT_FAIL
|
||||
// 转人工审核:MANUAL_AUDIT
|
||||
// 审核中:REVIEW_ING
|
||||
// 审核通过:WAIT_FOR_CONTACT
|
||||
// 审核驳回:INNER_CHECK_REJECTED
|
||||
ContractStatus string `json:"contractStatus"`
|
||||
// OrgCode 机构代码
|
||||
OrgCode string `json:"orgCode"`
|
||||
// ContractId 进件ID
|
||||
ContractId string `json:"contractId"`
|
||||
// MerInnerNo 拉卡拉内部商户号(该属性审核通过才有)
|
||||
MerInnerNo string `json:"merInnerNo"`
|
||||
// ContractMemo 进件描述
|
||||
// 进件审核通过,返回"审核通过"
|
||||
// 进件审核驳回,返回具体的驳回理由
|
||||
ContractMemo string `json:"contractMemo"`
|
||||
// MerCupNo 银联商户号(该属性审核通过才有)
|
||||
MerCupNo string `json:"merCupNo"`
|
||||
// TermDatas 终端列表信息(该属性审核通过并且是增商、增终进件才有)
|
||||
TermDatas []*TermData `json:"termDatas"`
|
||||
}
|
||||
|
||||
// TermData 终端数据信息
|
||||
|
||||
type TermData struct {
|
||||
// ShopId 网点编号
|
||||
ShopId string `json:"shopId"`
|
||||
// TermId 终端编号
|
||||
TermId string `json:"termId"`
|
||||
// TermNo 终端号
|
||||
TermNo string `json:"termNo"`
|
||||
// BusiTypeCode 业务代码(参考【业务类型字典表】文档)
|
||||
BusiTypeCode string `json:"busiTypeCode"`
|
||||
// BusiTypeName 业务名称
|
||||
BusiTypeName string `json:"busiTypeName"`
|
||||
// ProductName 产品名称
|
||||
ProductName string `json:"productName"`
|
||||
// ProductCode 产品代码
|
||||
ProductCode string `json:"productCode"`
|
||||
// DevSerialNo 终端设备序列号
|
||||
DevSerialNo string `json:"devSerialNo"`
|
||||
}
|
||||
|
||||
func (t *QueryMerResponse) SuccessOrFail() bool {
|
||||
return t.RetCode == "000000"
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package model
|
||||
|
||||
// ReConfSubmitRequest 进件复议提交请求
|
||||
// 接入方在进件被驳回后(由于系统自动校验无法通过),调用此接口提交进件,转人工审核
|
||||
// 参考文档: https://o.lakala.com/#/home/document/detail?id=94
|
||||
|
||||
type ReConfSubmitRequest struct {
|
||||
// ReqData 请求业务参数
|
||||
ReqData *ReConfSubmitRequestData `json:"reqData"`
|
||||
// Ver 版本号
|
||||
Ver string `json:"ver"`
|
||||
// Timestamp 时间戳
|
||||
Timestamp int64 `json:"timestamp"`
|
||||
// ReqId 请求ID
|
||||
ReqId string `json:"reqId"`
|
||||
}
|
||||
|
||||
// ReConfSubmitRequestData 进件复议提交请求业务参数
|
||||
|
||||
type ReConfSubmitRequestData struct {
|
||||
// Version 接口版本号
|
||||
Version string `json:"version"`
|
||||
// OrderNo 订单编号(便于后续跟踪排查问题及核对报文)
|
||||
// 14位年月日时(24小时制)分秒+8位的随机数(不重复)如:2021020112000012345678
|
||||
OrderNo string `json:"orderNo"`
|
||||
// OrgCode 机构代码
|
||||
OrgCode string `json:"orgCode"`
|
||||
// ContractId 进件ID
|
||||
ContractId string `json:"contractId"`
|
||||
}
|
||||
|
||||
// ReConfSubmitResponse 进件复议提交响应
|
||||
|
||||
type ReConfSubmitResponse struct {
|
||||
// CmdRetCode 全局返回码
|
||||
CmdRetCode string `json:"cmdRetCode"`
|
||||
// ReqId 请求ID
|
||||
ReqId string `json:"reqId"`
|
||||
// RetCode 返回码
|
||||
RetCode string `json:"retCode"`
|
||||
// RetMsg 返回消息
|
||||
RetMsg string `json:"retMsg"`
|
||||
// Timestamp 时间戳
|
||||
Timestamp int64 `json:"timestamp"`
|
||||
// Ver 版本号
|
||||
Ver string `json:"ver"`
|
||||
}
|
||||
|
||||
func (t *ReConfSubmitResponse) SuccessOrFail() bool {
|
||||
return t.RetCode == "000000"
|
||||
}
|
||||
Reference in New Issue
Block a user