1
This commit is contained in:
@@ -581,3 +581,65 @@ func (a *API) AccountStatusQuery(tradeMode, subMerchantId, merchantNo string) (m
|
||||
|
||||
return result["respData"].(map[string]interface{}), nil
|
||||
}
|
||||
|
||||
// SubMerchantInfoQuery 报备查询
|
||||
// https://o.lakala.com/#/home/document/detail?id=326
|
||||
func (a *API) SubMerchantInfoQuery(param *SubMerchantInfoQueryReq) ([]*SubMerchantInfoQueryResp, error) {
|
||||
reqParameter := map[string]interface{}{
|
||||
"reqData": utils.Struct2Map(param, "", false),
|
||||
}
|
||||
result, err := a.AccessAPISign(SeparateAccountProdUrl, SubMerchantQuery, http.MethodPost, "", reqParameter)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if result["retCode"].(string) != Success {
|
||||
return nil, errors.New(result["retMsg"].(string))
|
||||
}
|
||||
|
||||
if result["respData"] != nil && result["respData"].(map[string]interface{}) != nil {
|
||||
list := make([]*SubMerchantInfoQueryResp, 0, 0)
|
||||
data, err := json.Marshal(result["respData"].(map[string]interface{})["list"])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err = json.Unmarshal(data, &list); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return list, nil
|
||||
}
|
||||
|
||||
return nil, errors.New("返回值为空")
|
||||
}
|
||||
|
||||
// SubMerchantInfoQueryReq 报备查询
|
||||
type SubMerchantInfoQueryReq 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 机构代码 (合作方在拉卡拉的标识,请联系业务员) 1
|
||||
MerInnerNo string `json:"merInnerNo"` // 可传 String 32 拉卡拉内部商户号和银联商户号必须传一个,都送以内部商户号为准。 5002022050550024285
|
||||
MerCupNo string `json:"merCupNo"` // 可传 String 32 拉卡拉内部商户号和银联商户号必须传一个,都送以内部商户号为准。 8222900581207ET
|
||||
RegisterChannel string `json:"registerChannel"` // 可选 String 8 报备渠道 UNIONPAY
|
||||
RegisterType string `json:"registerType"` // 可选 String 64 报备类型 WXZF
|
||||
RegisterStatus string `json:"registerStatus"` // 可选 String 64 报备状态 SUCCESS:成功;FAIL:失败 SUCCESS
|
||||
SubMchId string `json:"subMchId"` // 可选 String 64 子商户号
|
||||
}
|
||||
|
||||
// SubMerchantInfoQueryResp 报备查询返回值
|
||||
type SubMerchantInfoQueryResp struct {
|
||||
MerInnerNo string `json:"merInnerNo"` // 内部商户号
|
||||
SubMchId string `json:"subMchId"` // 子商户号
|
||||
SubMchIdBank string `json:"subMchIdBank"` // 交易子商户号
|
||||
DcWalletId string `json:"dcWalletId"` // 数币钱包ID
|
||||
RegisterType string `json:"registerType"` // 报备类型
|
||||
RegisterTypeText string `json:"registerTypeText"`
|
||||
RegisterChannel string `json:"registerChannel"` // 报备渠道
|
||||
RegisterChannelText string `json:"registerChannelText"`
|
||||
ChannelId string `json:"channelId"` // 渠道号
|
||||
ReceOrgNo string `json:"receOrgNo"` // 从业机构号
|
||||
RegisterTm string `json:"registerTm"` // 报备时间
|
||||
RegisterStatus string `json:"registerStatus"` // 报备状态
|
||||
ResultCode string `json:"resultCode"` // 结果返回码
|
||||
ResultMessage string `json:"resultMessage"` // 结果描述
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ const (
|
||||
AlibabaQueryAuthentication = "alipayRealNameQuery" // 阿里修改实名认证
|
||||
WeChatAccountStatusQuery = "alipayRealNameQuery" // 微信开户状态差取暖
|
||||
AlibabaAccountStatusQuery = "alipayRealNameQuery" // 阿里开户状态查询
|
||||
|
||||
SubMerchantQuery = "querySubMerInfo" // 报备查询
|
||||
)
|
||||
|
||||
// 分账
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package lakala
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -41,3 +43,20 @@ func TestGetSeparate(t *testing.T) {
|
||||
func TestQuerySeparateRecipient(t *testing.T) {
|
||||
api.QuerySeparateRecipient("SR20240010115366", "SR2024000115366")
|
||||
}
|
||||
|
||||
func TestSubMerchantInfoQuery(t *testing.T) {
|
||||
param := &SubMerchantInfoQueryReq{
|
||||
Version: "1.0",
|
||||
OrderNo: "SR2024001011536611",
|
||||
OrgCode: OrgCode,
|
||||
MerInnerNo: "",
|
||||
MerCupNo: "822651059990E2S",
|
||||
RegisterChannel: "",
|
||||
RegisterType: "",
|
||||
RegisterStatus: "",
|
||||
SubMchId: "",
|
||||
}
|
||||
data, err := api.SubMerchantInfoQuery(param)
|
||||
globals.SugarLogger.Debugf("data := %s", utils.Format4Output(data, false))
|
||||
globals.SugarLogger.Debugf("data := %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user