POS商户编号查询

国内率先完整提供 Demo 代码示例及数据专业且全面的 API 查询接口。
打造精品数据 API 品质,腾讯云提供计算服务及亿百天技术提供技术支持。
注册本站会员,即可免费使用!

POS 商户编号查询

接口使用

我要查询

提示:请在下面的 Demo 中输入您要查询的数据,点击查询即可。

POS 商户编号查询


查询说明

目前支持中国大陆地区所有线下收单机构的商户,通过商户编号查询商户信息,如:收单机构、MCC编码类别、适用费率及商户所在地区等信息。

接口描述

功能描述

通过商户编号获取中国大陆地区所有线下收单机构的商户信息,如:收单机构、MCC编码类别、适用费率及商户所在地区等信息。

URL 示例

1)http 协议:

POST 方式请求:

http://cha.ebaitian.cn/api/json?appid=xxx&module=getPosmccInfo&merchantNo=xxx&sign=xxx

GET 方式请求:

http://cha.ebaitian.cn/api/json?type=get&appid=xxx&module=getPosmccInfo&merchantNo=xxx&sign=xxx

2)https 协议:

POST 方式请求:

https://cha.ebaitian.cn/api/json?appid=xxx&module=getPosmccInfo&merchantNo=xxx&sign=xxx

GET 方式请求:

https://cha.ebaitian.cn/api/json?type=get&appid=xxx&module=getPosmccInfo&merchantNo=xxx&sign=xxx

请求参数

数据包体

{
    "type": "get",
    "appid": "1000xxxx",
    "module": "getPosmccInfo",
    "merchantNo": "820521154110001",
    "sign": "ecab4881ee80ad3d76bb1da68387428ca752eb885e52621a3129dcf4d9bc4fd4"
}

参数说明

参数 必选 类型 描述
type string 授权接口的请求方式
appid string 授权接口的 AppID,请填写您在我要查官网上申请到的 AppID
module string 目标请求的数据模块,查询 POS 商户编号为:getPosmccInfo
merchantNo string 目标要查询的商户编号,即 POS 签购单上的商户编号,一般为15位数字
sign string 请求凭证,具体计算方式见下面的其他说明

其他说明

1)type:可选值 get,如果赋值 get,则以 get 方式提交数据;默认以 post 方式提交数据;
2)sign:签名校验,根据公式 $sign=sha256(appid=$appid&module=getPosmccInfo&merchantNo=$merchantNo&appkey=$appkey) 生成;其中:appkey 为授权接口的 AppKey,请填写您在我要查官网上申请到的 AppKey 。

构造伪代码如下:

string type = "get"; //请求方式,可以赋值为:post
string appid = "1000xxxx"; //sdkappid 对应的 appid,需要业务方高度保密
string module = "getPosmccInfo"; //请求的数据模块,此处赋值:getMobileArea
string merchantNo = "820521154110001"; //要查询的手机号码,注意仅能为中国大陆地区11位手机号码
string sign = sha256(appid=1000xxxx&module=getPosmccInfo&merchantNo=820521154110001&appkey=56cf61af4b7897e704f67deb88ae8f24);

响应参数

数据包体

{
    "result":1,
    "description":"TRUE",
    "flag":"",
    "posmccInfo":{
        "posbankInfo":{
            "bankclass":"收单资质机构",
            "bankcode":"820",
            "bankareacode":"0",
            "bankareaname":null,
            "bankname":"盛付通"
        },
        "posareaInfo":{
            "areacode":"5211",
            "province":"湖北省",
            "city":"武汉市",
            "dis":"江岸区"
        },
        "posmccInfo":{
            "bclass":"民生类",
            "sclass":"加油、超市类",
            "mcccode":"5411",
            "broad":"大型仓储式超级市场大型仓储式超级市场",
            "rates":"0.34",
            "note":"包含“超市、仓储式大卖场、连锁店、便利店”等字样;
开架式连锁便利店集团,当其以整体方式签订入网协议,且在同一地区门店数量在20 家以上;
食品饮料自动售货机,以及综合菜市场的零售活动"
        }
    }
}

参数说明

参数说明

参数 必选 类型 描述
result string 接口响应结果:0-失败;1-成功
description string 接口响应描述:一般为 TURE(result=1) 与 FALSE(result=0),或者返回错误信息
flag string 错误说明,没有错误则返回空
posmccInfo object 返回 POS 收单商户信息

posmccInfo 参数说明:

参数 必选 类型 描述
posbankInfo object POS 收单机构信息,一般为银行或第三方电子支付公司
posareaInfo object POS 收单商户地区信息
posmccInfo object POS 收单商户详细信息

posbankInfo 参数说明:

参数 必选 类型 描述
bankclass string POS 收单机构类别,一般为商业银行或商业收单机构
bankcode string POS 收单机构代码
bankareacode string POS 收单机构区域代码
bankareaname string POS 收单机构区域名称
bankname string POS 收单机构名称

posareaInfo 参数说明:

参数 必选 类型 描述
areacode string POS 收单商户地区代码
province string POS 收单商户所在省(市/自治区)
city string POS 收单商户所在市(区/自治州)
dis string POS 收单商户所在区(县/市/区)

posmccInfo 参数说明:

参数 必选 类型 描述
bclass string POS 收单商户所属 MCC 大类名称
sclass string POS 收单商户所属 MCC 小类名称
mcccode string POS 收单商户 MCC 编码
broad string POS 收单商户 MCC 编码类别
rates string POS 收单商户适用费率
note string POS 收单商户其他备注信息

SDK 及代码示例

PHP SDK

方法一:以 POST 方式请求数据

//接口参数
$api_url='http://cha.ebaitian.cn/api/json';
$api_appid='1000xxxx';
$api_appkey='56cf61af4b7897e704f67deb88ae8f24';

//函数,以POST方式提交数据,PHP需要开启CURL函数;数据传输安全,建议使用
function getPosmccInfo($merchantNo){
    global $api_url,$api_appid,$api_appkey;
    $posturl=$api_url;
    $data='appid='.$api_appid.'&module=getPosmccInfo&merchantNo='.$merchantNo;
    $sign=hash("sha256",$data.'&appkey='.$api_appkey);
    $postdata=array("appid"=>$api_appid,"appkey"=>$api_appkey,"module"=>"getPosmccInfo","merchantNo"=>$merchantNo,'sign'=>$sign);
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $posturl);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
    $output = curl_exec($curl);
    curl_close($curl);
    $obj=json_decode($output);
    $result=$obj->result;
    if($result==1){
        $value=$obj->posmccInfo->posbankInfo->bankname;
        $value.=','.$obj->posmccInfo->posareaInfo->province;
        $value.=','.$obj->posmccInfo->posareaInfo->city;
        $value.=','.$obj->posmccInfo->posareaInfo->dis;
        $value.=','.$obj->posmccInfo->posmccInfo->broad;
        $value.=','.$obj->posmccInfo->posmccInfo->rates;
    }else{
        $value=$obj->flag;
    }
    return $value;
}
//调用函数
$merchantNo='820521154110001';
echo getPosmccInfo($merchantNo);
exit;

方法二:以 GET 方式请求数据

//接口参数
$api_url='http://cha.ebaitian.cn/api/json';
$api_appid='1000xxxx';
$api_appkey='56cf61af4b7897e704f67deb88ae8f24';

//函数,以GET方式提交数据
function getPosmccInfo($merchantNo){
    global $api_url,$api_appid,$api_appkey;
    $data='appid='.$api_appid.'&module=getPosmccInfo&merchantNo='.$merchantNo;
    $sign=hash("sha256",$data.'&appkey='.$api_appkey);
    $info_get=file_get_contents($api_url.'?type=get&'.$data.'&sign='.$sign);
    $info_json=json_decode($info_get, true);
    $result=$info_json['result'];
    if($result==1){
        $value=$info_json['posmccInfo']['posbankInfo']['bankname'];
        $value.=','.$info_json['posmccInfo']['posareaInfo']['province'];
        $value.=','.$info_json['posmccInfo']['posareaInfo']['city'];
        $value.=','.$info_json['posmccInfo']['posareaInfo']['dis'];
        $value.=','.$info_json['posmccInfo']['posmccInfo']['broad'];
        $value.=','.$info_json['posmccInfo']['posmccInfo']['rates'];
    }else{
        $value=$info_json['flag'];
    }
    return $value;
}
//调用函数
$merchantNo='820521154110001';
echo getPosmccInfo($merchantNo);
exit;

Java SDK

//以下示例是以 GET 方式请求数据
public class QueryHelper {
	
    public static String apiurl="http://cha.ebaitian.cn/api/json";
    public static String appid="1000xxxx";
    public static String appkey="56cf61af4b7897e704f67deb88ae8f24";
    public static String module="getPosmccInfo";
    
    public static String getSHA256Str(String str){
        MessageDigest messageDigest;
        String encdeStr = "";
        try {
            messageDigest = MessageDigest.getInstance("SHA-256");
            byte[] hash = messageDigest.digest(str.getBytes("UTF-8"));
            encdeStr = Hex.encodeHexString(hash);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return encdeStr;
    }
    
    public static String get(String urlString) {
        try {
            URL url = new URL(urlString);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setConnectTimeout(5 * 1000);
            conn.setReadTimeout(5 * 1000);
            conn.setDoInput(true);
            conn.setDoOutput(true);
            conn.setUseCaches(false);
            conn.setInstanceFollowRedirects(false);
            conn.setRequestMethod("GET"); 
            int responseCode = conn.getResponseCode();
            if (responseCode == 200) {
                StringBuilder builder = new StringBuilder();
                BufferedReader br = new BufferedReader(
                        new InputStreamReader(conn.getInputStream(),"utf-8"));
                for (String s = br.readLine(); s != null; s = br.readLine()) {
                    builder.append(s);
                }
                br.close();
                return builder.toString();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    
    public static String queryPosmcc(String merchantNo){
        String sign=getSHA256Str("appid="+appid+"&module="+module+"&merchantNo="+merchantNo+"&appkey="+appkey);
        String url=apiurl+"?type=get&appid="+appid+"&module="+module+"&merchantNo="+merchantNo+"&sign="+sign;
        return get(url);
    }
}

//使用示例
QueryHelper.queryPosmcc("820521154110001");

Python SDK

#!/usr/bin/python
# -*- coding: utf-8 -*-
import httplib2
import hashlib
from urllib.parse import urlencode #python3
#from urllib import urlencode #python2

apiurl='http://cha.ebaitian.cn/api/json'
appid='1000xxxx'
appkey='56cf61af4b7897e704f67deb88ae8f24'
module='getPosmccInfo'
merchantNo='820521154110001'
data='appid='+appid+'&module='+module+'&merchantNo='+merchantNo
sign_data=data+'&appkey='+appkey

# from Crypto.Cipher import AES
# from Crypto.Hash import SHA256
# 256
hash_256 = hashlib.sha256()
hash_256.update(sign_data.encode('utf-8'))
sign = hash_256.hexdigest()

postdata = urlencode({'appid':appid,'module':module,'merchantNo':merchantNo,'sign':sign})
url = apiurl+'?type=get&'+postdata
http = httplib2.Http()
response, content = http.request(url,'GET')
print(content.decode("utf-8"))

Node.js SDK

方法一:以 POST 方式请求数据

//以 POST 方式提交
var http = require('http');  

var querystring = require('querystring');  

//参数设置
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getPosmccInfo';

//目标查询商户编号
var merchantNo='820521154110001';

//签名,SHA256 不可直接调用;函数参考下载地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&merchantNo='+merchantNo+'&appkey='+appkey);

//这是需要提交的数据
var post_data = {
    appid: appid,  
    module: module,
    merchantNo: merchantNo,
    sign: sign
};  

var content = querystring.stringify(post_data);  

var options = {  
    hostname: 'cha.ebaitian.cn',  
    port: 80,  
    path: '/api/json',  
    method: 'POST',  
    headers: {  
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'  
    }  
};  

var req = http.request(options, function (res) {  
    console.log('STATUS: ' + res.statusCode);  
    console.log('HEADERS: ' + JSON.stringify(res.headers));  
    res.setEncoding('utf8');  
    res.on('data', function (chunk) {  
        console.log('BODY: ' + chunk);  
    //JSON.parse(chunk)
    });  
});  

req.on('error', function (e) {  
    console.log('problem with request: ' + e.message);  
});  

// write data to request body  
req.write(content);  

req.end();  

方法二:以 GET 方式请求数据

//以 GET 方式提交
var http = require('http');  

var querystring = require('querystring');  

//参数设置
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getPosmccInfo';

//目标查询商户编号
var merchantNo='820521154110001';

//签名,SHA256 不可直接调用;函数参考下载地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&merchantNo='+merchantNo+'&appkey='+appkey);

//这是需要提交的数据
var data = {
    appid: appid, 
    module: module,
    merchantNo: merchantNo,
    sign: sign
};

var content = querystring.stringify(data);  

var options = {  
    hostname: 'cha.ebaitian.cn',  
    port: 80,  
    path: '/api/json?' + content,  
    method: 'GET'  
};  

var req = http.request(options, function (res) {  
    console.log('STATUS: ' + res.statusCode);  
    console.log('HEADERS: ' + JSON.stringify(res.headers));  
    res.setEncoding('utf8');  
    res.on('data', function (chunk) {  
        console.log('BODY: ' + chunk);
    });  
});  

req.on('error', function (e) {  
    console.log('problem with request: ' + e.message);  
});  

req.end();  

C# SDK

using System;
using System.Collections.Generic;
using System.Web;
using System.Net;
using System.Text;

public class getPosmccInfo{
    public static string getInfo(string appid, string appkey, string module, string mobile){
        string url = string.Format("http://cha.ebaitian.cn/api/json?type=get&appid={0}&module={1}&mobile={2}&sgin={3}", appid, module, mobile, sgin);
        using (WebClient client = new WebClient()){
            client.Encoding = Encoding.UTF8;
            return client.DownloadString(url);
        }
    }
}

string posmccInfo = getPosmccInfo.getInfo("1000xxxx", "getPosmccInfo", "820521154110001", "ecab4881ee80ad3d76bb1da68387428ca752eb885e52621a3129dcf4d9bc4fd4", Request.UserHostAddress);
Console.WriteLine(posmccInfo);
Response.Write(posmccInfo);

JavaScript SDK

方法一:以 POST 方式请求数据

//使用 JQuery 请先加载最新的 JQuery 插件
//参数设置
var apiurl = 'http://cha.ebaitian.cn/api/json';
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getPosmccInfo';

//目标查询商户编号
var merchantNo='820521154110001';

//签名,SHA256 不可直接调用;函数参考下载地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&merchantNo='+merchantNo+'&appkey='+appkey);

//提交数据
$.ajax({
    url:apiurl,
    type:'post',
    dataType:'json',
    data:{
        appid:appid,
        module:module,
        merchantNo:merchantNo,
        sign:sign
    },
    success:function(res){
        console.log(res);
    }
});

方法二:以 GET 方式请求数据

//使用 JQuery 请先加载最新的 JQuery 插件
//参数设置
var apiurl = 'http://cha.ebaitian.cn/api/json';
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getPosmccInfo';

//目标查询商户编号
var merchantNo='820521154110001';

//签名,SHA256 不可直接调用;函数参考下载地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&merchantNo='+merchantNo+'&appkey='+appkey);

//提交数据
$.ajax({
    url:apiurl,
    type:'post',
    dataType:'json',
    data:{
        appid:appid,
        module:module,
        merchantNo:merchantNo,
        sign:sign
    },
    success:function(res){
        console.log(res);
    }
});

ASP SDK

'设置参数
dim apiurl, appid, appkey, module, merchantNo, sign
apiurl="http://cha.ebaitian.cn/api/json"
appid="1000xxxx'
appkey="56cf61af4b7897e704f67deb88ae8f24"
module="getPosmccInfo"
merchantNo="820521154110001"

'签名,SHA256 不可直接调用;函数参考地址:https://blog.csdn.net/yesoce/article/details/128546
sgin=SHA256("appid=&appid&"&module="&module&"&merchantNo="&merchantNo&"&appkey="&appkey)

'异步提交数据
function PostHTTPPage(url,data)
    dim Http 
    set Http=server.createobject("MSXML2.SERVERXMLHTTP.3.0")
    Http.open "POST",url,false
    Http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    Http.send(data) 
    if Http.readystate<>4 then 
    exit function 
    End if
    PostHTTPPage=bytesToBSTR(Http.responseBody,"UTF-8")
    set http=nothing 
    if err.number<>0 then err.Clear 
End function

'提交数据
dim postdata, strTest
postdata="appid=&appid&"&module="&module&"&merchantNo="&merchantNo&"&sign="&sign
strTest=PostHTTPPage(apiurl,postdata)

'返回结果
response.write(strTest)
response.end

常见问题

API 接口参数为空

此错误返回 JSON 数据如下:

{
    "result":0,
    "description":"API接口参数为空",
    "flag":"appid:sign"
}

解决方法:
1)请检查 appid 及 sign 是否为空;
2)确保 appid 是从官网获取到正确的接口授权;
3)确保 sign 计算生成是正确的。

API 接口参数无效

此错误返回 JSON 数据如下:

{
    "result":0,
    "description":"API接口参数无效",
    "flag":"appid"
}

解决方法:
1)请检查 appid 是否正确;
2)确保 appid 是从官网获取到正确的接口授权。

API 接口授权已到期

此错误返回 JSON 数据如下:

{
    "result":0,
    "description":"API接口授权已到期",
    "flag":"end:2018-12-31 23:59:59"
}

解决方法:
1)请检查 appid 对应接口授权的期限是否过期;
2)如果接口授权过期,请到官网更新(免费用户直接更新,无需续费)或续费(针对商业付费用户)。

签名错误

此错误返回 JSON 数据如下:

{
    "result":0,
    "description":"签名错误",
    "flag":"getPosmccInfo->sign"
}

解决方法:
1)请检查 sign 签名计算是否正确;
2)签名 sign 根据公式 $sign=sha256(appid=$appid&module=getPosmccInfo&merchantNo=$merchantNo&appkey=$appkey) 生成;其中:appkey 为授权接口的 AppKey,请填写您在我要查官网上申请到的 AppKey 。

请求受限

此错误返回 JSON 数据如下:

{
    "result":0,
    "description":"请求受限",
    "flag":"getPosmccInfo->daylimit"
}

解决方法:
1)授权接口已超出当前接口产品请求的最大限制;
2)请根据实际使用需求升级您的接口产品。

其他问题

如果您遇到其他的问题,请用以下方式联系我们,我们将为您提供 API 技术对接帮助。

请直接添加 QQ 技术交流群寻求我们帮助。
我要查API技术对接群①:
群号:821884327
扫码加入我要查API技术对接群①: