import com.chinaums.open.api.OpenApiCache;
import com.chinaums.open.api.OpenApiContext;
import com.chinaums.open.api.constants.ConfigBean;
import com.chinaums.open.api.internal.util.http.HttpTransport;
import java.util.UUID;
public class OpenApiSdkTest {
public static void main(String[] args) throws Exception{
String url = "/v1/datacenter/smartverification/encrypted/enterprise/payment-authentication";
//开发者ID
String appId = "平台分配";
//开发者秘钥
String appKey = "平台分配";
//实例化客户端
ConfigBean configBean = new ConfigBean();
OpenApiContext context = new OpenApiContext();
String request = "{\"data\":\"\"}";
context.setStartTime(System.currentTimeMillis());
context.setRequestId(UUID.randomUUID().toString().replace("-", ""));
context.setOpenServUrl(url.split("/v")[0].concat("/"));
context.setApiServiceUrl(url);
context.setVersion(url.split("/")[3]);
context.setAppId(appId);
context.setAppKey(appKey);
context.setConfigBean(configBean);
context.setServiceCode(url.split("/v")[1].substring(1));
OpenApiCache.getCurrentToken(context);
System.out.println(HttpTransport.getInstance().doPost(context, request));
}
}
<?php
require_once "../utils/Log.php";
require_once "../utils/Tools.php";
require_once "../DefaultOpenApiClient.php";
class DataRequest
{
public $url = "";
public $serviceCode = "";
public $apiVersion ="";
public $needToken = true;
public $needDataTag = false;
public $data;
function __construct($data, $url)
{
$this->data = $data;
$apiVersion = preg_split("/[/]+/s",$url)[2];
$this->apiVersion = $apiVersion;
$serviceCode = strstr($url,$apiVersion);
$this->url = strstr($url,"/".$apiVersion,true);
$this->serviceCode = preg_replace("/^" . preg_quote($apiVersion, "/") . "/", "", $serviceCode);
}
}
class DataDemo{
public function main(){
$appid = "平台分配";
$appkey = "平台分配";
$url = "/v1/datacenter/smartverification/encrypted/enterprise/payment-authentication";
$data = json_encode(array("data"=>""));
$reqiest = new DataRequest($data,$url);
$client = new DefaultOpenApiClient();
$content = $client->execute($reqiest,$appid,$appkey);
$obj = json_decode($content);
print_r($obj->errCode);
print_r($obj->errInfo);
}
}
$p = new DataDemo();
$p->main();
?>
# -*- coding: utf-8 -*-
from webapi.DefaultOpenApiClient import DefaultOpenApiClient
url = "/v1/datacenter/smartverification/encrypted/enterprise/payment-authentication"
class DataRequest(object):
def __init__(self, data: dict) -> dict:
self.data = data
self.serviceCode = url[len(url.split("/v")[0])+len(url.split("/")[3])+1: len(url)]
self.apiVersion = url.split("/")[3]
self.needToken = True
self.needDataTag = True
appId="平台分配"
appKey="平台分配"
client = DefaultOpenApiClient(appId, appKey)
cls = DataRequest({\"data\":\"\"})
response = client.execute(cls)
print(str(response.get("data")))
print(response.get("errCode"))
print(response.get("errInfo"))
print(response.get("resultCode"))
print(response.get("resultInfo"))
企业打款认证接口
URL
- 生产环境:
POST
https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/enterprise/payment-authentication
描述:
ContentType:HTTP(S) + JSON
请求头
名称 | 必填 | 描述 | 示例值 |
---|---|---|---|
Authorization | 是 | 认证内容 | |
Content-Type | 是 | application/json;charset=utf-8 |
请求参数
名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
data | stringObject | 是 | 对下面转换的Json字符串用SM2公钥进行加密,然后对加密后的报文用base64编码 | ||
keyType | string | 否 | - | 企业代码类型。1:统一信用代码 2:企业注册名称 3:工商注册号 4:组织机构代码 | |
key | string | 否 | - | 企业代码。企业代码类型为 1 时,输入统一信用代码; 企业代码类型为 2 时,输入企业注册名称; 企业代码类型为 3 时,输入工商注册号; 企业代码类型为 4 时,输入组织机构代码; | |
accountNo | string | 是 | - | 企业账户账号 | |
keyName | string | 是 | - | 企业名称 | |
usrName | string | 否 | - | 法人名称 | |
accountBank | string | 是 | - | 企业账户开户行 | |
accountProv | string | 否 | - | 企业开户行所在省 | |
accountCity | string | 否 | - | 企业开户行所在地区 | |
subBank | string | 否 | - | 电子联行号。银行联行号就是一 个地区 银行的唯一识别标志。由 12 位组成:3 位银行 代码 +4 位城市 代 码 +4 位银行 编号+1 位校验位 | |
userNo | string | 否 | - | 用户号 |
响应示例
{
"errCode":"20000000 – 成功",
"errInfo":"",
"data":""
}
响应参数
名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
errCode | string | 是 | - | 错误代码 | 20000000 – 成功 |
errInfo | string | 是 | - | 错误说明 | |
data | stringObject | 是 | 对返回加密报文用base64解码后,用SM2对应的私钥解密 | ||
sysJourId | string | 是 | - | 流水号 | |
respCode | string | 是 | - | 应答码 | |
respMsg | string | 是 | - | 应答码描述 | |
detailRespCode | string | 是 | - | 细分应答码 | |
detailRespMsg | string | 是 | - | 细分应答码解释 | |
transAmt | string | 是 | - | 转账金额,整数,以分为单位 | |
orderStatus | string | 是 | - | 是否收费。0000:已扣费 其他为不扣费 |
错误码
错误码 | 错误描述 | 解决方案 |
---|---|---|
00000000 | 认证/查询成功 | 前两列为细分应答码信息,此列为应答码及其描述。00认证成功 |
80010037 | 银行交易超时,请重试 | 01认证失败 |
80010150 | 转账中,请查看银行账户 | 01认证失败 |
80010151 | 转账未成功,请联系开户行核实账户信息 | 01认证失败 |
80010162 | 付款银行名称有误 | 01认证失败 |
80010163 | 收款账户不支持此业务 | 01认证失败 |
80010164 | 收款方账户状态异常或已注销 | 01认证失败 |
80010165 | 银行查无此账号 | 01认证失败 |
80010166 | 收款账户名称和账户号码不一致 | 01认证失败 |
80010181 | 账户名称与银行记录不符 | 01认证失败 |
90010157 | 企业名称与法人信息不一致 | 01认证失败 |
90010162 | 转账未成功,请稍后重试 | 01认证失败 |
80010182 | 未查到工商信息,请核对企业类型或上送的信息是否正确 | 02不支持验证 |
10001111 | 业务处理超时 | 04系统错误 |
10010001 | 商户验签失败 | 04系统错误 |
10010002 | 商户非空字段[%s]不能为空 | 04系统错误 |
10010003 | 商户字段[%s]格式不正确 | 04系统错误 |
10010004 | 商户报文解析异常 | 04系统错误 |
10010005 | 商户号/机构号不一致 | 04系统错误 |
10010006 | 商户未配置报文格式校验信息 | 04系统错误 |
10010007 | 商户报字段[%s]段缺失 | 04系统错误 |
10010008 | 商户签名失败 | 04系统错误 |
10010012 | 业务请求参数未配置 | 04系统错误 |
10010032 | 信息校验失败 | 04系统错误 |
10010033 | 商户剩余可用次数已过期 | 04系统错误 |
10010034 | 订单认证明细查询只支持查询卡认证业务 | 04系统错误 |
10010036 | 商户解密失败 | 04系统错误 |
10010037 | 商户加密失败 | 04系统错误 |
10010038 | 商户解密失败 | 04系统错误 |
10010039 | 商户解密异常 | 04系统错误 |
10010040 | 商户加密失败 | 04系统错误 |
10010041 | 商户加密异常 | 04系统错误 |
10010043 | 查询条件必填项不能为空 | 04系统错误 |
10010046 | 业务标准定价信息未配置 | 04系统错误 |
10010047 | 指标值匹配定价信息为空或不唯一 | 04系统错误 |
10010052 | 机构商户关联信息未配置 | 04系统错误 |
20010001 | 商户不存在 | 04系统错误 |
20010002 | 商户状态未开通 | 04系统错误 |
20010003 | 商户未开通此业务 | 04系统错误 |
20010004 | 商户余额次数不足 | 04系统错误 |
20010005 | 未配置此IP白名单 | 04系统错误 |
20010008 | 查询订单表响应数据为空 | 04系统错误 |
20010010 | 商户IP受限 | 04系统错误 |
20010012 | 商户业务权限信息未配置 | 04系统错误 |
20010013 | 商户未配置有效的充值信息 | 04系统错误 |
20010015 | 商户业务单价信息未配置 | 04系统错误 |
20010016 | 商户未开通此业务单价 | 04系统错误 |
20010017 | 商户业务单价配置错误 | 04系统错误 |
20010018 | 商户业务单价配置已过期 | 04系统错误 |
20010019 | 业务信息未配置 | 04系统错误 |
20010020 | 业务状态未开通 | 04系统错误 |
20010021 | 商户业务未在启用时间范围内 | 04系统错误 |
20010027 | 机构信息不存在 | 04系统错误 |
20010028 | 机构状态未开通 | 04系统错误 |
20010032 | 机构业务未在启用时间范围内 | 04系统错误 |
20010033 | 机构未开通此业务 | 04系统错误 |
20010034 | 机构业务权限信息未配置 | 04系统错误 |
20010035 | 业务输出字段未配置 | 04系统错误 |
20010036 | 银联商户号关联信息未配置 | 04系统错误 |
20010037 | 接入方式无业务权限 | 04系统错误 |
20010038 | 接入方式业务权限未配置 | 04系统错误 |
20010040 | 商户未开通此业务的该接入方式 | 04系统错误 |
20010042 | 接入方式商户业务权限未配置 | 04系统错误 |
20010043 | 机构未开通此业务的该接入方式 | 04系统错误 |
20010045 | 接入方式机构业务权限未配置 | 04系统错误 |
20010053 | 当日累计交易笔数超限 | 04系统错误 |
20010054 | 未配置商户有效业务输出 | 04系统错误 |
80010192 | 渠道数据异常 | 04系统错误 |
80019999 | 交易未成功,请稍后重试 | 04系统错误 |
90010001 | 商户扣费处理失败 | 04系统错误 |
90010002 | 商户订单重复 | 04系统错误 |
90010004 | 业务未配置 | 04系统错误 |
90010009 | 商户路由未配置 | 04系统错误 |
90010016 | 超时未认证 | 04系统错误 |
90010101 | 商户号为空 | 04系统错误 |
90010102 | 订单日期为空 | 04系统错误 |
90010103 | 订单流水为空 | 04系统错误 |
90010104 | 业务编号为空 | 04系统错误 |
90010105 | 前台通知地址为空 | 04系统错误 |
90010106 | 不支持该业务编号 | 04系统错误 |
90010107 | 不支持下发动态码 | 04系统错误 |
90010141 | 风险受限 | 04系统错误 |
90010143 | 请取得个人授权后再发起交易 | 04系统错误 |
90010144 | 授权失败,token校验不通过或已失效,请重新发起查询请求 | 04系统错误 |
90010145 | 授权失败,短信验证码校验不通过或已失效,请重新发起查询请求 | 04系统错误 |
90010146 | 授权失败,请上传授权文件路径地址 | 04系统错误 |
90010147 | 错误次数过多,不允许该卡发起查询请求 | 04系统错误 |
90010154 | 查询与验证信息不一致 | 04系统错误 |
90010193 | 实时评分计算错误 | 04系统错误 |
90019997 | 不支持该认证/查询 | 04系统错误 |
90019998 | 查询数据不存在 | 04系统错误 |
90019999 | 业务处理失败 | 04系统错误 |
99999999 | 交易失败 | 04系统错误 |