Go 商户进件 SDK 使用文档

简介

此 SDK 包含商户开户、商户开户查询、商户入驻、商户入驻查询功能。渠道商可通过此 SDK 快速进件。

下载地址

SDK下载

SDK 版本记录

版本

日期

说明

v1.1.1

2020-07-21

增加新增应用接口

v1.0.0

2020-03-11

merchant 初版

版本要求

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)
  • 参数说明

参数说明详见 应用查询_

附件