Node 商户进件 SDK 使用文档

简介

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

下载地址

SDK下载

SDK 版本记录

版本

日期

说明

v1.1.1

2020-07-21

增加新增应用接口

v1.0.3

2020-03-11

增加商户附件上传接口

v1.0.0

2020-01-08

商户开户/入驻等功能

版本要求

Node8

接入方法

  • 下载

下载文件里包含 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 需依赖以下第三方库

axios
form-data
log4js
mqtt
  • INotifyCallback 和异步监听

SDK 需要设置异步监听,请实现 INotifyCallback 接口并启动异步监听,以实现异步通知处理。详情请参考 异步消息

使用方法

  • 系统初始化

在使用 Adapay 前,请先完成系统初始化设置,否则可能导致交易异常。

  • 调用示例

# 建议在服务启动时初始化

 // 设置基本参数
 let config = {}
 config.debug = true
 config.prod_mode = true

 config.connect_timeout = 60000
 config.log_file_path = resolve("./logs/")
 config.log_console_enable = true
 Merchant.set_config(config)
 Merchant.set_merchant_path(resolve('../utils/merchantConfig.json'))
  • 设置商户配置信息

在每次调用 Adapay 的方法之前需要先设置商户的配置信息。

Merchant.clean_config()

Merchant.Config.prod_mode = prod_mode
Merchant.Config.config_dirname = resolve('./utils/config_release')
Merchant.set_group_merchant_path("merchantNO")

开户进件

渠道商对旗下用户进行开户进件。

  • 调用示例

let result = await Merchant.Entry.batchEntrys({
  request_id, usr_phone, cont_name, cont_phone, customer_email, mer_name, mer_short_name,
  license_code, reg_addr, cust_addr, cust_tel, mer_start_valid_date, mer_valid_date,
  legal_name, legal_type, legal_idno, legal_mp, legal_start_cert_id_expires, legal_id_expires,
  card_id_mask, bank_code, card_name, bank_acct_type, prov_code, area_code, rsa_public_key,
  fee_rate_list
})
  • 参数说明

参数说明详见 开户进件

商户开户查询

查询商户开户结果

  • 调用示例

let result = await Merchant.Entry.queryEntry({
  request_id
})
  • 参数说明

参数说明详见 开户查询

商户入驻

渠道商对旗下用户进行商户入驻以及支付渠道批量配置

  • 调用示例

let result = await Merchant.BatchInput.merConf({
    request_id, sub_api_key, bank_channel_no, fee_type, wx_category, app_id,
    alipay_category, cls_id, model_type, mer_type, province_code,
    city_code, district_code, add_value_list
})
  • 参数说明

参数说明详见 商户入驻

商户入驻修改

渠道商对旗下用户进行商户入驻信息修改或升级M3,目前仅支持支付宝渠道的操作,修改结果异步报文通知

  • 调用示例

let result = await Merchant.BatchInput.merResidentModify({
    request_id, sub_api_key, alipay_request_params, wx_request_params
})
  • 参数说明

参数说明详见 商户入驻修改

商户入驻查询

通过 request_id 查询商户入驻结果

  • 调用示例

let result = await Merchant.BatchInput.queryMerConf({
    request_id
})
  • 参数说明

参数说明详见 商户入驻查询

上送商户证照

上传商户附件信息

  • 调用示例

let result = await Merchant.MerProfile.merProfilePicture({
        subApiKey, fileType
    }, file.path)
  • 参数说明

参数说明详见 上送商户证照

提交商户证照信息

商户证件信息提交接口,调用后提交后商户证件信息审核状态切换为“等待后台审核“

  • 调用示例

let result = await Merchant.MerProfile.merProfileForAudit({
        subApiKey, socialCreditCodeId, legalCertIdFrontId, legalCertIdBackId, businessAdd,
        storeId, accountOpeningPermitId, shareholderInfoList
    })
  • 参数说明

参数说明详见 提交商户证照信息

查询商户审核状态

商户可以查看提交的商户基础信息审核状态

  • 调用示例

Dictionary<string, object> request = new Dictionary<string, object>();
request.Add("subApiKey", "api_live_fdcbcc99-4fef-4f23-a8f3-e21d7c7e4f7b");
Dictionary<string, object> result = MerchantConfig.queryAuditProfile(request);
  • 参数说明

参数说明详见 商户审核状态查询

创建应用

代理商帮商户创建应用

  • 调用示例

Dictionary<string, object> request = new Dictionary<string, object>();
request.Add("sub_api_key", "api_live_fdcbcc99-4fef-4f23-a8f3-e21d7c7e4f7b");
request.Add("app_name", "api_live_fdcbcc99-4fef-4f23-a8f3-e21d7c7e4f7b");
Dictionary<string, object> result = MerchantConfig.createApp(request);
  • 参数说明

参数说明详见 创建应用

查询应用

代理商查询商户应用列表

  • 调用示例

Dictionary<string, object> request = new Dictionary<string, object>();
request.Add("sub_api_key", "api_live_fdcbcc99-4fef-4f23-a8f3-e21d7c7e4f7b");//请求ID
Dictionary<string, object> result = MerchantConfig.queryApp(request);
  • 参数说明

参数说明详见 查询应用

附件