laravel 几种第三方接口

5 篇文章 0 订阅

 

1、微信和支付宝支付接口:

用Yansongda扩展包,这个还蛮好用的,对于都会composer的小伙伴,安装也特简单(composer require yansongda/pay -vvv),官方文档(https://pay.yanda.net.cn/docs/2.x/overview)写得也有条理,清晰,就算不会接支付接口的人,也一看就会了几成,不过官方只支持RSA2加密,因此各位小伙伴注意咯。

然后把配置文件配好(就可以正式调用啦):alipay.php, wechat.php

配置文件内容 => 查看官方文档:

https://pay.yanda.net.cn/docs/2.x/wechat/overviewhttps://pay.yanda.net.cn/docs/2.x/alipay/overview

2、IOS内购接口:

/**
 * 验证AppStore内付
 * @param  string $receipt_data 付款后凭证
 * @return array                验证是否成功
 */
function validate_apple_pay($receipt_data){
    /**
     * 21000 App Store不能读取你提供的JSON对象
     * 21002 receipt-data域的数据有问题
     * 21003 receipt无法通过验证
     * 21004 提供的shared secret不匹配你账号中的shared secret
     * 21005 receipt服务器当前不可用
     * 21006 receipt合法,但是订阅已过期。服务器接收到这个状态码时,receipt数据仍然会解码并一起发送
     * 21007 receipt是Sandbox receipt,但却发送至生产系统的验证服务
     * 21008 receipt是生产receipt,但却发送至Sandbox环境的验证服务
     */
    function acurl($receipt_data, $sandbox=0){
        //小票信息
        $POSTFIELDS = array("receipt-data" => $receipt_data);
        $POSTFIELDS = json_encode($POSTFIELDS);

        //正式购买地址 沙盒购买地址
        $url_buy     = "https://buy.itunes.apple.com/verifyReceipt";
        $url_sandbox = "https://sandbox.itunes.apple.com/verifyReceipt";
        $url = $sandbox ? $url_sandbox : $url_buy;

        //简单的curl
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $POSTFIELDS);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
    // 验证参数
    if (strlen($receipt_data)<20){
        $result=array(
            'status'=>false,
            'message'=>'非法参数'
        );
        return $result;
    }
    // 请求验证
    $html = acurl($receipt_data);
    \Log::info($html);
    $data = json_decode($html,true);

    // 如果是沙盒数据 则验证沙盒模式
    if($data['status']=='21007'){
        // 请求验证
        $html = acurl($receipt_data, 1);
        $data = json_decode($html,true);
        $data['sandbox'] = '1';
    }

    if (isset($_GET['debug'])) {
        exit(json_encode($data));
    }

    // 判断是否购买成功
    if(intval($data['status'])===0){
        $result=array(
            'status'=>true,
            'message'=>'购买成功'
        );
    }else{
        $result=array(
            'status'=>false,
            'message'=>'购买失败 status:'.$data['status']
        );
    }
    return $result;
}

 

3、阿里短信验证码:

使用composer安装好Mrgoon\AliSms包,就可以上手了:

$templetCode = "模板ID";

$aliSms = new AliSms();
$data = [
    'code' => '123456' // 验证码
];
$result = $aliSms->sendSms($phone,$templetCode, $data);

4、阿里身份证号码和姓名校验:

$host    = "https://eid.shumaidata.com";
$path    = "/eid/check";
$method  = "POST";
$appcode = "appid";
$headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode);
$querys = "idcard={$idCardNum}&name={$realName}";
$bodys  = "";
$url    = $host . $path . "?" . $querys;

$curl   = curl_init();
//        2.设置
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);//0,错误时不要失败
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); //获取的信息以文件流的形式返回,而不是直接输出
curl_setopt($curl, CURLOPT_HEADER, false); //返回头部信息,设置为false,结果中就没有头部信息
if (1 == strpos("$".$host, "https://"))
{
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
$data = curl_exec($curl);

return $data;

5、快递物流查询:https://github.com/inbjo/express

6、阿里人脸活体验证和获取验证结果:

7、阿里人脸照片比对:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值