PHP Classes

File: src/Api.php

Recommend this page to a friend!
  Classes of Samy Massoud   PHP IBAN Validation   src/Api.php   Download  
File: src/Api.php
Role: Class source
Content type: text/plain
Description: Class source
Class: PHP IBAN Validation
Verify if a IBAN is valid with ibanapi.com API
Author: By
Last change:
Date: 2 years ago
Size: 1,980 bytes
 

Contents

Class file image Download
<?php

namespace IbanApi;
/**
 * @description Official ibanapi.com PHP package.
 * @author ibanapi.com
 * @since 8/09/2021
 */

class Api
{
    private static
$APIURL = "https://api.ibanapi.com/v1/";
    private
$api_key = "";

    public function
__construct($api_key)
    {
        if (
$api_key == "") {
            throw new \
Exception("Please provide API Key!");
        }

       
$this->api_key = $api_key;
    }

   
/**
     * @description Validate the IBAN and get bank data
     * @param $iban the iban number
     * @return string json response.
     */
   
public function validateIBAN($iban)
    {
       
$data =[
           
'iban'=>$iban,
           
'api_key'=>$this->api_key
       
];

        return
$this->_curl(self::$APIURL."validate",$data);
    }

   
/**
     * @description Validate the IBAN with basic data only
     * @param $iban the iban number
     * @return string json response.
     */
   
public function validateIBANBasic($iban)
    {
       
$data =[
           
'iban'=>$iban,
           
'api_key'=>$this->api_key
       
];

        return
$this->_curl(self::$APIURL."validate-basic",$data);
    }

   
/**
     * @description Get the account balance
     * @return string json response.
     */
   
public function getBalance()
    {
       
$data =[
           
'api_key'=>$this->api_key
       
];

        return
$this->_curl(self::$APIURL."balance",$data);
    }

    private function
_curl($url, $data)
    {
       
$ch = curl_init($url);
       
curl_setopt($ch, CURLOPT_HEADER, false);
       
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
       
curl_setopt($ch, CURLOPT_POST, true);
       
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
           
'Accept: application/json'
       
));

       
curl_setopt($ch, CURLOPT_USERAGENT,"IBANAPI PHP Package 1.0");
       
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
       
$contents = curl_exec($ch);
       
curl_close($ch);

        return
$contents;
    }
}