首页  >  文章  >  后端开发  >  PHP怎么校验银行卡四元素

PHP怎么校验银行卡四元素

青灯夜游
青灯夜游原创
2022-10-21 17:49:501187浏览

校验方法:1、申请银行卡四元素检测接口,获得接口请求Key;2、调用接口API发出请求,处理数据并返回结果;3、用“$content=juheHttpRequest($apiUrl, $paramstring,1);”获取接口返回内容;4、根据自身业务逻辑处理返回内容,并打印处理结果。

PHP怎么校验银行卡四元素

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

基于PHP的银行卡四元素校验API接口调用示例

前期准备

  • 申请接口

银行卡四元素检测接口申请地址:https://www.juhe.cn/docs/api/id/213?s=cpphpcn

自助申请开通短信API,获得接口请求Key。(目前接口暂只支持企业类用户使用)

PHP请求代码示例

/**
 * 聚合银行卡四元素校验API发起请求-PHP代码
 * 功能:检测输入的姓名、手机号码、身份证号码、银行卡号是否一致。
 */

// 请求的接口URL
$apiUrl = 'http://v.juhe.cn/verifybankcard4/query';

// 请求参数
$params = [
    'realname' => 'xxx', // 姓名
    'idcard' => 'xxx', // 身份证号码
    'bankcard' => 'xxx', // 银行卡号
    'mobile' => 'xxx', // 手机号码

    'key' => 'xxx', // 接口调用key,通过聚合平台申请开通
];
$paramsString = http_build_query($params);

// 发起接口请求
$response = juheHttpRequest($apiUrl, $paramsString, 1);

// 处理接口返回结果,根据自身业务逻辑修改处理
$paramstring = http_build_query($params);
$content = juheHttpRequest($apiUrl, $paramstring, 1);
$result = json_decode($content, true);
if ($result) {
    if ($result['error_code'] == 0) {
        // 请求成功,根据自身业务逻辑修改处理
        $res = $result['result']['res'];
        if ($res == '1') {
            // 信息核验一致
            echo "信息核验一致";
        } else {
            // 信息核验不一致
            echo "信息核验不一致";
        }
    } else {
        // 请求异常,根据自身业务逻辑修改处理
        echo "{$result['error_code']}:{$result['reason']}" . PHP_EOL;
    }
} else {
    //可能网络异常等问题请求失败,根据自身业务逻辑修改处理
    echo "请求失败";
}

/**
 * 发起网络请求函数
 * @param string $url 请求的URL
 * @param bool $params 请求的参数内容
 * @param int $ispost 是否POST请求
 * @return bool|string 返回内容
 */
function juheHttpRequest($url, $params = false, $ispost = 0)
{
    $httpInfo = [];
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_USERAGENT, 'JUHE API');
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
    curl_setopt($ch, CURLOPT_TIMEOUT, 12);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    if ($ispost) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        curl_setopt($ch, CURLOPT_URL, $url);
    } else {
        if ($params) {
            curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
        } else {
            curl_setopt($ch, CURLOPT_URL, $url);
        }
    }
    $response = curl_exec($ch);
    if ($response === FALSE) {
        // echo "cURL Error: ".curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $response;
}

详细请求参数和返回参数格式说明,请参考官方接口文档:https://www.juhe.cn/docs/api/id/213?s=cpphpcn

推荐学习:《PHP视频教程

以上是PHP怎么校验银行卡四元素的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn