Go 商户进件 SDK 使用文档¶
简介¶
此 SDK 包含商户开户、商户开户查询、商户入驻、商户入驻查询功能。渠道商可通过此 SDK 快速进件。
版本要求¶
Go 1.x 及以上
接入方法¶
下载 SDK
下载文件里包含 SDK 和 Demo 两个目录。SDK 目录下为待添加到项目中的文件,Demo 目录下为示例项目,供接入时参考使用。
获取 API Key
API Key 是您在 Adapay 系统中的身份标识,凭此可使用 Adapay 提供的 SDK 以及 API 服务
API Key 获取路径:「控制台」 ->「商户信息管理」->「证书管理」
privateKey(RSA 私钥)
privateKey 为您本地生成的 RSA 私钥 (阿里云开放平台RSA工具) 生成选择PKCS8格式, SDK 在与 Adapay 服务端进行接口请求时,会使用此私钥进行加密。
对应的公钥请上传至「控制台」->「商户信息管理」->「证书管理」
publicKey(RSA 公钥)
publicKey 是 Adapay 为您生成的 RSA 公钥,SDK 在与 Adapay 服务端进行接口请求时 SDK 需要 publicKey 进行解签
publicKey 可通过 「控制台」 ->「商户信息管理」->「证书管理」进行下载。
导入第三方依赖库
接入本 SDK 需依赖以下第三方库
go get github.com/eclipse/paho.mqtt.golang
go get github.com/gorilla/websocket
go get golang.org/x/net/proxy
使用方法¶
系统初始化
在使用 Adapay 前,请先完成系统初始化设置,否则可能导致交易异常。
调用示例
mer, err := merchant.InitMultiMerchSysConfigs("config_release/")
if err != nil {
fmt.Println(err)
return
}
fmt.Println("初始化 merchant 成功")
开户进件¶
渠道商对旗下用户进行开户进件。
调用示例
createParams := make(map[string]interface{})
createParams["app_id"] = "app_7d87c043-aae3-4357-9b2c-269349a980d6"
createParams["request_id"] = ""
createParams["usr_phone"] = ""
data, apiError, err := Merchant.Entry().BatchEntrys(createParams, "yifuyun")
if err != nil || apiError != nil { // 网络或本应用异常
fmt.Println(err)
fmt.Println(apiError)
return
}
fmt.Println(data)
参数说明
参数说明详见 开户进件
商户开户查询¶
查询商户开户结果
调用示例
createParams := make(map[string]interface{})
createParams["request_id"] = ""
data, apiError, err := Merchant.Entry().QueryEntry(createParams, "yifuyun")
if err != nil || apiError != nil { // 网络或本应用异常
fmt.Println(err)
fmt.Println(apiError)
return
}
fmt.Println(data)
参数说明
参数说明详见 开户查询
商户入驻¶
渠道商对旗下用户进行商户入驻以及支付渠道批量配置
调用示例
createParams := make(map[string]interface{})
createParams["sub_api_key"] = "app_7d87c043-aae3-4357-9b2c-269349a980d6"
createParams["request_id"] = ""
createParams["bank_channel_no"] = ""
data, apiError, err := Merchant.BatchInput().MerConf(createParams, "yifuyun")
if err != nil || apiError != nil { // 网络或本应用异常
fmt.Println(err)
fmt.Println(apiError)
return
}
fmt.Println(data)
参数说明
参数说明详见 商户入驻
商户入驻修改¶
渠道商对旗下用户进行商户入驻信息修改或升级M3,目前仅支持支付宝渠道的操作,修改结果异步报文通知
调用示例
createParams := make(map[string]interface{})
createParams["sub_api_key"] = "app_7d87c043-aae3-4357-9b2c-269349a980d6"
createParams["request_id"] = ""
createParams["bank_channel_no"] = ""
data, apiError, err := Merchant.BatchInput().MerResidentModify(createParams, "yifuyun")
if err != nil || apiError != nil { // 网络或本应用异常
fmt.Println(err)
fmt.Println(apiError)
return
}
fmt.Println(data)
参数说明
参数说明详见 商户入驻修改
商户入驻查询¶
通过 request_id 查询商户入驻结果
调用示例
createParams := make(map[string]interface{})
createParams["request_id"] = ""
data, apiError, err := Merchant.BatchInput().QueryMerConf(createParams, "yifuyun")
if err != nil || apiError != nil { // 网络或本应用异常
fmt.Println(err)
fmt.Println(apiError)
return
}
fmt.Println(data)
参数说明
参数说明详见 商户入驻查询
上送商户证照¶
上传商户附件信息
调用示例
createParams := make(map[string]interface{})
filePath, err := filepath.Abs("./ut/IMG_4955.JPG")
fmt.Println(filePath)
createParams["subApiKey"] = "api_live_fdcbcc99-4fef-4f23-a8f3-e21d7c7e4f7b"
createParams["fileType"] = "01"
createParams["file"] = filePath
data, apiError, err := Merchant.MerProfile().MerProfilePicture(createParams, "yifuyun")
if err != nil || apiError != nil { // 网络或本应用异常
fmt.Println(err)
fmt.Println(apiError)
return
}
fmt.Println(data)
参数说明
参数说明详见 上送商户证照
提交商户证照信息¶
商户证件信息提交接口,调用后提交后商户证件信息审核状态切换为“等待后台审核“
调用示例
createParams := make(map[string]interface{})
createParams["subApiKey"] = "api_live_fdcbcc99-4fef-4f23-a8f3-e21d7c7e4f7b"
createParams["socialCreditCodeId"] = "0067363309554112"
createParams["legalCertIdFrontId"] = "0067363504549376"
createParams["legalCertIdBackId"] = "0067363574467008"
createParams["businessAdd"] = "http://www.baidu.com"
createParams["storeId"] = "0067361944316352|0067363749735936"
createParams["accountOpeningPermitId"] = "0067364019530176"
createParams["shareholderInfoList"] = ""
data, apiError, err := Merchant.MerProfile().MerProfileForAudit(createParams, "yifuyun")
if err != nil || apiError != nil { // 网络或本应用异常
fmt.Println(err)
fmt.Println(apiError)
return
}
fmt.Println(data)
参数说明
参数说明详见 提交商户证照信息
查询商户审核状态¶
商户可以查看提交的商户基础信息审核状态
调用示例
createParams := make(map[string]interface{})
createParams["subApiKey"] = "api_live_fdcbcc99-4fef-4f23-a8f3-e21d7c7e4f7b"
data, apiError, err := Merchant.MerProfile().MerProfileForAudit(createParams, "yifuyun")
if err != nil || apiError != nil { // 网络或本应用异常
fmt.Println(err)
fmt.Println(apiError)
return
}
fmt.Println(data)
参数说明
参数说明详见 商户审核状态查询
创建应用¶
代理商帮商户创建应用
调用示例
createParams := make(map[string]interface{})
createParams["app_id"] = "app_7d87c043-aae3-4357-9b2c-269349a980d6"
createParams["sub_api_key"] = "xxx"
createParams["app_name"] = "test"
data, apiError, err := Merchant.Entry().CreateApplication(createParams, "yifuyun")
if err != nil || apiError != nil { // 网络或本应用异常
fmt.Println(err)
fmt.Println(apiError)
return
}
fmt.Println(data)
参数说明
参数说明详见 创建应用
查询应用¶
代理商查询商户应用列表
调用示例
createParams := make(map[string]interface{})
createParams["app_id"] = "app_7d87c043-aae3-4357-9b2c-269349a980d6"
createParams["sub_api_key"] = "api_live_fdcbcc99-4fef-4f23-a8f3-e21d7c7e4f7b"
data, apiError, err := Merchant.Entry().QueryApplication(createParams, "yifuyun")
if err != nil || apiError != nil { // 网络或本应用异常
fmt.Println(err)
fmt.Println(apiError)
return
}
fmt.Println(data)
参数说明
参数说明详见 应用查询_