商户控制台

Adapay 为您提供了综合性的商户管理平台,您可在此处完成入网步骤、管理您的应用、维护支付功能,入网前您也可使用 自助联调工具 体验 Adapay 功能,若您在使用中有任何问题或建议也可通过提交工单反馈。

点此查看 控制台操作手册

应用管理

您可根据自身经营场景等自定义不同的应用,并在不同应用下自行选择配置不同的支付功能及渠道参数,各应用会自动生成对应的 App_ID,关联该应用下所有的交易,便于您的管理。

_images/application_manager.png

微信 AppID 和 Adapay App_ID 的区别

App_ID 为 Adapay 给商户分配的 ID ,不是微信原生的 AppID。

在开通微信公众号/小程序等相关功能时已经绑定了 Adapay 的 App_ID 与微信的 AppID 之间的映射关系,故交易时候请传入 Adapay 的 App_ID。

Adapay App_ID:

_images/Adapay_Appid.png

微信 AppID:

_images/wx_Appid.png

渠道入驻管理

新增入驻

当您在入网时未进行入驻,或仅入驻了支付宝/微信之一,您可通过此功能补充入驻。

菜单路径:「控制台」->「商户信息管理」->「微信入驻」/「支付宝入驻」

_images/BCRZ.png

入驻信息修改

若您入驻成功后,希望修改部分入驻信息,可通过以下方式修改:

微信

微信目前支持修改:商户简称(微信侧支付成功界面的收款人)、客服电话。

菜单路径:「控制台」->「商户信息管理」->「微信入驻」->「微信入驻修改」

_images/ruzhuxiugai-weixin1.png

支付宝

支付宝可支持修改:商户简称(支付宝侧支付成功界面的收款人)、入驻的经营类目、费率类型、企业类型等。

菜单路径:「控制台」->「商户信息管理」->「支付宝入驻」->「支付宝入驻修改」

_images/ruzhuxiugai-zhifubao1.png

详情页面:

_images/ruzhuxiugai-zhifubao2.png

注:“认证卡号及户名”是指,若支付时不能使用花呗功能,可通过调整企业的对公卡/法人对私信息来升级支付宝商户等级,升级后即可使用花呗功能。

若需修改其他信息,请提交工单联系我们

证书管理

为保护您的交易安全,Adapay 接口报文全面使用 RSA 实现数字签名和敏感数据加密。

无论您在 Mock 模式下进行交易测试还是在 Prod 模式下进行真实交易,均需先维护好您的安全证书。

菜单路径:「控制台」->「商户信息管理」->「证书管理」

_images/cer_manager.png

点击可查看 证书认证 详情。

其他语言参考文档

签名

public static String sign(String content, String privateKey, String charset) throws Exception {
    try {
        //privateKey通过RSA算法生产密钥priKey
        PrivateKey priKey = getPrivateKeyFromPKCS8("RSA", new ByteArrayInputStream(privateKey.getBytes()));
        //通过SHA1withRSA签名算法生成signature对象
        Signature signature = Signature.getInstance("SHA1withRSA");
        //初始化pubKey进行签名
        signature.initSign(priKey);
        if (charset==null||charset.length()==0) {
            signature.update(content.getBytes());
        } else {
            signature.update(content.getBytes(charset));
        }
        //生成byte[]类型的签名值
        byte[] signed = signature.sign();
        //通过base64加密算法,对签名值加密返回
        return new String(Base64.encodeBase64(signed));
    } catch (Exception var6) {
        throw new Exception("RSAcontent = " + content + "; charset = " + charset, var6);
    }
}
  • 参数列表:

content:待加签字符串

规则如下:

   if (RequestMethod.POST == method && file == null) {
       //如果请求类型为post并且传入的参数没有file类型,则为json字符串
       originalStr = params.isEmpty() ? "" : JSONObject.toJSONString(params);
   } else if (RequestMethod.POST == method && file != null) {
       //如果请求类型为post并且传入的参数有file类型,则将请参转换成明文
       originalStr = params.isEmpty() ? "" : AdapaySign.getOriginalStr(params);
   } else if (RequestMethod.GET == method) {
       //如果请求类型为get,则将请参转换成明文
       originalStr = params.isEmpty() ? "" : AdapaySign.getOriginalStr(params);
   }
       content = requestUrl + originalStr;

//根据签名规则将请求参数转换为明文
public static String getOriginalStr(Map<String, Object> map) {
       List<String> listKeys = new ArrayList<>(map.keySet());
       //参数字母正排序
       Collections.sort(listKeys);
       StringBuilder stringBuilder = new StringBuilder();
       for (int i = 0; i < listKeys.size(); i++) {
           if (map.get(listKeys.get(i)) == null
               || map.get(listKeys.get(i)).toString().length() == 0) {
               continue;
           }
          stringBuilder.append(listKeys.get(i))
              .append("=")
              .append(map.get(listKeys.get(i)))
              .append("&");
       }
       return stringBuilder.length() == 0 ? ""
           : stringBuilder.toString().substring(0, stringBuilder.length() - 1);
   }

privateKey:PKCS8格式的私钥字符串

charset:字符集格式,统一采用UTF-8,不可修改

验签

public static boolean verifySign(String content, String sign, String publicKey, String charset) throws Exception {
    try {
        //通过RSA非对称加密算法,将传入的公钥publicKey转换成pubKey
        PublicKey pubKey = getPublicKeyFromX509("RSA", new ByteArrayInputStream(publicKey.getBytes()));
        //通过SHA1withRSA签名算法生成signature对象
        Signature signature = Signature.getInstance("SHA1withRSA");
        //初始化pubKey进行验证签名
        signature.initVerify(pubKey);
        if (charset==null||charset.length()==0) {
            signature.update(content.getBytes());
        } else {
            signature.update(content.getBytes(charset));
        }
        //通过base64加密算法,对签名值加密返回
        return signature.verify(Base64.decodeBase64(sign.getBytes()));
    } catch (Exception var6) {
        throw new Exception("RSAcontent = " + content + ",sign=" + sign + ",charset = " + charset, var6);
    }
}
  • 参数列表:

content:同签名请参中的content规则一致

sign:签名字符串

publicKey:公钥字符串

charset:字符集格式,统一采用UTF-8,不可修改

证书生成

  • 格式要求

    • 秘钥长度:1024位

    • PKCS8

    RSA content
    
  • 生成方法

方法一(推荐):

终端窗口执行以下步骤生成交易所需 RSA 秘钥(Windows 环境需提前下载安装 OpenSSL 库

第一步:生成私钥

openssl genrsa -out rsa_private_key.pem 1024

第二步:根据私钥生成对应的公钥:

openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key_1024.pub

第三步:私钥转化成pkcs8格式,尖括号的意思是:将转化好的私钥写到rsa_private_key_pkcs8.pem文件里(只需要 RSA content)

openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt > rsa_private_key_pkcs8.pem

方法二(仅限 Windows 操作系统,已安装JDK):

下载 AdapayUtils

方法三(仅限 Windows 操作系统,未安装JDK):

下载 未安装JDK

API Key 和交易秘钥的关系

  • API Key

商户开户以后会有两个 API Key,一个是 api_live_XXXX,另一个是 api_test_XXXX:

api_live_代表 prod 环境,api_test_代表 mock 环境,mock 环境用于模拟测试。API Key 可以在控制台中维护,变更后原 API Key 失效。API Key 代表商户的身份,与商户一一对应。

API key 与交易秘钥配套使用才能正常发起交易。

  • 交易秘钥

Adapay 与商户之间采用 RSA (SHA1withRSA) 算法进行签名认证,商户和 Adapay 各有一套秘钥。控制台配置时,请只上传商户 RSA 秘钥公钥部分。

请求时:商户用自己的 RSA 私钥对数据进行签名,Adapay 用商户在控制配置的 RSA 秘钥进行验证。

响应时:Adapay 用自己的 RSA 私钥进行签名,商户用 Adapay 的 RSA 公钥进行验证,Adapay RSA 公钥可以在控制台获取.

结算管理

Adapay 商户控台支持商户自行修改结算账户以及查询结算记录。

结算账户管理

入网成功后,若您需要修改您的结算账户,可以在「控制台」->「商户信息管理」->「结算账户修改」中更换。

请注意:对私结算仅限法人对私账户。

_images/jiesuan.png

结算查询

您可在控制台中,查询自身或旗下用户的结算记录。

菜单路径:「控制台」->「交易管理」->「结算查询」

可查询的信息:结算账户类型、交易日期、交易类型、出款方式、金额、手续费、状态、描述、商户结算账号等。

_images/jiesuancx.png

余额查询

菜单路径:「控制台」->「商户信息管理」->「余额查询」

商户可在控制台中查询「当前的账户余额」以及「昨日的账户余额」。

不同类型账户的含义如下:

账户名称

含义及作用

商户简称

商户基本账户,账户余额可用于交易、退款及结算

手续费账户

可在控台中使用网银充值功能充值金额,目前此账户余额仅可用于交易手续费外扣模式下的手续费扣除

临时过渡户

交易(或分账)未确认前的过渡户,确认后账户余额自动调整到各分账账户中

_images/yuechaxun.png

商户材料上传及审核

应人行要求,商户入网需提交基本信息证明材料、经营信息及证件等,提交后 Adapay 运营人员会对材料进行审核。 初次提交材料或补充材料时,可在回复栏中对材料等信息进行说明。

菜单路径:「商户基础管理」->「基础材料」 / 「补充材料」

材料要求

- 企业商户

_images/shenhebiaozhun.png

点击下载查看 提交示例

- 小微商户

_images/xiaowei.png

注意事项

  1. 图片格式要求:JPG/PNG/JPEG/BMP 等类型,大小在 1M 以内,文件名中不能使用字符/、、:、*、?、”、<、>

  2. 证件资料请上传原件图片,或复印件加盖企业有色公章

  3. 商户照片可带水印,但是不得出现其他公司水印信息

  4. 禁入行业:卡密,虚拟交易类等

提交及审核时效

  1. 自商户入网次日起, 5 个工作日内提交基础材料并需通过审核,未提交材料或审核未通过将会关闭商户状态;

  2. 工作日 17:30 之前提交的,当天会审核;

  3. 材料不完善或存在需确认的,审核同事会退回,需商户/代理商根据退回原因再次补充并提交;

  4. 审核状态可在提交界面或接口查看,也会有短信及时通知到联系人手机;

网银充值

网银充值功能,目前仅用于交易手续费外扣的场景,商户需先在控制台中充值资金至手续费账户,后续交易时可选择从手续费账户扣除,或在交易金额中扣除。 默认是交易金额中扣除。

充值规则

菜单路径:「控制台」->「交易管理」->「网银充值」

充 值

规 则

充值方式

B2B网银(对公账户)

充值账户主体

与入网主体一致,即银行账户户名与入网企业全称一致

充值金额

单笔不低于 500.00 元

支持银行

工商银行、农业银行、建设银行、交通银行、中国银行、邮储银行、招商银行、中信银行、广大银行、广发银行、兴业银行、北京银行、平安银行、浦发银行

充值手续费

充值需支付 10.00 元/笔的手续费,将从充值金额中扣除

充值查询

菜单路径:「控制台」->「交易管理」->「网银充值查询」

支持查询网银充值记录。

订单管理

交易查询

您可在控制台中,查询交易记录。

菜单路径:「控制台」->「交易管理」->「交易记录」

可查询支付渠道、交易状态、交易金额、手续费金额、分账等信息。

_images/trade_query.png

退款查询

您可在控制台中,查询交易退款的订单。

菜单路径:「控制台」->「交易管理」->「退款记录」

可查询订单号、退款通道、退款时间、退款金额、退款手续费、交易状态等信息。

_images/refund_query.png

用户管理

Adapay 控制台支持查询分账用户((企业/个人)的开户信息、审核状态(企业)、账户余额等。

用户查询

通过“时间范围(查询时间范围需小于等于 90 天)”和(或)“用户 ID”查询已开户成功的用户信息,支持查询内容:应用 ID、用户 ID、用户类型、用户名称、结算账户ID(银行账号)、创建时间等

也可在此处删除用户的结算账户 ID,但删除后若要新增需通过接口进行绑卡。

_images/yonghuchaxun.jpg

企业用户开户查询

可查询用户(企业)开户申请信息、审核进度、以及支持修改待审核信息,可查询应用 ID、用户 ID、用户名称、审核状态、开户时间、创建时间等。详情请参考 控制台操作手册

_images/yonghuzt.jpg

用户余额查询

通过用户 ID 查询旗下用户的当前账户余额及昨日账户余额。

菜单路径:「交易管理」 -> 「用户余额查询」

_images/yonghuyueCX.png

有疑问?您可在线沟通或反馈,点击 联系我们