最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • 基于JAVA的天聚人合话费接口示例代码

    前期准备

    • 接口申请,申请地址—“天聚人合”官网:https://www.tianjurenhe.com/docs/api/?id=2
    • 你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key

    接口说明

    • 免费使用,根据会员等级不同,每日可调用次数不同,具体登录天聚人合官网查看
    • 话费API接口技术接入服务。为企业提供话费API接口,通过接口自由实现PC端、H5、APP等方式接入。
    • 其他更详细的接口使用信息,登录天聚人合官网查看,本文为简单使用示例,仅供参考

    话费—检测手机号码及金额是否能充值接口:

    请求参数

    名称 必填 类型 说明
    key String 在个人中心->我的数据,接口名称上方查看
    phoneno String 手机号码
    cardnum String 充值金额,目前可选:1、2、5、10、20、30、50、100、200、300、500

    代码示例

    import com.alibaba.fastJSON.jsONObject;
    import okHttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.Response;
    
    import java.io.IOException;
    import java.text.MessageFORMat;
    import java.util.concurrent.TimeUnit;
    
    public class tjrh_hf {
        private static OkHttpClient client;
        
        private static final String apiUrl_telcheck = "http://op.tianjurenhe.com/ofpay/mobile/telcheck";
        
        public static final String HF_TELCHECK_PARAM = "?phoneno={0}&cardnum={1}&&key={2}";
        
        public static final String key = 您申请的key;
    
        private static final int TIME_OUT = 20;
    
        static {
            client = new OkHttpClient.Builder()
                    .connectTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .readTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .writeTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .retryOnConnectionFailure(true)
                    .build();
        }
    
       
        public static void telcheck(String phoneNo, String cardnum) throws IOException {
            //拼接地址与参数
            String url = apiUrl_telcheck + MessageFormat.format(HF_TELCHECK_PARAM, phoneNo, cardnum, key);
            //创建request对象实例
            Request request = new Request.Builder().url(url).build();
            //获取请求response应答
            Response response = client.newCall(request).execute();
            if(response != null){
                //返回消息体的字符串
                JSONObject result = JSONObject.parseObject(response.body().string());
                if (result.getInteger("error_code") == 0) {
                    // 订单提交成功,根据实际业务逻辑进行处理
                }else{
                    // 提交返回码error_code非正常状态,依据官方文档错误码说明,进行逻辑处理
                    // 比如:10014,系统异常 / 208516,重复的订单号 等,需要进行二次查询/人工确认处理,不要直接失败处理,避免造成不必要的损失
                }
            }else{
                // 可能网络异常等问题,未获得正确响应结果,建议进行二次查单/人工确认,不要直接失败处理,避免造成不必要的损失
                // 依据自己的业务逻辑进行处理
            }
        }
    
    

    返回结果示例

    {
        "reason": "允许充值的手机号码及金额",
        "result": null,
        "error_code": 0
    }
    

    话费—-根据手机号和面值查询商品:

    请求参数

    名称 必填 类型 说明
    key String 在个人中心->我的数据,接口名称上方查看
    phoneno String 手机号码
    cardnum String 充值金额,目前可选:1、2、5、10、20、30、50、100、200、300、500

    代码示例

    import com.alibaba.fastjson.JSONObject;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.Response;
    
    import java.io.IOException;
    import java.text.MessageFormat;
    import java.util.concurrent.TimeUnit;
    
    public class tjrh_hf {
        private static OkHttpClient client;
        
        private static final String apiUrl_telquery = "http://op.tianjurenhe.com/ofpay/mobile/telquery";
        
        public static final String HF_TELQUERY_PARAM = "?phoneno={0}&cardnum={1}&&key={2}";
        
        public static final String key = 您申请的key;
    
        private static final int TIME_OUT = 20;
    
        static {
            client = new OkHttpClient.Builder()
                    .connectTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .readTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .writeTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .retryOnConnectionFailure(true)
                    .build();
        }
    
       
        public static void telquery(String phoneNo, String cardnum) throws IOException {
            //拼接地址与参数
            String url = apiUrl_telquery + MessageFormat.format(HF_TELQUERY_PARAM, phoneNo, cardnum, key);
            //创建request对象实例
            Request request = new Request.Builder().url(url).build();
            //获取请求response应答
            Response response = client.newCall(request).execute();
            if(response != null){
                //返回消息体的字符串
                JSONObject result = JSONObject.parseObject(response.body().string());
                System.out.println(result);
                if (result.getInteger("error_code") == 0) {
                    // 订单提交成功,根据实际业务逻辑进行处理
                }else{
                    // 提交返回码error_code非正常状态,依据官方文档错误码说明,进行逻辑处理
                    // 比如:10014,系统异常 / 208516,重复的订单号 等,需要进行二次查询/人工确认处理,不要直接失败处理,避免造成不必要的损失
                }
            }else{
                // 可能网络异常等问题,未获得正确响应结果,建议进行二次查单/人工确认,不要直接失败处理,避免造成不必要的损失
                // 依据自己的业务逻辑进行处理
            }
        }
    
    

    返回结果示例

    {
        "reason": "成功",
        "result": {
            "cardid": "191404", 
            "cardname": "江苏电信话费100元直充",  
            "inprice": 98.4,  
            "game_area": "江苏苏州电信"  
        },
        "error_code": 0
    }
    

    话费—-手机直充接口:

    请求参数

    名称 必填 类型 说明
    key String 在个人中心->我的数据,接口名称上方查看
    phoneno String 手机号码
    cardnum String 充值金额,1、2、5、10、20、30、50、100等,请咨询客服了解具体情况
    orderid String 商家订单号,8-32位字母数字组合,由您自己生成
    sign String 校验值,md5( OpenID+key+phoneno+cardnum+orderid),OpenID在个人中心查询

    代码示例

    package com.tjrh.HttpRequest;
    
    import java.security.MessageDigest;
    
    public class MD5Util {
        public static final String ECB_KEY = "F4obtZno{_8kMXvE";
    
        public static String MD5(String s) {
            char[] hexDigits = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
    
            try {
                byte[] e = s.getBytes();
                MessageDigest mdInst = MessageDigest.getInstance("MD5");
                mdInst.update(e);
                byte[] md = mdInst.digest();
                int j = md.length;
                char[] str = new char[j * 2];
                int k = 0;
    
                for (byte byte0 : md) {
                    str[k++] = hexDigits[byte0 >>> 4 & 15];
                    str[k++] = hexDigits[byte0 & 15];
                }
    
                return new String(str).toLowerCase();
            } catch (Exception var10) {
                var10.printStackTrace();
                return null;
            }
        }
    }
    
    
    package com.tjrh.HttpRequest;
    
    import com.alibaba.fastjson.JSONObject;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.Response;
    
    import java.io.IOException;
    import java.text.MessageFormat;
    import java.util.concurrent.TimeUnit;
    
    public class tjrh_hf {
        private static OkHttpClient client;
        
        private static final String apiUrl_recharge = "http://op.tianjurenhe.com/ofpay/mobile/onlineorder";
        
        public static final String HF_TELQUERY_PARAM = "?phoneno={0}&cardnum={1}&&key={2}";
        
        public static final String openId = 您的openid;
        
        public static final String key = 您申请的key;
    
        private static final int TIME_OUT = 20;
    
        static {
            client = new OkHttpClient.Builder()
                    .connectTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .readTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .writeTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .retryOnConnectionFailure(true)
                    .build();
        }
    
       
        public static void recharge(String phoneNo, String cardnum, String orderId) throws IOException {
            //OpenID+key+phoneno+cardnum+orderid
            String sign = MD5Util.MD5(openId + key + phoneNo + cardnum + orderId);
            //拼接地址与参数
            String url = apiUrl_recharge + MessageFormat.format(HF_RECHARGE_PARAM, sign, phoneNo, cardnum, orderId, key);
            //创建request对象实例
            Request request = new Request.Builder().url(url).build();
            //获取请求response应答
            Response response = client.newCall(request).execute();
            if(response != null){
                //返回消息体的字符串
                JSONObject result = JSONObject.parseObject(response.body().string());
                if (result.getInteger("error_code") == 0) {
                    // 订单提交成功,根据实际业务逻辑进行处理
                }else{
                    // 提交返回码error_code非正常状态,依据官方文档错误码说明,进行逻辑处理
                    // 比如:10014,系统异常 / 208516,重复的订单号 等,需要进行二次查询/人工确认处理,不要直接失败处理,避免造成不必要的损失
                }
            }else{
                // 可能网络异常等问题,未获得正确响应结果,建议进行二次查单/人工确认,不要直接失败处理,避免造成不必要的损失
                // 依据自己的业务逻辑进行处理
            }
        }
    
    

    返回结果示例

    {
        "reason": "订单提交成功,等待充值",
        "result": {
            "cardid": "1900212", 
            "cardnum": "1", 
            "ordercash": 49.25, 
            "cardname": "江苏电信话费50元直充", 
            "sporder_id": "20141120174602882", 
            "uorderid":"2014123115121",    
            "game_userid": "18913515122", 
            "game_state": "0" 
        },
        "error_code": 0
    }
    

    话费—-订单状态查询:

    请求参数

    名称 必填 类型 说明
    key String 在个人中心->我的数据,接口名称上方查看
    orderid String 商家订单号,8-32位字母数字组合,请填写已经成功提交的订单号

    代码示例

    package com.tjrh.HttpRequest;
    
    import com.alibaba.fastjson.JSONObject;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.Response;
    
    import java.io.IOException;
    import java.text.MessageFormat;
    import java.util.concurrent.TimeUnit;
    
    public class tjrh_hf {
        private static OkHttpClient client;
       
        private static final String apiUrl_ordersta = "http://op.tianjurenhe.com/ofpay/mobile/ordersta";
        
        public static final String HF_ORDERSTA_PARAM = "?orderid={0}&key={1}";
        
        public static final String key = 您申请的key;
    
        private static final int TIME_OUT = 20;
    
        static {
            client = new OkHttpClient.Builder()
                    .connectTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .readTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .writeTimeout(TIME_OUT, TimeUnit.SECONDS)
                    .retryOnConnectionFailure(true)
                    .build();
        }
    
        
        public static void ordersta(String orderId) throws IOException {
            //拼接地址与参数
            String url = apiUrl_ordersta + MessageFormat.format(HF_ORDERSTA_PARAM, orderId, key);
            //创建request对象实例
            Request request = new Request.Builder().url(url).build();
            //获取请求response应答
            Response response = client.newCall(request).execute();
            if(response != null){
                //返回消息体的字符串
                JSONObject result = JSONObject.parseObject(response.body().string());
                if (result.getInteger("error_code") == 0) {
                    // 订单提交成功,根据实际业务逻辑进行处理
                }else{
                    // 提交返回码error_code非正常状态,依据官方文档错误码说明,进行逻辑处理
                    // 比如:10014,系统异常 / 208516,重复的订单号 等,需要进行二次查询/人工确认处理,不要直接失败处理,避免造成不必要的损失
                }
            }else{
                // 可能网络异常等问题,未获得正确响应结果,建议进行二次查单/人工确认,不要直接失败处理,避免造成不必要的损失
                // 依据自己的业务逻辑进行处理
            }
        }
    
    

    返回结果示例

    {
        "reason": "查询成功",
        "result": {
            "uordercash": "5.000", 
            "sporder_id": "20150511163237508",
            "game_state": "1" 
        },
        "error_code": 0
    }
    
    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » 基于JAVA的天聚人合话费接口示例代码
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 292稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情